🔍

GCX016 - Thematically Grouped Rules

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

Epic Core: GCX016 Processing

Module Tracker: GCX016

4747 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 135 logic blocks
R-GCX016-cbl-00007 5:Event Detail Processing
Action Rules
📊 Business Logic Narrative
When the process '5:Event Detail Processing' is invoked, and assuming that an event detail segment with event code is received, when the event code is evaluated, the desired outcome is that the system executes hmi for hold train, hre for release hold, pod/aad for train arrival, rc for review completed, oca for train not arrived, coc for cancel arrival, lck for lock train, ulc for unlock train, sei for seize train, or ser for release seizure.
💻 Technical Criteria
Given An event detail segment with event code is received
When The event code is evaluated
Then The system executes HMI for hold train, HRE for release hold, POD/AAD for train arrival, RC for review completed, OCA for train not arrived, COC for cancel arrival, LCK for lock train, ULC for unlock train, SEI for seize train, or SER for release seizure
R-GCX016-cbl-00047 Initialize MQ Message Arrays
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MQ Message Arrays' is invoked, and assuming that working storage fields have been initialized, when the system prepares for mq message processing, the desired outcome is that mq message arrays are initialized with proper structure and capacity for message handling.
💻 Technical Criteria
Given Working storage fields have been initialized
When The system prepares for MQ message processing
Then MQ message arrays are initialized with proper structure and capacity for message handling
R-GCX016-cbl-00048 Set Processing Parameters
Decision Rules
📊 Business Logic Narrative
When the process 'Set Processing Parameters' is invoked, and assuming that mq message arrays have been initialized, when the system determines the message source type, the desired outcome is that processing parameters are configured appropriately for the specific input method.
💻 Technical Criteria
Given MQ message arrays have been initialized
When The system determines the message source type
Then Processing parameters are configured appropriately for the specific input method
R-GCX016-cbl-00074 Continue Processing Other Segments
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Other Segments' is invoked, and assuming that train processing has been completed (either successfully or with errors logged), when the system continues manifest processing, the desired outcome is that the system proceeds to process other segments in the manifest message to ensure complete message handling.
💻 Technical Criteria
Given Train processing has been completed (either successfully or with errors logged)
When The system continues manifest processing
Then The system proceeds to process other segments in the manifest message to ensure complete message handling
R-GCX016-cbl-03958 More VID Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More VID Segments?' is invoked, and assuming that current vid segment processing is complete, when the system checks for remaining vid segments, the desired outcome is that system determines if more vid segments need processing or if hold processing is complete.
💻 Technical Criteria
Given Current VID segment processing is complete
When The system checks for remaining VID segments
Then System determines if more VID segments need processing or if hold processing is complete
R-GCX016-cbl-00188 Generate Train Not Found Error Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Found Error Message', assuming that a train seizure request is being processed, when the train is not found in the system train list, the desired outcome is that the system generates a train not found error message and terminates seizure processing.
💻 Technical Criteria
EXCLUDING A train seizure request is being processed
When The train is not found in the system train list
Then The system generates a train not found error message and terminates seizure processing
R-GCX016-cbl-00203 Generate Train Not Found Error Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Found Error Message', assuming that a train seizure release is being processed, when the train is not found in the system, the desired outcome is that the system generates a train not found error message and stops processing.
💻 Technical Criteria
EXCLUDING A train seizure release is being processed
When The train is not found in the system
Then The system generates a train not found error message and stops processing
R-GCX016-cbl-00275 Include Comments in Merlin Messages
Process Rules
📊 Business Logic Narrative
When the process 'Include Comments in Merlin Messages' is invoked, and assuming that k1 comments are available in the comment array and a merlin message is being prepared, when the system formats the merlin message, the desired outcome is that the system includes all available k1 comments in the merlin message and formats them appropriately for merlin message standards.
💻 Technical Criteria
Given K1 comments are available in the comment array AND a Merlin message is being prepared
When The system formats the Merlin message
Then The system includes all available K1 comments in the Merlin message AND formats them appropriately for Merlin message standards
R-GCX016-cbl-00276 Include Comments in Release Messages
Process Rules
📊 Business Logic Narrative
When the process 'Include Comments in Release Messages' is invoked, and assuming that k1 comments are available in the comment array and a release message is being prepared, when the system formats the release message, the desired outcome is that the system includes all available k1 comments in the release message and ensures comments are properly formatted for release message recipients.
💻 Technical Criteria
Given K1 comments are available in the comment array AND a release message is being prepared
When The system formats the release message
Then The system includes all available K1 comments in the release message AND ensures comments are properly formatted for release message recipients
R-GCX016-cbl-00278 X4 Segment Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'X4 Segment Valid?' is invoked, and assuming that an x4 segment is received for processing, when the system validates the x4 segment structure and required fields, the desired outcome is that the segment is accepted for processing if valid, otherwise an error is generated.
💻 Technical Criteria
Given An X4 segment is received for processing
When The system validates the X4 segment structure and required fields
Then The segment is accepted for processing if valid, otherwise an error is generated
R-GCX016-cbl-04577 Max Retries Exceeded?
Validation Rules
📊 Business Logic Narrative
When the process 'Max Retries Exceeded?' is invoked, and assuming that the retry counter has been incremented, when the system checks retry limits, the desired outcome is that the system determines if maximum retry attempts have been exceeded.
💻 Technical Criteria
Given The retry counter has been incremented
When The system checks retry limits
Then The system determines if maximum retry attempts have been exceeded
R-GCX016-cbl-04382 Check Quantity Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Quantity Match' is invoked, and assuming that entry number matching has been validated for a counterpart code, when the system checks quantity compatibility, the desired outcome is that the system compares quantities and proceeds only if they match or meet the removal criteria.
💻 Technical Criteria
Given Entry number matching has been validated for a counterpart code
When The system checks quantity compatibility
Then The system compares quantities and proceeds only if they match or meet the removal criteria
R-GCX016-cbl-04652 Generate Compliance Error
Action Rules
📊 Business Logic Narrative
When the process 'Generate Compliance Error' is invoked, and assuming that regulatory compliance check has failed, when compliance error is generated, the desired outcome is that an error message is created indicating specific compliance failure and processing is directed to error handling.
💻 Technical Criteria
Given Regulatory compliance check has failed
When Compliance error is generated
Then An error message is created indicating specific compliance failure and processing is directed to error handling
R-GCX016-cbl-04653 Extract SCAC Code from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code from M10' is invoked, and assuming that an m10 manifest segment is received, when the system processes the m10 segment, the desired outcome is that the scac code is extracted from the m10 segment and stored for manifest processing.
💻 Technical Criteria
Given An M10 manifest segment is received
When The system processes the M10 segment
Then The SCAC code is extracted from the M10 segment and stored for manifest processing
R-GCX016-cbl-04655 Extract Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Country Code' is invoked, and assuming that an m10 manifest segment is received, when the system processes the m10 segment, the desired outcome is that the country code is extracted from the m10 segment and stored for manifest processing.
💻 Technical Criteria
Given An M10 manifest segment is received
When The system processes the M10 segment
Then The country code is extracted from the M10 segment and stored for manifest processing
R-GCX016-cbl-04656 Extract Vessel Name/Flight Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Vessel Name/Flight Number' is invoked, and assuming that an m10 manifest segment is received, when the system processes the m10 segment, the desired outcome is that the vessel name or flight number is extracted from the m10 segment and stored for manifest processing.
💻 Technical Criteria
Given An M10 manifest segment is received
When The system processes the M10 segment
Then The vessel name or flight number is extracted from the M10 segment and stored for manifest processing
R-GCX016-cbl-04657 Extract Voyage/Flight Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Voyage/Flight Number' is invoked, and assuming that an m10 manifest segment is received, when the system processes the m10 segment, the desired outcome is that the voyage or flight number is extracted from the m10 segment and stored for manifest processing.
💻 Technical Criteria
Given An M10 manifest segment is received
When The system processes the M10 segment
Then The voyage or flight number is extracted from the M10 segment and stored for manifest processing
R-GCX016-cbl-04658 Extract Manifest Quantity
Process Rules
📊 Business Logic Narrative
When the process 'Extract Manifest Quantity' is invoked, and assuming that an m10 manifest segment is received, when the system processes the m10 segment, the desired outcome is that the manifest quantity is extracted from the m10 segment and stored for manifest processing.
💻 Technical Criteria
Given An M10 manifest segment is received
When The system processes the M10 segment
Then The manifest quantity is extracted from the M10 segment and stored for manifest processing
R-GCX016-cbl-04659 Extract Manifest Type Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Manifest Type Code' is invoked, and assuming that an m10 manifest segment is received, when the system processes the m10 segment, the desired outcome is that the manifest type code is extracted from the m10 segment and stored for manifest processing.
💻 Technical Criteria
Given An M10 manifest segment is received
When The system processes the M10 segment
Then The manifest type code is extracted from the M10 segment and stored for manifest processing
R-GCX016-cbl-04432 Continue to Next Element
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue to Next Element', assuming that the current array element does not meet matching criteria, when the system needs to continue searching, the desired outcome is that the process moves to increment the array index and evaluate the next element.
💻 Technical Criteria
EXCLUDING The current array element does not meet matching criteria
When The system needs to continue searching
Then The process moves to increment the array index and evaluate the next element
R-GCX016-cbl-04081 Counterpart Code Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Counterpart Code Exists?' is invoked, and assuming that a counterpart code lookup has been performed from the dc table, when the system evaluates whether counterpart processing is required, the desired outcome is that if counterpart code exists, proceed with array search; otherwise skip counterpart processing.
💻 Technical Criteria
Given A counterpart code lookup has been performed from the DC table
When The system evaluates whether counterpart processing is required
Then If counterpart code exists, proceed with array search; otherwise skip counterpart processing
R-GCX016-cbl-04092 Continue to Next Array Element
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Array Element' is invoked, and assuming that current array element processing is complete (either removed or skipped), when the system continues array traversal, the desired outcome is that processing moves to the next available array element.
💻 Technical Criteria
Given Current array element processing is complete (either removed or skipped)
When The system continues array traversal
Then Processing moves to the next available array element
R-GCX016-cbl-04093 More Elements to Check?
Decision Rules
📊 Business Logic Narrative
When the process 'More Elements to Check?' is invoked, and assuming that current array element has been processed, when the system checks for remaining elements to evaluate, the desired outcome is that if more elements exist, continue searching; otherwise complete counterpart processing.
💻 Technical Criteria
Given Current array element has been processed
When The system checks for remaining elements to evaluate
Then If more elements exist, continue searching; otherwise complete counterpart processing
R-GCX016-cbl-04495 Increment Array Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Array Index' is invoked, and assuming that the current array element has been completely processed, when the system prepares to process the next element, the desired outcome is that the array index is incremented by 1 to point to the next element in the array.
💻 Technical Criteria
Given The current array element has been completely processed
When The system prepares to process the next element
Then The array index is incremented by 1 to point to the next element in the array
R-GCX016-cbl-00519 N9 Segments Available?
Decision Rules
📊 Business Logic Narrative
When the process 'N9 Segments Available?' is invoked, and assuming that the system has attempted to retrieve n9 reference segments for fda processing, when n9 segments are found and available for processing, the desired outcome is that the system proceeds with fda reference number processing, otherwise generates fda compliance error.
💻 Technical Criteria
Given The system has attempted to retrieve N9 reference segments for FDA processing
When N9 segments are found and available for processing
Then The system proceeds with FDA reference number processing, otherwise generates FDA compliance error
R-GCX016-cbl-00559 Entry Type = V37?
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type = V37?' is invoked, and assuming that a valid entry number is present and entry type is determined, when the entry type is v37, the desired outcome is that apply v37 special processing rules and set v37 entry flag.
💻 Technical Criteria
Given A valid entry number is present and entry type is determined
When The entry type is V37
Then Apply V37 special processing rules and set V37 entry flag
R-GCX016-cbl-00560 Set V37 Entry Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set V37 Entry Flag' is invoked, and assuming that entry type has been identified as v37, when v37 special processing rules are applied, the desired outcome is that set v37 entry flag to indicate special handling required.
💻 Technical Criteria
Given Entry type has been identified as V37
When V37 special processing rules are applied
Then Set V37 entry flag to indicate special handling required
R-GCX016-cbl-00614 FDA-Related Reference?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA-Related Reference?' is invoked, and assuming that an n9 segment is received with reference qualifier and reference number, when the system evaluates the reference qualifier code, the desired outcome is that the system determines if the reference is fda-related based on predefined fda qualifier codes.
💻 Technical Criteria
Given An N9 segment is received with reference qualifier and reference number
When The system evaluates the reference qualifier code
Then The system determines if the reference is FDA-related based on predefined FDA qualifier codes
R-GCX016-cbl-00617 Validate FDA Reference Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate FDA Reference Format' is invoked, and assuming that an fda reference number and qualifier code have been extracted, when the system validates the reference format, the desired outcome is that the reference is checked against fda format requirements for length, character set, and structure.
💻 Technical Criteria
Given An FDA reference number and qualifier code have been extracted
When The system validates the reference format
Then The reference is checked against FDA format requirements for length, character set, and structure
R-GCX016-cbl-00626 Log FDA Reference Processing
Process Rules
📊 Business Logic Narrative
When the process 'Log FDA Reference Processing' is invoked, and assuming that fda reference processing has been completed, when the system finalizes fda processing, the desired outcome is that all fda reference processing activities are logged with timestamps and processing details.
💻 Technical Criteria
Given FDA reference processing has been completed
When The system finalizes FDA processing
Then All FDA reference processing activities are logged with timestamps and processing details
R-GCX016-cbl-00706 Continue with Lead Manifest Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue with Lead Manifest Processing' is invoked, and assuming that all follower manifests have been processed or no follower manifests exist, when the system completes follower processing workflow, the desired outcome is that the system returns control to continue processing the original lead manifest.
💻 Technical Criteria
Given All follower manifests have been processed OR no follower manifests exist
When The system completes follower processing workflow
Then The system returns control to continue processing the original lead manifest
R-GCX016-cbl-00729 Element Contains Data?
Validation Rules
📊 Business Logic Narrative
When the process 'Element Contains Data?' is invoked, and assuming that a specific array element is being examined, when the system checks if the element contains data, the desired outcome is that comparison proceeds if data exists, otherwise the system moves to the next element.
💻 Technical Criteria
Given A specific array element is being examined
When The system checks if the element contains data
Then Comparison proceeds if data exists, otherwise the system moves to the next element
R-GCX016-cbl-00740 Match by Quantity
Validation Rules
📊 Business Logic Narrative
When the process 'Match by Quantity' is invoked, and assuming that entry number criteria are evaluated for the counterpart code, when the system compares quantities between the counterpart and new code, the desired outcome is that the system determines if the quantities match for removal eligibility.
💻 Technical Criteria
Given Entry number criteria are evaluated for the counterpart code
When The system compares quantities between the counterpart and new code
Then The system determines if the quantities match for removal eligibility
R-GCX016-cbl-00847 Log Arrival Processing
Action Rules
📊 Business Logic Narrative
When the process 'Log Arrival Processing' is invoked, and assuming that arrival message has been generated and all processing is complete, when the system logs arrival processing, the desired outcome is that the system creates audit log entry with arrival processing details and timestamp.
💻 Technical Criteria
Given Arrival message has been generated and all processing is complete
When The system logs arrival processing
Then The system creates audit log entry with arrival processing details and timestamp
R-GCX016-cbl-00940 Analyze Combined Flags
Validation Rules
📊 Business Logic Narrative
When the process 'Analyze Combined Flags' is invoked, and assuming that ptt flag is set and ptt quantity is available, when the system validates ptt quantity criteria, the desired outcome is that the system determines if the ptt quantity is valid and meets threshold requirements.
💻 Technical Criteria
Given PTT flag is set and PTT quantity is available
When The system validates PTT quantity criteria
Then The system determines if the PTT quantity is valid and meets threshold requirements
R-GCX016-cbl-01171 Include Up to 4 K1 Comment Segments
Process Rules
📊 Business Logic Narrative
When the process 'Include Up to 4 K1 Comment Segments' is invoked, and assuming that k1 comment segments are available, when the system includes k1 comments in the message, the desired outcome is that the system adds up to 4 k1 comment segments to the release message content.
💻 Technical Criteria
Given K1 comment segments are available
When The system includes K1 comments in the message
Then The system adds up to 4 K1 comment segments to the release message content
R-GCX016-cbl-01241 Check if Code Starts with 'PF='
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if Code Starts with 'PF='', assuming that a payer of freight code has been extracted from n101 segment, when the payer code does not start with 'pf=', the desired outcome is that the system treats it as a standard payer code.
💻 Technical Criteria
EXCLUDING A payer of freight code has been extracted from N101 segment
When The payer code does not start with 'PF='
Then The system treats it as a standard payer code
R-GCX016-cbl-01244 Use Standard Payer Code
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Standard Payer Code', assuming that the payer code does not start with 'pf=', when the system processes the payer code, the desired outcome is that the system uses the code directly as the payer of freight identifier without broker lookup.
💻 Technical Criteria
EXCLUDING The payer code does not start with 'PF='
When The system processes the payer code
Then The system uses the code directly as the payer of freight identifier without broker lookup
R-GCX016-cbl-01248 Add PF= Prefix to Entity Code
Process Rules
📊 Business Logic Narrative
When the process 'Add PF= Prefix to Entity Code' is invoked, and assuming that an entity has been identified as a payer of freight, when the system prepares the entity code for broker lookup, the desired outcome is that the system adds 'pf=' prefix to the entity code to create the lookup key.
💻 Technical Criteria
Given An entity has been identified as a payer of freight
When The system prepares the entity code for broker lookup
Then The system adds 'PF=' prefix to the entity code to create the lookup key
R-GCX016-cbl-01353 Use Calculated Quantity
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Calculated Quantity', assuming that a new release quantity has been calculated and is not negative, when the system validates the calculated quantity, the desired outcome is that the calculated quantity is accepted as the new release quantity.
💻 Technical Criteria
EXCLUDING A new release quantity has been calculated and is not negative
When The system validates the calculated quantity
Then The calculated quantity is accepted as the new release quantity
R-GCX016-cbl-01368 Message from Canadian Pacific Entity?
Decision Rules
📊 Business Logic Narrative
When the process 'Message from Canadian Pacific Entity?' is invoked, and assuming that a message is received for processing, when the system evaluates the message source entity, the desired outcome is that the message is classified as either canadian pacific entity or standard entity for appropriate processing path.
💻 Technical Criteria
Given A message is received for processing
When The system evaluates the message source entity
Then The message is classified as either Canadian Pacific entity or standard entity for appropriate processing path
R-GCX016-cbl-01391 Broker Code Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Broker Code Available?' is invoked, and assuming that a broker lookup request is initiated, when the system checks for broker code availability, the desired outcome is that the system proceeds to broker table lookup if broker code exists, otherwise returns broker not found error.
💻 Technical Criteria
Given A broker lookup request is initiated
When The system checks for broker code availability
Then The system proceeds to broker table lookup if broker code exists, otherwise returns broker not found error
R-GCX016-cbl-01401 Apply PF= Prefix Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Apply PF= Prefix Lookup' is invoked, and assuming that the broker lookup is identified as payer of freight entity, when the system applies pf= prefix lookup logic, the desired outcome is that the system performs specialized payer of freight broker name retrieval.
💻 Technical Criteria
Given The broker lookup is identified as payer of freight entity
When The system applies PF= prefix lookup logic
Then The system performs specialized payer of freight broker name retrieval
R-GCX016-cbl-01402 Get Special PF Broker Name
Action Rules
📊 Business Logic Narrative
When the process 'Get Special PF Broker Name' is invoked, and assuming that pf= prefix lookup has been applied, when the system performs special pf broker name lookup, the desired outcome is that the system retrieves and stores the specialized payer of freight broker name.
💻 Technical Criteria
Given PF= prefix lookup has been applied
When The system performs special PF broker name lookup
Then The system retrieves and stores the specialized payer of freight broker name
R-GCX016-cbl-01484 Format Subject Line Based on Content
Process Rules
📊 Business Logic Narrative
When the process 'Format Subject Line Based on Content' is invoked, and assuming that a message is prepared for email delivery, when the message content and type are determined, the desired outcome is that the system should format an appropriate subject line that reflects the message content and type.
💻 Technical Criteria
Given A message is prepared for email delivery
When The message content and type are determined
Then The system should format an appropriate subject line that reflects the message content and type
R-GCX016-cbl-01495 Skip Invalid Secondary User
Process Rules
📊 Business Logic Narrative
When the process 'Skip Invalid Secondary User' is invoked, and assuming that a secondary user has been determined to be invalid, when the system processes the routing list, the desired outcome is that the invalid secondary user is skipped and not added to the routing list.
💻 Technical Criteria
Given A secondary user has been determined to be invalid
When The system processes the routing list
Then The invalid secondary user is skipped and not added to the routing list
R-GCX016-cbl-01515 Finalize Email Keywords
Process Rules
📊 Business Logic Narrative
When the process 'Finalize Email Keywords' is invoked, and assuming that user category keywords have been set for the message, when the system has completed all keyword assignment steps, the desired outcome is that the system finalizes the complete set of email keywords to prepare the message for routing and delivery.
💻 Technical Criteria
Given User category keywords have been set for the message
When The system has completed all keyword assignment steps
Then The system finalizes the complete set of email keywords to prepare the message for routing and delivery
R-GCX016-cbl-01520 Unrelease Message Subject
Process Rules
📊 Business Logic Narrative
When the process 'Unrelease Message Subject' is invoked, and assuming that a message has been classified as an unrelease type, when the message routing process is executed, the desired outcome is that the message is sent to default and cancel-specific merlin ids with unrelease-specific subject formatting.
💻 Technical Criteria
Given A message has been classified as an unrelease type
When The message routing process is executed
Then The message is sent to default and cancel-specific Merlin IDs with unrelease-specific subject formatting
R-GCX016-cbl-01535 Format Subject Line
Process Rules
📊 Business Logic Narrative
When the process 'Format Subject Line' is invoked, and assuming that message keywords have been set, when the system formats the message for delivery, the desired outcome is that the subject line is formatted according to the message type and content requirements.
💻 Technical Criteria
Given Message keywords have been set
When The system formats the message for delivery
Then The subject line is formatted according to the message type and content requirements
R-GCX016-cbl-01546 Set Unrelease Message Keywords
Process Rules
📊 Business Logic Narrative
When the process 'Set Unrelease Message Keywords' is invoked, and assuming that an unrelease message type has been detected, when the system prepares the message for routing, the desired outcome is that the system sets appropriate unrelease-specific keywords and message identifiers.
💻 Technical Criteria
Given An unrelease message type has been detected
When The system prepares the message for routing
Then The system sets appropriate unrelease-specific keywords and message identifiers
R-GCX016-cbl-01547 Determine Target Baskets
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Target Baskets' is invoked, and assuming that unrelease message keywords have been set, when the system evaluates routing requirements, the desired outcome is that the system determines the appropriate target baskets for message delivery.
💻 Technical Criteria
Given Unrelease message keywords have been set
When The system evaluates routing requirements
Then The system determines the appropriate target baskets for message delivery
R-GCX016-cbl-01559 Send Message to Basket
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Basket' is invoked, and assuming that the unrelease message has been fully formatted with subject line, when the system executes message delivery, the desired outcome is that the system sends the message to all designated baskets and users.
💻 Technical Criteria
Given The unrelease message has been fully formatted with subject line
When The system executes message delivery
Then The system sends the message to all designated baskets and users
R-GCX016-cbl-01561 Message Routing Complete
Process Rules
📊 Business Logic Narrative
When the process 'Message Routing Complete' is invoked, and assuming that message routing has been logged successfully, when all routing activities are complete, the desired outcome is that the system marks the unrelease message routing as complete and returns control to the calling process.
💻 Technical Criteria
Given Message routing has been logged successfully
When All routing activities are complete
Then The system marks the unrelease message routing as complete and returns control to the calling process
R-GCX016-cbl-01679 Calculate Quantity Difference
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Quantity Difference' is invoked, and assuming that manifest quantity and released quantity are available, when quantity mismatch analysis is performed, the desired outcome is that the quantity difference is calculated as manifest quantity minus released quantity.
💻 Technical Criteria
Given Manifest quantity and released quantity are available
When Quantity mismatch analysis is performed
Then The quantity difference is calculated as manifest quantity minus released quantity
R-GCX016-cbl-01680 Quantity Mismatch Detected?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Mismatch Detected?' is invoked, and assuming that manifest quantity and released quantity have been retrieved and compared, when the system evaluates quantity consistency, the desired outcome is that a mismatch is detected if the manifest quantity does not equal the released quantity.
💻 Technical Criteria
Given Manifest quantity and released quantity have been retrieved and compared
When The system evaluates quantity consistency
Then A mismatch is detected if the manifest quantity does not equal the released quantity
R-GCX016-cbl-01706 Add Month Days to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Month Days to Total' is invoked, and assuming that the base days from year start have been calculated, when the system processes the month component, the desired outcome is that days from complete months are added to the cumulative day total.
💻 Technical Criteria
Given The base days from year start have been calculated
When The system processes the month component
Then Days from complete months are added to the cumulative day total
R-GCX016-cbl-01712 Validate Date Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Date Format' is invoked, and assuming that a system date has been retrieved from the machine, when the date format needs to be validated for business processing, the desired outcome is that the system checks if the date format matches the required business date structure.
💻 Technical Criteria
Given A system date has been retrieved from the machine
When The date format needs to be validated for business processing
Then The system checks if the date format matches the required business date structure
R-GCX016-cbl-01713 Date Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Date Valid?' is invoked, and assuming that a system date has been retrieved and format validated, when the system evaluates the date validity, the desired outcome is that if the date is valid, proceed with normal processing, otherwise initiate error handling procedures.
💻 Technical Criteria
Given A system date has been retrieved and format validated
When The system evaluates the date validity
Then If the date is valid, proceed with normal processing, otherwise initiate error handling procedures
R-GCX016-cbl-01715 Set Machine Date Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Machine Date Fields' is invoked, and assuming that a machine date has been converted to internal format, when business processing requires date context, the desired outcome is that the system assigns the converted date to appropriate business date fields.
💻 Technical Criteria
Given A machine date has been converted to internal format
When Business processing requires date context
Then The system assigns the converted date to appropriate business date fields
R-GCX016-cbl-01717 Handle Date Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Date Error' is invoked, and assuming that an invalid or corrupted system date has been detected, when normal date processing cannot proceed, the desired outcome is that the system initiates error handling procedures to manage the date processing failure.
💻 Technical Criteria
Given An invalid or corrupted system date has been detected
When Normal date processing cannot proceed
Then The system initiates error handling procedures to manage the date processing failure
R-GCX016-cbl-01723 Get Message from Queue
Action Rules
📊 Business Logic Narrative
When the process 'Get Message from Queue' is invoked, and assuming that mq queue is successfully opened for reading, when message retrieval is requested, the desired outcome is that system attempts to get the next message from the queue.
💻 Technical Criteria
Given MQ queue is successfully opened for reading
When Message retrieval is requested
Then System attempts to get the next message from the queue
R-GCX016-cbl-01724 Message Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Available?' is invoked, and assuming that message retrieval has been attempted from the queue, when message availability is checked, the desired outcome is that if message is available, proceed to process message; if no message available, close queue and complete processing.
💻 Technical Criteria
Given Message retrieval has been attempted from the queue
When Message availability is checked
Then If message is available, proceed to process message; if no message available, close queue and complete processing
R-GCX016-cbl-01732 Close MQ Queue
Process Rules
📊 Business Logic Narrative
When the process 'Close MQ Queue' is invoked, and assuming that all available messages have been processed or no messages are available, when queue closure is required, the desired outcome is that mq queue is properly closed to release system resources.
💻 Technical Criteria
Given All available messages have been processed or no messages are available
When Queue closure is required
Then MQ queue is properly closed to release system resources
R-GCX016-cbl-01735 Log Queue Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Queue Error' is invoked, and assuming that queue open error has been detected, when error logging is required, the desired outcome is that queue error details are logged and processing is terminated.
💻 Technical Criteria
Given Queue open error has been detected
When Error logging is required
Then Queue error details are logged and processing is terminated
R-GCX016-cbl-01737 Log Message Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Message Error' is invoked, and assuming that message error handling has been initiated, when error logging is required, the desired outcome is that message error details are logged and processing continues to check for more messages.
💻 Technical Criteria
Given Message error handling has been initiated
When Error logging is required
Then Message error details are logged and processing continues to check for more messages
R-GCX016-cbl-01742 Message Source?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Source?' is invoked, and assuming that a train message is received for processing, when the system evaluates the message source type, the desired outcome is that the system identifies whether the message comes from mq queue or direct input source.
💻 Technical Criteria
Given A train message is received for processing
When The system evaluates the message source type
Then The system identifies whether the message comes from MQ Queue or Direct Input source
R-GCX016-cbl-01747 Train Arrival Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Arrival Message?' is invoked, and assuming that v9 event detail segment is loaded with event codes, when the system evaluates the event type in the v9 segment, the desired outcome is that the system identifies whether the message indicates a train arrival event (pod or aad codes).
💻 Technical Criteria
Given V9 event detail segment is loaded with event codes
When The system evaluates the event type in the V9 segment
Then The system identifies whether the message indicates a train arrival event (POD or AAD codes)
R-GCX016-cbl-01748 Set Arrival Processing Mode
Process Rules
📊 Business Logic Narrative
When the process 'Set Arrival Processing Mode' is invoked, and assuming that a train arrival message is detected, when the system prepares for arrival processing, the desired outcome is that the system sets arrival processing mode flags and configures arrival-specific processing parameters.
💻 Technical Criteria
Given A train arrival message is detected
When The system prepares for arrival processing
Then The system sets arrival processing mode flags and configures arrival-specific processing parameters
R-GCX016-cbl-01755 Validate Message Structure
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Message Structure' is invoked, and assuming that train arrays are initialized for the appropriate processing mode, when the system validates the train message structure, the desired outcome is that the system checks for required segments, proper formatting, and data completeness in the train message.
💻 Technical Criteria
Given Train arrays are initialized for the appropriate processing mode
When The system validates the train message structure
Then The system checks for required segments, proper formatting, and data completeness in the train message
R-GCX016-cbl-01771 Queue Available for Processing?
Decision Rules
📊 Business Logic Narrative
When the process 'Queue Available for Processing?' is invoked, and assuming that queue availability has been validated, when system evaluates queue processing readiness, the desired outcome is that if queue is available then processing can proceed, otherwise handle unavailability.
💻 Technical Criteria
Given Queue availability has been validated
When System evaluates queue processing readiness
Then If queue is available then processing can proceed, otherwise handle unavailability
R-GCX016-cbl-01782 Get Message from Queue
Action Rules
📊 Business Logic Narrative
When the process 'Get Message from Queue' is invoked, and assuming that message queue is successfully opened, when message retrieval is initiated, the desired outcome is that message is retrieved from queue for processing.
💻 Technical Criteria
Given Message queue is successfully opened
When Message retrieval is initiated
Then Message is retrieved from queue for processing
R-GCX016-cbl-01783 Message Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Available?' is invoked, and assuming that message retrieval attempt has been made, when message availability is checked, the desired outcome is that if message is available, calculate message length; if no message available, check for more messages.
💻 Technical Criteria
Given Message retrieval attempt has been made
When Message availability is checked
Then If message is available, calculate message length; if no message available, check for more messages
R-GCX016-cbl-01787 Process Variable-Length Message
Process Rules
📊 Business Logic Narrative
When the process 'Process Variable-Length Message' is invoked, and assuming that message array is initialized, when variable-length message processing is performed, the desired outcome is that message content is parsed and stored in message array.
💻 Technical Criteria
Given Message array is initialized
When Variable-length message processing is performed
Then Message content is parsed and stored in message array
R-GCX016-cbl-01792 Close MQ Queue
Process Rules
📊 Business Logic Narrative
When the process 'Close MQ Queue' is invoked, and assuming that message processing is complete or error has occurred, when queue closure is initiated, the desired outcome is that message queue is properly closed.
💻 Technical Criteria
Given Message processing is complete or error has occurred
When Queue closure is initiated
Then Message queue is properly closed
R-GCX016-cbl-01794 Calculate Message Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Message Length' is invoked, and assuming that a message is received for processing, when the system needs to determine message boundaries, the desired outcome is that message length is calculated and validated for further processing.
💻 Technical Criteria
Given A message is received for processing
When The system needs to determine message boundaries
Then Message length is calculated and validated for further processing
R-GCX016-cbl-01796 Message Length Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Length Valid?' is invoked, and assuming that a message with calculated length, when the system validates message length requirements, the desired outcome is that processing continues if length is valid, otherwise error handling is triggered.
💻 Technical Criteria
Given A message with calculated length
When The system validates message length requirements
Then Processing continues if length is valid, otherwise error handling is triggered
R-GCX016-cbl-01797 Calculate Entry Count Based on Structure
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Entry Count Based on Structure' is invoked, and assuming that a valid message with confirmed structure, when the system analyzes message content for entry counting, the desired outcome is that entry count is calculated based on message structure parameters and segment boundaries.
💻 Technical Criteria
Given A valid message with confirmed structure
When The system analyzes message content for entry counting
Then Entry count is calculated based on message structure parameters and segment boundaries
R-GCX016-cbl-01798 Process Variable-Length Message Content
Process Rules
📊 Business Logic Narrative
When the process 'Process Variable-Length Message Content' is invoked, and assuming that a message with variable-length content structure, when the system processes the message content, the desired outcome is that variable-length content is processed appropriately regardless of actual message size.
💻 Technical Criteria
Given A message with variable-length content structure
When The system processes the message content
Then Variable-length content is processed appropriately regardless of actual message size
R-GCX016-cbl-01802 Initialize Arrays for Standard Processing
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Arrays for Standard Processing' is invoked, and assuming that a message identified as non-train related, when the system initializes processing arrays, the desired outcome is that arrays are configured with standard parameters for general message processing.
💻 Technical Criteria
Given A message identified as non-train related
When The system initializes processing arrays
Then Arrays are configured with standard parameters for general message processing
R-GCX016-cbl-01803 More Entries to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Entries to Process?' is invoked, and assuming that message array processing is in progress, when the system checks for remaining entries, the desired outcome is that processing continues if more entries exist, otherwise array processing is completed.
💻 Technical Criteria
Given Message array processing is in progress
When The system checks for remaining entries
Then Processing continues if more entries exist, otherwise array processing is completed
R-GCX016-cbl-01809 Complete Array Processing
Process Rules
📊 Business Logic Narrative
When the process 'Complete Array Processing' is invoked, and assuming that all message entries have been processed, when the system completes array processing, the desired outcome is that processing results are consolidated and prepared for return to calling process.
💻 Technical Criteria
Given All message entries have been processed
When The system completes array processing
Then Processing results are consolidated and prepared for return to calling process
R-GCX016-cbl-01826 Continue with Next Message
Process Rules
📊 Business Logic Narrative
When the process 'Continue with Next Message' is invoked, and assuming that current message processing has completed successfully or error has been handled, when the system is ready to process the next message, the desired outcome is that processing continues with the next available message from the queue.
💻 Technical Criteria
Given Current message processing has completed successfully or error has been handled
When The system is ready to process the next message
Then Processing continues with the next available message from the queue
R-GCX016-cbl-01930 Convert Date to Julian Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Date to Julian Format' is invoked, and assuming that a system date has been captured, when the date needs to be converted to julian format, the desired outcome is that the date is converted to julian format for standardized processing.
💻 Technical Criteria
Given A system date has been captured
When The date needs to be converted to Julian format
Then The date is converted to Julian format for standardized processing
R-GCX016-cbl-01999 Call WRITMSGL to Queue Message
Action Rules
📊 Business Logic Narrative
When the process 'Call WRITMSGL to Queue Message' is invoked, and assuming that a message queue entry is prepared, when the system calls writmsgl to queue the message, the desired outcome is that writmsgl must be invoked with the prepared message data and queue parameters.
💻 Technical Criteria
Given A message queue entry is prepared
When The system calls WRITMSGL to queue the message
Then WRITMSGL must be invoked with the prepared message data and queue parameters
R-GCX016-cbl-02023 Read Next VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Read Next VID Segment' is invoked, and assuming that vid segments are available for processing, when the system processes vid segments sequentially, the desired outcome is that read the next vid segment from the message queue.
💻 Technical Criteria
Given VID segments are available for processing
When The system processes VID segments sequentially
Then Read the next VID segment from the message queue
R-GCX016-cbl-02119 Train Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Found?' is invoked, and assuming that the system has searched for the train in gcwtl-train-list, when the search results are evaluated, the desired outcome is that if train is found, proceed with pre-arrival processing; if not found, generate error message.
💻 Technical Criteria
Given The system has searched for the train in GCWTL-TRAIN-LIST
When The search results are evaluated
Then If train is found, proceed with pre-arrival processing; if not found, generate error message
R-GCX016-cbl-02160 Train Arrival Event Detected
Process Rules
📊 Business Logic Narrative
When the process 'Train Arrival Event Detected' is invoked, and assuming that a v9 event segment is received in the message queue, when the system processes the v9 segment for event details, the desired outcome is that the train arrival event is identified and flagged for processing.
💻 Technical Criteria
Given A V9 event segment is received in the message queue
When The system processes the V9 segment for event details
Then The train arrival event is identified and flagged for processing
R-GCX016-cbl-02164 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that a train arrival event is being processed with a vessel name, when the system validates the train existence, the desired outcome is that the system checks the train list to confirm the train is registered in the system.
💻 Technical Criteria
Given A train arrival event is being processed with a vessel name
When The system validates the train existence
Then The system checks the train list to confirm the train is registered in the system
R-GCX016-cbl-02223 Extract K1 Free-form Comment Text
Process Rules
📊 Business Logic Narrative
When the process 'Extract K1 Free-form Comment Text' is invoked, and assuming that a valid k1 segment with train context available, when the system processes the k1 segment, the desired outcome is that the free-form comment text is extracted from the k1 segment.
💻 Technical Criteria
Given A valid K1 segment with train context available
When The system processes the K1 segment
Then The free-form comment text is extracted from the K1 segment
R-GCX016-cbl-02224 Validate Comment Length and Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Comment Length and Format' is invoked, and assuming that k1 free-form comment text has been extracted, when the system validates the comment, the desired outcome is that the comment is checked for proper length and format constraints.
💻 Technical Criteria
Given K1 free-form comment text has been extracted
When The system validates the comment
Then The comment is checked for proper length and format constraints
R-GCX016-cbl-02225 Comment Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Comment Valid?' is invoked, and assuming that k1 comment has been validated for length and format, when the system evaluates comment validity, the desired outcome is that processing continues if valid, otherwise the segment is skipped.
💻 Technical Criteria
Given K1 comment has been validated for length and format
When The system evaluates comment validity
Then Processing continues if valid, otherwise the segment is skipped
R-GCX016-cbl-02229 Generate Audit Trail Entry
Process Rules
📊 Business Logic Narrative
When the process 'Generate Audit Trail Entry' is invoked, and assuming that train-level comment has been stored in the system, when the system completes the storage process, the desired outcome is that an audit trail entry is generated for the k1 train remark.
💻 Technical Criteria
Given Train-level comment has been stored in the system
When The system completes the storage process
Then An audit trail entry is generated for the K1 train remark
R-GCX016-cbl-02235 Comment Count < 4?
Policy Rules
📊 Business Logic Narrative
When the process 'Comment Count < 4?' is invoked, and assuming that a free-form comment extracted from a k1 segment for an x4 segment, when the system checks if the current comment count is less than 4 for the x4 segment, the desired outcome is that the comment is accepted for storage if count is less than 4, otherwise it is rejected with maximum comments exceeded error.
💻 Technical Criteria
Given A free-form comment extracted from a K1 segment for an X4 segment
When The system checks if the current comment count is less than 4 for the X4 segment
Then The comment is accepted for storage if count is less than 4, otherwise it is rejected with maximum comments exceeded error
R-GCX016-cbl-02238 More K1 Segments?
Process Rules
📊 Business Logic Narrative
When the process 'More K1 Segments?' is invoked, and assuming that a k1 segment has been processed for an x4 segment, when the system checks if there are more k1 segments to process, the desired outcome is that processing continues with the next k1 segment if available, otherwise proceeds to associate all comments with the x4 segment.
💻 Technical Criteria
Given A K1 segment has been processed for an X4 segment
When The system checks if there are more K1 segments to process
Then Processing continues with the next K1 segment if available, otherwise proceeds to associate all comments with the X4 segment
R-GCX016-cbl-02283 Set Segment Length and Type
Computation Rules
📊 Business Logic Narrative
When the process 'Set Segment Length and Type' is invoked, and assuming that dependent segment data has been formatted, when the system creates the dependent segment structure, the desired outcome is that the system calculates and sets the segment length based on data content and assigns the appropriate segment type identifier.
💻 Technical Criteria
Given Dependent segment data has been formatted
When The system creates the dependent segment structure
Then The system calculates and sets the segment length based on data content and assigns the appropriate segment type identifier
R-GCX016-cbl-02403 Validate Entry Type Code Against System Tables
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entry Type Code Against System Tables' is invoked, and assuming that an entry type code has been converted to internal cprail format, when the system validates the code against system tables, the desired outcome is that the system should verify the code exists in the reference tables and is valid for processing.
💻 Technical Criteria
Given An entry type code has been converted to internal CPRAIL format
When The system validates the code against system tables
Then The system should verify the code exists in the reference tables and is valid for processing
R-GCX016-cbl-02407 Generate Error Message Invalid Entry Type
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message Invalid Entry Type', assuming that an entry type code has been validated against system tables, when the entry type code is not found or is invalid, the desired outcome is that the system should generate an error message indicating invalid entry type.
💻 Technical Criteria
EXCLUDING An entry type code has been validated against system tables
When The entry type code is not found or is invalid
Then The system should generate an error message indicating invalid entry type
R-GCX016-cbl-02439 FDA Reference Qualifier?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Reference Qualifier?' is invoked, and assuming that an n9 segment is received with reference qualifier and reference number data, when the system processes the n9 segment qualifier code, the desired outcome is that the system determines if the qualifier indicates an fda-related reference number.
💻 Technical Criteria
Given An N9 segment is received with reference qualifier and reference number data
When The system processes the N9 segment qualifier code
Then The system determines if the qualifier indicates an FDA-related reference number
R-GCX016-cbl-02441 Valid FDA Format?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid FDA Format?' is invoked, and assuming that an fda reference number has been extracted from an n9 segment, when the system validates the reference number format, the desired outcome is that the system determines if the reference number meets fda formatting requirements.
💻 Technical Criteria
Given An FDA reference number has been extracted from an N9 segment
When The system validates the reference number format
Then The system determines if the reference number meets FDA formatting requirements
R-GCX016-cbl-02503 Continue to Next Follower
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Follower' is invoked, and assuming that a follower manifest processing attempt has completed (either successfully or with errors), when the system continues processing, the desired outcome is that the next follower manifest in the sequence is selected for processing.
💻 Technical Criteria
Given A follower manifest processing attempt has completed (either successfully or with errors)
When The system continues processing
Then The next follower manifest in the sequence is selected for processing
R-GCX016-cbl-02584 Extract Free-Form Comment Text
Process Rules
📊 Business Logic Narrative
When the process 'Extract Free-Form Comment Text' is invoked, and assuming that a k1 segment has been classified for processing, when the system processes the k1 segment content, the desired outcome is that the free-form comment text is extracted from the k1 segment data fields.
💻 Technical Criteria
Given A K1 segment has been classified for processing
When The system processes the K1 segment content
Then The free-form comment text is extracted from the K1 segment data fields
R-GCX016-cbl-02585 Validate Comment Length
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Comment Length' is invoked, and assuming that free-form comment text has been extracted from k1 segment, when the system validates the comment text length, the desired outcome is that the comment is accepted if it meets length requirements or rejected if it exceeds maximum allowed length.
💻 Technical Criteria
Given Free-form comment text has been extracted from K1 segment
When The system validates the comment text length
Then The comment is accepted if it meets length requirements or rejected if it exceeds maximum allowed length
R-GCX016-cbl-02656 Get Follower Manifest List
Action Rules
📊 Business Logic Narrative
When the process 'Get Follower Manifest List' is invoked, and assuming that a lead manifest has been identified, when the system needs to process associated follower manifests, the desired outcome is that the system retrieves the complete list of follower manifests from gcwtl-train-list.
💻 Technical Criteria
Given A lead manifest has been identified
When The system needs to process associated follower manifests
Then The system retrieves the complete list of follower manifests from GCWTL-TRAIN-LIST
R-GCX016-cbl-02657 More Followers Available?
Decision Rules
📊 Business Logic Narrative
When the process 'More Followers Available?' is invoked, and assuming that a list of follower manifests has been retrieved, when the system is iterating through the follower manifest list, the desired outcome is that the system determines if more follower manifests are available for processing or if all have been processed.
💻 Technical Criteria
Given A list of follower manifests has been retrieved
When The system is iterating through the follower manifest list
Then The system determines if more follower manifests are available for processing or if all have been processed
R-GCX016-cbl-02658 Select Next Follower Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Select Next Follower Manifest' is invoked, and assuming that more follower manifests are available for processing, when the system needs to process the next follower manifest, the desired outcome is that the system selects and loads the next follower manifest from the list.
💻 Technical Criteria
Given More follower manifests are available for processing
When The system needs to process the next follower manifest
Then The system selects and loads the next follower manifest from the list
R-GCX016-cbl-02661 Set Follower Manifest Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Follower Manifest Parameters' is invoked, and assuming that the message array has been prepared for a follower manifest, when the system needs to configure processing parameters, the desired outcome is that the system sets follower-specific parameters including manifest identifiers and processing flags.
💻 Technical Criteria
Given The message array has been prepared for a follower manifest
When The system needs to configure processing parameters
Then The system sets follower-specific parameters including manifest identifiers and processing flags
R-GCX016-cbl-02666 Move to Next Follower
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Follower' is invoked, and assuming that a follower manifest has been successfully processed, when the system needs to continue with remaining followers, the desired outcome is that the system moves to the next follower manifest in the list for processing.
💻 Technical Criteria
Given A follower manifest has been successfully processed
When The system needs to continue with remaining followers
Then The system moves to the next follower manifest in the list for processing
R-GCX016-cbl-02668 All Followers Processed
Decision Rules
📊 Business Logic Narrative
When the process 'All Followers Processed' is invoked, and assuming that the system has iterated through all follower manifests in the list, when no more follower manifests are available for processing, the desired outcome is that the system confirms that all follower manifests have been processed.
💻 Technical Criteria
Given The system has iterated through all follower manifests in the list
When No more follower manifests are available for processing
Then The system confirms that all follower manifests have been processed
R-GCX016-cbl-02722 Quantity Match?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Quantity Match?', assuming that the entry numbers do not match for counterpart removal, when the system compares the quantities of the counterpart code with the removal criteria, the desired outcome is that the system either removes the counterpart code or checks special code pattern matching.
💻 Technical Criteria
EXCLUDING The entry numbers do not match for counterpart removal
When The system compares the quantities of the counterpart code with the removal criteria
Then The system either removes the counterpart code or checks special code pattern matching
R-GCX016-cbl-02723 Special Code Pattern Match?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Special Code Pattern Match?', assuming that the quantities do not match for counterpart removal, when the system evaluates special code patterns or business rules for the counterpart code, the desired outcome is that the system either removes the counterpart code or determines no removal is needed.
💻 Technical Criteria
EXCLUDING The quantities do not match for counterpart removal
When The system evaluates special code patterns or business rules for the counterpart code
Then The system either removes the counterpart code or determines no removal is needed
R-GCX016-cbl-02985 Continue Array Scan
Process Rules
📊 Business Logic Narrative
When the process 'Continue Array Scan' is invoked, and assuming that current array element processing is complete, when the system continues array scanning, the desired outcome is that processing moves to the next array element for analysis.
💻 Technical Criteria
Given Current array element processing is complete
When The system continues array scanning
Then Processing moves to the next array element for analysis
R-GCX016-cbl-03092 Counterpart Code Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Counterpart Code Exists?' is invoked, and assuming that a counterpart code lookup has been performed, when the system checks if a counterpart code was found, the desired outcome is that processing continues with counterpart removal if code exists, otherwise no counterpart processing is performed.
💻 Technical Criteria
Given A counterpart code lookup has been performed
When The system checks if a counterpart code was found
Then Processing continues with counterpart removal if code exists, otherwise no counterpart processing is performed
R-GCX016-cbl-03098 Quantity Match?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Quantity Match?', assuming that entry numbers do not match for a counterpart code candidate, when the system compares quantities between the counterpart and array element, the desired outcome is that the match is confirmed if quantities are identical, otherwise special code pattern matching is evaluated.
💻 Technical Criteria
EXCLUDING Entry numbers do not match for a counterpart code candidate
When The system compares quantities between the counterpart and array element
Then The match is confirmed if quantities are identical, otherwise special code pattern matching is evaluated
R-GCX016-cbl-03531 Log Missing Field Error
Validation Rules
📊 Business Logic Narrative
When the process 'Log Missing Field Error' is invoked, and assuming that required manifest data fields are missing from the m10 segment, when the system validates the extracted data elements, the desired outcome is that an error is logged indicating which required fields are missing.
💻 Technical Criteria
Given Required manifest data fields are missing from the M10 segment
When The system validates the extracted data elements
Then An error is logged indicating which required fields are missing
R-GCX016-cbl-03550 Construct PF= Prefix Lookup Key
Computation Rules
📊 Business Logic Narrative
When the process 'Construct PF= Prefix Lookup Key' is invoked, and assuming that entity is classified as broker type, when the system constructs pf= prefix lookup key, the desired outcome is that specialized broker lookup key is created for table search.
💻 Technical Criteria
Given Entity is classified as broker type
When The system constructs PF= prefix lookup key
Then Specialized broker lookup key is created for table search
R-GCX016-cbl-03551 Search Broker Table with PF= Prefix
Action Rules
📊 Business Logic Narrative
When the process 'Search Broker Table with PF= Prefix' is invoked, and assuming that pf= prefix lookup key has been constructed, when the system searches broker table with pf= prefix key, the desired outcome is that broker table search is executed using specialized prefix lookup.
💻 Technical Criteria
Given PF= prefix lookup key has been constructed
When The system searches broker table with PF= prefix key
Then Broker table search is executed using specialized prefix lookup
R-GCX016-cbl-03552 Broker Short Name Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Broker Short Name Found?' is invoked, and assuming that broker table search with pf= prefix has been executed, when the system validates broker short name discovery, the desired outcome is that processing continues with found name or falls back to original entity name.
💻 Technical Criteria
Given Broker table search with PF= prefix has been executed
When The system validates broker short name discovery
Then Processing continues with found name or falls back to original entity name
R-GCX016-cbl-03553 Retrieve Broker Short Name
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Broker Short Name' is invoked, and assuming that broker short name has been found in table lookup, when the system retrieves broker short name, the desired outcome is that broker short name is set as the payer of freight name.
💻 Technical Criteria
Given Broker short name has been found in table lookup
When The system retrieves broker short name
Then Broker short name is set as the payer of freight name
R-GCX016-cbl-03554 Use Original Entity Name
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Original Entity Name', assuming that entity is not broker type or broker short name lookup failed, when the system uses original entity name as fallback, the desired outcome is that original entity name is set as the payer of freight name.
💻 Technical Criteria
EXCLUDING Entity is not broker type OR broker short name lookup failed
When The system uses original entity name as fallback
Then Original entity name is set as the payer of freight name
R-GCX016-cbl-03645 Prepare Log Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Message Structure' is invoked, and assuming that all log message components have been prepared, when the final log message structure needs to be assembled, the desired outcome is that all components are properly structured into the required log message format.
💻 Technical Criteria
Given All log message components have been prepared
When The final log message structure needs to be assembled
Then All components are properly structured into the required log message format
R-GCX016-cbl-03670 Calculate Quantity Difference
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Quantity Difference' is invoked, and assuming that manifest quantity and broker entry quantity are available, when the system calculates the difference between these quantities, the desired outcome is that the quantity difference is computed as the absolute difference between manifest quantity and broker entry quantity.
💻 Technical Criteria
Given Manifest quantity and broker entry quantity are available
When The system calculates the difference between these quantities
Then The quantity difference is computed as the absolute difference between manifest quantity and broker entry quantity
R-GCX016-cbl-03671 Quantity Mismatch Detected?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Mismatch Detected?' is invoked, and assuming that manifest quantity and broker entry quantity have been retrieved and compared, when the system evaluates if the quantities match, the desired outcome is that if the manifest quantity does not equal the broker entry quantity, a mismatch is detected and formatting is required, otherwise no formatting is needed.
💻 Technical Criteria
Given Manifest quantity and broker entry quantity have been retrieved and compared
When The system evaluates if the quantities match
Then If the manifest quantity does not equal the broker entry quantity, a mismatch is detected and formatting is required, otherwise no formatting is needed
R-GCX016-cbl-03684 Extract Month Component
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Month Component' is invoked, and assuming that the year component has been successfully extracted from the date, when the system continues processing the date components, the desired outcome is that the system should extract the month component from the input date.
💻 Technical Criteria
Given The year component has been successfully extracted from the date
When The system continues processing the date components
Then The system should extract the month component from the input date
R-GCX016-cbl-03685 Extract Day Component
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Day Component' is invoked, and assuming that the year and month components have been successfully extracted, when the system continues processing the date components, the desired outcome is that the system should extract the day component from the input date.
💻 Technical Criteria
Given The year and month components have been successfully extracted
When The system continues processing the date components
Then The system should extract the day component from the input date
R-GCX016-cbl-03708 Set Quantity Display Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Display Fields' is invoked, and assuming that date and time stamps are set, when quantity display formatting is applied, the desired outcome is that quantity fields are formatted with standard numerical display format.
💻 Technical Criteria
Given Date and time stamps are set
When Quantity display formatting is applied
Then Quantity fields are formatted with standard numerical display format
R-GCX016-cbl-03732 Store Segment Data in Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Segment Data in Array' is invoked, and assuming that segment data has been processed and validated, when data storage in message array is required, the desired outcome is that system stores segment data in the correct array entry with proper formatting.
💻 Technical Criteria
Given Segment data has been processed and validated
When Data storage in message array is required
Then System stores segment data in the correct array entry with proper formatting
R-GCX016-cbl-03749 Max Retries Reached?
Validation Rules
📊 Business Logic Narrative
When the process 'Max Retries Reached?' is invoked, and assuming that retry counter has been incremented, when checking maximum retries, the desired outcome is that system determines if retry counter equals or exceeds maximum allowed retries.
💻 Technical Criteria
Given retry counter has been incremented
When checking maximum retries
Then system determines if retry counter equals or exceeds maximum allowed retries
R-GCX016-cbl-03763 Calculate Message Entry Counts
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Message Entry Counts' is invoked, and assuming that message array parameters are initialized, when system calculates message entry counts, the desired outcome is that maximum message entry count is determined for processing capacity.
💻 Technical Criteria
Given Message array parameters are initialized
When System calculates message entry counts
Then Maximum message entry count is determined for processing capacity
R-GCX016-cbl-03769 Get Message from Queue
Action Rules
📊 Business Logic Narrative
When the process 'Get Message from Queue' is invoked, and assuming that mq queue is available and connected, when system attempts to get next message from queue, the desired outcome is that message is retrieved from queue and made available for processing.
💻 Technical Criteria
Given MQ queue is available and connected
When system attempts to get next message from queue
Then message is retrieved from queue and made available for processing
R-GCX016-cbl-03772 Determine Entry Count Based on Message Structure
Computation Rules
📊 Business Logic Narrative
When the process 'Determine Entry Count Based on Message Structure' is invoked, and assuming that message length is calculated, when system analyzes message structure and content, the desired outcome is that entry count is determined based on message segments and structure.
💻 Technical Criteria
Given message length is calculated
When system analyzes message structure and content
Then entry count is determined based on message segments and structure
R-GCX016-cbl-03774 Validate Message Completeness
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Message Completeness' is invoked, and assuming that message array is processed, when system validates message completeness and format, the desired outcome is that message completeness and integrity are verified.
💻 Technical Criteria
Given message array is processed
When system validates message completeness and format
Then message completeness and integrity are verified
R-GCX016-cbl-03780 Return Entry Count and Messages
Process Rules
📊 Business Logic Narrative
When the process 'Return Entry Count and Messages' is invoked, and assuming that mq queue is closed and all messages processed, when system completes message retrieval process, the desired outcome is that entry count and processed messages are returned to calling program.
💻 Technical Criteria
Given MQ queue is closed and all messages processed
When system completes message retrieval process
Then entry count and processed messages are returned to calling program
R-GCX016-cbl-03793 Entry Count Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Count Valid?' is invoked, and assuming that the entry count has been calculated and validated, when the system needs to determine processing success, the desired outcome is that the entry count is checked for validity and consistency with the message structure.
💻 Technical Criteria
Given The entry count has been calculated and validated
When The system needs to determine processing success
Then The entry count is checked for validity and consistency with the message structure
R-GCX016-cbl-03856 Validate FDA Reference Types
Validation Rules
📊 Business Logic Narrative
When the process 'Validate FDA Reference Types' is invoked, and assuming that reference numbers and qualifiers have been extracted from n9 segments, when the system validates the reference types against fda requirements, the desired outcome is that references are classified as valid or invalid based on fda compliance criteria.
💻 Technical Criteria
Given Reference numbers and qualifiers have been extracted from N9 segments
When The system validates the reference types against FDA requirements
Then References are classified as valid or invalid based on FDA compliance criteria
R-GCX016-cbl-03885 Initialize Broker Name Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Broker Name Fields' is invoked, and assuming that kcsm broker name lookup process is initiated, when the system begins broker name retrieval, the desired outcome is that all broker name fields are set to spaces to ensure clean processing.
💻 Technical Criteria
Given KCSM broker name lookup process is initiated
When the system begins broker name retrieval
Then all broker name fields are set to spaces to ensure clean processing

🏷️ CCN & Waybill Identification 245 logic blocks
R-GCX016-cbl-00008 21:Customs Release Information Processing
Decision Rules
📊 Business Logic Narrative
When the process '21:Customs Release Information Processing' is invoked, and assuming that a customs release information segment is received, when the processing method is determined, the desired outcome is that the system processes cargo by bond number for grouped processing, by car and waybill for transportation unit processing, or individually for single cargo items.
💻 Technical Criteria
Given A customs release information segment is received
When The processing method is determined
Then The system processes cargo by bond number for grouped processing, by car and waybill for transportation unit processing, or individually for single cargo items
R-GCX016-cbl-00010 25:Car/Waybill Cargo Processing
Process Rules
📊 Business Logic Narrative
When the process '25:Car/Waybill Cargo Processing' is invoked, and assuming that cargo processing by car and waybill is selected, when multiple cargo records share the same car id and waybill number, the desired outcome is that the system processes all cargo records with the same car id and waybill combination as a transportation unit.
💻 Technical Criteria
Given Cargo processing by car and waybill is selected
When Multiple cargo records share the same car ID and waybill number
Then The system processes all cargo records with the same car ID and waybill combination as a transportation unit
R-GCX016-cbl-00011 203:Cargo Record Retrieval by Car Index
Process Rules
📊 Business Logic Narrative
When the process '203:Cargo Record Retrieval by Car Index' is invoked, and assuming that cargo record retrieval is required, when exact match search using car id and us ccn key fails, the desired outcome is that the system performs broader search criteria and sets cargo found or not found flags based on search results.
💻 Technical Criteria
Given Cargo record retrieval is required
When Exact match search using car ID and US CCN key fails
Then The system performs broader search criteria and sets cargo found or not found flags based on search results
R-GCX016-cbl-00030 90:Multi-cargo Release Verification
Decision Rules
📊 Business Logic Narrative
When the process '90:Multi-cargo Release Verification' is invoked, and assuming that cargo release processing is completed, when all cargo records on the same car and waybill combination are evaluated, the desired outcome is that the system triggers container/trailer processing if the entire waybill is released.
💻 Technical Criteria
Given Cargo release processing is completed
When All cargo records on the same car and waybill combination are evaluated
Then The system triggers container/trailer processing if the entire waybill is released
R-GCX016-cbl-00031 90:Multi-cargo Release Verification
Decision Rules
📊 Business Logic Narrative
When the process '90:Multi-cargo Release Verification' is invoked, and assuming that waybill release verification is performed, when individual cargo records are evaluated, the desired outcome is that the system checks for deleted cargo, manually released cargo, held cargo, partial releases, and fully released cargo to determine overall waybill status.
💻 Technical Criteria
Given Waybill release verification is performed
When Individual cargo records are evaluated
Then The system checks for deleted cargo, manually released cargo, held cargo, partial releases, and fully released cargo to determine overall waybill status
R-GCX016-cbl-00279 Extract Customs Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Customs Release Information' is invoked, and assuming that a valid x4 segment is available for processing, when the system processes the x4 segment, the desired outcome is that all customs release information including disposition code, entry number, release quantity, bond number, car id, and waybill are extracted and stored.
💻 Technical Criteria
Given A valid X4 segment is available for processing
When The system processes the X4 segment
Then All customs release information including disposition code, entry number, release quantity, bond number, car ID, and waybill are extracted and stored
R-GCX016-cbl-00280 Bond Number Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Number Present?' is invoked, and assuming that an x4 segment with extracted customs release information, when the system checks for the presence of a bond number, the desired outcome is that if bond number is present, process all cargo with the same bond number; otherwise check for car id and waybill combination.
💻 Technical Criteria
Given An X4 segment with extracted customs release information
When The system checks for the presence of a bond number
Then If bond number is present, process all cargo with the same bond number; otherwise check for car ID and waybill combination
R-GCX016-cbl-00281 Car ID and Waybill Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Present?' is invoked, and assuming that an x4 segment without a bond number, when the system checks for car id and waybill information, the desired outcome is that if both car id and waybill are present, process cargo by car/waybill combination; otherwise process using us-ccn directly.
💻 Technical Criteria
Given An X4 segment without a bond number
When The system checks for car ID and waybill information
Then If both car ID and waybill are present, process cargo by car/waybill combination; otherwise process using US-CCN directly
R-GCX016-cbl-00282 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that processing method determined (bond, car/waybill, or us-ccn), when the system searches for existing cargo records using the appropriate key, the desired outcome is that if cargo is found, proceed with disposition processing; if not found, create new foreign bill record or generate error.
💻 Technical Criteria
Given Processing method determined (bond, car/waybill, or US-CCN)
When The system searches for existing cargo records using the appropriate key
Then If cargo is found, proceed with disposition processing; if not found, create new foreign bill record or generate error
R-GCX016-cbl-04032 Extract Waybill from X4-02
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill from X4-02' is invoked, and assuming that x4 segment contains waybill information in x4-02 field, when the system processes the waybill data, the desired outcome is that waybill number is extracted and prepared for cargo lookup.
💻 Technical Criteria
Given X4 segment contains waybill information in X4-02 field
When The system processes the waybill data
Then Waybill number is extracted and prepared for cargo lookup
R-GCX016-cbl-04035 Build Car/Waybill Key
Process Rules
📊 Business Logic Narrative
When the process 'Build Car/Waybill Key' is invoked, and assuming that valid car id and waybill number are available, when the system builds the composite search key, the desired outcome is that car/waybill key is constructed for database lookup operations.
💻 Technical Criteria
Given Valid car ID and waybill number are available
When The system builds the composite search key
Then Car/waybill key is constructed for database lookup operations
R-GCX016-cbl-04036 Search Cargo by Car/Waybill Index
Process Rules
📊 Business Logic Narrative
When the process 'Search Cargo by Car/Waybill Index' is invoked, and assuming that car/waybill key has been constructed, when the system searches the cargo database using car/waybill index, the desired outcome is that cargo records matching the key are identified or search returns no results.
💻 Technical Criteria
Given Car/waybill key has been constructed
When The system searches the cargo database using car/waybill index
Then Cargo records matching the key are identified or search returns no results
R-GCX016-cbl-04037 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that car/waybill index search has been completed, when the system evaluates search results, the desired outcome is that if cargo is found, proceed to retrieve records; if not found, initiate fallback search by car id only.
💻 Technical Criteria
Given Car/waybill index search has been completed
When The system evaluates search results
Then If cargo is found, proceed to retrieve records; if not found, initiate fallback search by car ID only
R-GCX016-cbl-04038 Retrieve Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Record' is invoked, and assuming that cargo has been found using car/waybill search, when the system retrieves the cargo record, the desired outcome is that complete cargo record is loaded for status validation and processing.
💻 Technical Criteria
Given Cargo has been found using car/waybill search
When The system retrieves the cargo record
Then Complete cargo record is loaded for status validation and processing
R-GCX016-cbl-04043 Try Car ID Only Search
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Try Car ID Only Search', assuming that car/waybill search did not find any cargo records, when the system performs car id only search using car id index, the desired outcome is that cargo records matching the car id are identified regardless of waybill.
💻 Technical Criteria
EXCLUDING Car/waybill search did not find any cargo records
When The system performs car ID only search using car ID index
Then Cargo records matching the car ID are identified regardless of waybill
R-GCX016-cbl-04044 Cargo Found by Car ID?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found by Car ID?' is invoked, and assuming that car id only search has been completed, when the system evaluates fallback search results, the desired outcome is that if cargo is found, proceed to waybill matching; if not found, generate cargo not found error.
💻 Technical Criteria
Given Car ID only search has been completed
When The system evaluates fallback search results
Then If cargo is found, proceed to waybill matching; if not found, generate cargo not found error
R-GCX016-cbl-04045 Check Multiple Waybills
Process Rules
📊 Business Logic Narrative
When the process 'Check Multiple Waybills' is invoked, and assuming that cargo records have been found using car id only search, when the system analyzes waybill information in found records, the desired outcome is that waybill matching is performed to identify the correct cargo record.
💻 Technical Criteria
Given Cargo records have been found using car ID only search
When The system analyzes waybill information in found records
Then Waybill matching is performed to identify the correct cargo record
R-GCX016-cbl-04046 Single Waybill Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Single Waybill Match?' is invoked, and assuming that multiple cargo records exist for the car id, when the system checks for waybill matches, the desired outcome is that if exactly one waybill matches, select that cargo; if multiple or no matches, generate error.
💻 Technical Criteria
Given Multiple cargo records exist for the car ID
When The system checks for waybill matches
Then If exactly one waybill matches, select that cargo; if multiple or no matches, generate error
R-GCX016-cbl-04047 Select Matching Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Select Matching Cargo' is invoked, and assuming that exactly one cargo record matches the waybill criteria, when the system selects the matching cargo record, the desired outcome is that the correct cargo record is identified for processing.
💻 Technical Criteria
Given Exactly one cargo record matches the waybill criteria
When The system selects the matching cargo record
Then The correct cargo record is identified for processing
R-GCX016-cbl-04049 Generate Cargo Not Found Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Cargo Not Found Error', assuming that both car/waybill and car id only searches failed to find valid cargo, when the system generates cargo not found error, the desired outcome is that error message is created indicating cargo could not be located for processing.
💻 Technical Criteria
EXCLUDING Both car/waybill and car ID only searches failed to find valid cargo
When The system generates cargo not found error
Then Error message is created indicating cargo could not be located for processing
R-GCX016-cbl-04274 Cargo Found by Car ID?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found by Car ID?' is invoked, and assuming that car id search has been executed, when system evaluates the search results, the desired outcome is that if cargo records are found, proceed with us-ccn validation, otherwise attempt broader search.
💻 Technical Criteria
Given Car ID search has been executed
When System evaluates the search results
Then If cargo records are found, proceed with US-CCN validation, otherwise attempt broader search
R-GCX016-cbl-04275 US-CCN Matches?
Validation Rules
📊 Business Logic Narrative
When the process 'US-CCN Matches?' is invoked, and assuming that cargo record was found using car id search, when system compares the us-ccn key from the message with the cargo record us-ccn, the desired outcome is that if us-ccn keys match exactly, use the found cargo record, otherwise try broader search without us-ccn.
💻 Technical Criteria
Given Cargo record was found using car ID search
When System compares the US-CCN key from the message with the cargo record US-CCN
Then If US-CCN keys match exactly, use the found cargo record, otherwise try broader search without US-CCN
R-GCX016-cbl-04276 Try Broader Search Without US-CCN
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Try Broader Search Without US-CCN', assuming that us-ccn key does not match or car id search failed, when system executes broader search criteria without us-ccn validation, the desired outcome is that system retrieves any cargo records matching available search criteria.
💻 Technical Criteria
EXCLUDING US-CCN key does not match or car ID search failed
When System executes broader search criteria without US-CCN validation
Then System retrieves any cargo records matching available search criteria
R-GCX016-cbl-04277 Validate Multiple Waybill Numbers
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Multiple Waybill Numbers' is invoked, and assuming that multiple cargo records were found in broader search, when system compares waybill numbers from message against found cargo records, the desired outcome is that if waybill validation passes, select best matching cargo record, otherwise create new foreign bill.
💻 Technical Criteria
Given Multiple cargo records were found in broader search
When System compares waybill numbers from message against found cargo records
Then If waybill validation passes, select best matching cargo record, otherwise create new foreign bill
R-GCX016-cbl-04397 Set US-CCN Key for Initial Search
Process Rules
📊 Business Logic Narrative
When the process 'Set US-CCN Key for Initial Search' is invoked, and assuming that a car id and us-ccn key are available for cargo search, when the system initiates cargo search with both car id and us-ccn key parameters, the desired outcome is that the system should set the us-ccn key constraint and perform targeted search using car id index.
💻 Technical Criteria
Given A car ID and US-CCN key are available for cargo search
When The system initiates cargo search with both car ID and US-CCN key parameters
Then The system should set the US-CCN key constraint and perform targeted search using car ID index
R-GCX016-cbl-04399 Call GCCUSIO with Car ID Index
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO with Car ID Index' is invoked, and assuming that formatted car id and us-ccn key are available, when the system performs primary cargo search, the desired outcome is that the system should call gccusio using car id index with us-ccn key constraint to find matching cargo.
💻 Technical Criteria
Given Formatted car ID and US-CCN key are available
When The system performs primary cargo search
Then The system should call GCCUSIO using car ID index with US-CCN key constraint to find matching cargo
R-GCX016-cbl-04400 Cargo Found with US-CCN Key?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found with US-CCN Key?' is invoked, and assuming that primary cargo search has been executed with car id and us-ccn key, when the system evaluates search results, the desired outcome is that the system should determine if cargo was found and validate the cargo record matches search criteria.
💻 Technical Criteria
Given Primary cargo search has been executed with car ID and US-CCN key
When The system evaluates search results
Then The system should determine if cargo was found and validate the cargo record matches search criteria
R-GCX016-cbl-04401 Clear US-CCN Key Constraint
Process Rules
📊 Business Logic Narrative
When the process 'Clear US-CCN Key Constraint' is invoked, and assuming that primary cargo search with us-ccn key constraint returned no results, when the system needs to perform fallback search, the desired outcome is that the system should clear the us-ccn key constraint to enable broader search criteria.
💻 Technical Criteria
Given Primary cargo search with US-CCN key constraint returned no results
When The system needs to perform fallback search
Then The system should clear the US-CCN key constraint to enable broader search criteria
R-GCX016-cbl-04402 Call GCCUSIO with Car ID Only
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO with Car ID Only' is invoked, and assuming that us-ccn key constraint has been cleared and car id is available, when the system performs secondary cargo search, the desired outcome is that the system should call gccusio using car id index without us-ccn key constraint.
💻 Technical Criteria
Given US-CCN key constraint has been cleared and car ID is available
When The system performs secondary cargo search
Then The system should call GCCUSIO using car ID index without US-CCN key constraint
R-GCX016-cbl-04403 Cargo Found without US-CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found without US-CCN?' is invoked, and assuming that secondary cargo search has been executed with car id only, when the system evaluates secondary search results, the desired outcome is that the system should determine if cargo was found without us-ccn key constraint.
💻 Technical Criteria
Given Secondary cargo search has been executed with car ID only
When The system evaluates secondary search results
Then The system should determine if cargo was found without US-CCN key constraint
R-GCX016-cbl-04406 Set Cargo Not Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Not Found Status' is invoked, and assuming that both primary search with us-ccn key and secondary search with car id only have failed, when the system cannot locate any matching cargo records, the desired outcome is that the system should set cargo not found status to indicate search failure.
💻 Technical Criteria
Given Both primary search with US-CCN key and secondary search with car ID only have failed
When The system cannot locate any matching cargo records
Then The system should set cargo not found status to indicate search failure
R-GCX016-cbl-04631 Cargo Record Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Record Valid?' is invoked, and assuming that a database call has completed successfully, when the system validates the returned cargo record, the desired outcome is that if a valid cargo record is found then extract cargo information else attempt broader search without us-ccn.
💻 Technical Criteria
Given A database call has completed successfully
When The system validates the returned cargo record
Then IF a valid cargo record is found THEN extract cargo information ELSE attempt broader search without US-CCN
R-GCX016-cbl-04632 Car ID Matches?
Decision Rules
📊 Business Logic Narrative
When the process 'Car ID Matches?' is invoked, and assuming that cargo information has been extracted from a valid record, when the system verifies the car id match between request and retrieved record, the desired outcome is that if the car id matches exactly then set cargo found flag and return cargo record else attempt broader search without us-ccn.
💻 Technical Criteria
Given Cargo information has been extracted from a valid record
When The system verifies the Car ID match between request and retrieved record
Then IF the Car ID matches exactly THEN set cargo found flag and return cargo record ELSE attempt broader search without US-CCN
R-GCX016-cbl-04633 Call GCCUSIO with Relaxed Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO with Relaxed Parameters' is invoked, and assuming that primary cargo search by car id has failed to find matching records, when the system initiates a broader search without us-ccn constraints, the desired outcome is that the database query executes with relaxed search parameters to find potential cargo matches.
💻 Technical Criteria
Given Primary cargo search by Car ID has failed to find matching records
When The system initiates a broader search without US-CCN constraints
Then The database query executes with relaxed search parameters to find potential cargo matches
R-GCX016-cbl-04063 Fetch S09 Segments from Database
Action Rules
📊 Business Logic Narrative
When the process 'Fetch S09 Segments from Database' is invoked, and assuming that a cargo record exists in the system, when the system needs to manage cargo status information, the desired outcome is that the system fetches all existing s09 status segments associated with the cargo ccn key.
💻 Technical Criteria
Given A cargo record exists in the system
When The system needs to manage cargo status information
Then The system fetches all existing S09 status segments associated with the cargo CCN key
R-GCX016-cbl-04066 Initialize Array with Default Values
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize Array with Default Values' is invoked, and assuming that a new cargo record is being processed without existing status segments, when the system creates an empty status array, the desired outcome is that the system initializes the array with default status values and proper sequence numbering.
💻 Technical Criteria
Given A new cargo record is being processed without existing status segments
When The system creates an empty status array
Then The system initializes the array with default status values and proper sequence numbering
R-GCX016-cbl-04070 Compact Array After Removals
Process Rules
📊 Business Logic Narrative
When the process 'Compact Array After Removals' is invoked, and assuming that disposition codes have been removed from the status array creating gaps, when the system completes code removal operations, the desired outcome is that the system compacts the array by moving remaining entries to eliminate empty positions and maintains proper sequence numbering.
💻 Technical Criteria
Given Disposition codes have been removed from the status array creating gaps
When The system completes code removal operations
Then The system compacts the array by moving remaining entries to eliminate empty positions and maintains proper sequence numbering
R-GCX016-cbl-04072 Move S09A Array Data to S09 Segments
Process Rules
📊 Business Logic Narrative
When the process 'Move S09A Array Data to S09 Segments' is invoked, and assuming that status array processing is complete and modifications have been made to the array, when the system needs to persist status changes, the desired outcome is that the system transfers all status entries from the s09a array back to properly formatted s09 database segments with correct sequence numbering.
💻 Technical Criteria
Given Status array processing is complete AND modifications have been made to the array
When The system needs to persist status changes
Then The system transfers all status entries from the S09A array back to properly formatted S09 database segments with correct sequence numbering
R-GCX016-cbl-00343 Format Equipment ID using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM' is invoked, and assuming that a car id exists in the n7 segment data, when the system needs to search for cargo by car and waybill, the desired outcome is that the car id is formatted using standard equipment formatting rules to ensure consistent search keys.
💻 Technical Criteria
Given A car ID exists in the N7 segment data
When The system needs to search for cargo by car and waybill
Then The car ID is formatted using standard equipment formatting rules to ensure consistent search keys
R-GCX016-cbl-00344 Set Car ID and Waybill in Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID and Waybill in Search Key' is invoked, and assuming that a formatted car id and waybill number are available, when the system prepares to search for cargo records, the desired outcome is that the search key is populated with the car id and waybill number to enable precise cargo matching.
💻 Technical Criteria
Given A formatted car ID and waybill number are available
When The system prepares to search for cargo records
Then The search key is populated with the car ID and waybill number to enable precise cargo matching
R-GCX016-cbl-00345 Call GCCUSIO with Car/Waybill Index
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO with Car/Waybill Index' is invoked, and assuming that a search key with car id and waybill is constructed, when the system executes cargo search operation, the desired outcome is that the cargo database is queried using the car/waybill index to locate matching records.
💻 Technical Criteria
Given A search key with car ID and waybill is constructed
When The system executes cargo search operation
Then The cargo database is queried using the car/waybill index to locate matching records
R-GCX016-cbl-00347 Retrieve Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Record' is invoked, and assuming that cargo records exist for the car and waybill combination, when the system processes the found cargo, the desired outcome is that complete cargo record data is retrieved including status, quantities, and identification information.
💻 Technical Criteria
Given Cargo records exist for the car and waybill combination
When The system processes the found cargo
Then Complete cargo record data is retrieved including status, quantities, and identification information
R-GCX016-cbl-00353 Multiple Cars with Same Waybill?
Decision Rules
📊 Business Logic Narrative
When the process 'Multiple Cars with Same Waybill?' is invoked, and assuming that cargo processing is underway for a specific waybill, when the system evaluates waybill scope, the desired outcome is that the system determines if multiple cars are associated with the same waybill and require coordinated release processing.
💻 Technical Criteria
Given Cargo processing is underway for a specific waybill
When The system evaluates waybill scope
Then The system determines if multiple cars are associated with the same waybill and require coordinated release processing
R-GCX016-cbl-00354 Process All Related Cars
Process Rules
📊 Business Logic Narrative
When the process 'Process All Related Cars' is invoked, and assuming that multiple cars share the same waybill number, when the system processes waybill-level operations, the desired outcome is that all cars associated with the waybill are processed to ensure consistent cargo status and release coordination.
💻 Technical Criteria
Given Multiple cars share the same waybill number
When The system processes waybill-level operations
Then All cars associated with the waybill are processed to ensure consistent cargo status and release coordination
R-GCX016-cbl-00358 Try Car ID Only Search
Process Rules
📊 Business Logic Narrative
When the process 'Try Car ID Only Search' is invoked, and assuming that no cargo was found using car id and waybill combination, when the system performs alternative search strategy, the desired outcome is that a broader search is performed using only the car id to locate any cargo associated with the equipment.
💻 Technical Criteria
Given No cargo was found using car ID and waybill combination
When The system performs alternative search strategy
Then A broader search is performed using only the car ID to locate any cargo associated with the equipment
R-GCX016-cbl-00359 Log Cargo Not Found Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Cargo Not Found Error', assuming that no cargo records exist for the car and waybill combination, when the system handles cargo not found condition, the desired outcome is that an error is logged with disposition code and search criteria details for tracking and resolution.
💻 Technical Criteria
EXCLUDING No cargo records exist for the car and waybill combination
When The system handles cargo not found condition
Then An error is logged with disposition code and search criteria details for tracking and resolution
R-GCX016-cbl-00366 Create New Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Create New Status Array' is invoked, and assuming that a cargo record exists without any s09 status segment, when the system processes cargo status updates, the desired outcome is that a new s09 segment is created with cargo ccn key and sequence '0001'.
💻 Technical Criteria
Given A cargo record exists without any S09 status segment
When The system processes cargo status updates
Then A new S09 segment is created with cargo CCN key and sequence '0001'
R-GCX016-cbl-04124 267: Multi-cargo Release Verification
Validation Rules
📊 Business Logic Narrative
When the process '267: Multi-cargo Release Verification' is invoked, and assuming that multiple cargo records exist with the same car id and waybill combination, when the system needs to verify multi-cargo release status, the desired outcome is that the system verifies all cargo with same car id and waybill and checks release eligibility.
💻 Technical Criteria
Given Multiple cargo records exist with the same car ID and waybill combination
When The system needs to verify multi-cargo release status
Then The system verifies all cargo with same car ID and waybill and checks release eligibility
R-GCX016-cbl-04331 Process Canadian Manifest Coordination
Process Rules
📊 Business Logic Narrative
When the process 'Process Canadian Manifest Coordination' is invoked, and assuming that a cargo record has been manually released and canadian manifest coordination is required, when the system processes the manual release, the desired outcome is that the system must search for matching canadian manifest records by waybill and generate appropriate coordination messages.
💻 Technical Criteria
Given A cargo record has been manually released and Canadian manifest coordination is required
When The system processes the manual release
Then The system must search for matching Canadian manifest records by waybill and generate appropriate coordination messages
R-GCX016-cbl-04344 Find Matching Canadian Manifests
Action Rules
📊 Business Logic Narrative
When the process 'Find Matching Canadian Manifests' is invoked, and assuming that cross-border coordination has been determined as necessary, when the system searches for canadian manifest coordination, the desired outcome is that the system must find and retrieve all matching canadian manifest records by waybill and equipment identifiers.
💻 Technical Criteria
Given Cross-border coordination has been determined as necessary
When The system searches for Canadian manifest coordination
Then The system must find and retrieve all matching Canadian manifest records by waybill and equipment identifiers
R-GCX016-cbl-04525 Update Canadian CCN with US Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Canadian CCN with US Release Status' is invoked, and assuming that us and canadian cargo records are successfully matched and cross-border log generated, when the system updates canadian ccn record, the desired outcome is that the canadian cargo record is updated with us release status, release quantities, and coordination timestamp.
💻 Technical Criteria
Given US and Canadian cargo records are successfully matched and cross-border log generated
When The system updates Canadian CCN record
Then The Canadian cargo record is updated with US release status, release quantities, and coordination timestamp
R-GCX016-cbl-04526 Create Audit Trail Entry
Process Rules
📊 Business Logic Narrative
When the process 'Create Audit Trail Entry' is invoked, and assuming that canadian ccn has been updated with us release status, when the system creates audit trail entry, the desired outcome is that the system records coordination details, timestamp, user information, and status changes in audit trail.
💻 Technical Criteria
Given Canadian CCN has been updated with US release status
When The system creates audit trail entry
Then The system records coordination details, timestamp, user information, and status changes in audit trail
R-GCX016-cbl-04723 Extract Cargo Details
Process Rules
📊 Business Logic Narrative
When the process 'Extract Cargo Details' is invoked, and assuming that canadian manifest records have been found, when the system extracts cargo details from both us and canadian records, the desired outcome is that all relevant cargo information including waybill, car id, and cargo descriptions are captured for cross-border coordination.
💻 Technical Criteria
Given Canadian manifest records have been found
When The system extracts cargo details from both US and Canadian records
Then All relevant cargo information including waybill, car ID, and cargo descriptions are captured for cross-border coordination
R-GCX016-cbl-04731 Send Message to Canadian CCN
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Canadian CCN' is invoked, and assuming that the log message has been generated for the canadian system, when the message is sent to canadian ccn, the desired outcome is that the cross-border log message is successfully transmitted to the canadian system for cargo coordination and tracking.
💻 Technical Criteria
Given The log message has been generated for the Canadian system
When The message is sent to Canadian CCN
Then The cross-border log message is successfully transmitted to the Canadian system for cargo coordination and tracking
R-GCX016-cbl-04732 Update Audit Trail
Process Rules
📊 Business Logic Narrative
When the process 'Update Audit Trail' is invoked, and assuming that the message has been sent to canadian ccn, when the audit trail is updated, the desired outcome is that the cross-border log message transmission is recorded with timestamp, message content, and transmission status for compliance and tracking purposes.
💻 Technical Criteria
Given The message has been sent to Canadian CCN
When The audit trail is updated
Then The cross-border log message transmission is recorded with timestamp, message content, and transmission status for compliance and tracking purposes
R-GCX016-cbl-00479 Validate Cargo Record Exists
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Record Exists' is invoked, and assuming that a disposition code needs to be applied to cargo, when the system searches for the cargo record using the ccn key from the x4 segment, the desired outcome is that the system should verify that a valid cargo record exists and is not marked as deleted.
💻 Technical Criteria
Given A disposition code needs to be applied to cargo
When The system searches for the cargo record using the CCN key from the X4 segment
Then The system should verify that a valid cargo record exists and is not marked as deleted
R-GCX016-cbl-04141 Update Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Update Transmission Parameters' is invoked, and assuming that message has been written to kcsm queue, when the system completes the transmission preparation, the desired outcome is that the system updates transmission parameters including timestamps, sequence numbers, and control information.
💻 Technical Criteria
Given Message has been written to KCSM queue
When The system completes the transmission preparation
Then The system updates transmission parameters including timestamps, sequence numbers, and control information
R-GCX016-cbl-00644 Extract Waybill Number from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Number from X4 Segment' is invoked, and assuming that an x4 customs release segment contains waybill information, when the system processes the x4 segment for waybill identification, the desired outcome is that the waybill number is extracted from the x4 segment data.
💻 Technical Criteria
Given An X4 customs release segment contains waybill information
When The system processes the X4 segment for waybill identification
Then The waybill number is extracted from the X4 segment data
R-GCX016-cbl-00646 Car ID and Waybill Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Valid?' is invoked, and assuming that car id and waybill number have been extracted from message segments, when the system validates the extracted identification data, the desired outcome is that processing continues if both car id and waybill are valid, otherwise error handling is initiated.
💻 Technical Criteria
Given Car ID and waybill number have been extracted from message segments
When The system validates the extracted identification data
Then Processing continues if both car ID and waybill are valid, otherwise error handling is initiated
R-GCX016-cbl-00647 Build Cargo Key with Car ID + Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Build Cargo Key with Car ID + Waybill' is invoked, and assuming that valid car id and waybill number are available, when the system prepares to search for cargo records, the desired outcome is that a composite key is built combining the car id and waybill number for database search operations.
💻 Technical Criteria
Given Valid car ID and waybill number are available
When The system prepares to search for cargo records
Then A composite key is built combining the car ID and waybill number for database search operations
R-GCX016-cbl-00648 Search Cargo Database by Car/Waybill Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Cargo Database by Car/Waybill Index' is invoked, and assuming that a composite search key with car id and waybill is constructed, when the system searches the cargo database, the desired outcome is that the database is queried using the car/waybill index to locate matching cargo records.
💻 Technical Criteria
Given A composite search key with car ID and waybill is constructed
When The system searches the cargo database
Then The database is queried using the car/waybill index to locate matching cargo records
R-GCX016-cbl-00649 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a database search has been performed using car id and waybill, when the system evaluates the search results, the desired outcome is that the system determines if cargo records were found and sets appropriate processing flags.
💻 Technical Criteria
Given A database search has been performed using car ID and waybill
When The system evaluates the search results
Then The system determines if cargo records were found and sets appropriate processing flags
R-GCX016-cbl-00650 Retrieve Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Record' is invoked, and assuming that cargo records have been found for the car id and waybill combination, when the system processes the search results, the desired outcome is that the matching cargo record is retrieved from the database for further processing.
💻 Technical Criteria
Given Cargo records have been found for the car ID and waybill combination
When The system processes the search results
Then The matching cargo record is retrieved from the database for further processing
R-GCX016-cbl-00657 Log Car/Waybill Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Car/Waybill Not Found Error', assuming that all search attempts for cargo using car id and waybill have failed, when the system handles the cargo not found condition, the desired outcome is that an error is logged indicating that cargo could not be found for the specified car and waybill.
💻 Technical Criteria
EXCLUDING All search attempts for cargo using car ID and waybill have failed
When The system handles the cargo not found condition
Then An error is logged indicating that cargo could not be found for the specified car and waybill
R-GCX016-cbl-00658 Create Foreign Bill Entry
Action Rules
📊 Business Logic Narrative
When the process 'Create Foreign Bill Entry' is invoked, and assuming that cargo cannot be found for the specified car id and waybill combination, when the system handles missing cargo scenarios, the desired outcome is that a foreign bill entry is created to handle the unmatched cargo information.
💻 Technical Criteria
Given Cargo cannot be found for the specified car ID and waybill combination
When The system handles missing cargo scenarios
Then A foreign bill entry is created to handle the unmatched cargo information
R-GCX016-cbl-00659 Generate CPRS Cargo Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate CPRS Cargo Not Found Error', assuming that a cprs cargo processing request is received with disposition code and ccn key, when the cprs cargo is not found in the system, the desired outcome is that the system increments the error counter and creates error message with format 'uscs *error** dc:' + disposition code + ccn key + '*notfound*' and sets cargo not found flag and generates error report.
💻 Technical Criteria
EXCLUDING A CPRS cargo processing request is received with disposition code and CCN key
When The CPRS cargo is not found in the system
Then The system increments the error counter AND creates error message with format 'USCS *ERROR** DC:' + disposition code + CCN key + '*NotFound*' AND sets cargo not found flag AND generates error report
R-GCX016-cbl-00663 Find Matching Canadian Manifest
Decision Rules
📊 Business Logic Narrative
When the process 'Find Matching Canadian Manifest' is invoked, and assuming that a cprs cargo is being processed with cross-border status coordination requirements, when canadian manifest match is required for the cargo, the desired outcome is that the system finds the matching canadian manifest and generates log message for canadian ccn.
💻 Technical Criteria
Given A CPRS cargo is being processed with cross-border status coordination requirements
When Canadian manifest match is required for the cargo
Then The system finds the matching Canadian manifest AND generates log message for Canadian CCN
R-GCX016-cbl-00666 Create New Cargo Record
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create New Cargo Record', assuming that a foreign bill is not found in the system and x4 segment data is available, when the system creates a new cargo record, the desired outcome is that the cargo record is initialized with default values including ccn key, waybill number, car information, and segment data from x4.
💻 Technical Criteria
EXCLUDING A foreign bill is not found in the system and X4 segment data is available
When The system creates a new cargo record
Then The cargo record is initialized with default values including CCN key, waybill number, car information, and segment data from X4
R-GCX016-cbl-00689 Attempt Exact Match with US-CCN Key
Process Rules
📊 Business Logic Narrative
When the process 'Attempt Exact Match with US-CCN Key' is invoked, and assuming that valid car id is available and us-ccn key exists, when exact match query is executed against cargo database using car id index, the desired outcome is that system searches for cargo record that matches both car id and us-ccn key exactly.
💻 Technical Criteria
Given Valid car ID is available and US-CCN key exists
When Exact match query is executed against cargo database using car ID index
Then System searches for cargo record that matches both car ID and US-CCN key exactly
R-GCX016-cbl-00690 Cargo Found with US-CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found with US-CCN?' is invoked, and assuming that exact match query has been executed with car id and us-ccn key, when query results are evaluated for exact match, the desired outcome is that if cargo found with matching us-ccn, return matched cargo record, otherwise proceed to partial matching.
💻 Technical Criteria
Given Exact match query has been executed with car ID and US-CCN key
When Query results are evaluated for exact match
Then If cargo found with matching US-CCN, return matched cargo record, otherwise proceed to partial matching
R-GCX016-cbl-00691 Attempt Partial Match without US-CCN
Process Rules
📊 Business Logic Narrative
When the process 'Attempt Partial Match without US-CCN' is invoked, and assuming that exact match with us-ccn key failed and valid car id exists, when partial match query is executed against cargo database, the desired outcome is that system searches for cargo records matching car id only without us-ccn key requirement.
💻 Technical Criteria
Given Exact match with US-CCN key failed and valid car ID exists
When Partial match query is executed against cargo database
Then System searches for cargo records matching car ID only without US-CCN key requirement
R-GCX016-cbl-00692 Cargo Found without US-CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found without US-CCN?' is invoked, and assuming that partial match query has been executed with car id only, when query results are evaluated for partial match, the desired outcome is that if cargo found without us-ccn requirement, proceed to validation, otherwise declare match failure.
💻 Technical Criteria
Given Partial match query has been executed with car ID only
When Query results are evaluated for partial match
Then If cargo found without US-CCN requirement, proceed to validation, otherwise declare match failure
R-GCX016-cbl-00697 Lead Manifest Identified
Decision Rules
📊 Business Logic Narrative
When the process 'Lead Manifest Identified' is invoked, and assuming that a manifest record is being processed, when the manifest ccn key matches the saved ccn from previous processing, the desired outcome is that the system identifies this as a lead manifest requiring follower processing.
💻 Technical Criteria
Given A manifest record is being processed
When The manifest CCN key matches the saved CCN from previous processing
Then The system identifies this as a lead manifest requiring follower processing
R-GCX016-cbl-00702 Format Message with Follower Details
Process Rules
📊 Business Logic Narrative
When the process 'Format Message with Follower Details' is invoked, and assuming that an edi 350 message has been prepared for a follower manifest, when the system formats the message with follower details, the desired outcome is that the system includes follower manifest ccn, cargo details, and processing instructions in the formatted message.
💻 Technical Criteria
Given An EDI 350 message has been prepared for a follower manifest
When The system formats the message with follower details
Then The system includes follower manifest CCN, cargo details, and processing instructions in the formatted message
R-GCX016-cbl-00778 Insert Hold Code into S09A Array
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Insert Hold Code into S09A Array', assuming that a valid hold code that does not exist in the status array, when the system inserts the hold code into the s09a array, the desired outcome is that the system adds the hold code with proper sequence number and status information.
💻 Technical Criteria
EXCLUDING A valid hold code that does not exist in the status array
When The system inserts the hold code into the S09A array
Then The system adds the hold code with proper sequence number and status information
R-GCX016-cbl-00811 Log Bond Assignment Transaction
Process Rules
📊 Business Logic Narrative
When the process 'Log Bond Assignment Transaction' is invoked, and assuming that completed bond assignment to cargo, when system logs transaction details, the desired outcome is that system creates audit log entry with cargo ccn, bond number, broker information, and timestamp.
💻 Technical Criteria
Given Completed bond assignment to cargo
When System logs transaction details
Then System creates audit log entry with cargo CCN, bond number, broker information, and timestamp
R-GCX016-cbl-00906 Include Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Cargo Information' is invoked, and assuming that a hold message is being formatted for cargo, when the system adds cargo information to the message, the desired outcome is that the system includes car id, waybill number, us-ccn key, and other cargo identifiers in the message.
💻 Technical Criteria
Given A hold message is being formatted for cargo
When The system adds cargo information to the message
Then The system includes car ID, waybill number, US-CCN key, and other cargo identifiers in the message
R-GCX016-cbl-00964 Find Matching Canadian Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Find Matching Canadian Manifest' is invoked, and assuming that cargo is identified as cross-border movement and cargo has been manually released, when canadian coordination processing is initiated, the desired outcome is that the system shall search for matching canadian manifest records using waybill number and equipment id and establish coordination link if found.
💻 Technical Criteria
Given Cargo is identified as cross-border movement AND cargo has been manually released
When Canadian coordination processing is initiated
Then The system shall search for matching Canadian manifest records using waybill number AND equipment ID AND establish coordination link if found
R-GCX016-cbl-00965 Generate Canadian Coordination Log
Action Rules
📊 Business Logic Narrative
When the process 'Generate Canadian Coordination Log' is invoked, and assuming that matching canadian manifest record is found and cargo is manually released, when cross-border coordination is established, the desired outcome is that the system shall generate a coordination log entry and record cargo release details in gcx105 system and include waybill and equipment information.
💻 Technical Criteria
Given Matching Canadian manifest record is found AND cargo is manually released
When Cross-border coordination is established
Then The system shall generate a coordination log entry AND record cargo release details in GCX105 system AND include waybill and equipment information
R-GCX016-cbl-01072 Place Log Message on Canadian CCN
Action Rules
📊 Business Logic Narrative
When the process 'Place Log Message on Canadian CCN' is invoked, and assuming that a cross-border log message has been created, when the system places the log message on the canadian ccn, the desired outcome is that the system should successfully transmit and store the log message in the canadian ccn system.
💻 Technical Criteria
Given A cross-border log message has been created
When The system places the log message on the Canadian CCN
Then The system should successfully transmit and store the log message in the Canadian CCN system
R-GCX016-cbl-01073 Update Canadian Manifest Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Canadian Manifest Status' is invoked, and assuming that the log message has been placed on canadian ccn, when the system updates the canadian manifest status, the desired outcome is that the system should update the canadian manifest record to indicate successful cross-border coordination.
💻 Technical Criteria
Given The log message has been placed on Canadian CCN
When The system updates the Canadian manifest status
Then The system should update the Canadian manifest record to indicate successful cross-border coordination
R-GCX016-cbl-01079 Access Canadian Cargo Database
Action Rules
📊 Business Logic Narrative
When the process 'Access Canadian Cargo Database' is invoked, and assuming that matching canadian manifests need to be found, when the system accesses the canadian cargo database, the desired outcome is that the system should retrieve canadian ccn records for processing.
💻 Technical Criteria
Given matching Canadian manifests need to be found
When the system accesses the Canadian cargo database
Then the system should retrieve Canadian CCN records for processing
R-GCX016-cbl-01080 Canadian CCN Records Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian CCN Records Found?' is invoked, and assuming that the canadian cargo database has been accessed, when the system checks for canadian ccn records, the desired outcome is that if canadian ccn records are found, proceed to match canadian cargo by equipment id, otherwise skip canadian processing.
💻 Technical Criteria
Given the Canadian cargo database has been accessed
When the system checks for Canadian CCN records
Then if Canadian CCN records are found, proceed to match Canadian cargo by equipment ID, otherwise skip Canadian processing
R-GCX016-cbl-01081 Match Canadian Cargo by Equipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Match Canadian Cargo by Equipment ID' is invoked, and assuming that canadian ccn records are found, when the system matches canadian cargo by equipment id, the desired outcome is that the system should validate if the canadian records are usable for processing.
💻 Technical Criteria
Given Canadian CCN records are found
When the system matches Canadian cargo by equipment ID
Then the system should validate if the Canadian records are usable for processing
R-GCX016-cbl-01082 Valid Canadian Records?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Canadian Records?' is invoked, and assuming that canadian cargo has been matched by equipment id, when the system validates canadian records, the desired outcome is that if records are valid, generate log message for canadian ccn, otherwise exclude deleted or unusable records.
💻 Technical Criteria
Given Canadian cargo has been matched by equipment ID
When the system validates Canadian records
Then if records are valid, generate log message for Canadian CCN, otherwise exclude deleted or unusable records
R-GCX016-cbl-01084 Generate Log Message for Canadian CCN
Action Rules
📊 Business Logic Narrative
When the process 'Generate Log Message for Canadian CCN' is invoked, and assuming that valid canadian records are identified, when the system generates a log message for canadian ccn, the desired outcome is that the system should place the log message on the canadian system.
💻 Technical Criteria
Given valid Canadian records are identified
When the system generates a log message for Canadian CCN
Then the system should place the log message on the Canadian system
R-GCX016-cbl-01085 Place Log Message on Canadian System
Action Rules
📊 Business Logic Narrative
When the process 'Place Log Message on Canadian System' is invoked, and assuming that a log message has been generated for canadian ccn, when the system places the log message on the canadian system, the desired outcome is that the system should create an audit trail for the cross-border release.
💻 Technical Criteria
Given a log message has been generated for Canadian CCN
When the system places the log message on the Canadian system
Then the system should create an audit trail for the cross-border release
R-GCX016-cbl-01122 Get Car ID and Waybill from Current Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Get Car ID and Waybill from Current Cargo' is invoked, and assuming that a cargo record is being processed for release verification, when the system needs to verify release status for all related cargo, the desired outcome is that the car id and waybill number are extracted from the current cargo record and stored for subsequent cargo matching operations.
💻 Technical Criteria
Given A cargo record is being processed for release verification
When The system needs to verify release status for all related cargo
Then The car ID and waybill number are extracted from the current cargo record and stored for subsequent cargo matching operations
R-GCX016-cbl-01124 Fetch All Cargo Records Matching Car ID and Waybill
Action Rules
📊 Business Logic Narrative
When the process 'Fetch All Cargo Records Matching Car ID and Waybill' is invoked, and assuming that car id and waybill criteria are established, when the system searches for related cargo records, the desired outcome is that all cargo records matching the car id and waybill combination are retrieved and made available for release verification processing.
💻 Technical Criteria
Given Car ID and waybill criteria are established
When The system searches for related cargo records
Then All cargo records matching the car ID and waybill combination are retrieved and made available for release verification processing
R-GCX016-cbl-01126 Get Next Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Get Next Cargo Record' is invoked, and assuming that additional cargo records are available for processing, when the system continues the release verification scan, the desired outcome is that the next cargo record matching the car id and waybill is retrieved and made current for release status checking.
💻 Technical Criteria
Given Additional cargo records are available for processing
When The system continues the release verification scan
Then The next cargo record matching the car ID and waybill is retrieved and made current for release status checking
R-GCX016-cbl-01139 Move to Next Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Cargo Record' is invoked, and assuming that current cargo record processing is complete, when the system continues the multi-cargo verification process, the desired outcome is that the system positions to process the next cargo record in the car id and waybill group.
💻 Technical Criteria
Given Current cargo record processing is complete
When The system continues the multi-cargo verification process
Then The system positions to process the next cargo record in the car ID and waybill group
R-GCX016-cbl-01140 Analyze Overall Release Status
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Overall Release Status' is invoked, and assuming that all cargo records for the car id and waybill have been processed, when the system analyzes overall release verification results, the desired outcome is that individual cargo release statuses are consolidated to determine the overall release eligibility for the entire car and waybill group.
💻 Technical Criteria
Given All cargo records for the car ID and waybill have been processed
When The system analyzes overall release verification results
Then Individual cargo release statuses are consolidated to determine the overall release eligibility for the entire car and waybill group
R-GCX016-cbl-01142 Set Overall Release Status = YES
Action Rules
📊 Business Logic Narrative
When the process 'Set Overall Release Status = YES' is invoked, and assuming that all cargo in the car and waybill group is release eligible, when the system sets final release authorization, the desired outcome is that the overall release status is set to yes, indicating full authorization for release of all cargo.
💻 Technical Criteria
Given All cargo in the car and waybill group is release eligible
When The system sets final release authorization
Then The overall release status is set to YES, indicating full authorization for release of all cargo
R-GCX016-cbl-01143 Set Overall Release Status = NO
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Overall Release Status = NO', assuming that one or more cargo records in the car and waybill group are not release eligible, when the system sets final release authorization, the desired outcome is that the overall release status is set to no, preventing release of the entire car and waybill group.
💻 Technical Criteria
EXCLUDING One or more cargo records in the car and waybill group are not release eligible
When The system sets final release authorization
Then The overall release status is set to NO, preventing release of the entire car and waybill group
R-GCX016-cbl-01174 Format Car ID and Waybill Info
Process Rules
📊 Business Logic Narrative
When the process 'Format Car ID and Waybill Info' is invoked, and assuming that the release message requires equipment information, when car id and waybill information is formatted, the desired outcome is that the system includes formatted car identification numbers and waybill details in the message.
💻 Technical Criteria
Given The release message requires equipment information
When Car ID and waybill information is formatted
Then The system includes formatted car identification numbers and waybill details in the message
R-GCX016-cbl-01175 Add US-CCN Information
Process Rules
📊 Business Logic Narrative
When the process 'Add US-CCN Information' is invoked, and assuming that the release message contains equipment information, when us-ccn information needs to be added, the desired outcome is that the system includes the us customs control number and related identification details in the message.
💻 Technical Criteria
Given The release message contains equipment information
When US-CCN information needs to be added
Then The system includes the US Customs Control Number and related identification details in the message
R-GCX016-cbl-01176 Include Processing Timestamps
Process Rules
📊 Business Logic Narrative
When the process 'Include Processing Timestamps' is invoked, and assuming that the release message contains us-ccn information, when processing timestamps need to be included, the desired outcome is that the system adds the date and time when the release processing was performed.
💻 Technical Criteria
Given The release message contains US-CCN information
When Processing timestamps need to be included
Then The system adds the date and time when the release processing was performed
R-GCX016-cbl-01341 Add Waybill Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Waybill Information' is invoked, and assuming that cargo details are being formatted and waybill information is available, when the system adds waybill information to the message, the desired outcome is that the message includes the waybill number for shipment tracking and reference.
💻 Technical Criteria
Given Cargo details are being formatted AND waybill information is available
When The system adds waybill information to the message
Then The message includes the waybill number for shipment tracking and reference
R-GCX016-cbl-01342 Add US-CCN Information
Process Rules
📊 Business Logic Narrative
When the process 'Add US-CCN Information' is invoked, and assuming that cargo details are being formatted and us-ccn information is available, when the system adds us-ccn information to the message, the desired outcome is that the message includes the us customs control number for customs tracking and processing.
💻 Technical Criteria
Given Cargo details are being formatted AND US-CCN information is available
When The system adds US-CCN information to the message
Then The message includes the US Customs Control Number for customs tracking and processing
R-GCX016-cbl-01455 Display Cargo Identification
Process Rules
📊 Business Logic Narrative
When the process 'Display Cargo Identification' is invoked, and assuming that a cargo record exists in the system, when cargo status monitoring is initiated, the desired outcome is that the system displays cargo identification including car id, waybill number, and us-ccn status information.
💻 Technical Criteria
Given A cargo record exists in the system
When Cargo status monitoring is initiated
Then The system displays cargo identification including car ID, waybill number, and US-CCN status information
R-GCX016-cbl-01457 Show Waybill Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Show Waybill Number' is invoked, and assuming that a cargo record with waybill information exists, when waybill information is requested for display, the desired outcome is that the system displays the waybill number from the cargo record.
💻 Technical Criteria
Given A cargo record with waybill information exists
When Waybill information is requested for display
Then The system displays the waybill number from the cargo record
R-GCX016-cbl-01458 Display US-CCN Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Display US-CCN Status' is invoked, and assuming that a cargo record with us-ccn information exists, when us-ccn status is requested for display, the desired outcome is that the system displays the current us-ccn status from the cargo record.
💻 Technical Criteria
Given A cargo record with US-CCN information exists
When US-CCN status is requested for display
Then The system displays the current US-CCN status from the cargo record
R-GCX016-cbl-01573 Add Cargo Details
Process Rules
📊 Business Logic Narrative
When the process 'Add Cargo Details' is invoked, and assuming that message subject line has been formatted and cargo data is accessible, when the system adds cargo details to the message body, the desired outcome is that cargo details including ccn, car id, waybill number, and shipment information are included in the message.
💻 Technical Criteria
Given Message subject line has been formatted and cargo data is accessible
When The system adds cargo details to the message body
Then Cargo details including CCN, car ID, waybill number, and shipment information are included in the message
R-GCX016-cbl-01603 Format Cargo Processing Details
Process Rules
📊 Business Logic Narrative
When the process 'Format Cargo Processing Details' is invoked, and assuming that cargo processing details need to be logged, when the system formats the cargo information for audit trail, the desired outcome is that the system structures cargo id, waybill information, car details, manifest data, and processing status in a standardized log format.
💻 Technical Criteria
Given Cargo processing details need to be logged
When The system formats the cargo information for audit trail
Then The system structures cargo ID, waybill information, car details, manifest data, and processing status in a standardized log format
R-GCX016-cbl-01643 Waybill Number Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Number Present?' is invoked, and assuming that a cargo record is retrieved from gccc-cargo-root, when the system evaluates the waybill number field, the desired outcome is that the system determines if waybill number is present or absent.
💻 Technical Criteria
Given A cargo record is retrieved from GCCC-CARGO-ROOT
When The system evaluates the waybill number field
Then The system determines if waybill number is present or absent
R-GCX016-cbl-01644 Format Waybill Number for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Waybill Number for Display' is invoked, and assuming that a waybill number is present in the cargo record, when the system processes the waybill for display, the desired outcome is that the waybill number is formatted according to display standards.
💻 Technical Criteria
Given A waybill number is present in the cargo record
When The system processes the waybill for display
Then The waybill number is formatted according to display standards
R-GCX016-cbl-01645 Set Waybill Display Field
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Display Field' is invoked, and assuming that a waybill number has been formatted for display, when the system prepares the display field, the desired outcome is that the formatted waybill number is assigned to the waybill display field.
💻 Technical Criteria
Given A waybill number has been formatted for display
When The system prepares the display field
Then The formatted waybill number is assigned to the waybill display field
R-GCX016-cbl-01646 Display 'No Waybill' Message
Process Rules
📊 Business Logic Narrative
When the process 'Display 'No Waybill' Message' is invoked, and assuming that a cargo record has no waybill number present, when the system processes the waybill display requirement, the desired outcome is that the system displays 'no waybill' message in the waybill field.
💻 Technical Criteria
Given A cargo record has no waybill number present
When The system processes the waybill display requirement
Then The system displays 'No Waybill' message in the waybill field
R-GCX016-cbl-01647 Include in Report Output
Process Rules
📊 Business Logic Narrative
When the process 'Include in Report Output' is invoked, and assuming that waybill display field has been set with either waybill number or no waybill message, when the system generates the report output, the desired outcome is that the waybill information is included in the report.
💻 Technical Criteria
Given Waybill display field has been set with either waybill number or no waybill message
When The system generates the report output
Then The waybill information is included in the report
R-GCX016-cbl-01648 Display Formatted US-CCN Status
Process Rules
📊 Business Logic Narrative
When the process 'Display Formatted US-CCN Status' is invoked, and assuming that a cargo record exists with us-ccn number, cprs status code, and uscs status code, when the system needs to display cargo status information, the desired outcome is that the system formats and displays the us-ccn number combined with both cprs and uscs status descriptions in a readable format.
💻 Technical Criteria
Given A cargo record exists with US-CCN number, CPRS status code, and USCS status code
When The system needs to display cargo status information
Then The system formats and displays the US-CCN number combined with both CPRS and USCS status descriptions in a readable format
R-GCX016-cbl-01651 Extract US-CCN Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract US-CCN Number' is invoked, and assuming that a cargo record contains us-ccn information, when the system processes cargo status display, the desired outcome is that the system extracts the us-ccn number from the cargo record.
💻 Technical Criteria
Given A cargo record contains US-CCN information
When The system processes cargo status display
Then The system extracts the US-CCN number from the cargo record
R-GCX016-cbl-01816 Identify Follower Manifests
Action Rules
📊 Business Logic Narrative
When the process 'Identify Follower Manifests' is invoked, and assuming that a lead manifest requires multi-manifest processing, when the system searches for related follower manifests using the lead manifest ccn key, the desired outcome is that all associated follower manifests are identified and queued for processing.
💻 Technical Criteria
Given A lead manifest requires multi-manifest processing
When The system searches for related follower manifests using the lead manifest CCN key
Then All associated follower manifests are identified and queued for processing
R-GCX016-cbl-01922 Match by Equipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Match by Equipment ID' is invoked, and assuming that canadian manifest search has been initiated with equipment id, when the system performs equipment id matching, the desired outcome is that system looks up canadian waybill records using the equipment id from the us cargo record.
💻 Technical Criteria
Given Canadian manifest search has been initiated with equipment ID
When the system performs equipment ID matching
Then system looks up Canadian waybill records using the equipment ID from the US cargo record
R-GCX016-cbl-01949 Assign Transmission Sequence Number
Computation Rules
📊 Business Logic Narrative
When the process 'Assign Transmission Sequence Number' is invoked, and assuming that edi message tracking information is set, when the system assigns transmission sequence number, the desired outcome is that a unique sequential number is assigned to identify this specific transmission.
💻 Technical Criteria
Given EDI message tracking information is set
When The system assigns transmission sequence number
Then A unique sequential number is assigned to identify this specific transmission
R-GCX016-cbl-01950 Set Message Type and Format
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Message Type and Format' is invoked, and assuming that transmission sequence number is assigned, when the system sets message type and format, the desired outcome is that message type and format are defined according to edi standards and business requirements.
💻 Technical Criteria
Given Transmission sequence number is assigned
When The system sets message type and format
Then Message type and format are defined according to EDI standards and business requirements
R-GCX016-cbl-01967 Set Segment Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Segment Sequence Number' is invoked, and assuming that a dependent segment key is established, when segment sequence numbering is required, the desired outcome is that the system must assign sequential numbers to dependent segments starting from 1 and incrementing for each additional segment.
💻 Technical Criteria
Given A dependent segment key is established
When Segment sequence numbering is required
Then The system must assign sequential numbers to dependent segments starting from 1 and incrementing for each additional segment
R-GCX016-cbl-01968 Copy Message Content to Segment
Process Rules
📊 Business Logic Narrative
When the process 'Copy Message Content to Segment' is invoked, and assuming that segment sequence number is set, when message content needs to be stored in the segment, the desired outcome is that the system must copy the complete message content including all data elements and segments to the dependent segment structure.
💻 Technical Criteria
Given Segment sequence number is set
When Message content needs to be stored in the segment
Then The system must copy the complete message content including all data elements and segments to the dependent segment structure
R-GCX016-cbl-01973 Increment Segment Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Increment Segment Sequence' is invoked, and assuming that transmission control counters are updated, when preparation for next segment is required, the desired outcome is that the system must increment the segment sequence number by 1 to ensure proper ordering of subsequent segments.
💻 Technical Criteria
Given Transmission control counters are updated
When Preparation for next segment is required
Then The system must increment the segment sequence number by 1 to ensure proper ordering of subsequent segments
R-GCX016-cbl-01981 Set Transmission Control Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Control Parameters' is invoked, and assuming that a transmission root segment has been created for the edi message, when the system needs to configure transmission control settings, the desired outcome is that the system should set appropriate transmission control parameters including message type, sequence numbers, and processing flags.
💻 Technical Criteria
Given A transmission root segment has been created for the EDI message
When The system needs to configure transmission control settings
Then The system should set appropriate transmission control parameters including message type, sequence numbers, and processing flags
R-GCX016-cbl-04164 Create Transmission Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment' is invoked, and assuming that a formatted edi message ready for kcsm transmission, when the system creates transmission control structures, the desired outcome is that a transmission root segment (a9rt) is created with proper control information, sequence numbers, and transmission identifiers.
💻 Technical Criteria
Given A formatted EDI message ready for KCSM transmission
When The system creates transmission control structures
Then A transmission root segment (A9RT) is created with proper control information, sequence numbers, and transmission identifiers
R-GCX016-cbl-02211 Set Transmission Control Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Control Information' is invoked, and assuming that a transmission root segment a9rt has been created, when the system sets up transmission control parameters, the desired outcome is that the system assigns transmission sequence numbers, control codes, and identification information for kcsm processing.
💻 Technical Criteria
Given A transmission root segment A9RT has been created
When The system sets up transmission control parameters
Then The system assigns transmission sequence numbers, control codes, and identification information for KCSM processing
R-GCX016-cbl-02215 Store EDI Segment Data
Process Rules
📊 Business Logic Narrative
When the process 'Store EDI Segment Data' is invoked, and assuming that transmission dependent segments a9dp have been created, when the system stores edi segment data, the desired outcome is that the system stores each edi segment with proper sequence numbers and maintains data integrity for kcsm processing.
💻 Technical Criteria
Given Transmission dependent segments A9DP have been created
When The system stores EDI segment data
Then The system stores each EDI segment with proper sequence numbers and maintains data integrity for KCSM processing
R-GCX016-cbl-02280 Extract Customs Release Information X4
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Customs Release Information X4' is invoked, and assuming that edi 350 message contains x4 segment with customs release information, when the system encounters x4 segment during processing, the desired outcome is that the system validates disposition codes, determines processing type (by bond, by car/waybill, or individual), and processes cargo status changes based on disposition code rules.
💻 Technical Criteria
Given EDI 350 message contains X4 segment with customs release information
When The system encounters X4 segment during processing
Then The system validates disposition codes, determines processing type (by bond, by car/waybill, or individual), and processes cargo status changes based on disposition code rules
R-GCX016-cbl-02323 Car ID Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Available?' is invoked, and assuming that a cargo processing request by car and waybill combination is initiated, when the system checks for car id availability in the n7 segment data, the desired outcome is that if car id is not available, log 'no car id available' and proceed to alternative cargo retrieval method.
💻 Technical Criteria
Given A cargo processing request by car and waybill combination is initiated
When The system checks for car ID availability in the N7 segment data
Then If car ID is not available, log 'No Car ID Available' and proceed to alternative cargo retrieval method
R-GCX016-cbl-02324 Waybill Number Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Number Available?' is invoked, and assuming that car id is available for cargo processing, when the system checks for waybill number availability in the x4 segment data, the desired outcome is that if waybill number is not available, log 'no waybill available' and proceed to alternative cargo retrieval method.
💻 Technical Criteria
Given Car ID is available for cargo processing
When The system checks for waybill number availability in the X4 segment data
Then If waybill number is not available, log 'No Waybill Available' and proceed to alternative cargo retrieval method
R-GCX016-cbl-02326 Validate Waybill Number Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Waybill Number Format' is invoked, and assuming that waybill number is available from x4 segment, when the system validates the waybill number format for proper structure and length, the desired outcome is that waybill number must meet required format specifications to proceed with cargo search.
💻 Technical Criteria
Given Waybill number is available from X4 segment
When The system validates the waybill number format for proper structure and length
Then Waybill number must meet required format specifications to proceed with cargo search
R-GCX016-cbl-02327 Search Cargo by Car ID and Waybill Combination
Action Rules
📊 Business Logic Narrative
When the process 'Search Cargo by Car ID and Waybill Combination' is invoked, and assuming that valid car id and waybill number are available, when the system performs cargo database search using car id and waybill combination, the desired outcome is that system retrieves all cargo records matching the exact car id and waybill number combination.
💻 Technical Criteria
Given Valid car ID and waybill number are available
When The system performs cargo database search using car ID and waybill combination
Then System retrieves all cargo records matching the exact car ID and waybill number combination
R-GCX016-cbl-02328 Cargo Records Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Records Found?' is invoked, and assuming that cargo search by car id and waybill has been executed, when the system evaluates the search results, the desired outcome is that if no cargo records are found, log 'no cargo found for car/waybill' and proceed to alternative cargo retrieval method.
💻 Technical Criteria
Given Cargo search by car ID and waybill has been executed
When The system evaluates the search results
Then If no cargo records are found, log 'No Cargo Found for Car/Waybill' and proceed to alternative cargo retrieval method
R-GCX016-cbl-02329 Retrieve All Matching Cargo Records
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve All Matching Cargo Records' is invoked, and assuming that cargo records exist for the specified car id and waybill combination, when the system retrieves matching cargo records from the database, the desired outcome is that all cargo records matching the car id and waybill combination are loaded for individual processing.
💻 Technical Criteria
Given Cargo records exist for the specified car ID and waybill combination
When The system retrieves matching cargo records from the database
Then All cargo records matching the car ID and waybill combination are loaded for individual processing
R-GCX016-cbl-02330 Process Each Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Process Each Cargo Record' is invoked, and assuming that multiple cargo records are retrieved for a car and waybill combination, when the system iterates through each cargo record, the desired outcome is that each cargo record is processed individually with the same disposition code and processing parameters.
💻 Technical Criteria
Given Multiple cargo records are retrieved for a car and waybill combination
When The system iterates through each cargo record
Then Each cargo record is processed individually with the same disposition code and processing parameters
R-GCX016-cbl-02333 Calculate Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Release Quantities' is invoked, and assuming that disposition codes are applied to cargo records in a car and waybill group, when the system processes quantity-affecting disposition codes, the desired outcome is that release quantities are calculated by adding or subtracting quantities based on disposition code action, ensuring quantities do not go below zero.
💻 Technical Criteria
Given Disposition codes are applied to cargo records in a car and waybill group
When The system processes quantity-affecting disposition codes
Then Release quantities are calculated by adding or subtracting quantities based on disposition code action, ensuring quantities do not go below zero
R-GCX016-cbl-02334 Update Cargo Database Records
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Database Records' is invoked, and assuming that cargo records have been processed with updated status and quantities, when the system commits changes to the cargo database, the desired outcome is that all cargo records in the car and waybill group are updated in the database with new status, quantities, and processing timestamps.
💻 Technical Criteria
Given Cargo records have been processed with updated status and quantities
When The system commits changes to the cargo database
Then All cargo records in the car and waybill group are updated in the database with new status, quantities, and processing timestamps
R-GCX016-cbl-02335 Generate Processing Messages
Action Rules
📊 Business Logic Narrative
When the process 'Generate Processing Messages' is invoked, and assuming that cargo records in a car and waybill group have been successfully processed, when the system generates processing messages, the desired outcome is that appropriate messages are generated including merlin notifications, broker notifications, and status change messages for the entire car and waybill group.
💻 Technical Criteria
Given Cargo records in a car and waybill group have been successfully processed
When The system generates processing messages
Then Appropriate messages are generated including Merlin notifications, broker notifications, and status change messages for the entire car and waybill group
R-GCX016-cbl-02336 Try Alternative Cargo Retrieval Method
Action Rules
📊 Business Logic Narrative
When the process 'Try Alternative Cargo Retrieval Method' is invoked, and assuming that car and waybill processing cannot proceed due to missing car id, missing waybill, or no cargo found, when the system invokes alternative cargo retrieval methods, the desired outcome is that system attempts to process cargo using individual cargo processing method or by bond number method as alternatives.
💻 Technical Criteria
Given Car and waybill processing cannot proceed due to missing car ID, missing waybill, or no cargo found
When The system invokes alternative cargo retrieval methods
Then System attempts to process cargo using individual cargo processing method or by bond number method as alternatives
R-GCX016-cbl-02347 Car ID Valid Format?
Decision Rules
📊 Business Logic Narrative
When the process 'Car ID Valid Format?' is invoked, and assuming that a car id has been formatted using gcccarfm utility, when the system checks if the car id format is valid, the desired outcome is that the system proceeds to waybill extraction if valid, or logs format error if invalid.
💻 Technical Criteria
Given A car ID has been formatted using GCCCARFM utility
When The system checks if the car ID format is valid
Then The system proceeds to waybill extraction if valid, or logs format error if invalid
R-GCX016-cbl-02348 Extract Waybill Number from Entry
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Number from Entry' is invoked, and assuming that car id format is valid, when the system extracts waybill number from x4 segment entry, the desired outcome is that the waybill number is available for presence validation.
💻 Technical Criteria
Given Car ID format is valid
When The system extracts waybill number from X4 segment entry
Then The waybill number is available for presence validation
R-GCX016-cbl-02349 Waybill Number Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Number Present?' is invoked, and assuming that waybill number has been extracted from entry, when the system checks if waybill number is present, the desired outcome is that the system proceeds to car id length validation if present, or logs missing waybill error if absent.
💻 Technical Criteria
Given Waybill number has been extracted from entry
When The system checks if waybill number is present
Then The system proceeds to car ID length validation if present, or logs missing waybill error if absent
R-GCX016-cbl-02350 Car ID Length Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Length Valid?' is invoked, and assuming that waybill number is present, when the system validates car id length and characters, the desired outcome is that the system proceeds to standards check if length is valid, or logs invalid length error if not valid.
💻 Technical Criteria
Given Waybill number is present
When The system validates car ID length and characters
Then The system proceeds to standards check if length is valid, or logs invalid length error if not valid
R-GCX016-cbl-02351 Car ID Meets Standards?
Policy Rules
📊 Business Logic Narrative
When the process 'Car ID Meets Standards?' is invoked, and assuming that car id length is valid, when the system checks car id against system standards, the desired outcome is that the system proceeds to waybill format validation if standards are met, or logs standards error if not met.
💻 Technical Criteria
Given Car ID length is valid
When The system checks car ID against system standards
Then The system proceeds to waybill format validation if standards are met, or logs standards error if not met
R-GCX016-cbl-02352 Waybill Format Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Format Valid?' is invoked, and assuming that car id meets system standards, when the system validates waybill number format, the desired outcome is that the system sets validation success flag if format is valid, or logs format error if invalid.
💻 Technical Criteria
Given Car ID meets system standards
When The system validates waybill number format
Then The system sets validation success flag if format is valid, or logs format error if invalid
R-GCX016-cbl-02353 Set Validation Success Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Validation Success Flag' is invoked, and assuming that waybill format is valid, when the system sets validation success flag, the desired outcome is that the system proceeds to cargo processing by car and waybill.
💻 Technical Criteria
Given Waybill format is valid
When The system sets validation success flag
Then The system proceeds to cargo processing by car and waybill
R-GCX016-cbl-02355 Log Missing Waybill Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Missing Waybill Error', assuming that waybill number is not present, when the system logs missing waybill error, the desired outcome is that the system sets validation failure flag and skips cargo processing.
💻 Technical Criteria
EXCLUDING Waybill number is not present
When The system logs missing waybill error
Then The system sets validation failure flag and skips cargo processing
R-GCX016-cbl-02358 Log Waybill Format Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Waybill Format Error' is invoked, and assuming that waybill format is invalid, when the system logs waybill format error, the desired outcome is that the system sets validation failure flag and skips cargo processing.
💻 Technical Criteria
Given Waybill format is invalid
When The system logs waybill format error
Then The system sets validation failure flag and skips cargo processing
R-GCX016-cbl-02360 Skip Cargo Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Skip Cargo Processing' is invoked, and assuming that validation failure flag is set, when the system encounters validation failure, the desired outcome is that the system skips cargo processing and does not proceed with car and waybill operations.
💻 Technical Criteria
Given Validation failure flag is set
When The system encounters validation failure
Then The system skips cargo processing and does not proceed with car and waybill operations
R-GCX016-cbl-02373 Cargo Found by Car ID?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found by Car ID?' is invoked, and assuming that database search by car id has been completed, when system evaluates search results, the desired outcome is that if cargo is found, proceed to validate cargo record status, otherwise attempt broader search without us-ccn.
💻 Technical Criteria
Given Database search by car ID has been completed
When System evaluates search results
Then If cargo is found, proceed to validate cargo record status, otherwise attempt broader search without US-CCN
R-GCX016-cbl-02375 Cargo Record Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Record Valid?' is invoked, and assuming that cargo record status has been validated, when system evaluates validation results, the desired outcome is that if cargo record is valid, return found cargo record, otherwise try broader search without us-ccn.
💻 Technical Criteria
Given Cargo record status has been validated
When System evaluates validation results
Then If cargo record is valid, return found cargo record, otherwise try broader search without US-CCN
R-GCX016-cbl-02376 Try Broader Search Without US-CCN
Process Rules
📊 Business Logic Narrative
When the process 'Try Broader Search Without US-CCN' is invoked, and assuming that initial car id search failed to find valid cargo or cargo record validation failed, when system attempts broader search strategy, the desired outcome is that search parameters are expanded to exclude us-ccn restrictions for wider cargo matching.
💻 Technical Criteria
Given Initial car ID search failed to find valid cargo OR cargo record validation failed
When System attempts broader search strategy
Then Search parameters are expanded to exclude US-CCN restrictions for wider cargo matching
R-GCX016-cbl-02377 Search All Cargo with Matching Car ID
Process Rules
📊 Business Logic Narrative
When the process 'Search All Cargo with Matching Car ID' is invoked, and assuming that broader search without us-ccn has been initiated, when system performs comprehensive car id search, the desired outcome is that all cargo records matching the car id are retrieved regardless of us-ccn or other restrictive criteria.
💻 Technical Criteria
Given Broader search without US-CCN has been initiated
When System performs comprehensive car ID search
Then All cargo records matching the car ID are retrieved regardless of US-CCN or other restrictive criteria
R-GCX016-cbl-02382 Retrieve Follower Manifests
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Follower Manifests' is invoked, and assuming that a lead manifest is being processed and the lead manifest ccn matches the saved ccn, when the system processes multi-cargo records, the desired outcome is that the system spawns gct0161e for each follower cargo record and sets follower end-of-database flag when no more records exist.
💻 Technical Criteria
Given A lead manifest is being processed AND the lead manifest CCN matches the saved CCN
When The system processes multi-cargo records
Then The system spawns GCT0161E for each follower cargo record AND sets follower end-of-database flag when no more records exist
R-GCX016-cbl-02384 Coordinate Cross-Border Requirements
Process Rules
📊 Business Logic Narrative
When the process 'Coordinate Cross-Border Requirements' is invoked, and assuming that cargo has been released and canadian manifest records exist for the same waybill, when the system processes canadian manifest coordination, the desired outcome is that the system searches for canadian manifest records by waybill and logs cargo release information to gcx105 system and filters out deleted records and new bond created records.
💻 Technical Criteria
Given Cargo has been released AND Canadian manifest records exist for the same waybill
When The system processes Canadian manifest coordination
Then The system searches for Canadian manifest records by waybill AND logs cargo release information to GCX105 system AND filters out deleted records and new bond created records
R-GCX016-cbl-02386 Identify Lead Manifest
Definitional Rules
📊 Business Logic Narrative
When the process 'Identify Lead Manifest' is invoked, and assuming that a detour manifest is being processed, when the system identifies the lead manifest, the desired outcome is that the system uses the manifest ccn to determine lead status and establishes the relationship for follower manifest processing.
💻 Technical Criteria
Given A detour manifest is being processed
When The system identifies the lead manifest
Then The system uses the manifest CCN to determine lead status AND establishes the relationship for follower manifest processing
R-GCX016-cbl-02387 Validate Manifest Relationships
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Manifest Relationships' is invoked, and assuming that follower manifests have been retrieved for a lead manifest, when the system validates manifest relationships, the desired outcome is that the system verifies that follower manifest ccns are properly linked to the lead manifest ccn and ensures data integrity across the manifest group.
💻 Technical Criteria
Given Follower manifests have been retrieved for a lead manifest
When The system validates manifest relationships
Then The system verifies that follower manifest CCNs are properly linked to the lead manifest CCN AND ensures data integrity across the manifest group
R-GCX016-cbl-02391 Retrieve Current Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Current Cargo Record' is invoked, and assuming that a valid disposition code 95 has been confirmed, when the system needs to access cargo data for bond clearing, the desired outcome is that the current cargo record is retrieved using the ccn key from the x4 segment.
💻 Technical Criteria
Given A valid disposition code 95 has been confirmed
When The system needs to access cargo data for bond clearing
Then The current cargo record is retrieved using the CCN key from the X4 segment
R-GCX016-cbl-02466 Extract Waybill Number from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Number from X4 Segment' is invoked, and assuming that an x4 customs release segment contains waybill information, when the system processes the x4 segment for waybill identification, the desired outcome is that the waybill number is extracted from the x4 segment data.
💻 Technical Criteria
Given An X4 customs release segment contains waybill information
When The system processes the X4 segment for waybill identification
Then The waybill number is extracted from the X4 segment data
R-GCX016-cbl-02468 Car ID and Waybill Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Valid?' is invoked, and assuming that car id and waybill number have been extracted from message segments, when the system validates the car-waybill combination, the desired outcome is that processing continues if both values are valid, otherwise error handling is triggered.
💻 Technical Criteria
Given Car ID and waybill number have been extracted from message segments
When The system validates the car-waybill combination
Then Processing continues if both values are valid, otherwise error handling is triggered
R-GCX016-cbl-02469 Build Car-Waybill Key
Process Rules
📊 Business Logic Narrative
When the process 'Build Car-Waybill Key' is invoked, and assuming that valid car id and waybill number are available, when the system needs to search for cargo records by car and waybill, the desired outcome is that a composite key is built combining the car id and waybill number for database search operations.
💻 Technical Criteria
Given Valid car ID and waybill number are available
When The system needs to search for cargo records by car and waybill
Then A composite key is built combining the car ID and waybill number for database search operations
R-GCX016-cbl-02470 Search Cargo Database by Car-Waybill Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Cargo Database by Car-Waybill Index' is invoked, and assuming that a car-waybill composite key has been constructed, when the system searches the cargo database using the car-waybill index, the desired outcome is that all cargo records matching the car-waybill combination are identified.
💻 Technical Criteria
Given A car-waybill composite key has been constructed
When The system searches the cargo database using the car-waybill index
Then All cargo records matching the car-waybill combination are identified
R-GCX016-cbl-02471 Cargo Records Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Records Found?' is invoked, and assuming that a database search has been performed using car-waybill key, when the system evaluates the search results, the desired outcome is that if cargo records are found, processing continues with record retrieval, otherwise error handling is initiated.
💻 Technical Criteria
Given A database search has been performed using car-waybill key
When The system evaluates the search results
Then If cargo records are found, processing continues with record retrieval, otherwise error handling is initiated
R-GCX016-cbl-02472 Retrieve All Matching Cargo Records
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve All Matching Cargo Records' is invoked, and assuming that cargo records exist for the car-waybill combination, when the system retrieves matching cargo records, the desired outcome is that all cargo records associated with the car-waybill combination are loaded for processing.
💻 Technical Criteria
Given Cargo records exist for the car-waybill combination
When The system retrieves matching cargo records
Then All cargo records associated with the car-waybill combination are loaded for processing
R-GCX016-cbl-02475 Process Each Cargo Record Individually
Process Rules
📊 Business Logic Narrative
When the process 'Process Each Cargo Record Individually' is invoked, and assuming that multiple valid cargo records exist for the car-waybill combination, when the system processes the cargo records, the desired outcome is that each cargo record is processed individually with the same disposition code and business rules applied.
💻 Technical Criteria
Given Multiple valid cargo records exist for the car-waybill combination
When The system processes the cargo records
Then Each cargo record is processed individually with the same disposition code and business rules applied
R-GCX016-cbl-02476 Apply Disposition Code to Single Record
Process Rules
📊 Business Logic Narrative
When the process 'Apply Disposition Code to Single Record' is invoked, and assuming that only one valid cargo record exists for the car-waybill combination, when the system applies the disposition code, the desired outcome is that the disposition code from the x4 segment is applied to the single cargo record.
💻 Technical Criteria
Given Only one valid cargo record exists for the car-waybill combination
When The system applies the disposition code
Then The disposition code from the X4 segment is applied to the single cargo record
R-GCX016-cbl-02478 Check for Related Equipment
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Related Equipment' is invoked, and assuming that cargo records have been processed for the current car-waybill combination, when the system checks for related equipment, the desired outcome is that any additional cars or equipment associated with the cargo are identified for potential processing.
💻 Technical Criteria
Given Cargo records have been processed for the current car-waybill combination
When The system checks for related equipment
Then Any additional cars or equipment associated with the cargo are identified for potential processing
R-GCX016-cbl-02482 Generate Multi-Cargo Release Messages
Action Rules
📊 Business Logic Narrative
When the process 'Generate Multi-Cargo Release Messages' is invoked, and assuming that all cargo records have been validated for release eligibility, when the system generates release messages, the desired outcome is that appropriate release messages are created for all eligible cargo records in the car-waybill group.
💻 Technical Criteria
Given All cargo records have been validated for release eligibility
When The system generates release messages
Then Appropriate release messages are created for all eligible cargo records in the car-waybill group
R-GCX016-cbl-02484 Complete Car-Waybill Processing
Process Rules
📊 Business Logic Narrative
When the process 'Complete Car-Waybill Processing' is invoked, and assuming that all cargo records have been updated with final status, when the system completes car-waybill processing, the desired outcome is that processing is marked as complete and the system prepares for result logging.
💻 Technical Criteria
Given All cargo records have been updated with final status
When The system completes car-waybill processing
Then Processing is marked as complete and the system prepares for result logging
R-GCX016-cbl-02485 Log Processing Results
Action Rules
📊 Business Logic Narrative
When the process 'Log Processing Results' is invoked, and assuming that car-waybill processing has been completed, when the system logs processing results, the desired outcome is that processing statistics, success counts, error counts, and audit information are recorded in system logs.
💻 Technical Criteria
Given Car-waybill processing has been completed
When The system logs processing results
Then Processing statistics, success counts, error counts, and audit information are recorded in system logs
R-GCX016-cbl-02486 Handle Cargo Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Handle Cargo Not Found Error', assuming that no cargo records exist for the car-waybill combination, when the system handles the cargo not found condition, the desired outcome is that error messages are generated and the system may create new cargo records or foreign bill records as appropriate.
💻 Technical Criteria
EXCLUDING No cargo records exist for the car-waybill combination
When The system handles the cargo not found condition
Then Error messages are generated and the system may create new cargo records or foreign bill records as appropriate
R-GCX016-cbl-02487 Create Foreign Bill Record
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create Foreign Bill Record', assuming that cargo not found error has been triggered and foreign bill creation is required, when the system creates a foreign bill record, the desired outcome is that a new foreign bill record is created with car-waybill information for subsequent processing.
💻 Technical Criteria
EXCLUDING Cargo not found error has been triggered and foreign bill creation is required
When The system creates a foreign bill record
Then A new foreign bill record is created with car-waybill information for subsequent processing
R-GCX016-cbl-02488 Initialize New Cargo with Car-Waybill Data
Action Rules
📊 Business Logic Narrative
When the process 'Initialize New Cargo with Car-Waybill Data' is invoked, and assuming that a foreign bill record has been created or new cargo initialization is required, when the system initializes new cargo with car-waybill data, the desired outcome is that new cargo records are created and populated with available car id, waybill number, and disposition code information.
💻 Technical Criteria
Given A foreign bill record has been created or new cargo initialization is required
When The system initializes new cargo with car-waybill data
Then New cargo records are created and populated with available car ID, waybill number, and disposition code information
R-GCX016-cbl-02497 Check for Follower Manifests
Decision Rules
📊 Business Logic Narrative
When the process 'Check for Follower Manifests' is invoked, and assuming that a lead manifest is identified for processing, when the system checks if the lead manifest ccn matches the saved ccn from previous processing, the desired outcome is that the system identifies whether follower manifests exist and need to be processed.
💻 Technical Criteria
Given A lead manifest is identified for processing
When The system checks if the lead manifest CCN matches the saved CCN from previous processing
Then The system identifies whether follower manifests exist and need to be processed
R-GCX016-cbl-02520 Cargo Record Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Record Valid?' is invoked, and assuming that a cargo record has been found and its status validated, when the system checks cargo record validity, the desired outcome is that if the cargo record is valid, return it for processing; if invalid, attempt partial us-ccn key matching.
💻 Technical Criteria
Given A cargo record has been found and its status validated
When The system checks cargo record validity
Then If the cargo record is valid, return it for processing; if invalid, attempt partial US-CCN key matching
R-GCX016-cbl-02521 Attempt Partial US-CCN Key Matching
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Attempt Partial US-CCN Key Matching', assuming that the exact car id match did not yield a valid cargo record, when the system attempts partial us-ccn key matching, the desired outcome is that the system searches for cargo records using partial us-ccn key components combined with car id information.
💻 Technical Criteria
EXCLUDING The exact car ID match did not yield a valid cargo record
When The system attempts partial US-CCN key matching
Then The system searches for cargo records using partial US-CCN key components combined with car ID information
R-GCX016-cbl-02522 Partial Match Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Match Found?' is invoked, and assuming that partial us-ccn key matching has been attempted, when the system evaluates the partial match results, the desired outcome is that if a partial match is found, return the matched cargo record; if no partial match is found, attempt broader search without us-ccn.
💻 Technical Criteria
Given Partial US-CCN key matching has been attempted
When The system evaluates the partial match results
Then If a partial match is found, return the matched cargo record; if no partial match is found, attempt broader search without US-CCN
R-GCX016-cbl-02523 Try Broader Search Without US-CCN
Process Rules
📊 Business Logic Narrative
When the process 'Try Broader Search Without US-CCN' is invoked, and assuming that both exact car id match and partial us-ccn matching have failed, when the system performs broader search without us-ccn constraints, the desired outcome is that the system searches cargo database using only car id criteria to find any associated cargo records.
💻 Technical Criteria
Given Both exact car ID match and partial US-CCN matching have failed
When The system performs broader search without US-CCN constraints
Then The system searches cargo database using only car ID criteria to find any associated cargo records
R-GCX016-cbl-02524 Alternative Match Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Alternative Match Found?' is invoked, and assuming that a broader search without us-ccn has been performed, when the system evaluates the alternative match results, the desired outcome is that if an alternative match is found, return the matched cargo record; if no match is found, log search results and return no cargo found status.
💻 Technical Criteria
Given A broader search without US-CCN has been performed
When The system evaluates the alternative match results
Then If an alternative match is found, return the matched cargo record; if no match is found, log search results and return no cargo found status
R-GCX016-cbl-02550 Attempt Exact Match with Full US-CCN Key
Decision Rules
📊 Business Logic Narrative
When the process 'Attempt Exact Match with Full US-CCN Key' is invoked, and assuming that a formatted car id and complete us-ccn key are available, when the system searches for cargo using exact match criteria, the desired outcome is that if an exact match is found, the corresponding cargo record is returned.
💻 Technical Criteria
Given A formatted car ID and complete US-CCN key are available
When The system searches for cargo using exact match criteria
Then If an exact match is found, the corresponding cargo record is returned
R-GCX016-cbl-02551 Attempt Partial Match without US-CCN Constraints
Decision Rules
📊 Business Logic Narrative
When the process 'Attempt Partial Match without US-CCN Constraints' is invoked, and assuming that no exact match was found using full us-ccn key, when the system performs partial matching without us-ccn constraints, the desired outcome is that the system searches cargo database using car id index with relaxed criteria.
💻 Technical Criteria
Given No exact match was found using full US-CCN key
When The system performs partial matching without US-CCN constraints
Then The system searches cargo database using car ID index with relaxed criteria
R-GCX016-cbl-02557 System Change Detected Requiring US-CCN Update
Decision Rules
📊 Business Logic Narrative
When the process 'System Change Detected Requiring US-CCN Update' is invoked, and assuming that system is monitoring for changes that impact us-ccn key structure, when a system change is detected that requires us-ccn key updates, the desired outcome is that system initiates us-ccn renumbering process.
💻 Technical Criteria
Given System is monitoring for changes that impact US-CCN key structure
When A system change is detected that requires US-CCN key updates
Then System initiates US-CCN renumbering process
R-GCX016-cbl-02558 Identify Affected Cargo Records
Process Rules
📊 Business Logic Narrative
When the process 'Identify Affected Cargo Records' is invoked, and assuming that system change has been detected requiring us-ccn updates, when system searches for affected cargo records, the desired outcome is that all cargo records requiring us-ccn key changes are identified and flagged for processing.
💻 Technical Criteria
Given System change has been detected requiring US-CCN updates
When System searches for affected cargo records
Then All cargo records requiring US-CCN key changes are identified and flagged for processing
R-GCX016-cbl-02559 Retrieve Current US-CCN Key Structure
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Current US-CCN Key Structure' is invoked, and assuming that affected cargo records have been identified, when system retrieves current us-ccn key structure from cargo records, the desired outcome is that current key structure is available for renumbering process.
💻 Technical Criteria
Given Affected cargo records have been identified
When System retrieves current US-CCN key structure from cargo records
Then Current key structure is available for renumbering process
R-GCX016-cbl-02560 Generate New US-CCN Key Sequence
Computation Rules
📊 Business Logic Narrative
When the process 'Generate New US-CCN Key Sequence' is invoked, and assuming that current us-ccn key structure has been retrieved, when system generates new us-ccn key sequence, the desired outcome is that new key sequence is created following system numbering standards.
💻 Technical Criteria
Given Current US-CCN key structure has been retrieved
When System generates new US-CCN key sequence
Then New key sequence is created following system numbering standards
R-GCX016-cbl-02561 Validate New Key Format?
Validation Rules
📊 Business Logic Narrative
When the process 'Validate New Key Format?' is invoked, and assuming that new us-ccn key sequence has been generated, when system validates the new key format against business rules, the desired outcome is that key format is either approved for use or rejected for regeneration.
💻 Technical Criteria
Given New US-CCN key sequence has been generated
When System validates the new key format against business rules
Then Key format is either approved for use or rejected for regeneration
R-GCX016-cbl-02562 Update Cargo Record with New US-CCN
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with New US-CCN' is invoked, and assuming that new us-ccn key format has been validated as correct, when system updates cargo record with new us-ccn key, the desired outcome is that cargo record contains updated us-ccn key and maintains data integrity.
💻 Technical Criteria
Given New US-CCN key format has been validated as correct
When System updates cargo record with new US-CCN key
Then Cargo record contains updated US-CCN key and maintains data integrity
R-GCX016-cbl-02563 Update Related Secondary Records
Process Rules
📊 Business Logic Narrative
When the process 'Update Related Secondary Records' is invoked, and assuming that cargo record has been updated with new us-ccn key, when system updates all related secondary records with new us-ccn key, the desired outcome is that all secondary records maintain proper referential integrity with updated us-ccn key.
💻 Technical Criteria
Given Cargo record has been updated with new US-CCN key
When System updates all related secondary records with new US-CCN key
Then All secondary records maintain proper referential integrity with updated US-CCN key
R-GCX016-cbl-02564 Update Cross-Reference Tables
Action Rules
📊 Business Logic Narrative
When the process 'Update Cross-Reference Tables' is invoked, and assuming that related secondary records have been updated, when system updates cross-reference tables with new us-ccn key mappings, the desired outcome is that cross-reference tables reflect updated us-ccn key relationships.
💻 Technical Criteria
Given Related secondary records have been updated
When System updates cross-reference tables with new US-CCN key mappings
Then Cross-reference tables reflect updated US-CCN key relationships
R-GCX016-cbl-02565 Verify Key Uniqueness
Validation Rules
📊 Business Logic Narrative
When the process 'Verify Key Uniqueness' is invoked, and assuming that cross-reference tables have been updated with new us-ccn keys, when system verifies uniqueness of new us-ccn keys, the desired outcome is that system confirms all new us-ccn keys are unique or identifies conflicts.
💻 Technical Criteria
Given Cross-reference tables have been updated with new US-CCN keys
When System verifies uniqueness of new US-CCN keys
Then System confirms all new US-CCN keys are unique or identifies conflicts
R-GCX016-cbl-02566 Key Conflicts Exist?
Decision Rules
📊 Business Logic Narrative
When the process 'Key Conflicts Exist?' is invoked, and assuming that key uniqueness verification has been completed, when system checks for us-ccn key conflicts, the desired outcome is that system either proceeds with commit or initiates conflict resolution.
💻 Technical Criteria
Given Key uniqueness verification has been completed
When System checks for US-CCN key conflicts
Then System either proceeds with commit or initiates conflict resolution
R-GCX016-cbl-02567 Resolve Key Conflicts
Process Rules
📊 Business Logic Narrative
When the process 'Resolve Key Conflicts' is invoked, and assuming that us-ccn key conflicts have been detected, when system resolves key conflicts by regenerating new key sequences, the desired outcome is that all key conflicts are resolved and system returns to key generation process.
💻 Technical Criteria
Given US-CCN key conflicts have been detected
When System resolves key conflicts by regenerating new key sequences
Then All key conflicts are resolved and system returns to key generation process
R-GCX016-cbl-02568 Commit US-CCN Key Changes
Action Rules
📊 Business Logic Narrative
When the process 'Commit US-CCN Key Changes' is invoked, and assuming that no us-ccn key conflicts exist, when system commits all us-ccn key changes, the desired outcome is that all us-ccn key updates are permanently saved to the database.
💻 Technical Criteria
Given No US-CCN key conflicts exist
When System commits all US-CCN key changes
Then All US-CCN key updates are permanently saved to the database
R-GCX016-cbl-02569 Log Key Renumbering Activity
Policy Rules
📊 Business Logic Narrative
When the process 'Log Key Renumbering Activity' is invoked, and assuming that us-ccn key changes have been committed, when system logs key renumbering activity, the desired outcome is that complete audit trail of us-ccn key changes is recorded.
💻 Technical Criteria
Given US-CCN key changes have been committed
When System logs key renumbering activity
Then Complete audit trail of US-CCN key changes is recorded
R-GCX016-cbl-02570 Notify Related Systems of Key Changes
Action Rules
📊 Business Logic Narrative
When the process 'Notify Related Systems of Key Changes' is invoked, and assuming that key renumbering activity has been logged, when system notifies related systems of us-ccn key changes, the desired outcome is that all related systems are informed of key changes and can update their references.
💻 Technical Criteria
Given Key renumbering activity has been logged
When System notifies related systems of US-CCN key changes
Then All related systems are informed of key changes and can update their references
R-GCX016-cbl-02571 Handle Renumbering Errors
Process Rules
📊 Business Logic Narrative
When the process 'Handle Renumbering Errors' is invoked, and assuming that an error occurs during us-ccn renumbering process, when system handles the renumbering error, the desired outcome is that error is logged and renumbering process is terminated with appropriate error status.
💻 Technical Criteria
Given An error occurs during US-CCN renumbering process
When System handles the renumbering error
Then Error is logged and renumbering process is terminated with appropriate error status
R-GCX016-cbl-02599 Format Error Message with Cargo Details
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Format Error Message with Cargo Details', assuming that a cprs cargo not found error needs to be reported, when the system formats the error message content, the desired outcome is that the system creates message format 'uscs *error** dc:' + disposition code + ccn key + '*notfound*'.
💻 Technical Criteria
EXCLUDING A CPRS cargo not found error needs to be reported
When The system formats the error message content
Then The system creates message format 'USCS *ERROR** DC:' + disposition code + CCN key + '*NotFound*'
R-GCX016-cbl-02600 Include Car ID and Waybill Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Car ID and Waybill Information' is invoked, and assuming that a cprs error message is being formatted, when car id and waybill information is available from the cargo record, the desired outcome is that the system includes the car identification and waybill number in the error message content.
💻 Technical Criteria
Given A CPRS error message is being formatted
When Car ID and waybill information is available from the cargo record
Then The system includes the car identification and waybill number in the error message content
R-GCX016-cbl-02640 Build S09 Segment from Array Element
Process Rules
📊 Business Logic Narrative
When the process 'Build S09 Segment from Array Element' is invoked, and assuming that a valid status array element with disposition information, when building an s09 segment from the array element, the desired outcome is that initialize a new s09 segment structure with the cargo ccn key and appropriate sequence number.
💻 Technical Criteria
Given A valid status array element with disposition information
When Building an S09 segment from the array element
Then Initialize a new S09 segment structure with the cargo CCN key and appropriate sequence number
R-GCX016-cbl-02696 Replace GCSUSS09 Segment with Updated Status
Action Rules
📊 Business Logic Narrative
When the process 'Replace GCSUSS09 Segment with Updated Status' is invoked, and assuming that status entries exist and have been formatted for database storage, when the system replaces the gcsuss09 segment, the desired outcome is that update the database with new status information maintaining proper key structure and sequence numbers.
💻 Technical Criteria
Given Status entries exist and have been formatted for database storage
When The system replaces the GCSUSS09 segment
Then Update the database with new status information maintaining proper key structure and sequence numbers
R-GCX016-cbl-02739 Update Status Array Element
Process Rules
📊 Business Logic Narrative
When the process 'Update Status Array Element' is invoked, and assuming that a status information code needs to be recorded in the status array, when the system updates the s09a status array element, the desired outcome is that the system should populate the array element with the disposition code, sequence number, and occurrence details.
💻 Technical Criteria
Given A status information code needs to be recorded in the status array
When The system updates the S09A status array element
Then The system should populate the array element with the disposition code, sequence number, and occurrence details
R-GCX016-cbl-02890 Process Canadian Manifest Coordination
Process Rules
📊 Business Logic Narrative
When the process 'Process Canadian Manifest Coordination' is invoked, and assuming that cprs cargo that has been updated to released status, when the system searches for corresponding canadian manifest records using waybill information, the desired outcome is that canadian manifest coordination is initiated to maintain cross-border cargo visibility.
💻 Technical Criteria
Given CPRS cargo that has been updated to released status
When The system searches for corresponding Canadian manifest records using waybill information
Then Canadian manifest coordination is initiated to maintain cross-border cargo visibility
R-GCX016-cbl-02891 Canadian Manifest Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Found?' is invoked, and assuming that released cprs cargo requiring canadian manifest coordination, when the system searches canadian manifest records by waybill and equipment information, the desired outcome is that if canadian manifest records are found, special logging is generated; otherwise, standard processing continues.
💻 Technical Criteria
Given Released CPRS cargo requiring Canadian manifest coordination
When The system searches Canadian manifest records by waybill and equipment information
Then If Canadian manifest records are found, special logging is generated; otherwise, standard processing continues
R-GCX016-cbl-02953 Add Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Cargo Information' is invoked, and assuming that hold message with disposition code details exists, when the system adds cargo information to the message, the desired outcome is that car id, waybill number, and cargo identifiers are included in the hold message.
💻 Technical Criteria
Given Hold message with disposition code details exists
When The system adds cargo information to the message
Then Car ID, waybill number, and cargo identifiers are included in the hold message
R-GCX016-cbl-03074 Update Canadian CCN Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Canadian CCN Status' is invoked, and assuming that cross-border log message has been created for valid canadian cargo, when the system updates canadian cargo status, the desired outcome is that the system should update the canadian ccn status to reflect the cross-border coordination with us cargo release.
💻 Technical Criteria
Given Cross-border log message has been created for valid Canadian cargo
When The system updates Canadian cargo status
Then The system should update the Canadian CCN status to reflect the cross-border coordination with US cargo release
R-GCX016-cbl-03075 Coordinate Release Status
Process Rules
📊 Business Logic Narrative
When the process 'Coordinate Release Status' is invoked, and assuming that canadian ccn status has been updated for cross-border coordination, when the system coordinates release status between systems, the desired outcome is that the system should ensure release status consistency between us and canadian cargo records for the same equipment.
💻 Technical Criteria
Given Canadian CCN status has been updated for cross-border coordination
When The system coordinates release status between systems
Then The system should ensure release status consistency between US and Canadian cargo records for the same equipment
R-GCX016-cbl-04196 Is Cargo CPRS Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Cargo CPRS Type?' is invoked, and assuming that a manual release request is received for cargo, when the system checks the cargo type in the ccn key, the desired outcome is that if cargo type is cprs, proceed with manual release validation, otherwise reject the manual release request.
💻 Technical Criteria
Given A manual release request is received for cargo
When The system checks the cargo type in the CCN key
Then If cargo type is CPRS, proceed with manual release validation, otherwise reject the manual release request
R-GCX016-cbl-04201 Search for Canadian Manifest Match
Process Rules
📊 Business Logic Narrative
When the process 'Search for Canadian Manifest Match' is invoked, and assuming that cargo has been updated to manual release status, when the system searches for canadian manifest coordination, the desired outcome is that search canadian manifest records using car id and waybill number to find matching records.
💻 Technical Criteria
Given Cargo has been updated to manual release status
When The system searches for Canadian manifest coordination
Then Search Canadian manifest records using car ID and waybill number to find matching records
R-GCX016-cbl-04202 Generate Canadian Log Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Canadian Log Message' is invoked, and assuming that canadian manifest match is found for the released cargo, when the system processes the canadian manifest coordination, the desired outcome is that generate canadian log message with cargo release details including car id, waybill, and release information.
💻 Technical Criteria
Given Canadian manifest match is found for the released cargo
When The system processes the Canadian manifest coordination
Then Generate Canadian log message with cargo release details including car ID, waybill, and release information
R-GCX016-cbl-04348 Search for Matching Canadian Manifests
Action Rules
📊 Business Logic Narrative
When the process 'Search for Matching Canadian Manifests' is invoked, and assuming that canadian manifest coordination is required for released us cargo, when the system searches for matching canadian manifests using waybill number, the desired outcome is that canadian cargo records are retrieved based on waybill and equipment matching criteria.
💻 Technical Criteria
Given Canadian manifest coordination is required for released US cargo
When The system searches for matching Canadian manifests using waybill number
Then Canadian cargo records are retrieved based on waybill and equipment matching criteria
R-GCX016-cbl-04349 Retrieve Canadian Cargo Records
Validation Rules
📊 Business Logic Narrative
When the process 'Retrieve Canadian Cargo Records' is invoked, and assuming that a search for canadian manifests has been initiated, when the system retrieves canadian cargo records by waybill, the desired outcome is that only active canadian cargo records are returned, excluding deleted records and new bond created records.
💻 Technical Criteria
Given A search for Canadian manifests has been initiated
When The system retrieves Canadian cargo records by waybill
Then Only active Canadian cargo records are returned, excluding deleted records and new bond created records
R-GCX016-cbl-04351 Generate Cross-Border Log Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Cross-Border Log Message' is invoked, and assuming that a matching canadian manifest has been found for released us cargo, when the system generates a cross-border coordination log message, the desired outcome is that a detailed log message is created containing cargo release information, waybill details, and cross-border coordination data.
💻 Technical Criteria
Given A matching Canadian manifest has been found for released US cargo
When The system generates a cross-border coordination log message
Then A detailed log message is created containing cargo release information, waybill details, and cross-border coordination data
R-GCX016-cbl-04354 Place Log Message on Canadian CCN
Action Rules
📊 Business Logic Narrative
When the process 'Place Log Message on Canadian CCN' is invoked, and assuming that an audit trail has been created for canadian system coordination, when the system places the log message on the canadian ccn, the desired outcome is that the cross-border coordination log message is successfully placed on the canadian cargo control number for integration with canadian customs systems.
💻 Technical Criteria
Given An audit trail has been created for Canadian system coordination
When The system places the log message on the Canadian CCN
Then The cross-border coordination log message is successfully placed on the Canadian cargo control number for integration with Canadian customs systems
R-GCX016-cbl-03220 Generate Log Message for Canadian CCN
Action Rules
📊 Business Logic Narrative
When the process 'Generate Log Message for Canadian CCN' is invoked, and assuming that canadian manifest records exist for the cargo being manually released, when the system confirms canadian manifest record availability, the desired outcome is that a log message is generated containing the canadian ccn information for audit purposes.
💻 Technical Criteria
Given Canadian manifest records exist for the cargo being manually released
When The system confirms Canadian manifest record availability
Then A log message is generated containing the Canadian CCN information for audit purposes
R-GCX016-cbl-03290 Log Unrelease Event
Process Rules
📊 Business Logic Narrative
When the process 'Log Unrelease Event' is invoked, and assuming that cargo unrelease has been processed and notifications have been sent, when the system logs the unrelease event, the desired outcome is that the system creates audit record with cargo ccn, unrelease details, timestamp, and notification recipients.
💻 Technical Criteria
Given Cargo unrelease has been processed AND notifications have been sent
When The system logs the unrelease event
Then The system creates audit record with cargo CCN, unrelease details, timestamp, and notification recipients
R-GCX016-cbl-03300 Find Matching Canadian Manifests
Action Rules
📊 Business Logic Narrative
When the process 'Find Matching Canadian Manifests' is invoked, and assuming that cross-border coordination is required for a cargo record and the cargo has been released, when the system searches for canadian manifest coordination, the desired outcome is that the system calls b583-process-cdn-mfst to find and process matching canadian manifest records by waybill.
💻 Technical Criteria
Given Cross-border coordination is required for a cargo record AND the cargo has been released
When The system searches for Canadian manifest coordination
Then The system calls B583-PROCESS-CDN-MFST to find and process matching Canadian manifest records by waybill
R-GCX016-cbl-03329 Retrieve Car ID and Waybill from Current Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Car ID and Waybill from Current Cargo' is invoked, and assuming that a cargo record is being processed for release verification, when the system needs to identify related cargo records by transportation unit, the desired outcome is that the car id and waybill number are extracted from the current cargo record for use in subsequent searches.
💻 Technical Criteria
Given A cargo record is being processed for release verification
When The system needs to identify related cargo records by transportation unit
Then The car ID and waybill number are extracted from the current cargo record for use in subsequent searches
R-GCX016-cbl-03330 Search All Cargo Records with Matching Car ID and Waybill
Action Rules
📊 Business Logic Narrative
When the process 'Search All Cargo Records with Matching Car ID and Waybill' is invoked, and assuming that a car id and waybill number have been identified from a cargo record, when the system searches for all related cargo records, the desired outcome is that all cargo records matching the same car id and waybill combination are retrieved for group processing.
💻 Technical Criteria
Given A car ID and waybill number have been identified from a cargo record
When The system searches for all related cargo records
Then All cargo records matching the same car ID and waybill combination are retrieved for group processing
R-GCX016-cbl-03331 More Cargo Records Found?
Process Rules
📊 Business Logic Narrative
When the process 'More Cargo Records Found?' is invoked, and assuming that a search has been performed for cargo records matching a car id and waybill, when the system processes the search results, the desired outcome is that each cargo record in the result set is processed individually until all records are evaluated.
💻 Technical Criteria
Given A search has been performed for cargo records matching a car ID and waybill
When The system processes the search results
Then Each cargo record in the result set is processed individually until all records are evaluated
R-GCX016-cbl-03337 All Cargo Records Processed?
Process Rules
📊 Business Logic Narrative
When the process 'All Cargo Records Processed?' is invoked, and assuming that cargo records are being processed for a specific car id and waybill combination, when the system checks if all matching records have been evaluated, the desired outcome is that if all records are processed, proceed to generate release verification summary; otherwise continue processing remaining records.
💻 Technical Criteria
Given Cargo records are being processed for a specific car ID and waybill combination
When The system checks if all matching records have been evaluated
Then If all records are processed, proceed to generate release verification summary; otherwise continue processing remaining records
R-GCX016-cbl-03338 Generate Release Verification Summary
Action Rules
📊 Business Logic Narrative
When the process 'Generate Release Verification Summary' is invoked, and assuming that all cargo records for a car id and waybill combination have been evaluated for release eligibility, when the system generates the verification summary, the desired outcome is that a summary report is created showing which cargo records are release eligible and which are held, along with the reasons for hold status.
💻 Technical Criteria
Given All cargo records for a car ID and waybill combination have been evaluated for release eligibility
When The system generates the verification summary
Then A summary report is created showing which cargo records are release eligible and which are held, along with the reasons for hold status
R-GCX016-cbl-03339 Update Release Eligibility Status for All Matching Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Update Release Eligibility Status for All Matching Cargo' is invoked, and assuming that release verification has been completed for all cargo records matching a car id and waybill, when the system updates the release eligibility status, the desired outcome is that all cargo records in the group have their release eligibility status updated based on the verification results.
💻 Technical Criteria
Given Release verification has been completed for all cargo records matching a car ID and waybill
When The system updates the release eligibility status
Then All cargo records in the group have their release eligibility status updated based on the verification results
R-GCX016-cbl-03342 Format Waybill Information
Process Rules
📊 Business Logic Narrative
When the process 'Format Waybill Information' is invoked, and assuming that a cargo record contains waybill number and transportation document details, when the system formats waybill information for release message, the desired outcome is that the system includes formatted waybill number and associated transportation details in the message content.
💻 Technical Criteria
Given A cargo record contains waybill number and transportation document details
When The system formats waybill information for release message
Then The system includes formatted waybill number and associated transportation details in the message content
R-GCX016-cbl-03343 Format US-CCN Status
Process Rules
📊 Business Logic Narrative
When the process 'Format US-CCN Status' is invoked, and assuming that a cargo record has us-ccn key and current status information, when the system formats us-ccn status for release message, the desired outcome is that the system includes formatted us-ccn number and current status description in the message.
💻 Technical Criteria
Given A cargo record has US-CCN key and current status information
When The system formats US-CCN status for release message
Then The system includes formatted US-CCN number and current status description in the message
R-GCX016-cbl-03407 Generate New US-CCN Key
Process Rules
📊 Business Logic Narrative
When the process 'Generate New US-CCN Key' is invoked, and assuming that a new cargo record requires a unique identifier, when generating cargo record key, the desired outcome is that create a new us-ccn key using system key generation logic to ensure uniqueness.
💻 Technical Criteria
Given A new cargo record requires a unique identifier
When Generating cargo record key
Then Create a new US-CCN key using system key generation logic to ensure uniqueness
R-GCX016-cbl-03414 Set Default Manifest Data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Manifest Data' is invoked, and assuming that a new cargo record is being initialized, when manifest data fields need default values, the desired outcome is that set manifest number, waybill number, and related tracking fields to system defaults.
💻 Technical Criteria
Given A new cargo record is being initialized
When Manifest data fields need default values
Then Set manifest number, waybill number, and related tracking fields to system defaults
R-GCX016-cbl-03427 Set Cargo Record Key Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Record Key Fields' is invoked, and assuming that a new cargo record is being finalized, when key fields need to be set, the desired outcome is that set us-ccn key, manifest key, and other unique identifiers for database operations.
💻 Technical Criteria
Given A new cargo record is being finalized
When Key fields need to be set
Then Set US-CCN key, manifest key, and other unique identifiers for database operations
R-GCX016-cbl-03472 Retrieve Current Cargo Status
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Current Cargo Status' is invoked, and assuming that a cargo record exists in the system with a valid ccn key, when the system needs to process status changes for the cargo, the desired outcome is that the current cargo status information is retrieved from the gcsuss09 status segments.
💻 Technical Criteria
Given A cargo record exists in the system with a valid CCN key
When The system needs to process status changes for the cargo
Then The current cargo status information is retrieved from the GCSUSS09 status segments
R-GCX016-cbl-03475 Create New Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Create New Status Array' is invoked, and assuming that a cargo record has no existing s09 status segments, when status processing requires a status array, the desired outcome is that a new s09 status segment is created with cargo ccn key and sequence '0001'.
💻 Technical Criteria
Given A cargo record has no existing S09 status segments
When Status processing requires a status array
Then A new S09 status segment is created with cargo CCN key and sequence '0001'
R-GCX016-cbl-03558 Format Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Format Cargo Information' is invoked, and assuming that a merlin message requires cargo information formatting, when standard cargo details need to be included in the message, the desired outcome is that format message with car initial, car number, waybill number, and us-ccn (customs control number).
💻 Technical Criteria
Given A Merlin message requires cargo information formatting
When Standard cargo details need to be included in the message
Then Format message with car initial, car number, waybill number, and US-CCN (customs control number)
R-GCX016-cbl-03653 Format Waybill Information
Process Rules
📊 Business Logic Narrative
When the process 'Format Waybill Information' is invoked, and assuming that a cargo record with waybill number data, when waybill number is available in the system, the desired outcome is that format waybill number into displayable format for reports.
💻 Technical Criteria
Given A cargo record with waybill number data
When Waybill number is available in the system
Then Format waybill number into displayable format for reports
R-GCX016-cbl-03654 Set Waybill to Spaces
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Waybill to Spaces', assuming that a cargo record being processed for reporting, when waybill number is not available, the desired outcome is that set waybill field to spaces for report display.
💻 Technical Criteria
EXCLUDING A cargo record being processed for reporting
When Waybill number is not available
Then Set waybill field to spaces for report display
R-GCX016-cbl-03655 Format US-CCN with Status
Process Rules
📊 Business Logic Narrative
When the process 'Format US-CCN with Status' is invoked, and assuming that a cargo record with us-ccn data, when us-ccn is available in the system, the desired outcome is that format us-ccn with current cargo status for report display.
💻 Technical Criteria
Given A cargo record with US-CCN data
When US-CCN is available in the system
Then Format US-CCN with current cargo status for report display
R-GCX016-cbl-03658 Set US-CCN to Spaces
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US-CCN to Spaces', assuming that a cargo record being processed for reporting, when us-ccn is not available, the desired outcome is that set us-ccn field to spaces for report display.
💻 Technical Criteria
EXCLUDING A cargo record being processed for reporting
When US-CCN is not available
Then Set US-CCN field to spaces for report display
R-GCX016-cbl-03704 Set Waybill Display Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Waybill Display Fields' is invoked, and assuming that car id fields are formatted, when waybill display formatting is applied, the desired outcome is that waybill fields are formatted with standard waybill display format.
💻 Technical Criteria
Given Car ID fields are formatted
When Waybill display formatting is applied
Then Waybill fields are formatted with standard waybill display format
R-GCX016-cbl-03705 Set US-CCN Display Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Set US-CCN Display Fields' is invoked, and assuming that waybill fields are formatted, when us-ccn display formatting is applied, the desired outcome is that us-ccn fields are formatted with standard ccn display format.
💻 Technical Criteria
Given Waybill fields are formatted
When US-CCN display formatting is applied
Then US-CCN fields are formatted with standard CCN display format
R-GCX016-cbl-03706 Set Disposition Code Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Disposition Code Fields' is invoked, and assuming that us-ccn fields are formatted, when disposition code formatting is applied, the desired outcome is that disposition code fields include both code and description for clarity.
💻 Technical Criteria
Given US-CCN fields are formatted
When Disposition code formatting is applied
Then Disposition code fields include both code and description for clarity
R-GCX016-cbl-03716 Initialize Sequence Number to 1
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize Sequence Number to 1', assuming that the machine sequence number management process is started, when the current sequence number is invalid, not found, or not readable, the desired outcome is that the sequence number should be initialized to 1.
💻 Technical Criteria
EXCLUDING The machine sequence number management process is started
When The current sequence number is invalid, not found, or not readable
Then The sequence number should be initialized to 1
R-GCX016-cbl-03717 Increment Sequence Number by 1
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Sequence Number by 1' is invoked, and assuming that a valid machine sequence number exists, when a new transaction requires sequence number assignment, the desired outcome is that the sequence number should be incremented by 1.
💻 Technical Criteria
Given A valid machine sequence number exists
When A new transaction requires sequence number assignment
Then The sequence number should be incremented by 1
R-GCX016-cbl-03718 Reset Sequence Number to 1
Process Rules
📊 Business Logic Narrative
When the process 'Reset Sequence Number to 1' is invoked, and assuming that the machine sequence number has been incremented, when the sequence number reaches the maximum allowable value, the desired outcome is that the sequence number should be reset to 1.
💻 Technical Criteria
Given The machine sequence number has been incremented
When The sequence number reaches the maximum allowable value
Then The sequence number should be reset to 1
R-GCX016-cbl-03719 Store Updated Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Store Updated Sequence Number' is invoked, and assuming that the machine sequence number has been updated (incremented or reset), when the sequence number update process is completed, the desired outcome is that the updated sequence number should be stored in the machine sequence counter for future use.
💻 Technical Criteria
Given The machine sequence number has been updated (incremented or reset)
When The sequence number update process is completed
Then The updated sequence number should be stored in the machine sequence counter for future use
R-GCX016-cbl-03720 Return Sequence Number for Transaction Tracking
Action Rules
📊 Business Logic Narrative
When the process 'Return Sequence Number for Transaction Tracking' is invoked, and assuming that the machine sequence number has been successfully updated and stored, when the sequence number management process is completed, the desired outcome is that the current sequence number should be returned for transaction tracking purposes.
💻 Technical Criteria
Given The machine sequence number has been successfully updated and stored
When The sequence number management process is completed
Then The current sequence number should be returned for transaction tracking purposes
R-GCX016-cbl-03799 Extract Shipment Identifier from EDI Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Shipment Identifier from EDI Segment' is invoked, and assuming that an edi segment is received for processing, when the segment type is x4 (customs release), the desired outcome is that the system extracts ccn key, car id, waybill number, and disposition code from the segment.
💻 Technical Criteria
Given an EDI segment is received for processing
When the segment type is X4 (customs release)
Then the system extracts CCN key, car ID, waybill number, and disposition code from the segment
R-GCX016-cbl-03800 Query Shipment Root Database
Action Rules
📊 Business Logic Narrative
When the process 'Query Shipment Root Database' is invoked, and assuming that shipment identifiers have been extracted from edi segment, when the system searches for cargo records, the desired outcome is that it performs exact match search using ccn key first, then broader search if exact match fails, excluding deleted records.
💻 Technical Criteria
Given shipment identifiers have been extracted from EDI segment
When the system searches for cargo records
Then it performs exact match search using CCN key first, then broader search if exact match fails, excluding deleted records
R-GCX016-cbl-03801 Shipment Root Record Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipment Root Record Exists?' is invoked, and assuming that the system has queried the shipment database, when searching for cargo records by ccn key and car id, the desired outcome is that if no matching non-deleted cargo record is found, set cargo not found flag, otherwise set cargo found flag.
💻 Technical Criteria
Given the system has queried the shipment database
When searching for cargo records by CCN key and car ID
Then if no matching non-deleted cargo record is found, set cargo not found flag, otherwise set cargo found flag
R-GCX016-cbl-03802 Log Shipment Root Not Found Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Shipment Root Not Found Error', assuming that cargo record search has failed to find matching records, when processing cprs cargo that is not found, the desired outcome is that increment error counter and create error message with disposition code and ccn key marked as not found.
💻 Technical Criteria
EXCLUDING cargo record search has failed to find matching records
When processing CPRS cargo that is not found
Then increment error counter and create error message with disposition code and CCN key marked as not found
R-GCX016-cbl-03864 Search Canadian Cargo Database
Action Rules
📊 Business Logic Narrative
When the process 'Search Canadian Cargo Database' is invoked, and assuming that an equipment id has been extracted from us cargo, when the system searches the canadian cargo database, the desired outcome is that canadian waybill records are retrieved based on the equipment id match.
💻 Technical Criteria
Given An equipment ID has been extracted from US cargo
When The system searches the Canadian cargo database
Then Canadian waybill records are retrieved based on the equipment ID match
R-GCX016-cbl-03910 Set Transmission Control Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Control Information' is invoked, and assuming that an a9dp dependent segment has been initialized, when the system needs to establish transmission control, the desired outcome is that the system sets transmission control information including sequence numbers and transmission identifiers in the dependent segment.
💻 Technical Criteria
Given An A9DP dependent segment has been initialized
When The system needs to establish transmission control
Then The system sets transmission control information including sequence numbers and transmission identifiers in the dependent segment
R-GCX016-cbl-03914 Set Segment Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Segment Sequence Number' is invoked, and assuming that a new a9dp dependent segment has been created, when the system needs to establish segment ordering, the desired outcome is that the system assigns a sequential sequence number to the dependent segment to maintain proper transmission order.
💻 Technical Criteria
Given A new A9DP dependent segment has been created
When The system needs to establish segment ordering
Then The system assigns a sequential sequence number to the dependent segment to maintain proper transmission order
R-GCX016-cbl-03915 Store EDI Data in Dependent Segment
Process Rules
📊 Business Logic Narrative
When the process 'Store EDI Data in Dependent Segment' is invoked, and assuming that a segment sequence number has been assigned, when edi data needs to be stored in the dependent segment, the desired outcome is that the system stores the edi data in the dependent segment with proper formatting and structure.
💻 Technical Criteria
Given A segment sequence number has been assigned
When EDI data needs to be stored in the dependent segment
Then The system stores the EDI data in the dependent segment with proper formatting and structure

💰 Bond & Financial Auth 218 logic blocks
R-GCX016-cbl-00046 Initialize Working Storage Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Working Storage Fields' is invoked, and assuming that the program gcx016 has started, when the system begins initialization process, the desired outcome is that all working storage fields are set to their initial default values including counters, flags, and data areas.
💻 Technical Criteria
Given The program GCX016 has started
When The system begins initialization process
Then All working storage fields are set to their initial default values including counters, flags, and data areas
R-GCX016-cbl-00056 Initialize Status Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Status Flags' is invoked, and assuming that transaction counters have been set, when the system initializes status flags, the desired outcome is that all processing control flags including end-of-file, error conditions, and processing states are set to their initial values.
💻 Technical Criteria
Given Transaction counters have been set
When The system initializes status flags
Then All processing control flags including end-of-file, error conditions, and processing states are set to their initial values
R-GCX016-cbl-00152 Generate Train Arrival Cancellation Warning
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Arrival Cancellation Warning', assuming that a coc disposition code is received for a train that has not previously arrived, when the system detects the train arrival status is not 'arrived', the desired outcome is that generate warning message 'train arrival being cancelled by cbp. contact cbp and re-arrive bonds if needed' and terminate processing.
💻 Technical Criteria
EXCLUDING A COC disposition code is received for a train that has not previously arrived
When The system detects the train arrival status is not 'arrived'
Then Generate warning message 'Train arrival being cancelled by CBP. Contact CBP and re-arrive bonds if needed' and terminate processing
R-GCX016-cbl-00155 Restore Previous Bond Dates
Action Rules
📊 Business Logic Narrative
When the process 'Restore Previous Bond Dates' is invoked, and assuming that train arrival date has been cleared due to cancellation, when the system needs to restore bond processing dates, the desired outcome is that restore all bond dates to their state prior to the cancelled arrival event.
💻 Technical Criteria
Given Train arrival date has been cleared due to cancellation
When The system needs to restore bond processing dates
Then Restore all bond dates to their state prior to the cancelled arrival event
R-GCX016-cbl-00156 Update Train Records in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Records in Database' is invoked, and assuming that train status, arrival date, and bond dates have been updated for cancellation, when all train data changes are ready to be persisted, the desired outcome is that update train records in the database with all cancellation-related changes.
💻 Technical Criteria
Given Train status, arrival date, and bond dates have been updated for cancellation
When All train data changes are ready to be persisted
Then Update train records in the database with all cancellation-related changes
R-GCX016-cbl-00287 Process In-Bond Entry Types
Process Rules
📊 Business Logic Narrative
When the process 'Process In-Bond Entry Types' is invoked, and assuming that a disposition code requiring in-bond processing, when the system processes entry types (61-immediate transport, 62-transport export, 63-immediate export, 69-us-canada-us, 00-border processing), the desired outcome is that appropriate in-bond processing is applied based on the entry type with correct bond dates and destination handling.
💻 Technical Criteria
Given A disposition code requiring in-bond processing
When The system processes entry types (61-Immediate Transport, 62-Transport Export, 63-Immediate Export, 69-US-Canada-US, 00-Border Processing)
Then Appropriate in-bond processing is applied based on the entry type with correct bond dates and destination handling
R-GCX016-cbl-00288 Process Master In-Bond Entries
Process Rules
📊 Business Logic Narrative
When the process 'Process Master In-Bond Entries' is invoked, and assuming that a disposition code that creates master in-bond entries (1j, 69, 55), when the system processes the master in-bond requirement, the desired outcome is that master in-bond flag is set, appropriate entry type processing is applied, and broker information is processed from k1 segments.
💻 Technical Criteria
Given A disposition code that creates master in-bond entries (1J, 69, 55)
When The system processes the master in-bond requirement
Then Master in-bond flag is set, appropriate entry type processing is applied, and broker information is processed from K1 segments
R-GCX016-cbl-00289 Clear Bond Information for DC 95
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information for DC 95' is invoked, and assuming that a disposition code 95 (proceed) is being processed, when the system applies dc 95 processing, the desired outcome is that existing bond information is cleared and proceed status is set with appropriate border arrival date.
💻 Technical Criteria
Given A disposition code 95 (Proceed) is being processed
When The system applies DC 95 processing
Then Existing bond information is cleared and proceed status is set with appropriate border arrival date
R-GCX016-cbl-04010 Validate Bond Number Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Bond Number Format' is invoked, and assuming that a bond control number has been extracted from the x4 segment, when the system validates the bond number format, the desired outcome is that processing continues if format is valid, otherwise generates validation error.
💻 Technical Criteria
Given A bond control number has been extracted from the X4 segment
When The system validates the bond number format
Then Processing continues if format is valid, otherwise generates validation error
R-GCX016-cbl-04011 Bond Number Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Number Valid?' is invoked, and assuming that a bond number has undergone format validation, when the system evaluates bond number validity, the desired outcome is that sets bond processing flag if valid, otherwise generates bond validation error.
💻 Technical Criteria
Given A bond number has undergone format validation
When The system evaluates bond number validity
Then Sets bond processing flag if valid, otherwise generates bond validation error
R-GCX016-cbl-04026 Log Bond Processing Results
Process Rules
📊 Business Logic Narrative
When the process 'Log Bond Processing Results' is invoked, and assuming that bond processing summary has been generated, when the system finalizes bond processing, the desired outcome is that bond processing results are logged to appropriate system logs for audit trail.
💻 Technical Criteria
Given Bond processing summary has been generated
When The system finalizes bond processing
Then Bond processing results are logged to appropriate system logs for audit trail
R-GCX016-cbl-04027 Generate Bond Validation Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Bond Validation Error', assuming that bond number has failed format or validity validation, when the system encounters invalid bond number, the desired outcome is that bond validation error is generated with appropriate error details.
💻 Technical Criteria
EXCLUDING Bond number has failed format or validity validation
When The system encounters invalid bond number
Then Bond validation error is generated with appropriate error details
R-GCX016-cbl-04028 Log Bond Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Bond Error' is invoked, and assuming that bond validation error has been generated, when the system handles bond validation failure, the desired outcome is that bond error details are logged to error logs for analysis and resolution.
💻 Technical Criteria
Given Bond validation error has been generated
When The system handles bond validation failure
Then Bond error details are logged to error logs for analysis and resolution
R-GCX016-cbl-04029 Skip Bond Processing
Process Rules
📊 Business Logic Narrative
When the process 'Skip Bond Processing' is invoked, and assuming that bond number is unavailable or bond validation has failed, when the system cannot proceed with bond-based processing, the desired outcome is that bond processing is skipped and system proceeds to completion.
💻 Technical Criteria
Given Bond number is unavailable or bond validation has failed
When The system cannot proceed with bond-based processing
Then Bond processing is skipped and system proceeds to completion
R-GCX016-cbl-04368 Initialize DC Table Key with Disposition Code
Process Rules
📊 Business Logic Narrative
When the process 'Initialize DC Table Key with Disposition Code' is invoked, and assuming that a disposition code is available for table lookup, when the system prepares to read the dc table, the desired outcome is that the system initializes the dc table key with the disposition code value.
💻 Technical Criteria
Given A disposition code is available for table lookup
When The system prepares to read the DC table
Then The system initializes the DC table key with the disposition code value
R-GCX016-cbl-04370 Extract Counterpart Code from DC-COUNTERPART-CODE
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Counterpart Code from DC-COUNTERPART-CODE' is invoked, and assuming that a valid dc table record has been retrieved for a disposition code, when the system processes the dc table record information, the desired outcome is that the system extracts the counterpart code value from the dc-counterpart-code field.
💻 Technical Criteria
Given A valid DC table record has been retrieved for a disposition code
When The system processes the DC table record information
Then The system extracts the counterpart code value from the DC-COUNTERPART-CODE field
R-GCX016-cbl-04566 Set Key to Disposition Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Key to Disposition Code' is invoked, and assuming that a specific disposition code needs to be looked up, when the system prepares the table lookup key, the desired outcome is that the disposition code value is assigned as the search key.
💻 Technical Criteria
Given A specific disposition code needs to be looked up
When The system prepares the table lookup key
Then The disposition code value is assigned as the search key
R-GCX016-cbl-04590 Extract Entry Number Pattern
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entry Number Pattern' is invoked, and assuming that an entry number is present in x4-04 field, when the system extracts the entry number pattern, the desired outcome is that the entry number pattern is analyzed to determine if it is a broker entry number, bond control number, or in-bond entry reference.
💻 Technical Criteria
Given An entry number is present in X4-04 field
When The system extracts the entry number pattern
Then The entry number pattern is analyzed to determine if it is a broker entry number, bond control number, or in-bond entry reference
R-GCX016-cbl-04591 Entry Number Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Number Type?' is invoked, and assuming that an entry number pattern has been extracted from x4-04, when the system analyzes the entry number format, the desired outcome is that the entry number is classified as either broker entry number, bond control number, or in-bond entry reference based on its format characteristics.
💻 Technical Criteria
Given An entry number pattern has been extracted from X4-04
When The system analyzes the entry number format
Then The entry number is classified as either broker entry number, bond control number, or in-bond entry reference based on its format characteristics
R-GCX016-cbl-04593 Validate Bond Control Number Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Bond Control Number Format' is invoked, and assuming that an entry number has been classified as a bond control number, when the system validates the bond control number format, the desired outcome is that the bond control number must conform to established format rules and pass validation checks.
💻 Technical Criteria
Given An entry number has been classified as a bond control number
When The system validates the bond control number format
Then The bond control number must conform to established format rules and pass validation checks
R-GCX016-cbl-04594 Validate In-Bond Entry Reference Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate In-Bond Entry Reference Format' is invoked, and assuming that an entry number has been classified as an in-bond entry reference, when the system validates the in-bond entry reference format, the desired outcome is that the in-bond entry reference must conform to established format rules and pass validation checks.
💻 Technical Criteria
Given An entry number has been classified as an in-bond entry reference
When The system validates the in-bond entry reference format
Then The in-bond entry reference must conform to established format rules and pass validation checks
R-GCX016-cbl-04604 Bond Control Number?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Bond Control Number?', assuming that an entry number is not a broker entry number, when the system checks if it is a bond control number, the desired outcome is that if it is a bond control number, validate against bond records, otherwise check if it is an in-bond reference.
💻 Technical Criteria
EXCLUDING An entry number is not a broker entry number
When The system checks if it is a bond control number
Then If it is a bond control number, validate against bond records, otherwise check if it is an in-bond reference
R-GCX016-cbl-04605 Validate Against Bond Records
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Against Bond Records' is invoked, and assuming that an entry number has been identified as a bond control number, when the system validates against bond records, the desired outcome is that the bond control number must exist in bond records and meet validity requirements.
💻 Technical Criteria
Given An entry number has been identified as a bond control number
When The system validates against bond records
Then The bond control number must exist in bond records and meet validity requirements
R-GCX016-cbl-04606 In-Bond Reference?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'In-Bond Reference?', assuming that an entry number is not a broker entry number or bond control number, when the system checks if it is an in-bond reference, the desired outcome is that if it is an in-bond reference, validate against in-bond records, otherwise complete validation process.
💻 Technical Criteria
EXCLUDING An entry number is not a broker entry number or bond control number
When The system checks if it is an in-bond reference
Then If it is an in-bond reference, validate against in-bond records, otherwise complete validation process
R-GCX016-cbl-04607 Validate Against In-Bond Records
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Against In-Bond Records' is invoked, and assuming that an entry number has been identified as an in-bond reference, when the system validates against in-bond records, the desired outcome is that the in-bond reference must exist in in-bond records and meet validity requirements.
💻 Technical Criteria
Given An entry number has been identified as an in-bond reference
When The system validates against in-bond records
Then The in-bond reference must exist in in-bond records and meet validity requirements
R-GCX016-cbl-04614 Release Quantity < 0?
Validation Rules
📊 Business Logic Narrative
When the process 'Release Quantity < 0?' is invoked, and assuming that a calculated release quantity that may be negative, when the release quantity is less than zero, the desired outcome is that the system should set the release quantity to zero to prevent negative release values.
💻 Technical Criteria
Given A calculated release quantity that may be negative
When The release quantity is less than zero
Then The system should set the release quantity to zero to prevent negative release values
R-GCX016-cbl-04392 Add Quantity to Released Amount
Computation Rules
📊 Business Logic Narrative
When the process 'Add Quantity to Released Amount' is invoked, and assuming that a disposition code has action type add_quantity and contains a quantity value, when the system processes the quantity action, the desired outcome is that the system adds the disposition code quantity to the current released quantity.
💻 Technical Criteria
Given A disposition code has action type ADD_QUANTITY and contains a quantity value
When The system processes the quantity action
Then The system adds the disposition code quantity to the current released quantity
R-GCX016-cbl-04393 Subtract Quantity from Released Amount
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract Quantity from Released Amount' is invoked, and assuming that a disposition code has action type subtract_quantity and contains a quantity value, when the system processes the quantity action, the desired outcome is that the system subtracts the disposition code quantity from the current released quantity.
💻 Technical Criteria
Given A disposition code has action type SUBTRACT_QUANTITY and contains a quantity value
When The system processes the quantity action
Then The system subtracts the disposition code quantity from the current released quantity
R-GCX016-cbl-04394 Set Released Quantity to Zero
Validation Rules
📊 Business Logic Narrative
When the process 'Set Released Quantity to Zero' is invoked, and assuming that a quantity subtraction operation would result in a negative released quantity, when the system calculates the new released quantity, the desired outcome is that the system sets the released quantity to zero instead of allowing the negative value.
💻 Technical Criteria
Given A quantity subtraction operation would result in a negative released quantity
When The system calculates the new released quantity
Then The system sets the released quantity to zero instead of allowing the negative value
R-GCX016-cbl-04414 Map Entry Type to Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Entry Type to Transport Type' is invoked, and assuming that an entry type code for master in-bond processing, when entry type is 61, 62, 63, 69, or 00, the desired outcome is that map to immediate transport, transport export, immediate export, us-canada-us movement, or border processing respectively.
💻 Technical Criteria
Given An entry type code for master in-bond processing
When Entry type is 61, 62, 63, 69, or 00
Then Map to immediate transport, transport export, immediate export, US-Canada-US movement, or border processing respectively
R-GCX016-cbl-04638 Entry Type Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type Code?' is invoked, and assuming that an x4 segment is received with an entry type code, when the entry type code is evaluated for master in-bond eligibility, the desired outcome is that entry types 61, 62, 63, and 69 are classified as master in-bond entries requiring special processing, while all other entry types proceed to standard processing.
💻 Technical Criteria
Given An X4 segment is received with an entry type code
When The entry type code is evaluated for master in-bond eligibility
Then Entry types 61, 62, 63, and 69 are classified as master in-bond entries requiring special processing, while all other entry types proceed to standard processing
R-GCX016-cbl-04643 Validate Bond Control Number
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Bond Control Number' is invoked, and assuming that a master in-bond entry requires bond validation, when the bond control number is checked against the bond database, the desired outcome is that the bond must exist and be active for processing to continue, otherwise a bond validation error is generated.
💻 Technical Criteria
Given A master in-bond entry requires bond validation
When The bond control number is checked against the bond database
Then The bond must exist and be active for processing to continue, otherwise a bond validation error is generated
R-GCX016-cbl-04647 Validate Regulatory Compliance
Policy Rules
📊 Business Logic Narrative
When the process 'Validate Regulatory Compliance' is invoked, and assuming that in-bond status flags have been updated, when regulatory compliance check is performed, the desired outcome is that all required documentation, permits, and regulatory conditions must be satisfied for the specific entry type.
💻 Technical Criteria
Given In-bond status flags have been updated
When Regulatory compliance check is performed
Then All required documentation, permits, and regulatory conditions must be satisfied for the specific entry type
R-GCX016-cbl-04651 Generate Bond Validation Error
Action Rules
📊 Business Logic Narrative
When the process 'Generate Bond Validation Error' is invoked, and assuming that bond control number validation has failed, when bond validation error is generated, the desired outcome is that an error message is created indicating invalid or inactive bond number and processing is directed to error handling.
💻 Technical Criteria
Given Bond control number validation has failed
When Bond validation error is generated
Then An error message is created indicating invalid or inactive bond number and processing is directed to error handling
R-GCX016-cbl-04445 Initialize Compaction Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Compaction Variables' is invoked, and assuming that array compaction process is starting, when system begins array compaction operation, the desired outcome is that compaction variables are initialized to default values for tracking element positions and array boundaries.
💻 Technical Criteria
Given Array compaction process is starting
When System begins array compaction operation
Then Compaction variables are initialized to default values for tracking element positions and array boundaries
R-GCX016-cbl-00324 Extract Bond Control Number from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Bond Control Number from X4 Segment' is invoked, and assuming that a valid x4 segment contains bond information, when the system extracts the bond control number from the x4 segment, the desired outcome is that the bond control number is captured and made available for validation and processing.
💻 Technical Criteria
Given A valid X4 segment contains bond information
When The system extracts the bond control number from the X4 segment
Then The bond control number is captured and made available for validation and processing
R-GCX016-cbl-00325 Validate Bond Number Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Bond Number Format' is invoked, and assuming that a bond control number has been extracted from the x4 segment, when the system validates the bond number format, the desired outcome is that processing continues if format is valid, otherwise generates bond error message.
💻 Technical Criteria
Given A bond control number has been extracted from the X4 segment
When The system validates the bond number format
Then Processing continues if format is valid, otherwise generates bond error message
R-GCX016-cbl-00341 Generate Bond Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Generate Bond Error Message' is invoked, and assuming that bond number is missing, invalid format, or validation fails, when the system generates bond error message, the desired outcome is that error message is created indicating bond processing cannot proceed and includes relevant error details.
💻 Technical Criteria
Given Bond number is missing, invalid format, or validation fails
When The system generates bond error message
Then Error message is created indicating bond processing cannot proceed and includes relevant error details
R-GCX016-cbl-00342 Log Bond Processing Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Bond Processing Error' is invoked, and assuming that bond error message has been generated, when the system logs bond processing error, the desired outcome is that error details are logged including bond number, error type, and processing context for system monitoring.
💻 Technical Criteria
Given Bond error message has been generated
When The system logs bond processing error
Then Error details are logged including bond number, error type, and processing context for system monitoring
R-GCX016-cbl-04086 Entry Number Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Number Match?' is invoked, and assuming that status info match validation has been performed and counterpart code exists in array, when the system compares entry number values, the desired outcome is that if entry numbers match, remove the counterpart code; otherwise check quantity match.
💻 Technical Criteria
Given Status info match validation has been performed and counterpart code exists in array
When The system compares entry number values
Then If entry numbers match, remove the counterpart code; otherwise check quantity match
R-GCX016-cbl-04087 Quantity Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Quantity Match?' is invoked, and assuming that entry number match validation has been performed and counterpart code exists in array, when the system compares quantity values, the desired outcome is that if quantities match, remove the counterpart code; otherwise check specific code pattern match.
💻 Technical Criteria
Given Entry number match validation has been performed and counterpart code exists in array
When The system compares quantity values
Then If quantities match, remove the counterpart code; otherwise check specific code pattern match
R-GCX016-cbl-00377 Calculate Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Release Quantities' is invoked, and assuming that a release disposition code contains quantity information, when release quantities need to be updated, the desired outcome is that quantities are added or subtracted from existing release quantity with minimum value of zero.
💻 Technical Criteria
Given A release disposition code contains quantity information
When Release quantities need to be updated
Then Quantities are added or subtracted from existing release quantity with minimum value of zero
R-GCX016-cbl-04467 Initialize Analysis Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Analysis Variables' is invoked, and assuming that the system is about to analyze the s09a status array, when the status analysis process begins, the desired outcome is that all analysis variables are initialized to default values including hold flags, release flags, ptt flags, proceed flags, arrival flags, export flags, fda hold flags, and quantity counters.
💻 Technical Criteria
Given The system is about to analyze the S09A status array
When The status analysis process begins
Then All analysis variables are initialized to default values including hold flags, release flags, PTT flags, proceed flags, arrival flags, export flags, FDA hold flags, and quantity counters
R-GCX016-cbl-04535 Calculate Age in Days Current Julian - Bond Start Julian
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Age in Days Current Julian - Bond Start Julian' is invoked, and assuming that both bond start date and current date are converted to julian format, when the system performs age calculation, the desired outcome is that calculate age in days by subtracting bond start julian date from current julian date.
💻 Technical Criteria
Given Both bond start date and current date are converted to Julian format
When The system performs age calculation
Then Calculate age in days by subtracting bond start Julian date from current Julian date
R-GCX016-cbl-00387 Get Disposition Code Quantity
Action Rules
📊 Business Logic Narrative
When the process 'Get Disposition Code Quantity' is invoked, and assuming that a disposition code contains quantity information, when the system processes the disposition code, the desired outcome is that the system should extract and validate the quantity value from the disposition code.
💻 Technical Criteria
Given A disposition code contains quantity information
When The system processes the disposition code
Then The system should extract and validate the quantity value from the disposition code
R-GCX016-cbl-00392 Set Released Quantity to Zero
Validation Rules
📊 Business Logic Narrative
When the process 'Set Released Quantity to Zero' is invoked, and assuming that the calculated released quantity is negative, when the system applies quantity correction rules, the desired outcome is that the system should set the released quantity to zero to prevent negative values.
💻 Technical Criteria
Given The calculated released quantity is negative
When The system applies quantity correction rules
Then The system should set the released quantity to zero to prevent negative values
R-GCX016-cbl-00440 Extract New Bonded-To Station from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract New Bonded-To Station from X4 Segment' is invoked, and assuming that a valid 3w disposition code has been confirmed in the dc table, when the system processes the x4 segment data, the desired outcome is that the system extracts the new bonded-to station code from the appropriate field in the x4 segment.
💻 Technical Criteria
Given A valid 3W disposition code has been confirmed in the DC table
When The system processes the X4 segment data
Then The system extracts the new bonded-to station code from the appropriate field in the X4 segment
R-GCX016-cbl-00441 Validate New Station Code in DS Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate New Station Code in DS Table' is invoked, and assuming that a new bonded-to station code has been extracted from the x4 segment, when the system validates the station code against the ds table, the desired outcome is that the system confirms the station code is valid and allows the diversion to proceed, or generates an error if the station is not found.
💻 Technical Criteria
Given A new bonded-to station code has been extracted from the X4 segment
When The system validates the station code against the DS table
Then The system confirms the station code is valid and allows the diversion to proceed, or generates an error if the station is not found
R-GCX016-cbl-00448 Generate Error Message - Invalid Station
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message - Invalid Station', assuming that a new bonded-to station code has been extracted from x4 segment, when the station code is not found in the ds table, the desired outcome is that the system generates an error message indicating invalid station code and stops diversion processing.
💻 Technical Criteria
EXCLUDING A new bonded-to station code has been extracted from X4 segment
When The station code is not found in the DS table
Then The system generates an error message indicating invalid station code and stops diversion processing
R-GCX016-cbl-00531 Is Disposition Code KCSM-eligible?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Disposition Code KCSM-eligible?' is invoked, and assuming that an edi 350 message with a disposition code is being processed, when the system evaluates the disposition code for kcsm eligibility, the desired outcome is that the system determines whether kcsm processing is required based on the disposition code value.
💻 Technical Criteria
Given An EDI 350 message with a disposition code is being processed
When The system evaluates the disposition code for KCSM eligibility
Then The system determines whether KCSM processing is required based on the disposition code value
R-GCX016-cbl-00555 Bond Information Cleared Successfully
Process Rules
📊 Business Logic Narrative
When the process 'Bond Information Cleared Successfully' is invoked, and assuming that all bond clearing operations have been completed successfully, when the system completes the bond clearing process, the desired outcome is that the system should indicate successful completion of bond information clearing.
💻 Technical Criteria
Given All bond clearing operations have been completed successfully
When The system completes the bond clearing process
Then The system should indicate successful completion of bond information clearing
R-GCX016-cbl-00566 Entry Number Present in X4-04?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Number Present in X4-04?' is invoked, and assuming that an x4 customs release segment is received for processing, when the system checks for entry number presence in field x4-04, the desired outcome is that if entry number is present, proceed to entry number validation, otherwise start in-bond broker processing directly.
💻 Technical Criteria
Given An X4 customs release segment is received for processing
When The system checks for entry number presence in field X4-04
Then If entry number is present, proceed to entry number validation, otherwise start in-bond broker processing directly
R-GCX016-cbl-00567 Entry Type Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Type Code Present?' is invoked, and assuming that entry number validation has been completed, when the system evaluates entry type code availability, the desired outcome is that if entry type code is present, proceed to in-bond broker processing, otherwise complete processing.
💻 Technical Criteria
Given Entry number validation has been completed
When The system evaluates entry type code availability
Then If entry type code is present, proceed to in-bond broker processing, otherwise complete processing
R-GCX016-cbl-00568 Entry Number Format Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Number Format Valid?' is invoked, and assuming that in-bond broker processing has started with an entry number, when the system validates the entry number format, the desired outcome is that if format is invalid, handle v37 entry specially, otherwise proceed to in-bond type code processing.
💻 Technical Criteria
Given In-bond broker processing has started with an entry number
When The system validates the entry number format
Then If format is invalid, handle V37 entry specially, otherwise proceed to in-bond type code processing
R-GCX016-cbl-00569 Handle V37 Entry Specially
Process Rules
📊 Business Logic Narrative
When the process 'Handle V37 Entry Specially' is invoked, and assuming that an entry number with invalid standard format is identified, when the entry number requires v37 special handling, the desired outcome is that apply v37-specific processing rules and continue to in-bond type code processing.
💻 Technical Criteria
Given An entry number with invalid standard format is identified
When The entry number requires V37 special handling
Then Apply V37-specific processing rules and continue to in-bond type code processing
R-GCX016-cbl-00570 In-Bond Type Code Processing?
Decision Rules
📊 Business Logic Narrative
When the process 'In-Bond Type Code Processing?' is invoked, and assuming that entry number format validation is complete, when the system evaluates if in-bond type code processing is needed, the desired outcome is that if required, perform snp processing to convert edi to internal codes, otherwise check for border entry type 00.
💻 Technical Criteria
Given Entry number format validation is complete
When The system evaluates if in-bond type code processing is needed
Then If required, perform SNP processing to convert EDI to internal codes, otherwise check for border entry type 00
R-GCX016-cbl-00571 SNP Processing - Convert EDI to Internal Codes
Action Rules
📊 Business Logic Narrative
When the process 'SNP Processing - Convert EDI to Internal Codes' is invoked, and assuming that in-bond type code processing is required, when snp processing is initiated for code conversion, the desired outcome is that convert edi codes to internal system codes and proceed to border entry type evaluation.
💻 Technical Criteria
Given In-bond type code processing is required
When SNP processing is initiated for code conversion
Then Convert EDI codes to internal system codes and proceed to border entry type evaluation
R-GCX016-cbl-00572 Border Entry Type 00?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Border Entry Type 00?', assuming that code conversion processing is complete or not required, when the system checks if entry type is border entry type 00, the desired outcome is that if entry type is 00, proceed to border entry handling, otherwise check for master in-bond entry.
💻 Technical Criteria
EXCLUDING Code conversion processing is complete or not required
When The system checks if entry type is border entry type 00
Then If entry type is 00, proceed to border entry handling, otherwise check for master in-bond entry
R-GCX016-cbl-00573 Border Entry Handling
Process Rules
📊 Business Logic Narrative
When the process 'Border Entry Handling' is invoked, and assuming that entry type is identified as border entry type 00, when border entry handling is initiated, the desired outcome is that clear bond control numbers and clear broker entry numbers, then proceed to canadian border processing check.
💻 Technical Criteria
Given Entry type is identified as border entry type 00
When Border entry handling is initiated
Then Clear bond control numbers and clear broker entry numbers, then proceed to Canadian border processing check
R-GCX016-cbl-00574 Master In-Bond Entry?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Master In-Bond Entry?', assuming that entry is not border entry type 00, when the system evaluates if entry is a master in-bond entry, the desired outcome is that if master in-bond entry, proceed to master in-bond processing, otherwise check for canadian border processing.
💻 Technical Criteria
EXCLUDING Entry is not border entry type 00
When The system evaluates if entry is a master in-bond entry
Then If master in-bond entry, proceed to master in-bond processing, otherwise check for Canadian border processing
R-GCX016-cbl-00575 Master In-Bond Processing
Process Rules
📊 Business Logic Narrative
When the process 'Master In-Bond Processing' is invoked, and assuming that entry is identified as master in-bond entry, when master in-bond processing is initiated, the desired outcome is that process entry types 61, 62, 63, and 69 with their specific requirements and proceed to canadian border processing check.
💻 Technical Criteria
Given Entry is identified as master in-bond entry
When Master in-bond processing is initiated
Then Process entry types 61, 62, 63, and 69 with their specific requirements and proceed to Canadian border processing check
R-GCX016-cbl-00576 Process Entry Types 61,62,63,69
Process Rules
📊 Business Logic Narrative
When the process 'Process Entry Types 61,62,63,69' is invoked, and assuming that master in-bond processing is active, when entry types 61, 62, 63, or 69 are encountered, the desired outcome is that apply type-specific processing rules: 61 for immediate transport, 62 for transport export, 63 for immediate export, 69 for us-canada-us movement.
💻 Technical Criteria
Given Master in-bond processing is active
When Entry types 61, 62, 63, or 69 are encountered
Then Apply type-specific processing rules: 61 for immediate transport, 62 for transport export, 63 for immediate export, 69 for US-Canada-US movement
R-GCX016-cbl-00579 Canadian Border Processing?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Border Processing?' is invoked, and assuming that border entry handling or master in-bond processing is complete, when the system evaluates canadian border processing requirements, the desired outcome is that if canadian border processing is required, proceed to canadian border processing, otherwise proceed to broker vs qp bond processing.
💻 Technical Criteria
Given Border entry handling or master in-bond processing is complete
When The system evaluates Canadian border processing requirements
Then If Canadian border processing is required, proceed to Canadian border processing, otherwise proceed to broker vs QP bond processing
R-GCX016-cbl-00580 Canadian Border Processing
Process Rules
📊 Business Logic Narrative
When the process 'Canadian Border Processing' is invoked, and assuming that canadian border processing is required, when canadian border processing is initiated, the desired outcome is that map us port codes to canadian names and proceed to broker vs qp bond processing.
💻 Technical Criteria
Given Canadian border processing is required
When Canadian border processing is initiated
Then Map US port codes to Canadian names and proceed to broker vs QP bond processing
R-GCX016-cbl-00582 Broker Bond or QP Bond?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Bond or QP Bond?' is invoked, and assuming that broker vs qp bond processing evaluation is initiated, when the system determines bond type classification, the desired outcome is that if broker bond, process broker bond information; if qp bond, process qp bond information.
💻 Technical Criteria
Given Broker vs QP bond processing evaluation is initiated
When The system determines bond type classification
Then If broker bond, process broker bond information; if QP bond, process QP bond information
R-GCX016-cbl-00586 Valid EDI Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid EDI Code?' is invoked, and assuming that an edi message contains an in-bond type code, when the system receives the edi code for processing, the desired outcome is that the system validates if the edi code exists in the recognized code list and sets validation status accordingly.
💻 Technical Criteria
Given An EDI message contains an in-bond type code
When The system receives the EDI code for processing
Then The system validates if the EDI code exists in the recognized code list and sets validation status accordingly
R-GCX016-cbl-00587 Lookup EDI to CPRAIL Conversion Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup EDI to CPRAIL Conversion Table' is invoked, and assuming that a valid edi in-bond type code has been received, when the system needs to convert the edi code to internal cprail format, the desired outcome is that the system looks up the conversion table to find the matching cprail code for the edi code.
💻 Technical Criteria
Given A valid EDI in-bond type code has been received
When The system needs to convert the EDI code to internal CPRAIL format
Then The system looks up the conversion table to find the matching CPRAIL code for the EDI code
R-GCX016-cbl-00588 Convert EDI 309 Value to Internal CPRAIL Code
Computation Rules
📊 Business Logic Narrative
When the process 'Convert EDI 309 Value to Internal CPRAIL Code' is invoked, and assuming that an edi 309 value exists in the conversion table, when the system processes the edi code conversion, the desired outcome is that the system transforms the edi 309 value into the corresponding internal cprail code format.
💻 Technical Criteria
Given An EDI 309 value exists in the conversion table
When The system processes the EDI code conversion
Then The system transforms the EDI 309 value into the corresponding internal CPRAIL code format
R-GCX016-cbl-00590 Update Shipment Record with In-Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Update Shipment Record with In-Bond Information' is invoked, and assuming that a u1 segment has been created with converted in-bond code information, when the system processes the shipment record update, the desired outcome is that the system updates the shipment root record with the in-bond type information from the u1 segment.
💻 Technical Criteria
Given A U1 segment has been created with converted in-bond code information
When The system processes the shipment record update
Then The system updates the shipment root record with the in-bond type information from the U1 segment
R-GCX016-cbl-00592 Generate Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error Message' is invoked, and assuming that an edi in-bond type code fails validation, when the system cannot find the edi code in the recognized code list, the desired outcome is that the system generates an error message indicating the edi code is invalid or unrecognized.
💻 Technical Criteria
Given An EDI in-bond type code fails validation
When The system cannot find the EDI code in the recognized code list
Then The system generates an error message indicating the EDI code is invalid or unrecognized
R-GCX016-cbl-00677 Build M10 Manifest Information
Validation Rules
📊 Business Logic Narrative
When the process 'Build M10 Manifest Information' is invoked, and assuming that an entry number starts with the letter 'v', when the system processes the entry number, the desired outcome is that the entry number is placed in the entry number field and not in the in-bond control number field.
💻 Technical Criteria
Given An entry number starts with the letter 'V'
When The system processes the entry number
Then The entry number is placed in the entry number field and not in the in-bond control number field
R-GCX016-cbl-00678 Build M10 Manifest Information
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Build M10 Manifest Information', assuming that an entry number does not start with the letter 'v', when the system processes the entry number, the desired outcome is that the entry number is placed in the in-bond control number field and not in the entry number field.
💻 Technical Criteria
EXCLUDING An entry number does not start with the letter 'V'
When The system processes the entry number
Then The entry number is placed in the in-bond control number field and not in the entry number field
R-GCX016-cbl-00787 Set Border Release Location
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Release Location' is invoked, and assuming that a release disposition code is determined to be for border location, when the system processes the border release, the desired outcome is that the system sets the location information to border-specific values.
💻 Technical Criteria
Given A release disposition code is determined to be for border location
When The system processes the border release
Then The system sets the location information to border-specific values
R-GCX016-cbl-00788 Set Destination Release Location
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Release Location' is invoked, and assuming that a release disposition code is determined to be for destination location, when the system processes the destination release, the desired outcome is that the system sets the location information to destination-specific values.
💻 Technical Criteria
Given A release disposition code is determined to be for destination location
When The system processes the destination release
Then The system sets the location information to destination-specific values
R-GCX016-cbl-00804 Validate Bond Control Number
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Bond Control Number' is invoked, and assuming that bond control number extracted from broker information, when system validates bond number format and checks against bond database, the desired outcome is that system determines if bond number is valid and active.
💻 Technical Criteria
Given Bond control number extracted from broker information
When System validates bond number format and checks against bond database
Then System determines if bond number is valid and active
R-GCX016-cbl-00817 Process Broker Entry Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Process Broker Entry Numbers' is invoked, and assuming that an entry number is provided in the x4 segment, when the entry number starts with 'v' prefix, the desired outcome is that the system places the entry number in the entry number field, otherwise places it in the in-bond control number field.
💻 Technical Criteria
Given An entry number is provided in the X4 segment
When The entry number starts with 'V' prefix
Then The system places the entry number in the entry number field, otherwise places it in the in-bond control number field
R-GCX016-cbl-00898 Add Action: Released Qty = Released Qty + X4 Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Add Action: Released Qty = Released Qty + X4 Quantity' is invoked, and assuming that a disposition code requires adding quantity to released amount and current released quantity exists and x4 segment contains quantity value, when the system performs add quantity action, the desired outcome is that the system should calculate new released quantity as current released quantity plus x4 quantity.
💻 Technical Criteria
Given A disposition code requires adding quantity to released amount AND current released quantity exists AND X4 segment contains quantity value
When The system performs add quantity action
Then The system should calculate new released quantity as current released quantity plus X4 quantity
R-GCX016-cbl-00899 Subtract Action: Released Qty = Released Qty - X4 Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract Action: Released Qty = Released Qty - X4 Quantity' is invoked, and assuming that a disposition code requires subtracting quantity from released amount and current released quantity exists and x4 segment contains quantity value, when the system performs subtract quantity action, the desired outcome is that the system should calculate new released quantity as current released quantity minus x4 quantity.
💻 Technical Criteria
Given A disposition code requires subtracting quantity from released amount AND current released quantity exists AND X4 segment contains quantity value
When The system performs subtract quantity action
Then The system should calculate new released quantity as current released quantity minus X4 quantity
R-GCX016-cbl-00901 Set Released Quantity to Zero
Validation Rules
📊 Business Logic Narrative
When the process 'Set Released Quantity to Zero' is invoked, and assuming that a quantity calculation results in a negative value, when the system needs to assign a valid released quantity, the desired outcome is that the system should set the released quantity to zero to prevent negative inventory.
💻 Technical Criteria
Given A quantity calculation results in a negative value
When The system needs to assign a valid released quantity
Then The system should set the released quantity to zero to prevent negative inventory
R-GCX016-cbl-00902 Keep Calculated Released Quantity
Process Rules
📊 Business Logic Narrative
When the process 'Keep Calculated Released Quantity' is invoked, and assuming that a quantity calculation results in zero or positive value, when the system needs to assign the released quantity, the desired outcome is that the system should retain the calculated released quantity value.
💻 Technical Criteria
Given A quantity calculation results in zero or positive value
When The system needs to assign the released quantity
Then The system should retain the calculated released quantity value
R-GCX016-cbl-00990 Extract PTT Quantity from Status Array
Computation Rules
📊 Business Logic Narrative
When the process 'Extract PTT Quantity from Status Array' is invoked, and assuming that a ptt disposition code has been found in the status array, when the system extracts quantity information, the desired outcome is that retrieve the ptt quantity value from the status array entry for validation.
💻 Technical Criteria
Given A PTT disposition code has been found in the status array
When The system extracts quantity information
Then Retrieve the PTT quantity value from the status array entry for validation
R-GCX016-cbl-01166 Check Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Message Type' is invoked, and assuming that a merlin release message needs to be generated, when the system evaluates the message type for formatting, the desired outcome is that the system selects either standard release format or broker bond message format based on the message classification.
💻 Technical Criteria
Given A Merlin release message needs to be generated
When The system evaluates the message type for formatting
Then The system selects either standard release format or broker bond message format based on the message classification
R-GCX016-cbl-01252 Use Default Name if Not Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Default Name if Not Found', assuming that either no broker record was found in the bk table or the entity is not a payer of freight, when the system needs to provide a broker name, the desired outcome is that the system uses a default name value for the broker name.
💻 Technical Criteria
EXCLUDING Either no broker record was found in the BK table OR the entity is not a payer of freight
When The system needs to provide a broker name
Then The system uses a default name value for the broker name
R-GCX016-cbl-01288 Station Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Station Type?' is invoked, and assuming that a station data lookup request is received, when the system evaluates the station type, the desired outcome is that the system routes to bonded-to station lookup for bonded stations or border crossing station lookup for border stations.
💻 Technical Criteria
Given A station data lookup request is received
When The system evaluates the station type
Then The system routes to bonded-to station lookup for bonded stations or border crossing station lookup for border stations
R-GCX016-cbl-01324 Use Default Station Information
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Default Station Information', assuming that station not found error has been logged, when the system uses default station information, the desired outcome is that default station values are provided to ensure processing continuity.
💻 Technical Criteria
EXCLUDING Station not found error has been logged
When The system uses default station information
Then Default station values are provided to ensure processing continuity
R-GCX016-cbl-01326 Format Broker Bond Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Broker Bond Message' is invoked, and assuming that a disposition code message needs to be formatted and message type is broker bond message, when the system processes the message formatting request, the desired outcome is that the system creates a broker bond message format with bond-specific information.
💻 Technical Criteria
Given A disposition code message needs to be formatted AND message type is broker bond message
When The system processes the message formatting request
Then The system creates a broker bond message format with bond-specific information
R-GCX016-cbl-01327 Add Disposition Code Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Disposition Code Information' is invoked, and assuming that a message is being formatted with disposition code information, when the system adds disposition code details to the message, the desired outcome is that the message includes the disposition code value and related processing information.
💻 Technical Criteria
Given A message is being formatted with disposition code information
When The system adds disposition code details to the message
Then The message includes the disposition code value and related processing information
R-GCX016-cbl-01352 Set Quantity to Zero
Policy Rules
📊 Business Logic Narrative
When the process 'Set Quantity to Zero' is invoked, and assuming that a calculated release quantity would be negative, when the system applies the minimum quantity constraint, the desired outcome is that the release quantity is set to zero to prevent negative values.
💻 Technical Criteria
Given A calculated release quantity would be negative
When The system applies the minimum quantity constraint
Then The release quantity is set to zero to prevent negative values
R-GCX016-cbl-01369 Identify Broker-Created Bond
Definitional Rules
📊 Business Logic Narrative
When the process 'Identify Broker-Created Bond' is invoked, and assuming that a canadian pacific entity message is being processed, when the system analyzes the bond creation source, the desired outcome is that the bond is identified as broker-created and flagged for special handling.
💻 Technical Criteria
Given A Canadian Pacific entity message is being processed
When The system analyzes the bond creation source
Then The bond is identified as broker-created and flagged for special handling
R-GCX016-cbl-01370 Extract Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Bond Information' is invoked, and assuming that a broker-created bond has been identified, when the system processes the bond message content, the desired outcome is that bond control numbers, broker information, and related bond details are extracted and stored.
💻 Technical Criteria
Given A broker-created bond has been identified
When The system processes the bond message content
Then Bond control numbers, broker information, and related bond details are extracted and stored
R-GCX016-cbl-01371 Format Special Bond Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Special Bond Message' is invoked, and assuming that bond information has been extracted from a broker-created bond, when the system prepares the notification message, the desired outcome is that the message is formatted with special bond message structure including bond control numbers and broker details.
💻 Technical Criteria
Given Bond information has been extracted from a broker-created bond
When The system prepares the notification message
Then The message is formatted with special bond message structure including bond control numbers and broker details
R-GCX016-cbl-01372 Apply Canadian Pacific Formatting Rules
Policy Rules
📊 Business Logic Narrative
When the process 'Apply Canadian Pacific Formatting Rules' is invoked, and assuming that a special bond message has been formatted, when the message is from canadian pacific entity, the desired outcome is that canadian pacific specific formatting rules are applied including entity-specific message structure and content requirements.
💻 Technical Criteria
Given A special bond message has been formatted
When The message is from Canadian Pacific entity
Then Canadian Pacific specific formatting rules are applied including entity-specific message structure and content requirements
R-GCX016-cbl-01373 Prepare Bond Notification
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Bond Notification' is invoked, and assuming that canadian pacific formatting rules have been applied to the bond message, when the system finalizes the notification preparation, the desired outcome is that the bond notification is prepared with complete formatting, bond details, and ready for routing.
💻 Technical Criteria
Given Canadian Pacific formatting rules have been applied to the bond message
When The system finalizes the notification preparation
Then The bond notification is prepared with complete formatting, bond details, and ready for routing
R-GCX016-cbl-01374 Route to Merlin Message System
Action Rules
📊 Business Logic Narrative
When the process 'Route to Merlin Message System' is invoked, and assuming that a bond notification has been prepared, when the system routes the message for delivery, the desired outcome is that the notification is sent to the merlin message system for final delivery to appropriate recipients.
💻 Technical Criteria
Given A bond notification has been prepared
When The system routes the message for delivery
Then The notification is sent to the Merlin message system for final delivery to appropriate recipients
R-GCX016-cbl-01375 Standard Message Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Standard Message Processing', assuming that a message is not from canadian pacific entity, when the system determines the processing path, the desired outcome is that the message is processed through standard message handling procedures without special bond formatting.
💻 Technical Criteria
EXCLUDING A message is not from Canadian Pacific entity
When The system determines the processing path
Then The message is processed through standard message handling procedures without special bond formatting
R-GCX016-cbl-01396 B1 Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'B1 Record Found?' is invoked, and assuming that b1 table lookup has been performed with broker code, when the system checks if a matching b1 record was found, the desired outcome is that the system proceeds to extract broker contact details if record found, otherwise sets default broker values.
💻 Technical Criteria
Given B1 table lookup has been performed with broker code
When The system checks if a matching B1 record was found
Then The system proceeds to extract broker contact details if record found, otherwise sets default broker values
R-GCX016-cbl-01403 Validate Broker Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Broker Information' is invoked, and assuming that all broker information has been extracted from tables, when the system validates the completeness of broker information, the desired outcome is that the system proceeds to store information if complete, otherwise sets default values.
💻 Technical Criteria
Given All broker information has been extracted from tables
When The system validates the completeness of broker information
Then The system proceeds to store information if complete, otherwise sets default values
R-GCX016-cbl-01404 Information Complete?
Validation Rules
📊 Business Logic Narrative
When the process 'Information Complete?' is invoked, and assuming that broker information validation has been performed, when the system checks for information completeness, the desired outcome is that the system stores broker information if complete, otherwise applies default broker values.
💻 Technical Criteria
Given Broker information validation has been performed
When The system checks for information completeness
Then The system stores broker information if complete, otherwise applies default broker values
R-GCX016-cbl-01405 Set Default Broker Values
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Broker Values', assuming that broker information is incomplete or b1 record was not found, when the system applies default value assignment logic, the desired outcome is that the system sets standard default values for missing broker information fields.
💻 Technical Criteria
EXCLUDING Broker information is incomplete or B1 record was not found
When The system applies default value assignment logic
Then The system sets standard default values for missing broker information fields
R-GCX016-cbl-01406 Store Broker Information
Action Rules
📊 Business Logic Narrative
When the process 'Store Broker Information' is invoked, and assuming that broker information is complete or default values have been applied, when the system stores the broker information, the desired outcome is that the system saves all broker details for use in notification and processing workflows.
💻 Technical Criteria
Given Broker information is complete or default values have been applied
When The system stores the broker information
Then The system saves all broker details for use in notification and processing workflows
R-GCX016-cbl-01427 Check N101-01 Qualifier for Payer of Freight
Decision Rules
📊 Business Logic Narrative
When the process 'Check N101-01 Qualifier for Payer of Freight' is invoked, and assuming that an n101 segment has been found in secondary records, when the system checks the n101-01 qualifier field, the desired outcome is that the system identifies the entity type for further processing based on the qualifier value.
💻 Technical Criteria
Given An N101 segment has been found in secondary records
When The system checks the N101-01 qualifier field
Then The system identifies the entity type for further processing based on the qualifier value
R-GCX016-cbl-01442 Show Disposition Code
Process Rules
📊 Business Logic Narrative
When the process 'Show Disposition Code' is invoked, and assuming that a status array element is being displayed, when disposition code display is requested, the desired outcome is that show the disposition code value for the current element.
💻 Technical Criteria
Given A status array element is being displayed
When Disposition code display is requested
Then Show the disposition code value for the current element
R-GCX016-cbl-01444 Show Entry Number
Process Rules
📊 Business Logic Narrative
When the process 'Show Entry Number' is invoked, and assuming that a status array element is being displayed, when entry number display is requested, the desired outcome is that show the entry number value for the current element.
💻 Technical Criteria
Given A status array element is being displayed
When Entry number display is requested
Then Show the entry number value for the current element
R-GCX016-cbl-01445 Show Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Show Quantity Information' is invoked, and assuming that a status array element is being displayed, when quantity information display is requested, the desired outcome is that show all quantity values and related information for the current element.
💻 Technical Criteria
Given A status array element is being displayed
When Quantity information display is requested
Then Show all quantity values and related information for the current element
R-GCX016-cbl-01654 Retrieve Disposition Code from Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Disposition Code from Status Array' is invoked, and assuming that a status array entry exists in s09a, when the system needs to display disposition code information, the desired outcome is that the disposition code value is extracted from the status array entry.
💻 Technical Criteria
Given A status array entry exists in S09A
When The system needs to display disposition code information
Then The disposition code value is extracted from the status array entry
R-GCX016-cbl-01655 Access DC Table for Code Details
Action Rules
📊 Business Logic Narrative
When the process 'Access DC Table for Code Details' is invoked, and assuming that a disposition code value has been retrieved from status array, when the system needs code description information, the desired outcome is that the dc table is accessed using the disposition code as lookup key.
💻 Technical Criteria
Given A disposition code value has been retrieved from status array
When The system needs code description information
Then The DC table is accessed using the disposition code as lookup key
R-GCX016-cbl-01660 Format Code Number
Computation Rules
📊 Business Logic Narrative
When the process 'Format Code Number' is invoked, and assuming that a disposition code value is available, when the system prepares the code for display, the desired outcome is that the code number is formatted according to display standards.
💻 Technical Criteria
Given A disposition code value is available
When The system prepares the code for display
Then The code number is formatted according to display standards
R-GCX016-cbl-01682 Format Manifest Quantity for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Manifest Quantity for Display' is invoked, and assuming that a manifest quantity value exists and formatting is required, when quantity information is being prepared for display, the desired outcome is that the manifest quantity is formatted with appropriate decimal places and units.
💻 Technical Criteria
Given A manifest quantity value exists and formatting is required
When Quantity information is being prepared for display
Then The manifest quantity is formatted with appropriate decimal places and units
R-GCX016-cbl-01683 Format Released Quantity for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Released Quantity for Display' is invoked, and assuming that a released quantity value exists and formatting is required, when quantity information is being prepared for broker notification, the desired outcome is that the released quantity is formatted with appropriate decimal places and units.
💻 Technical Criteria
Given A released quantity value exists and formatting is required
When Quantity information is being prepared for broker notification
Then The released quantity is formatted with appropriate decimal places and units
R-GCX016-cbl-01685 Prepare Mismatch Report Fields
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Mismatch Report Fields' is invoked, and assuming that all quantity values have been formatted for display, when the mismatch report structure is being assembled, the desired outcome is that all formatted fields are organized into the appropriate report structure with proper field assignments.
💻 Technical Criteria
Given All quantity values have been formatted for display
When The mismatch report structure is being assembled
Then All formatted fields are organized into the appropriate report structure with proper field assignments
R-GCX016-cbl-01695 Set Release Quantity to Zero
Validation Rules
📊 Business Logic Narrative
When the process 'Set Release Quantity to Zero' is invoked, and assuming that a quantity subtraction would result in a negative value, when the system applies the zero quantity rule, the desired outcome is that the system should set the release quantity to zero to maintain data integrity.
💻 Technical Criteria
Given A quantity subtraction would result in a negative value
When The system applies the zero quantity rule
Then The system should set the release quantity to zero to maintain data integrity
R-GCX016-cbl-01707 Add Day Component
Computation Rules
📊 Business Logic Narrative
When the process 'Add Day Component' is invoked, and assuming that year start days and month days have been calculated and added, when the system processes the day component, the desired outcome is that the day value is added to complete the total days calculation for julian format.
💻 Technical Criteria
Given Year start days and month days have been calculated and added
When The system processes the day component
Then The day value is added to complete the total days calculation for Julian format
R-GCX016-cbl-01718 Set Default Date
Policy Rules
📊 Business Logic Narrative
When the process 'Set Default Date' is invoked, and assuming that the machine date is invalid or unavailable, when business processing requires a date value to continue, the desired outcome is that the system assigns a predetermined default date to ensure processing continuity.
💻 Technical Criteria
Given The machine date is invalid or unavailable
When Business processing requires a date value to continue
Then The system assigns a predetermined default date to ensure processing continuity
R-GCX016-cbl-01719 Initialize MQ Connection Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MQ Connection Parameters' is invoked, and assuming that the system needs to read messages from ims queues, when queue reading process is initiated, the desired outcome is that mq connection parameters are initialized with proper values for queue access.
💻 Technical Criteria
Given The system needs to read messages from IMS queues
When Queue reading process is initiated
Then MQ connection parameters are initialized with proper values for queue access
R-GCX016-cbl-01761 Initialize MQ Connection Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MQ Connection Parameters' is invoked, and assuming that system needs to establish mq connection, when mq connection process is initiated, the desired outcome is that connection parameters are initialized with default values.
💻 Technical Criteria
Given System needs to establish MQ connection
When MQ connection process is initiated
Then Connection parameters are initialized with default values
R-GCX016-cbl-01834 Create U1 Segment with In-Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Create U1 Segment with In-Bond Information' is invoked, and assuming that edi processing has been authorized to continue, when the system processes the validated shipment root, the desired outcome is that a u1 segment is created with appropriate in-bond information for the shipment.
💻 Technical Criteria
Given EDI processing has been authorized to continue
When The system processes the validated shipment root
Then A U1 segment is created with appropriate in-bond information for the shipment
R-GCX016-cbl-01841 Shiproot Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Shiproot Valid?' is invoked, and assuming that a shiproot record has been retrieved for validation, when the system evaluates shiproot validity, the desired outcome is that if shiproot is valid, proceed to retrieve in-bond information, otherwise handle shiproot error.
💻 Technical Criteria
Given A shiproot record has been retrieved for validation
When The system evaluates shiproot validity
Then If shiproot is valid, proceed to retrieve in-bond information, otherwise handle shiproot error
R-GCX016-cbl-01842 Retrieve In-Bond Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve In-Bond Information' is invoked, and assuming that a valid shiproot record exists, when the system needs to create u1 segment with in-bond information, the desired outcome is that the system should retrieve all required in-bond transportation details from the shipment record.
💻 Technical Criteria
Given A valid shiproot record exists
When The system needs to create U1 segment with in-bond information
Then The system should retrieve all required in-bond transportation details from the shipment record
R-GCX016-cbl-01843 Map CPRAIL Type Codes to EDI 309 Values
Computation Rules
📊 Business Logic Narrative
When the process 'Map CPRAIL Type Codes to EDI 309 Values' is invoked, and assuming that in-bond information contains cprail type codes, when the system processes type codes for u1 segment creation, the desired outcome is that the system should map each cprail type code to its corresponding edi 309 standard value using the type code translation table.
💻 Technical Criteria
Given In-bond information contains CPRAIL type codes
When The system processes type codes for U1 segment creation
Then The system should map each CPRAIL type code to its corresponding EDI 309 standard value using the type code translation table
R-GCX016-cbl-01844 Create U1 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Create U1 Segment Structure' is invoked, and assuming that mapped edi 309 values are available, when the system creates u1 segment structure, the desired outcome is that the system should initialize u1 segment with proper field structure and data formatting requirements.
💻 Technical Criteria
Given Mapped EDI 309 values are available
When The system creates U1 segment structure
Then The system should initialize U1 segment with proper field structure and data formatting requirements
R-GCX016-cbl-01845 Populate In-Bond Details
Process Rules
📊 Business Logic Narrative
When the process 'Populate In-Bond Details' is invoked, and assuming that u1 segment structure is created and in-bond information is available, when the system populates in-bond details into u1 segment, the desired outcome is that the system should populate all required in-bond fields including mapped type codes, transportation details, and reference information.
💻 Technical Criteria
Given U1 segment structure is created and in-bond information is available
When The system populates in-bond details into U1 segment
Then The system should populate all required in-bond fields including mapped type codes, transportation details, and reference information
R-GCX016-cbl-01846 Insert/Replace U1 Segment in Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert/Replace U1 Segment in Database' is invoked, and assuming that u1 segment is populated with in-bond details, when the system stores u1 segment in database, the desired outcome is that the system should insert new u1 segment if none exists or replace existing u1 segment with updated information.
💻 Technical Criteria
Given U1 segment is populated with in-bond details
When The system stores U1 segment in database
Then The system should insert new U1 segment if none exists or replace existing U1 segment with updated information
R-GCX016-cbl-01850 Validate In-bond Type Code Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate In-bond Type Code Format' is invoked, and assuming that an in-bond type code is received from cprail system, when the system validates the code format, the desired outcome is that the code is accepted if it meets format requirements, otherwise an invalid code error is triggered.
💻 Technical Criteria
Given An in-bond type code is received from CPRAIL system
When The system validates the code format
Then The code is accepted if it meets format requirements, otherwise an invalid code error is triggered
R-GCX016-cbl-01851 Lookup EDI 309 Mapping Table
Decision Rules
📊 Business Logic Narrative
When the process 'Lookup EDI 309 Mapping Table' is invoked, and assuming that a valid cprail in-bond type code is provided, when the system searches the edi 309 mapping table, the desired outcome is that if mapping is found, the edi 309 value is retrieved, otherwise a default value is used.
💻 Technical Criteria
Given A valid CPRAIL in-bond type code is provided
When The system searches the EDI 309 mapping table
Then If mapping is found, the EDI 309 value is retrieved, otherwise a default value is used
R-GCX016-cbl-01852 Convert CPRAIL Code to EDI 309 Value
Computation Rules
📊 Business Logic Narrative
When the process 'Convert CPRAIL Code to EDI 309 Value' is invoked, and assuming that a mapping exists between cprail code and edi 309 value, when the conversion process is executed, the desired outcome is that the cprail code is converted to the corresponding edi 309 value.
💻 Technical Criteria
Given A mapping exists between CPRAIL code and EDI 309 value
When The conversion process is executed
Then The CPRAIL code is converted to the corresponding EDI 309 value
R-GCX016-cbl-01853 Update U1 Segment with EDI 309 Code
Action Rules
📊 Business Logic Narrative
When the process 'Update U1 Segment with EDI 309 Code' is invoked, and assuming that an edi 309 code has been successfully converted from cprail format, when the u1 segment update is performed, the desired outcome is that the u1 segment contains the edi 309 in-bond type code for further processing.
💻 Technical Criteria
Given An EDI 309 code has been successfully converted from CPRAIL format
When The U1 segment update is performed
Then The U1 segment contains the EDI 309 in-bond type code for further processing
R-GCX016-cbl-01854 Set Default EDI 309 Value
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default EDI 309 Value' is invoked, and assuming that no mapping exists for the provided cprail in-bond type code, when the mapping lookup fails, the desired outcome is that a default edi 309 value is assigned and a mapping error is logged.
💻 Technical Criteria
Given No mapping exists for the provided CPRAIL in-bond type code
When The mapping lookup fails
Then A default EDI 309 value is assigned and a mapping error is logged
R-GCX016-cbl-01856 Log Mapping Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Mapping Error' is invoked, and assuming that no mapping exists for the cprail in-bond type code, when a default value is assigned due to mapping failure, the desired outcome is that an error log entry is created documenting the mapping failure.
💻 Technical Criteria
Given No mapping exists for the CPRAIL in-bond type code
When A default value is assigned due to mapping failure
Then An error log entry is created documenting the mapping failure
R-GCX016-cbl-01889 Initialize New Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize New Segment' is invoked, and assuming that an insert operation is being performed, when the system initializes a new segment, the desired outcome is that the system sets default values and prepares segment data before executing database call.
💻 Technical Criteria
Given An insert operation is being performed
When The system initializes a new segment
Then The system sets default values and prepares segment data before executing database call
R-GCX016-cbl-01890 Set Default Values
Process Rules
📊 Business Logic Narrative
When the process 'Set Default Values' is invoked, and assuming that a new segment is being initialized for insert, when the system sets default values, the desired outcome is that the system prepares segment data with appropriate default values before database insertion.
💻 Technical Criteria
Given A new segment is being initialized for insert
When The system sets default values
Then The system prepares segment data with appropriate default values before database insertion
R-GCX016-cbl-01947 Initialize Transmission Control Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Transmission Control Parameters' is invoked, and assuming that a new edi transmission needs to be created, when the system begins transmission root segment creation process, the desired outcome is that all transmission control parameters are initialized to default values and prepared for message processing.
💻 Technical Criteria
Given A new EDI transmission needs to be created
When The system begins transmission root segment creation process
Then All transmission control parameters are initialized to default values and prepared for message processing
R-GCX016-cbl-01962 Initialize Dependent Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Dependent Segment Structure' is invoked, and assuming that a transmission dependent segment creation process is initiated, when the system begins creating dependent segments, the desired outcome is that the dependent segment structure must be initialized with default values and cleared of any previous data.
💻 Technical Criteria
Given A transmission dependent segment creation process is initiated
When The system begins creating dependent segments
Then The dependent segment structure must be initialized with default values and cleared of any previous data
R-GCX016-cbl-04151 Initialize EDI Message Copy Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EDI Message Copy Variables' is invoked, and assuming that kcsm processing is required for the current message, when the system begins edi message copy creation process, the desired outcome is that all edi message copy variables, counters, and data structures are initialized to their default values.
💻 Technical Criteria
Given KCSM processing is required for the current message
When The system begins EDI message copy creation process
Then All EDI message copy variables, counters, and data structures are initialized to their default values
R-GCX016-cbl-04152 Copy Original EDI Message Header
Process Rules
📊 Business Logic Narrative
When the process 'Copy Original EDI Message Header' is invoked, and assuming that an original edi 350 message with header information, when the system creates a copy for kcsm transmission, the desired outcome is that the original message header data is copied exactly to the transmission copy maintaining all header fields and values.
💻 Technical Criteria
Given An original EDI 350 message with header information
When The system creates a copy for KCSM transmission
Then The original message header data is copied exactly to the transmission copy maintaining all header fields and values
R-GCX016-cbl-02259 Initialize Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Transmission Parameters' is invoked, and assuming that a new kcsm transmission is being created, when the system begins transmission root segment creation process, the desired outcome is that all transmission parameters are initialized to default values and system is ready for parameter setting.
💻 Technical Criteria
Given A new KCSM transmission is being created
When The system begins transmission root segment creation process
Then All transmission parameters are initialized to default values and system is ready for parameter setting
R-GCX016-cbl-02274 Initialize Dependent Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Dependent Segment Structure' is invoked, and assuming that edi 350 message data has been retrieved, when the system begins creating dependent segments, the desired outcome is that the system initializes the a9dp dependent segment structure with default values and prepares it for data population.
💻 Technical Criteria
Given EDI 350 message data has been retrieved
When The system begins creating dependent segments
Then The system initializes the A9DP dependent segment structure with default values and prepares it for data population
R-GCX016-cbl-02305 Validate Bond Number Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Bond Number Format' is invoked, and assuming that a bond control number has been extracted from the x4 segment, when the system validates the bond number format, the desired outcome is that the bond number must be non-blank and meet format requirements to proceed with processing.
💻 Technical Criteria
Given A bond control number has been extracted from the X4 segment
When The system validates the bond number format
Then The bond number must be non-blank and meet format requirements to proceed with processing
R-GCX016-cbl-02306 Set Bond Processing Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Bond Processing Flag' is invoked, and assuming that a valid bond control number has been identified, when the system prepares for bond-based processing, the desired outcome is that the bond processing flag is set to enable group processing mode.
💻 Technical Criteria
Given A valid bond control number has been identified
When The system prepares for bond-based processing
Then The bond processing flag is set to enable group processing mode
R-GCX016-cbl-02320 Log Bond Validation Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Bond Validation Error' is invoked, and assuming that bond number validation has failed, when the system handles the validation error, the desired outcome is that an error log entry is created documenting the invalid bond number and validation failure reason.
💻 Technical Criteria
Given Bond number validation has failed
When The system handles the validation error
Then An error log entry is created documenting the invalid bond number and validation failure reason
R-GCX016-cbl-02321 Generate Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Generate Error Message' is invoked, and assuming that a bond validation error has been logged, when the system generates error notifications, the desired outcome is that an error message is created indicating bond number validation failure and appropriate corrective actions.
💻 Technical Criteria
Given A bond validation error has been logged
When The system generates error notifications
Then An error message is created indicating bond number validation failure and appropriate corrective actions
R-GCX016-cbl-02322 Skip Bond Processing
Process Rules
📊 Business Logic Narrative
When the process 'Skip Bond Processing' is invoked, and assuming that bond number validation has failed and error messages have been generated, when the system determines next processing steps, the desired outcome is that bond processing is skipped and the system continues with other available processing options.
💻 Technical Criteria
Given Bond number validation has failed and error messages have been generated
When The system determines next processing steps
Then Bond processing is skipped and the system continues with other available processing options
R-GCX016-cbl-02342 Log Bond Validation Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Bond Validation Error', assuming that bond validation fails due to missing bond number or bond not found in system, when the system encounters bond validation failure, the desired outcome is that log bond validation error with appropriate error details and skip bond-based processing.
💻 Technical Criteria
EXCLUDING Bond validation fails due to missing bond number or bond not found in system
When The system encounters bond validation failure
Then Log bond validation error with appropriate error details and skip bond-based processing
R-GCX016-cbl-02344 Log Invalid Bond Format Error
Action Rules
📊 Business Logic Narrative
When the process 'Log Invalid Bond Format Error' is invoked, and assuming that bond control number is present but format validation fails, when the system validates bond number format, the desired outcome is that log invalid bond format error and skip bond-based processing.
💻 Technical Criteria
Given Bond control number is present but format validation fails
When The system validates bond number format
Then Log invalid bond format error and skip bond-based processing
R-GCX016-cbl-02390 Validate Disposition Code 95
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Disposition Code 95' is invoked, and assuming that an x4 segment is received with a disposition code, when the disposition code is evaluated for bond clearing eligibility, the desired outcome is that the system validates the code is '95' and proceeds with bond clearing or rejects invalid codes.
💻 Technical Criteria
Given An X4 segment is received with a disposition code
When The disposition code is evaluated for bond clearing eligibility
Then The system validates the code is '95' and proceeds with bond clearing or rejects invalid codes
R-GCX016-cbl-02397 Error: Invalid Disposition Code
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Error: Invalid Disposition Code', assuming that an x4 segment is received with a disposition code, when the disposition code is not '95' or is improperly formatted, the desired outcome is that an error is generated and the transaction continues with standard processing without bond clearing.
💻 Technical Criteria
EXCLUDING An X4 segment is received with a disposition code
When The disposition code is not '95' or is improperly formatted
Then An error is generated and the transaction continues with standard processing without bond clearing
R-GCX016-cbl-02398 Border Entry Processing Type Code '00'
Decision Rules
📊 Business Logic Narrative
When the process 'Border Entry Processing Type Code '00'' is invoked, and assuming that an edi entry type code is received from x4 segment, when the entry type code value is '00', the desired outcome is that the system should clear bond information and process as border entry.
💻 Technical Criteria
Given An EDI entry type code is received from X4 segment
When The entry type code value is '00'
Then The system should clear bond information and process as border entry
R-GCX016-cbl-02399 Master In-Bond Entry Types 61, 62, 63, 69
Decision Rules
📊 Business Logic Narrative
When the process 'Master In-Bond Entry Types 61, 62, 63, 69' is invoked, and assuming that an edi entry type code is received from x4 segment, when the entry type code value is '61', '62', '63', or '69', the desired outcome is that the system should process as master in-bond entry and map to appropriate transport type.
💻 Technical Criteria
Given An EDI entry type code is received from X4 segment
When The entry type code value is '61', '62', '63', or '69'
Then The system should process as master in-bond entry and map to appropriate transport type
R-GCX016-cbl-02400 Standard In-Bond Entry Other Type Codes
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Standard In-Bond Entry Other Type Codes', assuming that an edi entry type code is received from x4 segment, when the entry type code value is not '00', '61', '62', '63', or '69', the desired outcome is that the system should process as standard in-bond entry.
💻 Technical Criteria
EXCLUDING An EDI entry type code is received from X4 segment
When The entry type code value is not '00', '61', '62', '63', or '69'
Then The system should process as standard in-bond entry
R-GCX016-cbl-02401 Map to Transport Type for Master In-Bond
Definitional Rules
📊 Business Logic Narrative
When the process 'Map to Transport Type for Master In-Bond' is invoked, and assuming that a master in-bond entry type code ('61', '62', '63', or '69') is being processed, when the system maps the edi code to transport type, the desired outcome is that entry type '61' maps to immediate transport, '62' maps to transport for export, '63' maps to immediate export, '69' maps to us-canada-us movement.
💻 Technical Criteria
Given A master in-bond entry type code ('61', '62', '63', or '69') is being processed
When The system maps the EDI code to transport type
Then Entry type '61' maps to immediate transport, '62' maps to transport for export, '63' maps to immediate export, '69' maps to US-Canada-US movement
R-GCX016-cbl-02402 Convert EDI Code to Internal CPRAIL Value
Computation Rules
📊 Business Logic Narrative
When the process 'Convert EDI Code to Internal CPRAIL Value' is invoked, and assuming that an edi entry type code has been received and categorized, when the system converts the edi code to internal format, the desired outcome is that the edi code should be mapped to the corresponding internal cprail value.
💻 Technical Criteria
Given An EDI entry type code has been received and categorized
When The system converts the EDI code to internal format
Then The EDI code should be mapped to the corresponding internal CPRAIL value
R-GCX016-cbl-02424 Map Entry Type to Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Entry Type to Transport Type' is invoked, and assuming that a validated entry type code for master in-bond processing, when the entry type requires transport type determination, the desired outcome is that map entry type 61 to immediate transport, 62 to transport export, 63 to immediate export, and 69 to us-canada-us movement.
💻 Technical Criteria
Given A validated entry type code for master in-bond processing
When The entry type requires transport type determination
Then Map entry type 61 to immediate transport, 62 to transport export, 63 to immediate export, and 69 to US-Canada-US movement
R-GCX016-cbl-02452 Bond Number Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Bond Number Present?' is invoked, and assuming that an x4 segment has been processed for bond number extraction, when the system checks for the presence of a bond control number, the desired outcome is that processing continues to bond validation if bond number exists, otherwise bond number error processing is triggered.
💻 Technical Criteria
Given An X4 segment has been processed for bond number extraction
When The system checks for the presence of a bond control number
Then Processing continues to bond validation if bond number exists, otherwise bond number error processing is triggered
R-GCX016-cbl-02462 Log Bond Processing Results
Action Rules
📊 Business Logic Narrative
When the process 'Log Bond Processing Results' is invoked, and assuming that bond processing messages have been generated, when the system logs the bond processing results, the desired outcome is that all bond processing activities and results are recorded in the system logs for audit trail purposes.
💻 Technical Criteria
Given Bond processing messages have been generated
When The system logs the bond processing results
Then All bond processing activities and results are recorded in the system logs for audit trail purposes
R-GCX016-cbl-02463 Generate Bond Number Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Bond Number Error Message' is invoked, and assuming that bond number validation has failed or no bond number is present, when the system generates an error message for the bond number issue, the desired outcome is that an appropriate error message is created indicating the specific bond number validation failure.
💻 Technical Criteria
Given Bond number validation has failed or no bond number is present
When The system generates an error message for the bond number issue
Then An appropriate error message is created indicating the specific bond number validation failure
R-GCX016-cbl-02643 Set Quantity Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Information' is invoked, and assuming that a status array element contains quantity information, when building the s09 segment, the desired outcome is that copy the quantity values from the array element to the s09 segment quantity fields.
💻 Technical Criteria
Given A status array element contains quantity information
When Building the S09 segment
Then Copy the quantity values from the array element to the S09 segment quantity fields
R-GCX016-cbl-02743 Check Disposition Code Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Match' is invoked, and assuming that a disposition code from the status array element and a new disposition code to be added, when the system compares the disposition code values, the desired outcome is that if the disposition codes match then proceed to check entry number match else continue searching the next array element.
💻 Technical Criteria
Given A disposition code from the status array element AND a new disposition code to be added
When The system compares the disposition code values
Then IF the disposition codes match THEN proceed to check entry number match ELSE continue searching the next array element
R-GCX016-cbl-02744 Check Entry Number Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entry Number Match' is invoked, and assuming that an entry number from the status array element and an entry number from the new disposition code, when the system compares the entry number values after disposition code match is confirmed, the desired outcome is that if the entry numbers match then proceed to check quantity match else continue searching for duplicates in remaining array elements.
💻 Technical Criteria
Given An entry number from the status array element AND an entry number from the new disposition code
When The system compares the entry number values after disposition code match is confirmed
Then IF the entry numbers match THEN proceed to check quantity match ELSE continue searching for duplicates in remaining array elements
R-GCX016-cbl-02745 Check Quantity Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Quantity Match' is invoked, and assuming that a quantity value from the status array element and a quantity value from the new disposition code, when the system compares the quantity values after both disposition code and entry number matches are confirmed, the desired outcome is that if the quantities match then mark as exact duplicate found else continue processing as non-duplicate entry.
💻 Technical Criteria
Given A quantity value from the status array element AND a quantity value from the new disposition code
When The system compares the quantity values after both disposition code and entry number matches are confirmed
Then IF the quantities match THEN mark as exact duplicate found ELSE continue processing as non-duplicate entry
R-GCX016-cbl-02746 Skip Processing - Duplicate Exists
Process Rules
📊 Business Logic Narrative
When the process 'Skip Processing - Duplicate Exists' is invoked, and assuming that an exact duplicate disposition code entry is found in the status array with matching disposition code and entry number and quantity, when the duplicate validation process confirms all three values match an existing array entry, the desired outcome is that skip adding the disposition code to the array and proceed to log the duplicate prevention action.
💻 Technical Criteria
Given An exact duplicate disposition code entry is found in the status array with matching disposition code AND entry number AND quantity
When The duplicate validation process confirms all three values match an existing array entry
Then Skip adding the disposition code to the array AND proceed to log the duplicate prevention action
R-GCX016-cbl-02810 Get Disposition Code Quantity
Action Rules
📊 Business Logic Narrative
When the process 'Get Disposition Code Quantity' is invoked, and assuming that a disposition code with quantity action instructions, when the system needs to perform quantity calculations, the desired outcome is that the system extracts the quantity value from the disposition code message.
💻 Technical Criteria
Given A disposition code with quantity action instructions
When The system needs to perform quantity calculations
Then The system extracts the quantity value from the disposition code message
R-GCX016-cbl-02811 Quantity Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Action Type?' is invoked, and assuming that a disposition code with quantity action and extracted quantity value, when the system evaluates the quantity action type, the desired outcome is that the system determines if the action is add_quantity or subtract_quantity.
💻 Technical Criteria
Given A disposition code with quantity action and extracted quantity value
When The system evaluates the quantity action type
Then The system determines if the action is ADD_QUANTITY or SUBTRACT_QUANTITY
R-GCX016-cbl-02815 Set Release Quantity to Zero
Validation Rules
📊 Business Logic Narrative
When the process 'Set Release Quantity to Zero' is invoked, and assuming that a quantity calculation that would result in a negative release quantity, when the system detects the negative result condition, the desired outcome is that the system sets the release quantity to zero to prevent negative values.
💻 Technical Criteria
Given A quantity calculation that would result in a negative release quantity
When The system detects the negative result condition
Then The system sets the release quantity to zero to prevent negative values
R-GCX016-cbl-02816 Update Release Quantity
Action Rules
📊 Business Logic Narrative
When the process 'Update Release Quantity' is invoked, and assuming that a calculated release quantity that is valid and non-negative, when the quantity calculation is complete and validated, the desired outcome is that the system updates the release quantity with the calculated value.
💻 Technical Criteria
Given A calculated release quantity that is valid and non-negative
When The quantity calculation is complete and validated
Then The system updates the release quantity with the calculated value
R-GCX016-cbl-02963 Status Code Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Code Found?' is invoked, and assuming that an s09a array element is being examined, when the system checks for status code presence, the desired outcome is that if status code is not spaces and not low-values, proceed with analysis, otherwise skip to next element.
💻 Technical Criteria
Given An S09A array element is being examined
When The system checks for status code presence
Then If status code is not spaces and not low-values, proceed with analysis, otherwise skip to next element
R-GCX016-cbl-02967 Border or Destination Hold?
Decision Rules
📊 Business Logic Narrative
When the process 'Border or Destination Hold?' is invoked, and assuming that a hold status code has been identified, when the system determines the hold location, the desired outcome is that the hold is classified as either border hold or destination hold based on the specific code value.
💻 Technical Criteria
Given A hold status code has been identified
When The system determines the hold location
Then The hold is classified as either border hold or destination hold based on the specific code value
R-GCX016-cbl-03084 Update Bond Dates
Process Rules
📊 Business Logic Narrative
When the process 'Update Bond Dates' is invoked, and assuming that new destination index parameters are being calculated and bond information is available, when the system updates bond dates, the desired outcome is that bond dates are updated based on current bond status and regulatory requirements.
💻 Technical Criteria
Given New destination index parameters are being calculated AND bond information is available
When The system updates bond dates
Then Bond dates are updated based on current bond status and regulatory requirements
R-GCX016-cbl-03176 Information Code Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Information Code Processing' is invoked, and assuming that a status array element is being processed, when the disposition code type is an information code, the desired outcome is that the existing released flag value must be preserved without change.
💻 Technical Criteria
Given A status array element is being processed
When The disposition code type is an information code
Then The existing released flag value must be preserved without change
R-GCX016-cbl-03177 Released Flag Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Released Flag Required?' is invoked, and assuming that a disposition code is being processed for a status array element, when the system evaluates if a released flag is required, the desired outcome is that if required, set released flag to 'y', otherwise preserve existing flag value.
💻 Technical Criteria
Given A disposition code is being processed for a status array element
When The system evaluates if a released flag is required
Then If required, set released flag to 'Y', otherwise preserve existing flag value
R-GCX016-cbl-03181 Update Status Array Element
Process Rules
📊 Business Logic Narrative
When the process 'Update Status Array Element' is invoked, and assuming that flag validation has passed for a status array element, when the status array element is ready for update, the desired outcome is that the element must be updated with new flag values and disposition code information.
💻 Technical Criteria
Given Flag validation has passed for a status array element
When The status array element is ready for update
Then The element must be updated with new flag values and disposition code information
R-GCX016-cbl-03191 Set DC-STATUS-INFO-CD
Action Rules
📊 Business Logic Narrative
When the process 'Set DC-STATUS-INFO-CD' is invoked, and assuming that a status information entry is being populated in the s09a array, when the system sets the dc-status-info-cd field, the desired outcome is that the system assigns the current disposition code value to the status information code field.
💻 Technical Criteria
Given A status information entry is being populated in the S09A array
When The system sets the DC-STATUS-INFO-CD field
Then The system assigns the current disposition code value to the status information code field
R-GCX016-cbl-03245 Extract PTT Quantity Information
Validation Rules
📊 Business Logic Narrative
When the process 'Extract PTT Quantity Information' is invoked, and assuming that ptt codes exist in the status array, when the system extracts ptt information, the desired outcome is that ptt quantity values are retrieved from the status array entries.
💻 Technical Criteria
Given PTT codes exist in the status array
When The system extracts PTT information
Then PTT quantity values are retrieved from the status array entries
R-GCX016-cbl-03249 Update PTT Quantity in Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Update PTT Quantity in Status Array' is invoked, and assuming that ptt status flag has been set, when the system updates ptt quantities, the desired outcome is that the status array is updated with current ptt quantity values.
💻 Technical Criteria
Given PTT status flag has been set
When The system updates PTT quantities
Then The status array is updated with current PTT quantity values
R-GCX016-cbl-03259 Released Qty < Total Qty?
Decision Rules
📊 Business Logic Narrative
When the process 'Released Qty < Total Qty?' is invoked, and assuming that released quantity and total quantity values are available for comparison, when the released quantity is less than the total quantity, the desired outcome is that the system identifies this as a partial release scenario requiring hold processing.
💻 Technical Criteria
Given Released quantity and total quantity values are available for comparison
When The released quantity is less than the total quantity
Then The system identifies this as a partial release scenario requiring hold processing
R-GCX016-cbl-03308 Calculate Age in Days
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Age in Days' is invoked, and assuming that both current date and bond start date are in julian format, when age calculation is performed, the desired outcome is that age in days equals current julian date minus bond start julian date.
💻 Technical Criteria
Given Both current date and bond start date are in Julian format
When Age calculation is performed
Then Age in days equals current Julian date minus bond start Julian date
R-GCX016-cbl-03309 Age Calculation Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Age Calculation Valid?' is invoked, and assuming that an age calculation has been performed, when the calculated age value is evaluated, the desired outcome is that if age is valid and within business parameters, use calculated value, otherwise log error and use default.
💻 Technical Criteria
Given An age calculation has been performed
When The calculated age value is evaluated
Then If age is valid and within business parameters, use calculated value, otherwise log error and use default
R-GCX016-cbl-03351 Apply Special Broker Bond Formatting
Process Rules
📊 Business Logic Narrative
When the process 'Apply Special Broker Bond Formatting' is invoked, and assuming that a release message has been identified as a broker bond message type, when the system applies special broker bond formatting, the desired outcome is that the system formats the message using broker bond specific layout rules and includes required bond-related information.
💻 Technical Criteria
Given A release message has been identified as a broker bond message type
When The system applies special broker bond formatting
Then The system formats the message using broker bond specific layout rules and includes required bond-related information
R-GCX016-cbl-03359 Export Operation Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Operation Type?' is invoked, and assuming that an export message generation request is received, when the system evaluates the export operation type flag, the desired outcome is that the system routes to either standard export processing or export cancellation processing based on the flag value.
💻 Technical Criteria
Given An export message generation request is received
When The system evaluates the export operation type flag
Then The system routes to either standard export processing or export cancellation processing based on the flag value
R-GCX016-cbl-03404 Clear Bond Information for Border Entry
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information for Border Entry' is invoked, and assuming that entry type is border entry (00), when processing bond requirements, the desired outcome is that clear bond control number and related bond fields as border entries do not require customs bonding.
💻 Technical Criteria
Given Entry type is border entry (00)
When Processing bond requirements
Then Clear bond control number and related bond fields as border entries do not require customs bonding
R-GCX016-cbl-03462 Detect Broker-Created Bond Pattern
Decision Rules
📊 Business Logic Narrative
When the process 'Detect Broker-Created Bond Pattern' is invoked, and assuming that a message is being processed with disposition code and entry information, when the disposition code is '95' and entry type is in ('61', '62', '63', '69'), the desired outcome is that the system identifies this as a broker-created bond message requiring special handling.
💻 Technical Criteria
Given A message is being processed with disposition code and entry information
When The disposition code is '95' and entry type is in ('61', '62', '63', '69')
Then The system identifies this as a broker-created bond message requiring special handling
R-GCX016-cbl-03463 Apply Special Bond Message Formatting
Process Rules
📊 Business Logic Narrative
When the process 'Apply Special Bond Message Formatting' is invoked, and assuming that a broker-created bond message has been identified, when the system formats the message for broker notification, the desired outcome is that the system applies special bond message formatting including bond control information and broker entity details.
💻 Technical Criteria
Given A broker-created bond message has been identified
When The system formats the message for broker notification
Then The system applies special bond message formatting including bond control information and broker entity details
R-GCX016-cbl-03464 Include Bond Control Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Bond Control Information' is invoked, and assuming that a broker bond message is being formatted, when the system prepares the message content, the desired outcome is that the system includes bond control number, entry number, and related bond identifiers in the message.
💻 Technical Criteria
Given A broker bond message is being formatted
When The system prepares the message content
Then The system includes bond control number, entry number, and related bond identifiers in the message
R-GCX016-cbl-03466 Format Disposition Code Information
Process Rules
📊 Business Logic Narrative
When the process 'Format Disposition Code Information' is invoked, and assuming that a broker bond message contains disposition code information, when the system formats the disposition code for the message, the desired outcome is that the system includes disposition code, description, and related customs information in the broker message.
💻 Technical Criteria
Given A broker bond message contains disposition code information
When The system formats the disposition code for the message
Then The system includes disposition code, description, and related customs information in the broker message
R-GCX016-cbl-03468 Add K1 Comment Segments
Process Rules
📊 Business Logic Narrative
When the process 'Add K1 Comment Segments' is invoked, and assuming that a broker bond message has associated k1 comment segments, when the system processes k1 segments for the message, the desired outcome is that the system includes k1 remarks and special comments in the broker notification message.
💻 Technical Criteria
Given A broker bond message has associated K1 comment segments
When The system processes K1 segments for the message
Then The system includes K1 remarks and special comments in the broker notification message
R-GCX016-cbl-03469 Set Special Routing Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Set Special Routing Parameters' is invoked, and assuming that a broker bond message requires routing configuration, when the system determines routing parameters, the desired outcome is that the system sets special routing parameters including broker notification preferences and delivery methods.
💻 Technical Criteria
Given A broker bond message requires routing configuration
When The system determines routing parameters
Then The system sets special routing parameters including broker notification preferences and delivery methods
R-GCX016-cbl-03470 Route to Broker Notification System
Action Rules
📊 Business Logic Narrative
When the process 'Route to Broker Notification System' is invoked, and assuming that a broker bond message is formatted and ready for delivery, when the system routes the message, the desired outcome is that the system sends the message to the broker notification system using configured delivery methods (email or merlin).
💻 Technical Criteria
Given A broker bond message is formatted and ready for delivery
When The system routes the message
Then The system sends the message to the broker notification system using configured delivery methods (email or Merlin)
R-GCX016-cbl-03471 Log Broker Bond Transaction
Policy Rules
📊 Business Logic Narrative
When the process 'Log Broker Bond Transaction' is invoked, and assuming that a broker bond message has been processed and routed, when the system completes the transaction, the desired outcome is that the system logs the broker bond transaction with timestamp, message details, and routing information for audit purposes.
💻 Technical Criteria
Given A broker bond message has been processed and routed
When The system completes the transaction
Then The system logs the broker bond transaction with timestamp, message details, and routing information for audit purposes
R-GCX016-cbl-03477 Save Original Status Values
Process Rules
📊 Business Logic Narrative
When the process 'Save Original Status Values' is invoked, and assuming that status array has been loaded or created, when complex status transitions may require restoration of original values, the desired outcome is that original ptt status, hold location information, and release quantities are saved to working storage.
💻 Technical Criteria
Given Status array has been loaded or created
When Complex status transitions may require restoration of original values
Then Original PTT status, hold location information, and release quantities are saved to working storage
R-GCX016-cbl-03481 Preserve Original Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Preserve Original Status?' is invoked, and assuming that new status requirements have been analyzed, when the system evaluates preservation rules, the desired outcome is that if preservation is required, saved status values are restored, otherwise new status changes are applied.
💻 Technical Criteria
Given New status requirements have been analyzed
When The system evaluates preservation rules
Then If preservation is required, saved status values are restored, otherwise new status changes are applied
R-GCX016-cbl-03482 Restore Saved Status Values
Process Rules
📊 Business Logic Narrative
When the process 'Restore Saved Status Values' is invoked, and assuming that status preservation is required and original values were saved, when status restoration is triggered, the desired outcome is that original ptt status, hold information, and release quantities are restored from working storage.
💻 Technical Criteria
Given Status preservation is required and original values were saved
When Status restoration is triggered
Then Original PTT status, hold information, and release quantities are restored from working storage
R-GCX016-cbl-03490 Restore Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Restore Required?' is invoked, and assuming that status transition processing has been completed, when the system evaluates restoration requirements, the desired outcome is that if restoration is needed, preserved values are restored, otherwise status validation proceeds.
💻 Technical Criteria
Given Status transition processing has been completed
When The system evaluates restoration requirements
Then If restoration is needed, preserved values are restored, otherwise status validation proceeds
R-GCX016-cbl-03568 Identify Bond Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Identify Bond Message Type' is invoked, and assuming that a message from canadian pacific entity is being processed, when the system evaluates disposition codes for bond creation indicators, the desired outcome is that the system identifies broker-created bond messages when disposition codes are '1j', '69', or '55' indicating master in-bond processing.
💻 Technical Criteria
Given A message from Canadian Pacific entity is being processed
When The system evaluates disposition codes for bond creation indicators
Then The system identifies broker-created bond messages when disposition codes are '1J', '69', or '55' indicating master in-bond processing
R-GCX016-cbl-03569 Extract Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Bond Information' is invoked, and assuming that a broker-created bond message from canadian pacific is identified, when the system processes the x4 segment containing bond information, the desired outcome is that the system extracts entry numbers, bond control numbers, and entry type codes for bond processing.
💻 Technical Criteria
Given A broker-created bond message from Canadian Pacific is identified
When The system processes the X4 segment containing bond information
Then The system extracts entry numbers, bond control numbers, and entry type codes for bond processing
R-GCX016-cbl-03571 Include Bond Control Numbers
Definitional Rules
📊 Business Logic Narrative
When the process 'Include Bond Control Numbers' is invoked, and assuming that a broker bond message contains entry type codes, when the system processes entry type codes '61', '62', '63', '69', or '00', the desired outcome is that the system translates codes to immediate transport, transport export, immediate export, us-canada-us movement, or default border processing respectively.
💻 Technical Criteria
Given A broker bond message contains entry type codes
When The system processes entry type codes '61', '62', '63', '69', or '00'
Then The system translates codes to immediate transport, transport export, immediate export, US-Canada-US movement, or default border processing respectively
R-GCX016-cbl-03572 Add Broker Entry Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Broker Entry Information' is invoked, and assuming that a bond message contains k1 segment with broker information, when the system processes broker details for bond entries, the desired outcome is that the system extracts broker information, validates broker codes, and associates broker details with the bond entry for notification purposes.
💻 Technical Criteria
Given A bond message contains K1 segment with broker information
When The system processes broker details for bond entries
Then The system extracts broker information, validates broker codes, and associates broker details with the bond entry for notification purposes
R-GCX016-cbl-03573 Set Special Message Routing
Action Rules
📊 Business Logic Narrative
When the process 'Set Special Message Routing' is invoked, and assuming that a formatted canadian pacific bond message is ready for routing, when the system determines message routing based on message type and broker configuration, the desired outcome is that the system routes error messages to both 'in' and 'userr' destinations, and routes other bond messages to station-specific merlin ids.
💻 Technical Criteria
Given A formatted Canadian Pacific bond message is ready for routing
When The system determines message routing based on message type and broker configuration
Then The system routes ERROR messages to both 'IN' and 'USERR' destinations, and routes other bond messages to station-specific Merlin IDs
R-GCX016-cbl-03574 Complete Bond Message Formatting
Process Rules
📊 Business Logic Narrative
When the process 'Complete Bond Message Formatting' is invoked, and assuming that a bond message contains entry number information, when the system processes entry numbers with 'v' prefix or other formats, the desired outcome is that the system places v-prefixed entry numbers in the entry number field and places other formats in the in-bond control number field.
💻 Technical Criteria
Given A bond message contains entry number information
When The system processes entry numbers with 'V' prefix or other formats
Then The system places V-prefixed entry numbers in the entry number field and places other formats in the in-bond control number field
R-GCX016-cbl-03695 Initialize Message Header Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize Message Header Fields' is invoked, and assuming that report working fields have been cleared, when message header initialization is performed, the desired outcome is that message header fields are set with standard merlin format values.
💻 Technical Criteria
Given Report working fields have been cleared
When Message header initialization is performed
Then Message header fields are set with standard Merlin format values
R-GCX016-cbl-03730 Initialize Message Array Entry
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Array Entry' is invoked, and assuming that a train segment requires array storage, when a new message array entry is needed, the desired outcome is that system initializes array entry with proper structure and default values.
💻 Technical Criteria
Given A train segment requires array storage
When A new message array entry is needed
Then System initializes array entry with proper structure and default values
R-GCX016-cbl-03736 Initialize MQ Connection Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MQ Connection Parameters' is invoked, and assuming that mq connection management process is starting, when system initializes connection parameters, the desired outcome is that all mq connection parameters are set to default values and connection variables are cleared.
💻 Technical Criteria
Given MQ connection management process is starting
When system initializes connection parameters
Then all MQ connection parameters are set to default values and connection variables are cleared
R-GCX016-cbl-03812 Retrieve In-Bond Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve In-Bond Information' is invoked, and assuming that a valid shipment root record exists, when the system processes u1 segment creation, the desired outcome is that the system should retrieve all relevant in-bond information from the shipment record for u1 population.
💻 Technical Criteria
Given A valid shipment root record exists
When The system processes U1 segment creation
Then The system should retrieve all relevant in-bond information from the shipment record for U1 population
R-GCX016-cbl-03813 Convert CPRAIL Type Codes to EDI 309 Values
Computation Rules
📊 Business Logic Narrative
When the process 'Convert CPRAIL Type Codes to EDI 309 Values' is invoked, and assuming that in-bond information contains cprail type codes, when the system creates u1 segment structure, the desired outcome is that the system should convert cprail type codes to corresponding edi 309 standard values using the type code mapping table.
💻 Technical Criteria
Given In-bond information contains CPRAIL type codes
When The system creates U1 segment structure
Then The system should convert CPRAIL type codes to corresponding EDI 309 standard values using the type code mapping table
R-GCX016-cbl-03814 Create U1 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Create U1 Segment Structure' is invoked, and assuming that in-bond information has been retrieved and type codes converted, when the system processes u1 segment creation, the desired outcome is that the system should create a properly formatted u1 segment structure with all required fields initialized.
💻 Technical Criteria
Given In-bond information has been retrieved and type codes converted
When The system processes U1 segment creation
Then The system should create a properly formatted U1 segment structure with all required fields initialized
R-GCX016-cbl-03815 Populate In-Bond Details
Process Rules
📊 Business Logic Narrative
When the process 'Populate In-Bond Details' is invoked, and assuming that a u1 segment structure has been created, when the system populates in-bond details, the desired outcome is that the system should populate all in-bond fields including bond numbers, entry types, broker information, and customs data into the u1 segment.
💻 Technical Criteria
Given A U1 segment structure has been created
When The system populates in-bond details
Then The system should populate all in-bond fields including bond numbers, entry types, broker information, and customs data into the U1 segment
R-GCX016-cbl-03816 Insert U1 Segment into Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert U1 Segment into Database' is invoked, and assuming that a u1 segment has been populated with in-bond details, when the system attempts to store the u1 segment, the desired outcome is that the system should insert the u1 segment into the database and return success or failure status.
💻 Technical Criteria
Given A U1 segment has been populated with in-bond details
When The system attempts to store the U1 segment
Then The system should insert the U1 segment into the database and return success or failure status
R-GCX016-cbl-03820 Access In-Bond Type Code Lookup Table
Action Rules
📊 Business Logic Narrative
When the process 'Access In-Bond Type Code Lookup Table' is invoked, and assuming that a cprail in-bond type code is received for conversion, when the system accesses the gcstbrt ims segment lookup table, the desired outcome is that the lookup table is made available for code conversion processing.
💻 Technical Criteria
Given A CPRAIL in-bond type code is received for conversion
When The system accesses the GCSTBRT IMS segment lookup table
Then The lookup table is made available for code conversion processing
R-GCX016-cbl-03821 CPRAIL Code Found in Table?
Validation Rules
📊 Business Logic Narrative
When the process 'CPRAIL Code Found in Table?' is invoked, and assuming that a cprail in-bond type code and access to the lookup table, when the system searches for the cprail code in the lookup table, the desired outcome is that the system determines if the code exists and sets appropriate processing path.
💻 Technical Criteria
Given A CPRAIL in-bond type code and access to the lookup table
When The system searches for the CPRAIL code in the lookup table
Then The system determines if the code exists and sets appropriate processing path
R-GCX016-cbl-03822 Retrieve Corresponding EDI 309 Standard Value
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Corresponding EDI 309 Standard Value' is invoked, and assuming that a cprail in-bond type code that exists in the lookup table, when the system finds a matching entry in the lookup table, the desired outcome is that the corresponding edi 309 standard value is retrieved for conversion.
💻 Technical Criteria
Given A CPRAIL in-bond type code that exists in the lookup table
When The system finds a matching entry in the lookup table
Then The corresponding EDI 309 standard value is retrieved for conversion
R-GCX016-cbl-03823 Apply Default EDI 309 Value
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Apply Default EDI 309 Value', assuming that a cprail in-bond type code that does not exist in the lookup table, when the system cannot find a matching entry in the lookup table, the desired outcome is that a default edi 309 value is applied for the conversion process.
💻 Technical Criteria
EXCLUDING A CPRAIL in-bond type code that does not exist in the lookup table
When The system cannot find a matching entry in the lookup table
Then A default EDI 309 value is applied for the conversion process
R-GCX016-cbl-03824 Convert CPRAIL Code to EDI 309 Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert CPRAIL Code to EDI 309 Format' is invoked, and assuming that either a retrieved edi 309 standard value or a default edi 309 value, when the system performs the format conversion from cprail to edi 309, the desired outcome is that the cprail code is converted to the appropriate edi 309 format.
💻 Technical Criteria
Given Either a retrieved EDI 309 standard value or a default EDI 309 value
When The system performs the format conversion from CPRAIL to EDI 309
Then The CPRAIL code is converted to the appropriate EDI 309 format
R-GCX016-cbl-03825 Validate Converted Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Converted Code' is invoked, and assuming that a converted edi 309 in-bond type code, when the system validates the converted code against edi 309 standards, the desired outcome is that the system determines if the conversion is valid and sets appropriate processing path.
💻 Technical Criteria
Given A converted EDI 309 in-bond type code
When The system validates the converted code against EDI 309 standards
Then The system determines if the conversion is valid and sets appropriate processing path
R-GCX016-cbl-03826 Update U1 Segment with EDI 309 Value
Action Rules
📊 Business Logic Narrative
When the process 'Update U1 Segment with EDI 309 Value' is invoked, and assuming that a successfully validated edi 309 in-bond type code, when the conversion validation passes, the desired outcome is that the u1 segment is updated with the converted edi 309 value.
💻 Technical Criteria
Given A successfully validated EDI 309 in-bond type code
When The conversion validation passes
Then The U1 segment is updated with the converted EDI 309 value
R-GCX016-cbl-03827 Log Conversion Error
Action Rules
📊 Business Logic Narrative
When the process 'Log Conversion Error' is invoked, and assuming that an edi 309 in-bond type code that fails validation, when the conversion validation fails, the desired outcome is that the system logs the conversion error for audit and troubleshooting purposes.
💻 Technical Criteria
Given An EDI 309 in-bond type code that fails validation
When The conversion validation fails
Then The system logs the conversion error for audit and troubleshooting purposes
R-GCX016-cbl-03828 Use Original CPRAIL Value
Decision Rules
📊 Business Logic Narrative
When the process 'Use Original CPRAIL Value' is invoked, and assuming that a conversion error has been logged, when the edi 309 conversion cannot be completed successfully, the desired outcome is that the system uses the original cprail in-bond type code value.
💻 Technical Criteria
Given A conversion error has been logged
When The EDI 309 conversion cannot be completed successfully
Then The system uses the original CPRAIL in-bond type code value
R-GCX016-cbl-03830 Convert CPRAIL to EDI 309 Values
Computation Rules
📊 Business Logic Narrative
When the process 'Convert CPRAIL to EDI 309 Values' is invoked, and assuming that a u1 segment contains cprail in-bond type codes, when the system processes the in-bond type codes for edi transmission, the desired outcome is that cprail codes are converted to their corresponding edi 309 standard values.
💻 Technical Criteria
Given A U1 segment contains CPRAIL in-bond type codes
When The system processes the in-bond type codes for EDI transmission
Then CPRAIL codes are converted to their corresponding EDI 309 standard values
R-GCX016-cbl-03831 Include In-Bond Details
Process Rules
📊 Business Logic Narrative
When the process 'Include In-Bond Details' is invoked, and assuming that a u1 segment is being prepared for database storage, when the system builds the segment structure, the desired outcome is that all relevant in-bond details including bond numbers, entry types, and customs information are included in the segment.
💻 Technical Criteria
Given A U1 segment is being prepared for database storage
When The system builds the segment structure
Then All relevant in-bond details including bond numbers, entry types, and customs information are included in the segment
R-GCX016-cbl-03833 Insert New U1 Segment
Action Rules
📊 Business Logic Narrative
When the process 'Insert New U1 Segment' is invoked, and assuming that no existing u1 segment exists for the shipment, when the system performs database insert operation, the desired outcome is that a new u1 segment record is created with all in-bond details.
💻 Technical Criteria
Given No existing U1 segment exists for the shipment
When The system performs database insert operation
Then A new U1 segment record is created with all in-bond details
R-GCX016-cbl-03834 Replace Existing U1 Segment
Action Rules
📊 Business Logic Narrative
When the process 'Replace Existing U1 Segment' is invoked, and assuming that an existing u1 segment exists for the shipment, when the system performs database replace operation, the desired outcome is that the existing u1 segment record is updated with current in-bond details.
💻 Technical Criteria
Given An existing U1 segment exists for the shipment
When The system performs database replace operation
Then The existing U1 segment record is updated with current in-bond details
R-GCX016-cbl-03909 Initialize A9DP Dependent Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize A9DP Dependent Segment' is invoked, and assuming that edi 350 message data has been retrieved, when the system needs to create dependent segments for transmission, the desired outcome is that the system initializes a new a9dp dependent segment structure with default values.
💻 Technical Criteria
Given EDI 350 message data has been retrieved
When The system needs to create dependent segments for transmission
Then The system initializes a new A9DP dependent segment structure with default values

📍 Routing, Border & Port 454 logic blocks
R-GCX016-cbl-00006 3:Manifest Information Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '3:Manifest Information Processing', assuming that train validation is performed, when the train is not found in the system, the desired outcome is that the system generates an error report and sets train not found status.
💻 Technical Criteria
EXCLUDING Train validation is performed
When The train is not found in the system
Then The system generates an error report and sets train not found status
R-GCX016-cbl-00020 218:Disposition Code Table Lookup
Action Rules
📊 Business Logic Narrative
When the process '218:Disposition Code Table Lookup' is invoked, and assuming that a disposition code is processed, when the disposition type is mrl (manual release), the desired outcome is that the system processes manual release request and clears destination index.
💻 Technical Criteria
Given A disposition code is processed
When The disposition type is MRL (Manual Release)
Then The system processes manual release request and clears destination index
R-GCX016-cbl-00033 92:Merlin Release Message Generation
Action Rules
📊 Business Logic Narrative
When the process '92:Merlin Release Message Generation' is invoked, and assuming that export status change occurs, when export or cancel export processing is required, the desired outcome is that the system generates appropriate merlin messages for export status changes.
💻 Technical Criteria
Given Export status change occurs
When Export or cancel export processing is required
Then The system generates appropriate Merlin messages for export status changes
R-GCX016-cbl-00049 Message Source Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Source Type?' is invoked, and assuming that processing parameters have been set, when the system checks the message source indicator, the desired outcome is that the system routes to either mq queue processing or direct gcw016 input processing based on the message source type.
💻 Technical Criteria
Given Processing parameters have been set
When The system checks the message source indicator
Then The system routes to either MQ queue processing or direct GCW016 input processing based on the message source type
R-GCX016-cbl-00075 P4 Segment Received
Action Rules
📊 Business Logic Narrative
When the process 'P4 Segment Received' is invoked, and assuming that a message contains a p4 segment type, when the system processes message segments, the desired outcome is that the system calls b200-process-p4-segment to handle port information processing.
💻 Technical Criteria
Given A message contains a P4 segment type
When The system processes message segments
Then The system calls B200-PROCESS-P4-SEGMENT to handle port information processing
R-GCX016-cbl-00078 POD - Train Arrival at Port of Discharge
Decision Rules
📊 Business Logic Narrative
When the process 'POD - Train Arrival at Port of Discharge' is invoked, and assuming that a v9 event detail segment is received with disposition code pod, when the system processes the pod disposition code, the desired outcome is that the train status is set to arrived and arrival date and location are updated.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code POD
When The system processes the POD disposition code
Then The train status is set to ARRIVED and arrival date and location are updated
R-GCX016-cbl-00079 AAD - Train Arrival at Destination
Decision Rules
📊 Business Logic Narrative
When the process 'AAD - Train Arrival at Destination' is invoked, and assuming that a v9 event detail segment is received with disposition code aad, when the system processes the aad disposition code, the desired outcome is that the train status is set to arrived and arrival date and location are updated.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code AAD
When The system processes the AAD disposition code
Then The train status is set to ARRIVED and arrival date and location are updated
R-GCX016-cbl-00080 RC - Export Manifest Review Complete
Process Rules
📊 Business Logic Narrative
When the process 'RC - Export Manifest Review Complete' is invoked, and assuming that a v9 event detail segment is received with disposition code rc, when the system processes the rc disposition code, the desired outcome is that the export manifest is marked as reviewed and the train record is updated.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code RC
When The system processes the RC disposition code
Then The export manifest is marked as reviewed and the train record is updated
R-GCX016-cbl-00101 Send Message to Customs/Brokers
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Customs/Brokers' is invoked, and assuming that hold notification message has been generated, when the system sends notifications, the desired outcome is that the system transmits the hold notification to customs authorities and affected brokers.
💻 Technical Criteria
Given Hold notification message has been generated
When The system sends notifications
Then The system transmits the hold notification to customs authorities and affected brokers
R-GCX016-cbl-00115 Disposition Code Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Disposition Code Type?' is invoked, and assuming that a v9 event segment is received with disposition code, when the disposition code is either pod or aad, the desired outcome is that the system routes to appropriate train arrival processing.
💻 Technical Criteria
Given A V9 event segment is received with disposition code
When The disposition code is either POD or AAD
Then The system routes to appropriate train arrival processing
R-GCX016-cbl-00117 Export Manifest Port?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Manifest Port?' is invoked, and assuming that a train arrival is being processed at a specific port, when the port is configured for export manifest processing, the desired outcome is that set pre-arrival status for export processing instead of standard arrival status.
💻 Technical Criteria
Given A train arrival is being processed at a specific port
When The port is configured for export manifest processing
Then Set pre-arrival status for export processing instead of standard arrival status
R-GCX016-cbl-00118 Update Train Arrival Date
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Arrival Date' is invoked, and assuming that a valid train arrival event is being processed, when the train exists and port configuration is validated, the desired outcome is that update the train record with the current arrival date and time.
💻 Technical Criteria
Given A valid train arrival event is being processed
When The train exists and port configuration is validated
Then Update the train record with the current arrival date and time
R-GCX016-cbl-00124 Send Arrival Notifications to Customs
Policy Rules
📊 Business Logic Narrative
When the process 'Send Arrival Notifications to Customs' is invoked, and assuming that a train arrival has been processed and manifest status updated, when all internal processing is complete, the desired outcome is that send arrival notifications to customs authorities for regulatory compliance.
💻 Technical Criteria
Given A train arrival has been processed and manifest status updated
When All internal processing is complete
Then Send arrival notifications to customs authorities for regulatory compliance
R-GCX016-cbl-00125 Log Train Arrival Event
Process Rules
📊 Business Logic Narrative
When the process 'Log Train Arrival Event' is invoked, and assuming that a train arrival event has been completely processed, when all notifications have been sent to customs, the desired outcome is that log the complete train arrival event with timestamp and details for audit trail.
💻 Technical Criteria
Given A train arrival event has been completely processed
When All notifications have been sent to customs
Then Log the complete train arrival event with timestamp and details for audit trail
R-GCX016-cbl-00126 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that a v9 segment with rc disposition code is received for export manifest review, when the system processes the train validation, the desired outcome is that the system checks if the train exists in the system and sets appropriate flags.
💻 Technical Criteria
Given A V9 segment with RC disposition code is received for export manifest review
When The system processes the train validation
Then The system checks if the train exists in the system and sets appropriate flags
R-GCX016-cbl-00127 Generate Train Not Found Error Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Found Error Message', assuming that a v9 segment with rc disposition code is received and the train validation has been performed, when the train is not found in the system, the desired outcome is that the system generates a train not found error message and routes it to the merlin error system.
💻 Technical Criteria
EXCLUDING A V9 segment with RC disposition code is received AND the train validation has been performed
When The train is not found in the system
Then The system generates a train not found error message and routes it to the Merlin error system
R-GCX016-cbl-00128 Process RC - Export Manifest Review Complete
Process Rules
📊 Business Logic Narrative
When the process 'Process RC - Export Manifest Review Complete' is invoked, and assuming that a v9 segment with rc disposition code is received and the train exists in the system, when the system processes the rc disposition code, the desired outcome is that the system initiates export manifest review complete processing.
💻 Technical Criteria
Given A V9 segment with RC disposition code is received AND the train exists in the system
When The system processes the RC disposition code
Then The system initiates export manifest review complete processing
R-GCX016-cbl-00129 Update Train Status to Export Review Complete
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Export Review Complete' is invoked, and assuming that export manifest review complete processing has been initiated and the train exists in the system, when the system updates the train status, the desired outcome is that the train status is set to export review complete.
💻 Technical Criteria
Given Export manifest review complete processing has been initiated AND the train exists in the system
When The system updates the train status
Then The train status is set to export review complete
R-GCX016-cbl-00130 Check if Train is at Export Port
Validation Rules
📊 Business Logic Narrative
When the process 'Check if Train is at Export Port' is invoked, and assuming that the train status has been updated to export review complete, when the system validates the train location, the desired outcome is that the system checks if the train is at a valid export port location.
💻 Technical Criteria
Given The train status has been updated to export review complete
When The system validates the train location
Then The system checks if the train is at a valid export port location
R-GCX016-cbl-00131 Set Export Manifest Review Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Manifest Review Flag' is invoked, and assuming that the train location has been validated and the train is at a valid export port, when the system processes the export port validation result, the desired outcome is that the export manifest review flag is set to indicate completion.
💻 Technical Criteria
Given The train location has been validated AND the train is at a valid export port
When The system processes the export port validation result
Then The export manifest review flag is set to indicate completion
R-GCX016-cbl-00132 Update Train Export Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Export Status' is invoked, and assuming that the export manifest review flag has been set, when the system updates the train export status, the desired outcome is that the train export status is updated to reflect the completed review.
💻 Technical Criteria
Given The export manifest review flag has been set
When The system updates the train export status
Then The train export status is updated to reflect the completed review
R-GCX016-cbl-00133 Generate Export Review Complete Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Export Review Complete Notification' is invoked, and assuming that the train export status has been updated, when the system generates notifications, the desired outcome is that an export review complete notification is generated and sent to appropriate recipients.
💻 Technical Criteria
Given The train export status has been updated
When The system generates notifications
Then An export review complete notification is generated and sent to appropriate recipients
R-GCX016-cbl-00134 Log Export Manifest Review Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Log Export Manifest Review Transaction' is invoked, and assuming that the export review complete notification has been generated, when the system logs the transaction, the desired outcome is that the export manifest review transaction is logged with appropriate details.
💻 Technical Criteria
Given The export review complete notification has been generated
When The system logs the transaction
Then The export manifest review transaction is logged with appropriate details
R-GCX016-cbl-00135 Check for Additional V9 Segments
Decision Rules
📊 Business Logic Narrative
When the process 'Check for Additional V9 Segments' is invoked, and assuming that the export manifest review transaction has been logged, when the system checks for additional segments, the desired outcome is that the system determines if more v9 segments exist for processing.
💻 Technical Criteria
Given The export manifest review transaction has been logged
When The system checks for additional segments
Then The system determines if more V9 segments exist for processing
R-GCX016-cbl-00137 Complete Export Manifest Review Processing
Process Rules
📊 Business Logic Narrative
When the process 'Complete Export Manifest Review Processing' is invoked, and assuming that all v9 segments have been processed or an error has occurred, when the system finalizes the processing, the desired outcome is that the export manifest review processing is marked as complete.
💻 Technical Criteria
Given All V9 segments have been processed OR an error has occurred
When The system finalizes the processing
Then The export manifest review processing is marked as complete
R-GCX016-cbl-00138 Send Error to Merlin System
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Error to Merlin System', assuming that a validation error has occurred or the train is not at a valid export port, when the system handles the error condition, the desired outcome is that the error message is sent to the merlin system for appropriate handling.
💻 Technical Criteria
EXCLUDING A validation error has occurred OR the train is not at a valid export port
When The system handles the error condition
Then The error message is sent to the Merlin system for appropriate handling
R-GCX016-cbl-00144 Route Error Message to Multiple Destinations
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route Error Message to Multiple Destinations', assuming that a train not arrived error message has been formatted for oca processing, when the system routes the message to destinations, the desired outcome is that the message is sent to both 'in' and 'userr' destinations as configured in the message routing tables.
💻 Technical Criteria
EXCLUDING A train not arrived error message has been formatted for OCA processing
When The system routes the message to destinations
Then The message is sent to both 'IN' and 'USERR' destinations as configured in the message routing tables
R-GCX016-cbl-00146 Send Notification to Configured Users
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Notification to Configured Users', assuming that a train not arrived message has been routed with proper keywords, when the system sends notifications to configured users, the desired outcome is that all users configured to receive oca train not arrived notifications receive the message.
💻 Technical Criteria
EXCLUDING A train not arrived message has been routed with proper keywords
When The system sends notifications to configured users
Then All users configured to receive OCA train not arrived notifications receive the message
R-GCX016-cbl-00165 Send Notifications to Stakeholders
Action Rules
📊 Business Logic Narrative
When the process 'Send Notifications to Stakeholders' is invoked, and assuming that train arrival cancellation has been logged, when the system sends stakeholder notifications, the desired outcome is that send notifications to brokers, customs, and other stakeholders with cancellation details and required actions.
💻 Technical Criteria
Given Train arrival cancellation has been logged
When The system sends stakeholder notifications
Then Send notifications to brokers, customs, and other stakeholders with cancellation details and required actions
R-GCX016-cbl-04263 61:Hold Code Processing
Decision Rules
📊 Business Logic Narrative
When the process '61:Hold Code Processing' is invoked, and assuming that a disposition code is classified as a hold code type, when the system processes the hold disposition code, the desired outcome is that the system adds the hold code to the status array with appropriate hold flags and location information.
💻 Technical Criteria
Given A disposition code is classified as a hold code type
When The system processes the hold disposition code
Then The system adds the hold code to the status array with appropriate hold flags and location information
R-GCX016-cbl-04372 Extract Location Requirements from DC-LOCATION-INFO
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Location Requirements from DC-LOCATION-INFO' is invoked, and assuming that a valid dc table record has been retrieved for a disposition code, when the system processes the dc table record information, the desired outcome is that the system extracts location requirements from the dc-location-info field.
💻 Technical Criteria
Given A valid DC table record has been retrieved for a disposition code
When The system processes the DC table record information
Then The system extracts location requirements from the DC-LOCATION-INFO field
R-GCX016-cbl-04583 Check Status Info Match - Compare disposition code status information fields including location codes, entry types, and processing flags
Validation Rules
📊 Business Logic Narrative
When the process 'Check Status Info Match - Compare disposition code status information fields including location codes, entry types, and processing flags' is invoked, and assuming that a current disposition code with status information fields and an array element with corresponding status information fields are available for comparison, when the system compares status information fields between the current disposition code and array element, the desired outcome is that the system marks the status information as matching if all status information fields are identical, otherwise marks as non-matching.
💻 Technical Criteria
Given A current disposition code with status information fields and an array element with corresponding status information fields are available for comparison
When The system compares status information fields between the current disposition code and array element
Then The system marks the status information as matching if all status information fields are identical, otherwise marks as non-matching
R-GCX016-cbl-04584 Check Location Code Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Location Code Match' is invoked, and assuming that a current disposition code location code and an array element location code are available for comparison, when the system compares the location codes between current disposition code and array element, the desired outcome is that the system proceeds to next comparison field if location codes match, otherwise continues to mark as non-matching status information.
💻 Technical Criteria
Given A current disposition code location code and an array element location code are available for comparison
When The system compares the location codes between current disposition code and array element
Then The system proceeds to next comparison field if location codes match, otherwise continues to mark as non-matching status information
R-GCX016-cbl-04587 Mark as Matching Status Info
Decision Rules
📊 Business Logic Narrative
When the process 'Mark as Matching Status Info' is invoked, and assuming that all status information fields including location codes, entry types, and processing flags have been successfully matched between current disposition code and array element, when the system completes the status information comparison process, the desired outcome is that the system marks the status information as matching and returns the positive match result.
💻 Technical Criteria
Given All status information fields including location codes, entry types, and processing flags have been successfully matched between current disposition code and array element
When The system completes the status information comparison process
Then The system marks the status information as matching and returns the positive match result
R-GCX016-cbl-04588 Mark as Non-Matching Status Info
Decision Rules
📊 Business Logic Narrative
When the process 'Mark as Non-Matching Status Info' is invoked, and assuming that at least one status information field including location codes, entry types, or processing flags differs between current disposition code and array element, when the system completes the status information comparison process, the desired outcome is that the system marks the status information as non-matching and returns the negative match result.
💻 Technical Criteria
Given At least one status information field including location codes, entry types, or processing flags differs between current disposition code and array element
When The system completes the status information comparison process
Then The system marks the status information as non-matching and returns the negative match result
R-GCX016-cbl-04644 Map Entry Type to Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Entry Type to Transport Type' is invoked, and assuming that a valid entry type code (61, 62, 63, or 69) has been identified, when transport type mapping is performed, the desired outcome is that entry type 61 maps to immediate transport, 62 maps to transport export, 63 maps to immediate export, and 69 maps to us-canada-us movement.
💻 Technical Criteria
Given A valid entry type code (61, 62, 63, or 69) has been identified
When Transport type mapping is performed
Then Entry type 61 maps to immediate transport, 62 maps to transport export, 63 maps to immediate export, and 69 maps to US-Canada-US movement
R-GCX016-cbl-04654 Extract Transport Type
Process Rules
📊 Business Logic Narrative
When the process 'Extract Transport Type' is invoked, and assuming that an m10 manifest segment is received, when the system processes the m10 segment, the desired outcome is that the transport type is extracted from the m10 segment and stored for manifest processing.
💻 Technical Criteria
Given An M10 manifest segment is received
When The system processes the M10 segment
Then The transport type is extracted from the M10 segment and stored for manifest processing
R-GCX016-cbl-04662 Validate Transport Type
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Transport Type' is invoked, and assuming that a transport type has been extracted from the m10 segment, when the system validates the transport type, the desired outcome is that the transport type is verified against valid transportation modes or validation error is flagged.
💻 Technical Criteria
Given A transport type has been extracted from the M10 segment
When The system validates the transport type
Then The transport type is verified against valid transportation modes or validation error is flagged
R-GCX016-cbl-04665 Build Manifest Information Record
Process Rules
📊 Business Logic Narrative
When the process 'Build Manifest Information Record' is invoked, and assuming that all required m10 segment fields are present and validated, when the system builds the manifest information record, the desired outcome is that a complete manifest record is constructed with scac code, transport type, country code, vessel information, voyage number, quantity, manifest type, and condition response code.
💻 Technical Criteria
Given All required M10 segment fields are present and validated
When The system builds the manifest information record
Then A complete manifest record is constructed with SCAC code, transport type, country code, vessel information, voyage number, quantity, manifest type, and condition response code
R-GCX016-cbl-04056 Process Hold Codes with Location
Process Rules
📊 Business Logic Narrative
When the process 'Process Hold Codes with Location' is invoked, and assuming that a disposition code with hold type is being processed, when the disposition code action is dc hold, the desired outcome is that the system adds the hold code to status array and sets location information from the message.
💻 Technical Criteria
Given A disposition code with hold type is being processed
When The disposition code action is DC hold
Then The system adds the hold code to status array and sets location information from the message
R-GCX016-cbl-04069 Update Status Flags in Array Elements
Decision Rules
📊 Business Logic Narrative
When the process 'Update Status Flags in Array Elements' is invoked, and assuming that disposition codes are being processed in the status array, when the system evaluates disposition code types and processing requirements, the desired outcome is that the system sets appropriate status flags including hold indicators, release indicators, location flags, and quantity impact flags for each array element.
💻 Technical Criteria
Given Disposition codes are being processed in the status array
When The system evaluates disposition code types and processing requirements
Then The system sets appropriate status flags including hold indicators, release indicators, location flags, and quantity impact flags for each array element
R-GCX016-cbl-04303 Add Border Location
Action Rules
📊 Business Logic Narrative
When the process 'Add Border Location' is invoked, and assuming that a disposition code requires location information and border location is specified, when the system processes location information for the disposition code, the desired outcome is that the system adds border location information to the status entry and updates the released flag.
💻 Technical Criteria
Given A disposition code requires location information and border location is specified
When The system processes location information for the disposition code
Then The system adds border location information to the status entry and updates the released flag
R-GCX016-cbl-04304 Add Destination Location
Action Rules
📊 Business Logic Narrative
When the process 'Add Destination Location' is invoked, and assuming that a disposition code requires location information and destination location is specified, when the system processes location information for the disposition code, the desired outcome is that the system adds destination location information to the status entry and updates the released flag.
💻 Technical Criteria
Given A disposition code requires location information and destination location is specified
When The system processes location information for the disposition code
Then The system adds destination location information to the status entry and updates the released flag
R-GCX016-cbl-04444 Route Error to Operations
Action Rules
📊 Business Logic Narrative
When the process 'Route Error to Operations' is invoked, and assuming that array overflow condition has been detected and logged, when error handling is required, the desired outcome is that the system routes the overflow error to the operations team for investigation and resolution.
💻 Technical Criteria
Given Array overflow condition has been detected and logged
When Error handling is required
Then The system routes the overflow error to the operations team for investigation and resolution
R-GCX016-cbl-04077 Extract Disposition Code Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Disposition Code Information' is invoked, and assuming that a valid disposition code record has been found in the dc table, when the system processes the found record, the desired outcome is that the system extracts disposition code information, counterpart code information, processing instructions, quantity action indicators, and location processing flags.
💻 Technical Criteria
Given A valid disposition code record has been found in the DC table
When The system processes the found record
Then The system extracts disposition code information, counterpart code information, processing instructions, quantity action indicators, and location processing flags
R-GCX016-cbl-04099 Border or Destination Hold?
Decision Rules
📊 Business Logic Narrative
When the process 'Border or Destination Hold?' is invoked, and assuming that a disposition code has been identified as a hold type, when the hold location is determined, the desired outcome is that if the hold applies at the border, set border hold flag to true, otherwise if the hold applies at destination, set destination hold flag to true.
💻 Technical Criteria
Given A disposition code has been identified as a hold type
When The hold location is determined
Then If the hold applies at the border, set border hold flag to true, otherwise if the hold applies at destination, set destination hold flag to true
R-GCX016-cbl-04105 Export Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Code?' is invoked, and assuming that a disposition code from the s09a array is being examined, when the disposition code type is evaluated, the desired outcome is that if the code is classified as an export type in the disposition code table, the export status flag is set to true.
💻 Technical Criteria
Given A disposition code from the S09A array is being examined
When The disposition code type is evaluated
Then If the code is classified as an export type in the disposition code table, the export status flag is set to true
R-GCX016-cbl-04311 Set Border Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Flag' is invoked, and assuming that a hold disposition code is identified in the status array, when the hold location is determined to be at the border, the desired outcome is that the border hold flag is set to true.
💻 Technical Criteria
Given A hold disposition code is identified in the status array
When The hold location is determined to be at the border
Then The border hold flag is set to true
R-GCX016-cbl-04312 Set Destination Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Flag' is invoked, and assuming that a hold disposition code is identified in the status array, when the hold location is determined to be at the destination, the desired outcome is that the destination hold flag is set to true.
💻 Technical Criteria
Given A hold disposition code is identified in the status array
When The hold location is determined to be at the destination
Then The destination hold flag is set to true
R-GCX016-cbl-04318 Set Proceed Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Proceed Flag' is invoked, and assuming that a proceed disposition code is identified in the status array, when the system processes the proceed code, the desired outcome is that the proceed flag is set to true and border arrival date is established.
💻 Technical Criteria
Given A proceed disposition code is identified in the status array
When The system processes the proceed code
Then The proceed flag is set to true and border arrival date is established
R-GCX016-cbl-04322 Set Export Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Flag' is invoked, and assuming that an export disposition code is identified in the status array, when the system processes the export code, the desired outcome is that the export flag is set to true.
💻 Technical Criteria
Given An export disposition code is identified in the status array
When The system processes the export code
Then The export flag is set to true
R-GCX016-cbl-04324 Set FDA Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Flag' is invoked, and assuming that an fda disposition code is identified in the status array, when the system processes the fda code, the desired outcome is that the fda hold flag is set to true and fda location status is determined.
💻 Technical Criteria
Given An FDA disposition code is identified in the status array
When The system processes the FDA code
Then The FDA hold flag is set to true and FDA location status is determined
R-GCX016-cbl-04473 Extract Location Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Location Information' is invoked, and assuming that status information has been extracted from the array element, when the system continues detailed element analysis, the desired outcome is that location information including border and destination indicators are extracted from the element.
💻 Technical Criteria
Given Status information has been extracted from the array element
When The system continues detailed element analysis
Then Location information including border and destination indicators are extracted from the element
R-GCX016-cbl-04474 Extract Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Quantity Information' is invoked, and assuming that location information has been extracted from the array element, when the system completes element data extraction, the desired outcome is that quantity information including release quantities and totals are extracted from the element.
💻 Technical Criteria
Given Location information has been extracted from the array element
When The system completes element data extraction
Then Quantity information including release quantities and totals are extracted from the element
R-GCX016-cbl-04477 Is Border Hold?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Border Hold?' is invoked, and assuming that a hold status flag has been set and location information is available, when the system evaluates the hold location, the desired outcome is that if the hold applies to border location, set border hold flag; otherwise, set destination hold flag.
💻 Technical Criteria
Given A hold status flag has been set and location information is available
When The system evaluates the hold location
Then If the hold applies to border location, set border hold flag; otherwise, set destination hold flag
R-GCX016-cbl-04485 Save PTT Information
Process Rules
📊 Business Logic Narrative
When the process 'Save PTT Information' is invoked, and assuming that a ptt status flag has been set, when the system processes ptt information, the desired outcome is that ptt information including location and quantity details are saved for later use.
💻 Technical Criteria
Given A PTT status flag has been set
When The system processes PTT information
Then PTT information including location and quantity details are saved for later use
R-GCX016-cbl-04488 Update Border Arrival Date
Action Rules
📊 Business Logic Narrative
When the process 'Update Border Arrival Date' is invoked, and assuming that a proceed status flag has been set, when the system processes the proceed status, the desired outcome is that the border arrival date is updated to reflect the proceed processing date.
💻 Technical Criteria
Given A proceed status flag has been set
When The system processes the proceed status
Then The border arrival date is updated to reflect the proceed processing date
R-GCX016-cbl-04489 Is Arrival Code?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Arrival Code?', assuming that the disposition code is not a proceed code, when the system evaluates the disposition code for arrival status, the desired outcome is that if the disposition code indicates arrival status, set the arrival processing flag; otherwise, continue to export code evaluation.
💻 Technical Criteria
EXCLUDING The disposition code is not a proceed code
When The system evaluates the disposition code for arrival status
Then If the disposition code indicates arrival status, set the arrival processing flag; otherwise, continue to export code evaluation
R-GCX016-cbl-04491 Is Export Code?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Export Code?', assuming that the disposition code is not an arrival code, when the system evaluates the disposition code for export status, the desired outcome is that if the disposition code indicates export status, set the export processing flag; otherwise, continue to fda hold code evaluation.
💻 Technical Criteria
EXCLUDING The disposition code is not an arrival code
When The system evaluates the disposition code for export status
Then If the disposition code indicates export status, set the export processing flag; otherwise, continue to FDA hold code evaluation
R-GCX016-cbl-04493 Is FDA Hold Code?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is FDA Hold Code?', assuming that the disposition code is not an export code, when the system evaluates the disposition code for fda hold status, the desired outcome is that if the disposition code indicates fda hold status, set the fda hold processing flag; otherwise, continue to next array element.
💻 Technical Criteria
EXCLUDING The disposition code is not an export code
When The system evaluates the disposition code for FDA hold status
Then If the disposition code indicates FDA hold status, set the FDA hold processing flag; otherwise, continue to next array element
R-GCX016-cbl-04497 Return Analysis Results
Process Rules
📊 Business Logic Narrative
When the process 'Return Analysis Results' is invoked, and assuming that the status determination analysis has been completed, when the system prepares to return control to the calling process, the desired outcome is that all analysis results including hold flags, release flags, ptt flags, proceed flags, arrival flags, export flags, fda hold flags, and quantity totals are returned.
💻 Technical Criteria
Given The status determination analysis has been completed
When The system prepares to return control to the calling process
Then All analysis results including hold flags, release flags, PTT flags, proceed flags, arrival flags, export flags, FDA hold flags, and quantity totals are returned
R-GCX016-cbl-04679 Parse Location Code
Process Rules
📊 Business Logic Narrative
When the process 'Parse Location Code' is invoked, and assuming that status information contains location data, when the system processes the location code field, the desired outcome is that the location code is parsed and prepared for location-specific processing.
💻 Technical Criteria
Given Status information contains location data
When The system processes the location code field
Then The location code is parsed and prepared for location-specific processing
R-GCX016-cbl-04680 Location Code Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Location Code Present?' is invoked, and assuming that status information is being processed, when the system evaluates the location code field, the desired outcome is that the system determines if location code exists and routes to appropriate processing (border, destination, or no location).
💻 Technical Criteria
Given Status information is being processed
When The system evaluates the location code field
Then The system determines if location code exists and routes to appropriate processing (border, destination, or no location)
R-GCX016-cbl-04690 Extract Customs Hold Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Extract Customs Hold Indicator' is invoked, and assuming that status information contains customs regulatory data, when the system processes the customs hold indicator field, the desired outcome is that the customs hold indicator is extracted and stored for customs compliance processing.
💻 Technical Criteria
Given Status information contains customs regulatory data
When The system processes the customs hold indicator field
Then The customs hold indicator is extracted and stored for customs compliance processing
R-GCX016-cbl-04692 Extract Entry Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entry Number' is invoked, and assuming that status information contains entry number data, when the system processes the entry number field, the desired outcome is that the entry number is extracted and stored for customs entry processing.
💻 Technical Criteria
Given Status information contains entry number data
When The system processes the entry number field
Then The entry number is extracted and stored for customs entry processing
R-GCX016-cbl-04696 Status Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Valid?' is invoked, and assuming that status information has been extracted and validated, when the system evaluates the overall validity of the status data, the desired outcome is that the system determines if status is valid and routes to appropriate processing (set flags or log invalid status).
💻 Technical Criteria
Given Status information has been extracted and validated
When The system evaluates the overall validity of the status data
Then The system determines if status is valid and routes to appropriate processing (set flags or log invalid status)
R-GCX016-cbl-04504 Set FDA Hold Priority
Policy Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Priority' is invoked, and assuming that fda hold flag is set and fda hold applies at destination location, when the system applies fda override logic, the desired outcome is that fda hold status takes highest priority and overrides all conflicting status flags.
💻 Technical Criteria
Given FDA hold flag is set AND FDA hold applies at destination location
When The system applies FDA override logic
Then FDA hold status takes highest priority AND overrides all conflicting status flags
R-GCX016-cbl-04701 Apply Customs Hold Priority
Policy Rules
📊 Business Logic Narrative
When the process 'Apply Customs Hold Priority' is invoked, and assuming that customs hold codes are present in the status array and no fda hold codes exist, when the system evaluates hold code priorities for customs holds, the desired outcome is that customs hold codes are given priority over release codes and proceed codes but lower priority than fda holds.
💻 Technical Criteria
Given Customs hold codes are present in the status array and no FDA hold codes exist
When The system evaluates hold code priorities for customs holds
Then Customs hold codes are given priority over release codes and proceed codes but lower priority than FDA holds
R-GCX016-cbl-04346 Update Cross-Border Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cross-Border Status' is invoked, and assuming that canadian log messages have been generated for cross-border coordination, when the cross-border coordination process completes, the desired outcome is that the system must update the cross-border status to reflect completed coordination and maintain accurate international shipment tracking.
💻 Technical Criteria
Given Canadian log messages have been generated for cross-border coordination
When The cross-border coordination process completes
Then The system must update the cross-border status to reflect completed coordination and maintain accurate international shipment tracking
R-GCX016-cbl-04715 Record Valid for Processing?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Valid for Processing?' is invoked, and assuming that canadian record status has been validated, when system checks if record is valid for processing, the desired outcome is that system routes to appropriate processing path - if valid return record, if deleted exclude record, if unusable exclude record.
💻 Technical Criteria
Given Canadian record status has been validated
When System checks if record is valid for processing
Then System routes to appropriate processing path - if valid return record, if deleted exclude record, if unusable exclude record
R-GCX016-cbl-04722 Canadian Manifest Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Found?' is invoked, and assuming that the system has searched for canadian manifest records, when the search results are evaluated, the desired outcome is that if canadian manifest records are found, continue processing; otherwise terminate cross-border log generation.
💻 Technical Criteria
Given The system has searched for Canadian manifest records
When The search results are evaluated
Then If Canadian manifest records are found, continue processing; otherwise terminate cross-border log generation
R-GCX016-cbl-04725 Build Cross-Border Coordination Info
Process Rules
📊 Business Logic Narrative
When the process 'Build Cross-Border Coordination Info' is invoked, and assuming that status changes have been captured, when the system builds cross-border coordination information, the desired outcome is that border crossing details, customs release information, and coordination data are assembled for canadian system notification.
💻 Technical Criteria
Given Status changes have been captured
When The system builds cross-border coordination information
Then Border crossing details, customs release information, and coordination data are assembled for Canadian system notification
R-GCX016-cbl-04729 Add Border Crossing Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Border Crossing Information' is invoked, and assuming that release status details have been added, when border crossing information is added to the message, the desired outcome is that border location codes, crossing dates, and customs port information are included to complete the cross-border coordination data.
💻 Technical Criteria
Given Release status details have been added
When Border crossing information is added to the message
Then Border location codes, crossing dates, and customs port information are included to complete the cross-border coordination data
R-GCX016-cbl-00409 Email or Merlin Routing?
Decision Rules
📊 Business Logic Narrative
When the process 'Email or Merlin Routing?' is invoked, and assuming that mismatch details have been formatted for report, when system determines routing method, the desired outcome is that system routes via internet email if broker is configured for email notifications, otherwise routes via traditional merlin messaging system.
💻 Technical Criteria
Given Mismatch details have been formatted for report
When System determines routing method
Then System routes via internet email if broker is configured for email notifications, otherwise routes via traditional Merlin messaging system
R-GCX016-cbl-00410 Route via Internet Email
Action Rules
📊 Business Logic Narrative
When the process 'Route via Internet Email' is invoked, and assuming that broker is configured for email notifications, when system routes the notification, the desired outcome is that system sends notification through internet email system using broker's registered email address.
💻 Technical Criteria
Given Broker is configured for email notifications
When System routes the notification
Then System sends notification through internet email system using broker's registered email address
R-GCX016-cbl-00411 Route via Traditional Merlin
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route via Traditional Merlin', assuming that broker is not configured for email notifications or email routing fails, when system routes the notification, the desired outcome is that system sends notification through traditional merlin messaging system using broker's merlin id.
💻 Technical Criteria
EXCLUDING Broker is not configured for email notifications or email routing fails
When System routes the notification
Then System sends notification through traditional Merlin messaging system using broker's Merlin ID
R-GCX016-cbl-00425 Route to Broker Merlin Basket
Action Rules
📊 Business Logic Narrative
When the process 'Route to Broker Merlin Basket' is invoked, and assuming that the cih hold merlin message has been formatted and prepared, when the system routes the message to the broker's merlin basket, the desired outcome is that the system delivers the message to the correct broker merlin id and logs the routing status.
💻 Technical Criteria
Given The CIH hold Merlin message has been formatted and prepared
When The system routes the message to the broker's Merlin basket
Then The system delivers the message to the correct broker Merlin ID and logs the routing status
R-GCX016-cbl-00434 111: Email vs Merlin Routing
Decision Rules
📊 Business Logic Narrative
When the process '111: Email vs Merlin Routing' is invoked, and assuming that a cih hold notification message has been prepared for the payer of freight, when the system checks email routing preferences in routing tables, the desired outcome is that the system routes via internet email if preference available, otherwise uses traditional merlin routing.
💻 Technical Criteria
Given A CIH hold notification message has been prepared for the payer of freight
When The system checks email routing preferences in routing tables
Then The system routes via internet email if preference available, otherwise uses traditional Merlin routing
R-GCX016-cbl-00435 Email Preference Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Email Preference Available?' is invoked, and assuming that the system needs to route a cih hold notification to payer of freight, when the system checks email routing tables for configured preferences, the desired outcome is that the system determines routing method based on preference availability.
💻 Technical Criteria
Given The system needs to route a CIH hold notification to payer of freight
When The system checks email routing tables for configured preferences
Then The system determines routing method based on preference availability
R-GCX016-cbl-00436 Route via Internet Email
Action Rules
📊 Business Logic Narrative
When the process 'Route via Internet Email' is invoked, and assuming that email preference is available for the payer of freight entity, when the system routes the cih hold notification, the desired outcome is that the system sends the notification via internet email to the configured address.
💻 Technical Criteria
Given Email preference is available for the payer of freight entity
When The system routes the CIH hold notification
Then The system sends the notification via internet email to the configured address
R-GCX016-cbl-00437 Route via Traditional Merlin
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route via Traditional Merlin', assuming that email preference is not available for the payer of freight entity, when the system routes the cih hold notification, the desired outcome is that the system sends the notification via traditional merlin messaging system.
💻 Technical Criteria
EXCLUDING Email preference is not available for the payer of freight entity
When The system routes the CIH hold notification
Then The system sends the notification via traditional Merlin messaging system
R-GCX016-cbl-00488 Set Destination Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Status' is invoked, and assuming that a disposition code requires examination at destination, when the hold location is determined to be at the destination, the desired outcome is that the system should set destination hold status allowing border movement but preventing final release until examination.
💻 Technical Criteria
Given A disposition code requires examination at destination
When The hold location is determined to be at the destination
Then The system should set destination hold status allowing border movement but preventing final release until examination
R-GCX016-cbl-00498 Apply Special Processing Rules for 88/89/90
Process Rules
📊 Business Logic Narrative
When the process 'Apply Special Processing Rules for 88/89/90' is invoked, and assuming that disposition code is validated as 88, 89, or 90, when the system processes the code type determination, the desired outcome is that special processing rules are applied specific to new customs requirements including status updates and compliance checks.
💻 Technical Criteria
Given Disposition code is validated as 88, 89, or 90
When The system processes the code type determination
Then Special processing rules are applied specific to new customs requirements including status updates and compliance checks
R-GCX016-cbl-00501 Generate Customs Compliance Notifications
Action Rules
📊 Business Logic Narrative
When the process 'Generate Customs Compliance Notifications' is invoked, and assuming that new customs requirements have been processed and status analyzed, when the system determines notifications are required, the desired outcome is that customs compliance notifications are generated and routed to appropriate parties including brokers and customs authorities.
💻 Technical Criteria
Given New customs requirements have been processed and status analyzed
When The system determines notifications are required
Then Customs compliance notifications are generated and routed to appropriate parties including brokers and customs authorities
R-GCX016-cbl-00502 89: Integration Service Calls for New Requirements
Action Rules
📊 Business Logic Narrative
When the process '89: Integration Service Calls for New Requirements' is invoked, and assuming that new customs requirements need external system integration, when the system processes disposition codes 88, 89, or 90, the desired outcome is that integration service calls are made to external systems for customs compliance processing.
💻 Technical Criteria
Given New customs requirements need external system integration
When The system processes disposition codes 88, 89, or 90
Then Integration service calls are made to external systems for customs compliance processing
R-GCX016-cbl-00515 Route Message to Customs
Action Rules
📊 Business Logic Narrative
When the process 'Route Message to Customs' is invoked, and assuming that a generated status message for disposition code 95 processing, when the system determines the appropriate customs routing destination, the desired outcome is that the system sends the message to the designated customs authority for their processing.
💻 Technical Criteria
Given A generated status message for disposition code 95 processing
When The system determines the appropriate customs routing destination
Then The system sends the message to the designated customs authority for their processing
R-GCX016-cbl-00528 Log FDA Processing Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log FDA Processing Activity' is invoked, and assuming that fda notifications have been routed to appropriate parties, when fda processing activity needs to be recorded for audit purposes, the desired outcome is that the system logs all fda processing steps, decisions, and notifications for compliance tracking.
💻 Technical Criteria
Given FDA notifications have been routed to appropriate parties
When FDA processing activity needs to be recorded for audit purposes
Then The system logs all FDA processing steps, decisions, and notifications for compliance tracking
R-GCX016-cbl-04133 Validate Port is Laredo
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Port is Laredo' is invoked, and assuming that a message requires kcsm processing based on disposition code, when the system validates the port location, the desired outcome is that the system confirms the port is laredo before allowing kcsm transmission.
💻 Technical Criteria
Given A message requires KCSM processing based on disposition code
When The system validates the port location
Then The system confirms the port is Laredo before allowing KCSM transmission
R-GCX016-cbl-04134 KCSM Processing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Processing Required?' is invoked, and assuming that disposition code and port validation checks have been completed, when the system evaluates all kcsm processing criteria, the desired outcome is that the system either proceeds with kcsm processing or skips it based on the validation results.
💻 Technical Criteria
Given Disposition code and port validation checks have been completed
When The system evaluates all KCSM processing criteria
Then The system either proceeds with KCSM processing or skips it based on the validation results
R-GCX016-cbl-00557 Entry Number Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Number Present?' is invoked, and assuming that an x4 segment is being processed for customs release, when the system checks the x4-04 entry number field, the desired outcome is that if entry number is not present, skip entry processing and continue to next segment.
💻 Technical Criteria
Given An X4 segment is being processed for customs release
When The system checks the X4-04 entry number field
Then If entry number is not present, skip entry processing and continue to next segment
R-GCX016-cbl-00581 Map US Port Codes to Canadian Names
Computation Rules
📊 Business Logic Narrative
When the process 'Map US Port Codes to Canadian Names' is invoked, and assuming that canadian border processing is active, when us port codes need to be mapped to canadian equivalents, the desired outcome is that apply port code mapping rules to convert us codes to canadian port names.
💻 Technical Criteria
Given Canadian border processing is active
When US port codes need to be mapped to Canadian equivalents
Then Apply port code mapping rules to convert US codes to Canadian port names
R-GCX016-cbl-00680 Set Transport Type
Computation Rules
📊 Business Logic Narrative
When the process 'Set Transport Type' is invoked, and assuming that an entry type code has been processed and mapped to a transport type, when the system sets transport information, the desired outcome is that the transport type is set according to the entry type code mapping (immediate transport, export, etc.).
💻 Technical Criteria
Given An entry type code has been processed and mapped to a transport type
When The system sets transport information
Then The transport type is set according to the entry type code mapping (immediate transport, export, etc.)
R-GCX016-cbl-00710 Add Status Code to Array
Process Rules
📊 Business Logic Narrative
When the process 'Add Status Code to Array' is invoked, and assuming that a status array exists and has available space, when a new status code needs to be added to the array, the desired outcome is that the system adds the status code along with disposition code, entry number, quantity information, location details, and release flag to the next available array position.
💻 Technical Criteria
Given A status array exists and has available space
When A new status code needs to be added to the array
Then The system adds the status code along with disposition code, entry number, quantity information, location details, and release flag to the next available array position
R-GCX016-cbl-00715 Extract Disposition Code from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Disposition Code from X4 Segment' is invoked, and assuming that an x4 customs release segment is being processed, when the system needs to identify the disposition code, the desired outcome is that the disposition code is extracted from the x4 segment and stored for lookup processing.
💻 Technical Criteria
Given An X4 customs release segment is being processed
When The system needs to identify the disposition code
Then The disposition code is extracted from the X4 segment and stored for lookup processing
R-GCX016-cbl-00720 Get Counterpart Code Information
Decision Rules
📊 Business Logic Narrative
When the process 'Get Counterpart Code Information' is invoked, and assuming that a disposition code record contains counterpart code information, when the system processes counterpart code relationships, the desired outcome is that counterpart code information is retrieved to support removal of conflicting or superseded disposition codes.
💻 Technical Criteria
Given A disposition code record contains counterpart code information
When The system processes counterpart code relationships
Then Counterpart code information is retrieved to support removal of conflicting or superseded disposition codes
R-GCX016-cbl-00725 Set Error Status - Code Not Found
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Status - Code Not Found', assuming that a disposition code lookup has been performed against the dc table, when the disposition code is not found in the table, the desired outcome is that an error status is set to indicate the disposition code is invalid or not supported.
💻 Technical Criteria
EXCLUDING A disposition code lookup has been performed against the DC table
When The disposition code is not found in the table
Then An error status is set to indicate the disposition code is invalid or not supported
R-GCX016-cbl-00754 Clear Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that manual release override conditions are detected, when the system processes the override, the desired outcome is that destination index is cleared to reflect manual release status.
💻 Technical Criteria
Given Manual release override conditions are detected
When The system processes the override
Then Destination index is cleared to reflect manual release status
R-GCX016-cbl-00755 Generate Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Release Notification' is invoked, and assuming that arl processing is complete with or without manual override, when the system generates notifications, the desired outcome is that release notifications are created and routed to appropriate destinations.
💻 Technical Criteria
Given ARL processing is complete with or without manual override
When The system generates notifications
Then Release notifications are created and routed to appropriate destinations
R-GCX016-cbl-00771 Determine Hold Location
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Hold Location' is invoked, and assuming that a valid hold disposition code is being processed, when the system evaluates the hold location requirements, the desired outcome is that the system determines whether the hold applies to border location or destination location.
💻 Technical Criteria
Given A valid hold disposition code is being processed
When The system evaluates the hold location requirements
Then The system determines whether the hold applies to border location or destination location
R-GCX016-cbl-00773 Set Border Hold Location Info
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Location Info' is invoked, and assuming that a hold is classified as a border hold, when the system sets up the hold location information, the desired outcome is that the system configures border-specific location details and hold parameters.
💻 Technical Criteria
Given A hold is classified as a border hold
When The system sets up the hold location information
Then The system configures border-specific location details and hold parameters
R-GCX016-cbl-00774 Set Destination Hold Location Info
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Location Info' is invoked, and assuming that a hold is classified as a destination hold, when the system sets up the hold location information, the desired outcome is that the system configures destination-specific location details and hold parameters.
💻 Technical Criteria
Given A hold is classified as a destination hold
When The system sets up the hold location information
Then The system configures destination-specific location details and hold parameters
R-GCX016-cbl-00780 Set Location Information
Action Rules
📊 Business Logic Narrative
When the process 'Set Location Information' is invoked, and assuming that a hold code has been inserted with status flag set, when the system updates location information, the desired outcome is that the system sets the appropriate border or destination location details for the hold.
💻 Technical Criteria
Given A hold code has been inserted with status flag set
When The system updates location information
Then The system sets the appropriate border or destination location details for the hold
R-GCX016-cbl-00786 Determine Release Location
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Release Location' is invoked, and assuming that a validated release disposition code is being processed, when the system evaluates the disposition code properties to determine location type, the desired outcome is that the system sets either border release location or destination release location based on code characteristics.
💻 Technical Criteria
Given A validated release disposition code is being processed
When The system evaluates the disposition code properties to determine location type
Then The system sets either border release location or destination release location based on code characteristics
R-GCX016-cbl-00789 Create Status Array Entry
Process Rules
📊 Business Logic Narrative
When the process 'Create Status Array Entry' is invoked, and assuming that a valid release disposition code has been validated and location determined, when the system creates a new status array entry, the desired outcome is that a new entry is created in the s09a status array with the disposition code information.
💻 Technical Criteria
Given A valid release disposition code has been validated and location determined
When The system creates a new status array entry
Then A new entry is created in the S09A status array with the disposition code information
R-GCX016-cbl-00796 Route Error to Merlin Users
Action Rules
📊 Business Logic Narrative
When the process 'Route Error to Merlin Users' is invoked, and assuming that an error message has been generated for invalid disposition code, when the system routes the error message, the desired outcome is that the error message is sent to designated merlin users for appropriate action.
💻 Technical Criteria
Given An error message has been generated for invalid disposition code
When The system routes the error message
Then The error message is sent to designated Merlin users for appropriate action
R-GCX016-cbl-00822 DS Table Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'DS Table Record Found?' is invoked, and assuming that a ds table lookup has been performed for a port code, when the system evaluates the lookup results, the desired outcome is that the system determines if a matching ds table record was found and proceeds with port name retrieval or uses default handling.
💻 Technical Criteria
Given A DS table lookup has been performed for a port code
When The system evaluates the lookup results
Then The system determines if a matching DS table record was found and proceeds with port name retrieval or uses default handling
R-GCX016-cbl-00823 Retrieve Port Name from DS Table
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Port Name from DS Table' is invoked, and assuming that a matching ds table record has been found for the port code, when the system needs to obtain the port name, the desired outcome is that the system retrieves the port name from the ds table record.
💻 Technical Criteria
Given A matching DS table record has been found for the port code
When The system needs to obtain the port name
Then The system retrieves the port name from the DS table record
R-GCX016-cbl-00824 Map Port Code to Port Name
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Port Code to Port Name' is invoked, and assuming that a port name has been retrieved from the ds table, when the system needs to establish the port code to port name relationship, the desired outcome is that the system maps the port code to the retrieved port name.
💻 Technical Criteria
Given A port name has been retrieved from the DS table
When The system needs to establish the port code to port name relationship
Then The system maps the port code to the retrieved port name
R-GCX016-cbl-00826 Log Port Code Not Found
Process Rules
📊 Business Logic Narrative
When the process 'Log Port Code Not Found' is invoked, and assuming that a port code lookup has failed in the ds table, when the system needs to record the lookup failure, the desired outcome is that the system logs that the port code was not found.
💻 Technical Criteria
Given A port code lookup has failed in the DS table
When The system needs to record the lookup failure
Then The system logs that the port code was not found
R-GCX016-cbl-00858 Generate Cross-Border Log Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Cross-Border Log Message' is invoked, and assuming that matching canadian manifest records have been found, when the system generates cross-border log message, the desired outcome is that cross-border coordination message is created and logged to canadian manifest records.
💻 Technical Criteria
Given Matching Canadian manifest records have been found
When The system generates cross-border log message
Then Cross-border coordination message is created and logged to Canadian manifest records
R-GCX016-cbl-00859 Update Database with Export Status
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Database with Export Status', assuming that cross-border coordination is complete or not required, when the system updates database with export status, the desired outcome is that export status changes are permanently stored in the database.
💻 Technical Criteria
EXCLUDING Cross-border coordination is complete or not required
When The system updates database with export status
Then Export status changes are permanently stored in the database
R-GCX016-cbl-00860 Prepare Export Notification Message
Action Rules
📊 Business Logic Narrative
When the process 'Prepare Export Notification Message' is invoked, and assuming that database has been updated with export status, when the system prepares export notification message, the desired outcome is that export notification message is formatted and ready for routing.
💻 Technical Criteria
Given Database has been updated with export status
When The system prepares export notification message
Then Export notification message is formatted and ready for routing
R-GCX016-cbl-00861 Route Export Message to USEXP Basket
Action Rules
📊 Business Logic Narrative
When the process 'Route Export Message to USEXP Basket' is invoked, and assuming that export notification message has been prepared, when the system routes export message to usexp basket, the desired outcome is that export notification message is delivered to usexp basket for further processing.
💻 Technical Criteria
Given Export notification message has been prepared
When The system routes export message to USEXP basket
Then Export notification message is delivered to USEXP basket for further processing
R-GCX016-cbl-00862 Export Status Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'Export Status Processing Complete' is invoked, and assuming that export message has been routed successfully or error conditions have been handled, when the system completes export status processing, the desired outcome is that export status processing workflow is finished and control returns to calling process.
💻 Technical Criteria
Given Export message has been routed successfully or error conditions have been handled
When The system completes export status processing
Then Export status processing workflow is finished and control returns to calling process
R-GCX016-cbl-00912 Broker Notification Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Notification Required?' is invoked, and assuming that message recipients have been determined for hold message, when the system checks broker notification requirements, the desired outcome is that if broker notification is required, the system retrieves broker information, otherwise sends to multiple standard destinations.
💻 Technical Criteria
Given Message recipients have been determined for hold message
When The system checks broker notification requirements
Then If broker notification is required, the system retrieves broker information, otherwise sends to multiple standard destinations
R-GCX016-cbl-00915 Route via Email
Action Rules
📊 Business Logic Narrative
When the process 'Route via Email' is invoked, and assuming that broker preferences indicate email as preferred communication method, when the system routes the message via email, the desired outcome is that the system sends the hold message to broker's email address and proceeds to send to payer of freight.
💻 Technical Criteria
Given Broker preferences indicate email as preferred communication method
When The system routes the message via email
Then The system sends the hold message to broker's email address and proceeds to send to payer of freight
R-GCX016-cbl-00916 Route via Merlin
Action Rules
📊 Business Logic Narrative
When the process 'Route via Merlin' is invoked, and assuming that broker preferences indicate merlin as preferred communication method, when the system routes the message via merlin, the desired outcome is that the system sends the hold message to broker's merlin id and proceeds to send to payer of freight.
💻 Technical Criteria
Given Broker preferences indicate Merlin as preferred communication method
When The system routes the message via Merlin
Then The system sends the hold message to broker's Merlin ID and proceeds to send to payer of freight
R-GCX016-cbl-00917 Send to Payer of Freight
Action Rules
📊 Business Logic Narrative
When the process 'Send to Payer of Freight' is invoked, and assuming that hold message has been routed to broker via preferred communication method, when the system sends message to payer of freight, the desired outcome is that if payer of freight information exists, the system sends the hold message to payer of freight contact.
💻 Technical Criteria
Given Hold message has been routed to broker via preferred communication method
When The system sends message to payer of freight
Then If payer of freight information exists, the system sends the hold message to payer of freight contact
R-GCX016-cbl-00918 Send to Multiple Destinations
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send to Multiple Destinations', assuming that hold message routing to specific recipients has been completed or broker notification is not required, when the system sends message to multiple destinations, the desired outcome is that the system sends the hold message to station-specific merlin ids and other configured destinations.
💻 Technical Criteria
EXCLUDING Hold message routing to specific recipients has been completed or broker notification is not required
When The system sends message to multiple destinations
Then The system sends the hold message to station-specific Merlin IDs and other configured destinations
R-GCX016-cbl-00919 Log Hold Message Generation
Process Rules
📊 Business Logic Narrative
When the process 'Log Hold Message Generation' is invoked, and assuming that hold message has been sent to all required destinations, when the system logs the message generation, the desired outcome is that the system records the hold message generation event including recipients and message details for audit trail.
💻 Technical Criteria
Given Hold message has been sent to all required destinations
When The system logs the message generation
Then The system records the hold message generation event including recipients and message details for audit trail
R-GCX016-cbl-00924 Determine Hold Location
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Hold Location' is invoked, and assuming that a hold disposition code has been identified, when the system evaluates the hold location criteria, the desired outcome is that the hold is classified as either border hold or destination hold based on location indicators.
💻 Technical Criteria
Given A hold disposition code has been identified
When The system evaluates the hold location criteria
Then The hold is classified as either border hold or destination hold based on location indicators
R-GCX016-cbl-00925 Set Border Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Flag' is invoked, and assuming that a hold disposition code applies to border location, when the border hold condition is identified, the desired outcome is that the border hold flag is set to true.
💻 Technical Criteria
Given A hold disposition code applies to border location
When The border hold condition is identified
Then The border hold flag is set to true
R-GCX016-cbl-00926 Set Destination Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Flag' is invoked, and assuming that a hold disposition code applies to destination location, when the destination hold condition is identified, the desired outcome is that the destination hold flag is set to true.
💻 Technical Criteria
Given A hold disposition code applies to destination location
When The destination hold condition is identified
Then The destination hold flag is set to true
R-GCX016-cbl-00935 Check Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Type' is invoked, and assuming that a status array element contains a disposition code, when the disposition code is evaluated for type classification, the desired outcome is that the system determines if the code represents an export condition based on predefined export code criteria.
💻 Technical Criteria
Given A status array element contains a disposition code
When The disposition code is evaluated for type classification
Then The system determines if the code represents an export condition based on predefined export code criteria
R-GCX016-cbl-00982 Route to FDA Processing Queue
Process Rules
📊 Business Logic Narrative
When the process 'Route to FDA Processing Queue' is invoked, and assuming that fda hold notification has been generated, when the system routes to fda processing queue, the desired outcome is that the notification is sent to the appropriate fda processing queue for regulatory review and action.
💻 Technical Criteria
Given FDA hold notification has been generated
When The system routes to FDA processing queue
Then The notification is sent to the appropriate FDA processing queue for regulatory review and action
R-GCX016-cbl-01007 Border Arrival Date Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Border Arrival Date Available?' is invoked, and assuming that proceed flag is set in status array and border arrival requirements are being validated, when the system checks for border arrival date availability, the desired outcome is that if border arrival date is available, proceed to set proceed status, otherwise skip proceed processing.
💻 Technical Criteria
Given Proceed flag is set in status array and border arrival requirements are being validated
When The system checks for border arrival date availability
Then If border arrival date is available, proceed to set proceed status, otherwise skip proceed processing
R-GCX016-cbl-01060 Route Unrelease Message to Appropriate Users
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route Unrelease Message to Appropriate Users', assuming that canadian system notification has been sent or canadian coordination is not required, when the system calls z110-prep-emcsend with message type unrlse, the desired outcome is that unrelease message is routed to default and cancel-specific merlin ids for appropriate user notification.
💻 Technical Criteria
EXCLUDING Canadian system notification has been sent or Canadian coordination is not required
When The system calls Z110-PREP-EMCSEND with message type UNRLSE
Then Unrelease message is routed to default and cancel-specific Merlin IDs for appropriate user notification
R-GCX016-cbl-01086 Create Audit Trail for Cross-Border Release
Policy Rules
📊 Business Logic Narrative
When the process 'Create Audit Trail for Cross-Border Release' is invoked, and assuming that the log message has been placed on the canadian system, when the system creates an audit trail for cross-border release, the desired outcome is that the canadian notification process should be marked as complete.
💻 Technical Criteria
Given the log message has been placed on the Canadian system
When the system creates an audit trail for cross-border release
Then the Canadian notification process should be marked as complete
R-GCX016-cbl-01177 Set Message Destination
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Destination' is invoked, and assuming that the release message contains all required information, when message destination needs to be set, the desired outcome is that the system assigns the appropriate merlin destination based on message type and routing requirements.
💻 Technical Criteria
Given The release message contains all required information
When Message destination needs to be set
Then The system assigns the appropriate Merlin destination based on message type and routing requirements
R-GCX016-cbl-01178 Prepare Final Message Format
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Final Message Format' is invoked, and assuming that the release message has a destination assigned, when final message format is prepared, the desired outcome is that the system formats the complete message according to merlin system requirements with all components properly structured.
💻 Technical Criteria
Given The release message has a destination assigned
When Final message format is prepared
Then The system formats the complete message according to Merlin system requirements with all components properly structured
R-GCX016-cbl-01205 Set Export Message Type
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Message Type' is invoked, and assuming that the operation has been identified as a standard export, when the system sets the export message type, the desired outcome is that the message type is configured for standard export processing.
💻 Technical Criteria
Given The operation has been identified as a standard export
When The system sets the export message type
Then The message type is configured for standard export processing
R-GCX016-cbl-01206 Set Export Cancellation Message Type
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Cancellation Message Type' is invoked, and assuming that the operation has been identified as an export cancellation, when the system sets the export cancellation message type, the desired outcome is that the message type is configured for export cancellation processing.
💻 Technical Criteria
Given The operation has been identified as an export cancellation
When The system sets the export cancellation message type
Then The message type is configured for export cancellation processing
R-GCX016-cbl-01207 Call Z110-PREP-EMCSEND Message Preparation
Action Rules
📊 Business Logic Narrative
When the process 'Call Z110-PREP-EMCSEND Message Preparation' is invoked, and assuming that the export message type has been configured, when the system calls the message preparation service z110-prep-emcsend, the desired outcome is that the export message is formatted and prepared for transmission.
💻 Technical Criteria
Given The export message type has been configured
When The system calls the message preparation service Z110-PREP-EMCSEND
Then The export message is formatted and prepared for transmission
R-GCX016-cbl-01210 Set Export Message Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Message Keywords' is invoked, and assuming that the export message routing has been determined, when the system sets export message keywords, the desired outcome is that the message is tagged with appropriate keywords for export processing.
💻 Technical Criteria
Given The export message routing has been determined
When The system sets export message keywords
Then The message is tagged with appropriate keywords for export processing
R-GCX016-cbl-01212 Valid Destination User?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Destination User?' is invoked, and assuming that the export subject line has been formatted, when the system validates the destination user from message routing tables, the desired outcome is that the system determines if the destination user is valid for receiving export notifications.
💻 Technical Criteria
Given The export subject line has been formatted
When The system validates the destination user from message routing tables
Then The system determines if the destination user is valid for receiving export notifications
R-GCX016-cbl-01213 Route to Default USEXP User
Process Rules
📊 Business Logic Narrative
When the process 'Route to Default USEXP User' is invoked, and assuming that the destination user validation has determined the user is invalid, when the system routes to the default usexp user, the desired outcome is that the export message is assigned to the default usexp user for processing.
💻 Technical Criteria
Given The destination user validation has determined the user is invalid
When The system routes to the default USEXP user
Then The export message is assigned to the default USEXP user for processing
R-GCX016-cbl-01214 Send Export Notification Message
Action Rules
📊 Business Logic Narrative
When the process 'Send Export Notification Message' is invoked, and assuming that a valid destination user has been determined (either original or default), when the system sends the export notification message, the desired outcome is that the export notification is transmitted to the designated user.
💻 Technical Criteria
Given A valid destination user has been determined (either original or default)
When The system sends the export notification message
Then The export notification is transmitted to the designated user
R-GCX016-cbl-01215 Log Export Message Transaction
Process Rules
📊 Business Logic Narrative
When the process 'Log Export Message Transaction' is invoked, and assuming that the export notification message has been sent successfully, when the system logs the export message transaction, the desired outcome is that the export message transaction is recorded in the system logs.
💻 Technical Criteria
Given The export notification message has been sent successfully
When The system logs the export message transaction
Then The export message transaction is recorded in the system logs
R-GCX016-cbl-01217 POD - Train Arrived at Port
Decision Rules
📊 Business Logic Narrative
When the process 'POD - Train Arrived at Port' is invoked, and assuming that a v9 segment with event code 'pod' is received, when the system evaluates the disposition code, the desired outcome is that the system sets arrival processing flags and prepares port arrival notification.
💻 Technical Criteria
Given A V9 segment with event code 'POD' is received
When The system evaluates the disposition code
Then The system sets arrival processing flags and prepares port arrival notification
R-GCX016-cbl-01218 AAD - Train Arrived at Destination
Decision Rules
📊 Business Logic Narrative
When the process 'AAD - Train Arrived at Destination' is invoked, and assuming that a v9 segment with event code 'aad' is received, when the system evaluates the disposition code, the desired outcome is that the system sets arrival processing flags and prepares destination arrival notification.
💻 Technical Criteria
Given A V9 segment with event code 'AAD' is received
When The system evaluates the disposition code
Then The system sets arrival processing flags and prepares destination arrival notification
R-GCX016-cbl-01222 Prepare USCS Arrival Message
Action Rules
📊 Business Logic Narrative
When the process 'Prepare USCS Arrival Message' is invoked, and assuming that arrival message type has been set for pod or aad events, when the system formats the notification message, the desired outcome is that the system creates a properly formatted uscs arrival message with train and location details.
💻 Technical Criteria
Given Arrival message type has been set for POD or AAD events
When The system formats the notification message
Then The system creates a properly formatted USCS arrival message with train and location details
R-GCX016-cbl-01223 Prepare USCS Cancellation Message
Action Rules
📊 Business Logic Narrative
When the process 'Prepare USCS Cancellation Message' is invoked, and assuming that cancellation message type has been set for coc events, when the system formats the notification message, the desired outcome is that the system creates a properly formatted uscs cancellation message with train and location details.
💻 Technical Criteria
Given Cancellation message type has been set for COC events
When The system formats the notification message
Then The system creates a properly formatted USCS cancellation message with train and location details
R-GCX016-cbl-01226 Include Port/Destination Details
Process Rules
📊 Business Logic Narrative
When the process 'Include Port/Destination Details' is invoked, and assuming that train information has been included in the message, when the system adds location details, the desired outcome is that the system includes appropriate port or destination information based on the event type (pod/aad).
💻 Technical Criteria
Given Train information has been included in the message
When The system adds location details
Then The system includes appropriate port or destination information based on the event type (POD/AAD)
R-GCX016-cbl-01227 Include Timestamp Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Timestamp Information' is invoked, and assuming that location details have been included in the message, when the system adds temporal information, the desired outcome is that the system includes event date, time, and timezone information in the notification message.
💻 Technical Criteria
Given Location details have been included in the message
When The system adds temporal information
Then The system includes event date, time, and timezone information in the notification message
R-GCX016-cbl-01228 Message Routing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Routing Required?' is invoked, and assuming that a complete notification message has been formatted, when the system evaluates routing requirements, the desired outcome is that the system determines if the message should be routed to uscs, brokers, or payer of freight based on message type and content.
💻 Technical Criteria
Given A complete notification message has been formatted
When The system evaluates routing requirements
Then The system determines if the message should be routed to USCS, brokers, or payer of freight based on message type and content
R-GCX016-cbl-01229 Route to USCS System
Action Rules
📊 Business Logic Narrative
When the process 'Route to USCS System' is invoked, and assuming that message routing evaluation determines uscs routing is required, when the system initiates uscs routing, the desired outcome is that the system sends the notification message to uscs system endpoints.
💻 Technical Criteria
Given Message routing evaluation determines USCS routing is required
When The system initiates USCS routing
Then The system sends the notification message to USCS system endpoints
R-GCX016-cbl-01230 Route to Broker Notifications
Action Rules
📊 Business Logic Narrative
When the process 'Route to Broker Notifications' is invoked, and assuming that message routing evaluation determines broker notification is required, when the system initiates broker routing, the desired outcome is that the system sends the notification message to identified brokers via configured communication channels.
💻 Technical Criteria
Given Message routing evaluation determines broker notification is required
When The system initiates broker routing
Then The system sends the notification message to identified brokers via configured communication channels
R-GCX016-cbl-01231 Route to Payer of Freight
Action Rules
📊 Business Logic Narrative
When the process 'Route to Payer of Freight' is invoked, and assuming that message routing evaluation determines payer of freight notification is required, when the system initiates payer of freight routing, the desired outcome is that the system sends the notification message to payer of freight contacts via configured communication channels.
💻 Technical Criteria
Given Message routing evaluation determines payer of freight notification is required
When The system initiates payer of freight routing
Then The system sends the notification message to payer of freight contacts via configured communication channels
R-GCX016-cbl-01242 Extract Broker Code After 'PF='
Process Rules
📊 Business Logic Narrative
When the process 'Extract Broker Code After 'PF='' is invoked, and assuming that the payer code starts with 'pf=', when the system processes the pf-formatted code, the desired outcome is that the system extracts the broker code portion after the 'pf=' prefix.
💻 Technical Criteria
Given The payer code starts with 'PF='
When The system processes the PF-formatted code
Then The system extracts the broker code portion after the 'PF=' prefix
R-GCX016-cbl-01276 Extract Transport Type from M10-03
Process Rules
📊 Business Logic Narrative
When the process 'Extract Transport Type from M10-03' is invoked, and assuming that an m10 manifest segment is received with transport type information in field m10-03, when the system processes the m10 segment for manifest data integration, the desired outcome is that the transport type is extracted from m10-03 field and stored for transportation mode identification.
💻 Technical Criteria
Given An M10 manifest segment is received with transport type information in field M10-03
When The system processes the M10 segment for manifest data integration
Then The transport type is extracted from M10-03 field and stored for transportation mode identification
R-GCX016-cbl-01283 Is Transport Type Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Transport Type Valid?' is invoked, and assuming that a transport type code has been extracted from m10-03 field, when the system validates the transport type against valid transportation modes, the desired outcome is that the system determines if the transport type is valid for further processing.
💻 Technical Criteria
Given A transport type code has been extracted from M10-03 field
When The system validates the transport type against valid transportation modes
Then The system determines if the transport type is valid for further processing
R-GCX016-cbl-01284 Map Transport Type to Internal Code
Decision Rules
📊 Business Logic Narrative
When the process 'Map Transport Type to Internal Code' is invoked, and assuming that a transport type code has been validated as a recognized transportation mode, when the system maps the transport type to internal coding standards, the desired outcome is that the transport type is converted to the appropriate internal system code.
💻 Technical Criteria
Given A transport type code has been validated as a recognized transportation mode
When The system maps the transport type to internal coding standards
Then The transport type is converted to the appropriate internal system code
R-GCX016-cbl-01285 Set Default Transport Type
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Transport Type', assuming that a transport type code has been extracted but is not a recognized valid transportation mode, when the system cannot map the transport type to internal coding standards, the desired outcome is that the system assigns a default transport type code for processing.
💻 Technical Criteria
EXCLUDING A transport type code has been extracted but is not a recognized valid transportation mode
When The system cannot map the transport type to internal coding standards
Then The system assigns a default transport type code for processing
R-GCX016-cbl-01291 Search DS Table
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search DS Table', assuming that station was not found in sd table, when the system searches the ds table using station identifier, the desired outcome is that the system retrieves destination station information if found.
💻 Technical Criteria
EXCLUDING Station was not found in SD table
When The system searches the DS table using station identifier
Then The system retrieves destination station information if found
R-GCX016-cbl-01294 Station Found in KS?
Validation Rules
📊 Business Logic Narrative
When the process 'Station Found in KS?' is invoked, and assuming that the ks table has been searched for a station, when the system checks if the station was found in ks table, the desired outcome is that if found, retrieve location details; if not found, generate station not found error.
💻 Technical Criteria
Given The KS table has been searched for a station
When The system checks if the station was found in KS table
Then If found, retrieve location details; if not found, generate station not found error
R-GCX016-cbl-01297 Retrieve Location Details
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Location Details' is invoked, and assuming that station is found in ks table, when the system retrieves station data, the desired outcome is that the system extracts and stores the location details for formatting.
💻 Technical Criteria
Given Station is found in KS table
When The system retrieves station data
Then The system extracts and stores the location details for formatting
R-GCX016-cbl-01298 Format Station Information
Process Rules
📊 Business Logic Narrative
When the process 'Format Station Information' is invoked, and assuming that station information has been retrieved from any of the station tables, when the system formats the station data, the desired outcome is that the system creates a standardized station information structure with name, description, and location details.
💻 Technical Criteria
Given Station information has been retrieved from any of the station tables
When The system formats the station data
Then The system creates a standardized station information structure with name, description, and location details
R-GCX016-cbl-01304 DS Table Entry Found?
Decision Rules
📊 Business Logic Narrative
When the process 'DS Table Entry Found?' is invoked, and assuming that a ds table lookup has been performed using the location id, when the system checks if a matching ds table entry was found, the desired outcome is that the system extracts station information if found, otherwise performs ks table lookup.
💻 Technical Criteria
Given A DS table lookup has been performed using the location ID
When The system checks if a matching DS table entry was found
Then The system extracts station information if found, otherwise performs KS table lookup
R-GCX016-cbl-01305 Lookup Station in KS Table
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup Station in KS Table', assuming that the ds table lookup did not find a matching station entry, when the system searches the ks table using the location id, the desired outcome is that the system retrieves station information if found or logs station not found warning.
💻 Technical Criteria
EXCLUDING The DS table lookup did not find a matching station entry
When The system searches the KS table using the location ID
Then The system retrieves station information if found or logs station not found warning
R-GCX016-cbl-01306 KS Table Entry Found?
Decision Rules
📊 Business Logic Narrative
When the process 'KS Table Entry Found?' is invoked, and assuming that a ks table lookup has been performed using the location id, when the system checks if a matching ks table entry was found, the desired outcome is that the system extracts station information if found, otherwise logs station not found warning.
💻 Technical Criteria
Given A KS table lookup has been performed using the location ID
When The system checks if a matching KS table entry was found
Then The system extracts station information if found, otherwise logs station not found warning
R-GCX016-cbl-01308 Map Location ID to Station Information
Process Rules
📊 Business Logic Narrative
When the process 'Map Location ID to Station Information' is invoked, and assuming that station name and description have been extracted from the table lookup, when the system maps the location id to the station information, the desired outcome is that the location id is associated with the corresponding station details.
💻 Technical Criteria
Given Station name and description have been extracted from the table lookup
When The system maps the location ID to the station information
Then The location ID is associated with the corresponding station details
R-GCX016-cbl-01313 Log Station Not Found Warning
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Station Not Found Warning', assuming that both ds and ks table lookups have failed to find a matching station entry, when the system logs a station not found warning, the desired outcome is that a warning is recorded indicating the location id could not be resolved to station information.
💻 Technical Criteria
EXCLUDING Both DS and KS table lookups have failed to find a matching station entry
When The system logs a station not found warning
Then A warning is recorded indicating the location ID could not be resolved to station information
R-GCX016-cbl-01315 Station Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Station Type Check' is invoked, and assuming that a station lookup request is received, when the system evaluates the station type, the desired outcome is that the system routes to either ds table for standard stations or ks table for kcsm stations.
💻 Technical Criteria
Given A station lookup request is received
When The system evaluates the station type
Then The system routes to either DS table for standard stations or KS table for KCSM stations
R-GCX016-cbl-01333 Include Entry Number Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Entry Number Information' is invoked, and assuming that a disposition message is being formatted and entry number information is available, when the system includes entry number information in the message, the desired outcome is that the message contains the entry number for customs reference and tracking.
💻 Technical Criteria
Given A disposition message is being formatted AND entry number information is available
When The system includes entry number information in the message
Then The message contains the entry number for customs reference and tracking
R-GCX016-cbl-01347 Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Action Type?' is invoked, and assuming that quantity action details have been retrieved from the dc table, when the system evaluates the action type field, the desired outcome is that the system routes to either add or subtract quantity processing based on the action type.
💻 Technical Criteria
Given Quantity action details have been retrieved from the DC table
When The system evaluates the action type field
Then The system routes to either ADD or SUBTRACT quantity processing based on the action type
R-GCX016-cbl-01365 Message Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type?' is invoked, and assuming that k1 comments are ready for formatting and a message is being prepared, when the system evaluates the message type (release, hold, status, or error), the desired outcome is that the system routes k1 comment formatting to the appropriate message type handler.
💻 Technical Criteria
Given K1 comments are ready for formatting and a message is being prepared
When The system evaluates the message type (Release, Hold, Status, or Error)
Then The system routes K1 comment formatting to the appropriate message type handler
R-GCX016-cbl-01410 Email Preference Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Email Preference Set?' is invoked, and assuming that broker contact information has been retrieved from broker tables, when the broker has internet notification preference set to 'y' or email preference is configured, the desired outcome is that the system routes the notification to the internet email system.
💻 Technical Criteria
Given Broker contact information has been retrieved from broker tables
When The broker has internet notification preference set to 'Y' or email preference is configured
Then The system routes the notification to the internet email system
R-GCX016-cbl-01411 Route to Traditional Merlin System
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route to Traditional Merlin System', assuming that broker contact information has been retrieved from broker tables, when the broker does not have internet notification preference set or email preference is not configured, the desired outcome is that the system routes the notification to the traditional merlin messaging system.
💻 Technical Criteria
EXCLUDING Broker contact information has been retrieved from broker tables
When The broker does not have internet notification preference set or email preference is not configured
Then The system routes the notification to the traditional Merlin messaging system
R-GCX016-cbl-01415 Set Merlin User Codes
Process Rules
📊 Business Logic Narrative
When the process 'Set Merlin User Codes' is invoked, and assuming that merlin message has been formatted for delivery, when the system prepares merlin routing parameters, the desired outcome is that the system sets appropriate user codes, destination identifiers, and routing parameters based on broker location and message type.
💻 Technical Criteria
Given Merlin message has been formatted for delivery
When The system prepares Merlin routing parameters
Then The system sets appropriate user codes, destination identifiers, and routing parameters based on broker location and message type
R-GCX016-cbl-01441 Display Element Details
Process Rules
📊 Business Logic Narrative
When the process 'Display Element Details' is invoked, and assuming that a status array element is being processed, when element detail display is requested, the desired outcome is that display disposition code, status information, entry number, quantity information, location details, and released flag.
💻 Technical Criteria
Given A status array element is being processed
When Element detail display is requested
Then Display disposition code, status information, entry number, quantity information, location details, and released flag
R-GCX016-cbl-01446 Show Location Details
Process Rules
📊 Business Logic Narrative
When the process 'Show Location Details' is invoked, and assuming that a status array element is being displayed, when location details display is requested, the desired outcome is that show location codes and related geographic information for the current element.
💻 Technical Criteria
Given A status array element is being displayed
When Location details display is requested
Then Show location codes and related geographic information for the current element
R-GCX016-cbl-01475 Error Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Error Message Type' is invoked, and assuming that a message needs to be processed and routed, when the message type is identified as error or arrcanl (arrival cancellation), the desired outcome is that the system should set error message keywords and route the message to both 'in' and 'userr' destinations.
💻 Technical Criteria
Given A message needs to be processed and routed
When The message type is identified as ERROR or ARRCANL (arrival cancellation)
Then The system should set error message keywords and route the message to both 'IN' and 'USERR' destinations
R-GCX016-cbl-01476 Info Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Info Message Type' is invoked, and assuming that a message needs to be processed and routed, when the message type is identified as info, the desired outcome is that the system should set info message keywords and route the message to 'in' destination and station-specific merlin ids.
💻 Technical Criteria
Given A message needs to be processed and routed
When The message type is identified as INFO
Then The system should set info message keywords and route the message to 'IN' destination and station-specific Merlin IDs
R-GCX016-cbl-01477 Unrelease Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Unrelease Message Type' is invoked, and assuming that a message needs to be processed and routed, when the message type is identified as unrlse (unrelease), the desired outcome is that the system should set unrelease message keywords and route the message to cancel-specific merlin ids.
💻 Technical Criteria
Given A message needs to be processed and routed
When The message type is identified as UNRLSE (unrelease)
Then The system should set unrelease message keywords and route the message to cancel-specific Merlin IDs
R-GCX016-cbl-01478 Release Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Release Message Type' is invoked, and assuming that a message needs to be processed and routed, when the message type is identified as rlse (release), the desired outcome is that the system should set release message keywords and route the message to station-specific merlin ids only.
💻 Technical Criteria
Given A message needs to be processed and routed
When The message type is identified as RLSE (release)
Then The system should set release message keywords and route the message to station-specific Merlin IDs only
R-GCX016-cbl-01482 Validate Destination User
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Destination User' is invoked, and assuming that a message is ready for delivery to a destination user, when the destination user is validated as valid, the desired outcome is that the system should send the message directly to the validated user.
💻 Technical Criteria
Given A message is ready for delivery to a destination user
When The destination user is validated as valid
Then The system should send the message directly to the validated user
R-GCX016-cbl-01483 Validate Destination User
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Destination User', assuming that a message is ready for delivery to a destination user, when the destination user is validated as invalid, the desired outcome is that the system should reroute the message to the default destination to ensure delivery.
💻 Technical Criteria
EXCLUDING A message is ready for delivery to a destination user
When The destination user is validated as invalid
Then The system should reroute the message to the default destination to ensure delivery
R-GCX016-cbl-01487 Set Primary Destination User
Validation Rules
📊 Business Logic Narrative
When the process 'Set Primary Destination User' is invoked, and assuming that an error message has been generated and requires routing, when the system determines the message type and attempts to set the primary destination user, the desired outcome is that the primary destination user is identified and validated for message routing.
💻 Technical Criteria
Given An error message has been generated and requires routing
When The system determines the message type and attempts to set the primary destination user
Then The primary destination user is identified and validated for message routing
R-GCX016-cbl-01488 Is Primary User Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Primary User Valid?' is invoked, and assuming that a primary destination user has been identified, when the system validates the primary user credentials and routing permissions, the desired outcome is that the system determines if the primary user is valid and can receive the message.
💻 Technical Criteria
Given A primary destination user has been identified
When The system validates the primary user credentials and routing permissions
Then The system determines if the primary user is valid and can receive the message
R-GCX016-cbl-01489 Route to Primary User
Action Rules
📊 Business Logic Narrative
When the process 'Route to Primary User' is invoked, and assuming that the primary user has been validated as a valid recipient, when the system processes the routing request, the desired outcome is that the error message is routed to the primary user destination.
💻 Technical Criteria
Given The primary user has been validated as a valid recipient
When The system processes the routing request
Then The error message is routed to the primary user destination
R-GCX016-cbl-01490 Route to Default Error User
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default Error User' is invoked, and assuming that the primary user has been determined to be invalid, when the system needs to route the error message, the desired outcome is that the error message is routed to the default error user destination.
💻 Technical Criteria
Given The primary user has been determined to be invalid
When The system needs to route the error message
Then The error message is routed to the default error user destination
R-GCX016-cbl-01491 Additional Recipients Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Additional Recipients Required?' is invoked, and assuming that the error message has been routed to either primary or default error user, when the system evaluates the message type and routing requirements, the desired outcome is that the system determines whether additional recipients are required for this message type.
💻 Technical Criteria
Given The error message has been routed to either primary or default error user
When The system evaluates the message type and routing requirements
Then The system determines whether additional recipients are required for this message type
R-GCX016-cbl-01494 Add Valid Secondary User to Route List
Action Rules
📊 Business Logic Narrative
When the process 'Add Valid Secondary User to Route List' is invoked, and assuming that a secondary user has been validated as a valid recipient, when the system processes the routing list update, the desired outcome is that the valid secondary user is added to the message routing list.
💻 Technical Criteria
Given A secondary user has been validated as a valid recipient
When The system processes the routing list update
Then The valid secondary user is added to the message routing list
R-GCX016-cbl-01500 Send Message to All Valid Destinations
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to All Valid Destinations' is invoked, and assuming that all routing destinations have been determined and validated, when the system executes the message delivery process, the desired outcome is that the error message is successfully sent to all valid destinations in the routing list.
💻 Technical Criteria
Given All routing destinations have been determined and validated
When The system executes the message delivery process
Then The error message is successfully sent to all valid destinations in the routing list
R-GCX016-cbl-01501 Log Routing Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Routing Information' is invoked, and assuming that the error message has been sent to all valid destinations, when the system processes the logging requirements, the desired outcome is that routing information including destinations and delivery status is logged for audit purposes.
💻 Technical Criteria
Given The error message has been sent to all valid destinations
When The system processes the logging requirements
Then Routing information including destinations and delivery status is logged for audit purposes
R-GCX016-cbl-01514 Set User Category Keywords
Authorization Rules
📊 Business Logic Narrative
When the process 'Set User Category Keywords' is invoked, and assuming that routing priority keywords have been set for the message, when the system determines the appropriate recipient categories (brokers, customs officers, train operators, etc.), the desired outcome is that the system sets user category keywords to ensure messages are delivered to the correct recipient groups.
💻 Technical Criteria
Given Routing priority keywords have been set for the message
When The system determines the appropriate recipient categories (brokers, customs officers, train operators, etc.)
Then The system sets user category keywords to ensure messages are delivered to the correct recipient groups
R-GCX016-cbl-01516 Determine Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Message Type' is invoked, and assuming that an email message needs to be prepared for sending, when the system evaluates the message content and context, the desired outcome is that the message type is determined as one of: error, info, release, hold, export, or unrelease.
💻 Technical Criteria
Given An email message needs to be prepared for sending
When The system evaluates the message content and context
Then The message type is determined as one of: Error, Info, Release, Hold, Export, or Unrelease
R-GCX016-cbl-01517 Error Message Subject
Process Rules
📊 Business Logic Narrative
When the process 'Error Message Subject' is invoked, and assuming that a message has been classified as an error or arrival cancellation type, when the message routing process is executed, the desired outcome is that the message is sent to both 'in' and 'userr' destinations with error-specific subject formatting.
💻 Technical Criteria
Given A message has been classified as an error or arrival cancellation type
When The message routing process is executed
Then The message is sent to both 'IN' and 'USERR' destinations with error-specific subject formatting
R-GCX016-cbl-01518 Info Message Subject
Process Rules
📊 Business Logic Narrative
When the process 'Info Message Subject' is invoked, and assuming that a message has been classified as an informational type, when the message routing process is executed, the desired outcome is that the message is sent to 'in' destination and station-specific merlin ids with info-specific subject formatting.
💻 Technical Criteria
Given A message has been classified as an informational type
When The message routing process is executed
Then The message is sent to 'IN' destination and station-specific Merlin IDs with info-specific subject formatting
R-GCX016-cbl-01522 Message Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type?' is invoked, and assuming that a message has been generated for routing, when the system evaluates the message type, the desired outcome is that the message is classified as error, info, unrelease, release, or export type for appropriate routing.
💻 Technical Criteria
Given A message has been generated for routing
When The system evaluates the message type
Then The message is classified as Error, Info, Unrelease, Release, or Export type for appropriate routing
R-GCX016-cbl-01523 Set Error Message Routing
Process Rules
📊 Business Logic Narrative
When the process 'Set Error Message Routing' is invoked, and assuming that a message has been classified as an error type (error or arrcanl), when the system configures routing destinations, the desired outcome is that the message is set to route to both 'in' destination and 'userr' destination.
💻 Technical Criteria
Given A message has been classified as an error type (ERROR or ARRCANL)
When The system configures routing destinations
Then The message is set to route to both 'IN' destination and 'USERR' destination
R-GCX016-cbl-01524 Set Info Message Routing
Process Rules
📊 Business Logic Narrative
When the process 'Set Info Message Routing' is invoked, and assuming that a message has been classified as info type, when the system configures routing destinations, the desired outcome is that the message is set to route to 'in' destination and station-specific merlin ids.
💻 Technical Criteria
Given A message has been classified as info type
When The system configures routing destinations
Then The message is set to route to 'IN' destination and station-specific Merlin IDs
R-GCX016-cbl-01525 Set Unrelease Message Routing
Process Rules
📊 Business Logic Narrative
When the process 'Set Unrelease Message Routing' is invoked, and assuming that a message has been classified as unrelease type, when the system configures routing destinations, the desired outcome is that the message is set to route with default merlin ids and cancel-specific merlin ids.
💻 Technical Criteria
Given A message has been classified as unrelease type
When The system configures routing destinations
Then The message is set to route with default Merlin IDs and cancel-specific Merlin IDs
R-GCX016-cbl-01526 Set Release Message Routing
Process Rules
📊 Business Logic Narrative
When the process 'Set Release Message Routing' is invoked, and assuming that a message has been classified as release type, when the system configures routing destinations, the desired outcome is that the message is set to route to station-specific merlin ids only.
💻 Technical Criteria
Given A message has been classified as release type
When The system configures routing destinations
Then The message is set to route to station-specific Merlin IDs only
R-GCX016-cbl-01528 User Code Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'User Code Valid?' is invoked, and assuming that destination user codes have been determined for message routing, when the system validates the user codes, the desired outcome is that valid user codes proceed to primary destination routing and invalid user codes are handled by the invalid user handler.
💻 Technical Criteria
Given Destination user codes have been determined for message routing
When The system validates the user codes
Then Valid user codes proceed to primary destination routing and invalid user codes are handled by the invalid user handler
R-GCX016-cbl-01529 Route to Invalid User Handler
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route to Invalid User Handler', assuming that a user code has been determined to be invalid, when the system processes the invalid user code, the desired outcome is that a default user code is set and the message is routed to multiple destinations.
💻 Technical Criteria
EXCLUDING A user code has been determined to be invalid
When The system processes the invalid user code
Then A default user code is set and the message is routed to multiple destinations
R-GCX016-cbl-01530 Route to Primary Destination
Process Rules
📊 Business Logic Narrative
When the process 'Route to Primary Destination' is invoked, and assuming that a user code has been validated as valid, when the system routes the message, the desired outcome is that the message is routed to multiple destinations using the valid user code.
💻 Technical Criteria
Given A user code has been validated as valid
When The system routes the message
Then The message is routed to multiple destinations using the valid user code
R-GCX016-cbl-01534 Set Message Keywords
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Keywords' is invoked, and assuming that a message has been routed to its destination basket, when the system processes the message for final formatting, the desired outcome is that appropriate keywords are assigned to the message for categorization.
💻 Technical Criteria
Given A message has been routed to its destination basket
When The system processes the message for final formatting
Then Appropriate keywords are assigned to the message for categorization
R-GCX016-cbl-01540 User Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'User Valid?' is invoked, and assuming that subject line has been formatted for the info message, when the system processes each user in the configured user list, the desired outcome is that if user is valid and active, proceed to send message to user, otherwise route to default user with notification.
💻 Technical Criteria
Given Subject line has been formatted for the info message
When The system processes each user in the configured user list
Then If user is valid and active, proceed to send message to user, otherwise route to default user with notification
R-GCX016-cbl-01542 Route to Default User with Notification
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default User with Notification' is invoked, and assuming that user has been validated as invalid or inactive, when the system needs to deliver the informational message, the desired outcome is that route message to default user and include notification about invalid user configuration.
💻 Technical Criteria
Given User has been validated as invalid or inactive
When The system needs to deliver the informational message
Then Route message to default user and include notification about invalid user configuration
R-GCX016-cbl-01543 More Users to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Users to Process?' is invoked, and assuming that message has been sent to current user or routed to default user, when the system checks for remaining users in the list, the desired outcome is that if more users exist in configured list, continue processing next user, otherwise proceed to message distribution logging.
💻 Technical Criteria
Given Message has been sent to current user or routed to default user
When The system checks for remaining users in the list
Then If more users exist in configured list, continue processing next user, otherwise proceed to message distribution logging
R-GCX016-cbl-01545 Message Type = Unrelease?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type = Unrelease?' is invoked, and assuming that a message has been received for processing, when the system evaluates the message type, the desired outcome is that the system identifies whether the message is an unrelease type and routes accordingly or completes processing for non-unrelease messages.
💻 Technical Criteria
Given A message has been received for processing
When The system evaluates the message type
Then The system identifies whether the message is an unrelease type and routes accordingly or completes processing for non-unrelease messages
R-GCX016-cbl-01548 Multiple Destinations?
Decision Rules
📊 Business Logic Narrative
When the process 'Multiple Destinations?' is invoked, and assuming that target baskets have been determined for the unrelease message, when the system evaluates the number of required destinations, the desired outcome is that the system routes to either a single primary basket or multiple baskets based on the destination count.
💻 Technical Criteria
Given Target baskets have been determined for the unrelease message
When The system evaluates the number of required destinations
Then The system routes to either a single primary basket or multiple baskets based on the destination count
R-GCX016-cbl-01549 Route to Primary Basket
Action Rules
📊 Business Logic Narrative
When the process 'Route to Primary Basket' is invoked, and assuming that the system has determined single destination routing is required, when the primary basket has been identified, the desired outcome is that the system routes the unrelease message to the primary basket only.
💻 Technical Criteria
Given The system has determined single destination routing is required
When The primary basket has been identified
Then The system routes the unrelease message to the primary basket only
R-GCX016-cbl-01550 Route to Multiple Baskets
Action Rules
📊 Business Logic Narrative
When the process 'Route to Multiple Baskets' is invoked, and assuming that the system has determined multiple destination routing is required, when multiple target baskets have been identified, the desired outcome is that the system routes the unrelease message to all designated baskets.
💻 Technical Criteria
Given The system has determined multiple destination routing is required
When Multiple target baskets have been identified
Then The system routes the unrelease message to all designated baskets
R-GCX016-cbl-01551 User ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'User ID Valid?' is invoked, and assuming that basket routing has been determined for the unrelease message, when the system evaluates the user id for routing, the desired outcome is that the system routes to the specified user if valid or to the default user if invalid.
💻 Technical Criteria
Given Basket routing has been determined for the unrelease message
When The system evaluates the user ID for routing
Then The system routes to the specified user if valid or to the default user if invalid
R-GCX016-cbl-01552 Route to Specified User
Action Rules
📊 Business Logic Narrative
When the process 'Route to Specified User' is invoked, and assuming that the user id has been validated as valid, when the system processes user-specific routing, the desired outcome is that the system routes the unrelease message to the specified user.
💻 Technical Criteria
Given The user ID has been validated as valid
When The system processes user-specific routing
Then The system routes the unrelease message to the specified user
R-GCX016-cbl-01553 Route to Default User
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default User' is invoked, and assuming that the user id has been validated as invalid, when the system processes default routing, the desired outcome is that the system routes the unrelease message to the default user.
💻 Technical Criteria
Given The user ID has been validated as invalid
When The system processes default routing
Then The system routes the unrelease message to the default user
R-GCX016-cbl-01560 Log Message Routing
Process Rules
📊 Business Logic Narrative
When the process 'Log Message Routing' is invoked, and assuming that the unrelease message has been sent to designated baskets, when the system completes message delivery, the desired outcome is that the system logs the routing activity including destinations, users, and delivery status.
💻 Technical Criteria
Given The unrelease message has been sent to designated baskets
When The system completes message delivery
Then The system logs the routing activity including destinations, users, and delivery status
R-GCX016-cbl-01566 Route to Configured Users
Process Rules
📊 Business Logic Narrative
When the process 'Route to Configured Users' is invoked, and assuming that target users have been validated and have proper notification configurations, when the system processes the release message for delivery, the desired outcome is that messages are routed to configured users based on their notification preferences.
💻 Technical Criteria
Given Target users have been validated and have proper notification configurations
When The system processes the release message for delivery
Then Messages are routed to configured users based on their notification preferences
R-GCX016-cbl-01567 Route to Default Users
Process Rules
📊 Business Logic Narrative
When the process 'Route to Default Users' is invoked, and assuming that target users have been identified but lack valid notification configurations, when the system attempts to deliver release notifications, the desired outcome is that messages are routed to default notification recipients to ensure delivery.
💻 Technical Criteria
Given Target users have been identified but lack valid notification configurations
When The system attempts to deliver release notifications
Then Messages are routed to default notification recipients to ensure delivery
R-GCX016-cbl-01570 Prepare Merlin Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Merlin Message' is invoked, and assuming that merlin delivery method has been selected for release notification, when the system prepares the message for merlin transmission, the desired outcome is that merlin message format, routing codes, and destination identifiers are properly configured.
💻 Technical Criteria
Given Merlin delivery method has been selected for release notification
When The system prepares the message for Merlin transmission
Then Merlin message format, routing codes, and destination identifiers are properly configured
R-GCX016-cbl-01586 Determine Destination Basket
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Destination Basket' is invoked, and assuming that export message content has been formatted for usexp processing, when the system evaluates export processing type, customs clearance requirements, and documentation needs, the desired outcome is that the appropriate usexp basket is selected from export processing, customs clearance, or documentation baskets.
💻 Technical Criteria
Given Export message content has been formatted for USEXP processing
When The system evaluates export processing type, customs clearance requirements, and documentation needs
Then The appropriate USEXP basket is selected from export processing, customs clearance, or documentation baskets
R-GCX016-cbl-01587 Send to USEXP Processing
Action Rules
📊 Business Logic Narrative
When the process 'Send to USEXP Processing' is invoked, and assuming that the destination usexp basket has been determined and message is formatted, when the system transmits the export message to the selected usexp basket, the desired outcome is that the export message is successfully sent to usexp processing for customs clearance and documentation.
💻 Technical Criteria
Given The destination USEXP basket has been determined and message is formatted
When The system transmits the export message to the selected USEXP basket
Then The export message is successfully sent to USEXP processing for customs clearance and documentation
R-GCX016-cbl-01590 Check Destination User Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Check Destination User Valid?' is invoked, and assuming that a message is ready for routing with a destination user id, when the system checks if the destination user id is valid, the desired outcome is that the system determines whether the user exists in the system or not.
💻 Technical Criteria
Given A message is ready for routing with a destination user ID
When The system checks if the destination user ID is valid
Then The system determines whether the user exists in the system or not
R-GCX016-cbl-01591 Route Message to Original User
Action Rules
📊 Business Logic Narrative
When the process 'Route Message to Original User' is invoked, and assuming that a message needs to be routed and the destination user id exists in the system, when the user validation check passes, the desired outcome is that the message is routed to the original intended user.
💻 Technical Criteria
Given A message needs to be routed and the destination user ID exists in the system
When The user validation check passes
Then The message is routed to the original intended user
R-GCX016-cbl-01592 Identify Message Type
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Identify Message Type', assuming that a message needs to be routed but the destination user id does not exist in the system, when the user validation check fails, the desired outcome is that the system identifies the message type for appropriate rerouting.
💻 Technical Criteria
EXCLUDING A message needs to be routed but the destination user ID does not exist in the system
When The user validation check fails
Then The system identifies the message type for appropriate rerouting
R-GCX016-cbl-01593 Route to Default Error Users
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default Error Users' is invoked, and assuming that a message is identified as an error message and the original destination user is invalid, when the message type is determined to be an error message, the desired outcome is that the message is routed to the default error users.
💻 Technical Criteria
Given A message is identified as an error message and the original destination user is invalid
When The message type is determined to be an error message
Then The message is routed to the default error users
R-GCX016-cbl-01594 Route to Default Info Users
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default Info Users' is invoked, and assuming that a message is identified as an info message and the original destination user is invalid, when the message type is determined to be an informational message, the desired outcome is that the message is routed to the default info users.
💻 Technical Criteria
Given A message is identified as an info message and the original destination user is invalid
When The message type is determined to be an informational message
Then The message is routed to the default info users
R-GCX016-cbl-01595 Route to Default Release Users
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default Release Users' is invoked, and assuming that a message is identified as a release message and the original destination user is invalid, when the message type is determined to be a release message, the desired outcome is that the message is routed to the default release users.
💻 Technical Criteria
Given A message is identified as a release message and the original destination user is invalid
When The message type is determined to be a release message
Then The message is routed to the default release users
R-GCX016-cbl-01596 Route to Default Export Users
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default Export Users' is invoked, and assuming that a message is identified as an export message and the original destination user is invalid, when the message type is determined to be an export message, the desired outcome is that the message is routed to the default export users.
💻 Technical Criteria
Given A message is identified as an export message and the original destination user is invalid
When The message type is determined to be an export message
Then The message is routed to the default export users
R-GCX016-cbl-01597 Log Invalid User Notification
Process Rules
📊 Business Logic Narrative
When the process 'Log Invalid User Notification' is invoked, and assuming that a message has been rerouted due to invalid destination user, when the message rerouting is completed, the desired outcome is that the system logs an invalid user notification for audit purposes.
💻 Technical Criteria
Given A message has been rerouted due to invalid destination user
When The message rerouting is completed
Then The system logs an invalid user notification for audit purposes
R-GCX016-cbl-01667 Format Date for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Date for Display' is invoked, and assuming that a system date has been captured, when the date needs to be displayed in reports or user interfaces, the desired outcome is that the date is formatted according to standard display requirements.
💻 Technical Criteria
Given A system date has been captured
When The date needs to be displayed in reports or user interfaces
Then The date is formatted according to standard display requirements
R-GCX016-cbl-01668 Format Time for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Time for Display' is invoked, and assuming that a system time has been captured, when the time needs to be displayed in reports or user interfaces, the desired outcome is that the time is formatted according to standard display requirements.
💻 Technical Criteria
Given A system time has been captured
When The time needs to be displayed in reports or user interfaces
Then The time is formatted according to standard display requirements
R-GCX016-cbl-01674 Display Formatted Timestamp in Reports
Process Rules
📊 Business Logic Narrative
When the process 'Display Formatted Timestamp in Reports' is invoked, and assuming that timestamps have been captured and formatted, when reports are generated for users, the desired outcome is that formatted timestamps are displayed in the reports.
💻 Technical Criteria
Given Timestamps have been captured and formatted
When Reports are generated for users
Then Formatted timestamps are displayed in the reports
R-GCX016-cbl-01676 Retrieve Broker Entry Number from X4 Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Broker Entry Number from X4 Segment' is invoked, and assuming that an x4 customs release segment is available for processing, when the system needs to display quantity information for broker notification, the desired outcome is that the broker entry number is retrieved from the x4-04 field of the segment.
💻 Technical Criteria
Given An X4 customs release segment is available for processing
When The system needs to display quantity information for broker notification
Then The broker entry number is retrieved from the X4-04 field of the segment
R-GCX016-cbl-01681 Format Broker Entry Number for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Broker Entry Number for Display' is invoked, and assuming that a broker entry number exists and a quantity mismatch has been detected, when the mismatch report is being prepared, the desired outcome is that the broker entry number is formatted according to display standards.
💻 Technical Criteria
Given A broker entry number exists and a quantity mismatch has been detected
When The mismatch report is being prepared
Then The broker entry number is formatted according to display standards
R-GCX016-cbl-01686 Set Report Display Format
Process Rules
📊 Business Logic Narrative
When the process 'Set Report Display Format' is invoked, and assuming that mismatch report fields have been prepared, when the report layout needs to be established, the desired outcome is that the display format is configured with proper headers, alignment, and spacing for broker readability.
💻 Technical Criteria
Given Mismatch report fields have been prepared
When The report layout needs to be established
Then The display format is configured with proper headers, alignment, and spacing for broker readability
R-GCX016-cbl-01687 Generate Quantity Mismatch Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Quantity Mismatch Message' is invoked, and assuming that report display format has been set and all fields are prepared, when the final notification message needs to be generated, the desired outcome is that a complete mismatch message is generated containing entry number, manifest quantity, released quantity, and difference information.
💻 Technical Criteria
Given Report display format has been set and all fields are prepared
When The final notification message needs to be generated
Then A complete mismatch message is generated containing entry number, manifest quantity, released quantity, and difference information
R-GCX016-cbl-01688 Route Message to Broker Notification
Action Rules
📊 Business Logic Narrative
When the process 'Route Message to Broker Notification' is invoked, and assuming that a quantity mismatch message has been generated, when the message needs to be delivered to the broker, the desired outcome is that the message is routed to the broker notification system for delivery via the appropriate communication channel.
💻 Technical Criteria
Given A quantity mismatch message has been generated
When The message needs to be delivered to the broker
Then The message is routed to the broker notification system for delivery via the appropriate communication channel
R-GCX016-cbl-01691 Quantity Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Action Type?' is invoked, and assuming that disposition code details have been retrieved from dc table, when the system evaluates the quantity action type, the desired outcome is that the system should route to add operation for increase actions or subtract operation for decrease actions.
💻 Technical Criteria
Given Disposition code details have been retrieved from DC table
When The system evaluates the quantity action type
Then The system should route to add operation for increase actions or subtract operation for decrease actions
R-GCX016-cbl-01814 Train Message Processing Required
Process Rules
📊 Business Logic Narrative
When the process 'Train Message Processing Required' is invoked, and assuming that a message has been classified as train operations, when the message contains train arrival, cancellation, or status change information, the desired outcome is that the system routes the message to train-specific processing workflow.
💻 Technical Criteria
Given A message has been classified as train operations
When The message contains train arrival, cancellation, or status change information
Then The system routes the message to train-specific processing workflow
R-GCX016-cbl-01815 Standard Message Processing Required
Process Rules
📊 Business Logic Narrative
When the process 'Standard Message Processing Required' is invoked, and assuming that a message has been classified for processing, when the message is neither multi-manifest nor train operations type, the desired outcome is that the system routes the message to standard processing workflow.
💻 Technical Criteria
Given A message has been classified for processing
When The message is neither multi-manifest nor train operations type
Then The system routes the message to standard processing workflow
R-GCX016-cbl-01824 Error in Transaction Spawning
Validation Rules
📊 Business Logic Narrative
When the process 'Error in Transaction Spawning' is invoked, and assuming that gct0161e transaction spawning has been attempted, when the transaction spawning fails due to system or resource constraints, the desired outcome is that the system captures the error condition and routes to error handling process.
💻 Technical Criteria
Given GCT0161E transaction spawning has been attempted
When The transaction spawning fails due to system or resource constraints
Then The system captures the error condition and routes to error handling process
R-GCX016-cbl-01857 Location ID Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Location ID Available?' is invoked, and assuming that a location processing request is received, when the system evaluates the location id field, the desired outcome is that if location id is available, proceed to ds table lookup, otherwise set default location name.
💻 Technical Criteria
Given A location processing request is received
When The system evaluates the location ID field
Then If location ID is available, proceed to DS table lookup, otherwise set default location name
R-GCX016-cbl-01858 Lookup DS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup DS Table' is invoked, and assuming that a valid location id is available, when the system searches the ds table using the location id, the desired outcome is that retrieve station record from gcstbrt ds table for further processing.
💻 Technical Criteria
Given A valid location ID is available
When The system searches the DS table using the location ID
Then Retrieve station record from GCSTBRT DS table for further processing
R-GCX016-cbl-01860 Lookup KS Table
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup KS Table', assuming that ds table lookup did not find a matching record, when the system searches the ks table using the location id, the desired outcome is that retrieve location record from gcstbrt ks table as fallback option.
💻 Technical Criteria
EXCLUDING DS table lookup did not find a matching record
When The system searches the KS table using the location ID
Then Retrieve location record from GCSTBRT KS table as fallback option
R-GCX016-cbl-01861 KS Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'KS Record Found?' is invoked, and assuming that ks table lookup has been performed after ds lookup failure, when the system checks the ks lookup result, the desired outcome is that if ks record is found, extract location description, otherwise set default location name.
💻 Technical Criteria
Given KS table lookup has been performed after DS lookup failure
When The system checks the KS lookup result
Then If KS record is found, extract location description, otherwise set default location name
R-GCX016-cbl-01862 Extract Station Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Name' is invoked, and assuming that a ds record has been found in the station table, when the system processes the ds record data, the desired outcome is that extract the station name field for location information combination.
💻 Technical Criteria
Given A DS record has been found in the station table
When The system processes the DS record data
Then Extract the station name field for location information combination
R-GCX016-cbl-01863 Extract Location Description
Process Rules
📊 Business Logic Narrative
When the process 'Extract Location Description' is invoked, and assuming that a ks record has been found in the location table, when the system processes the ks record data, the desired outcome is that extract the location description field for location information combination.
💻 Technical Criteria
Given A KS record has been found in the location table
When The system processes the KS record data
Then Extract the location description field for location information combination
R-GCX016-cbl-01879 Operation Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Operation Type?' is invoked, and assuming that a database i/o operation request is received, when the system evaluates the operation type, the desired outcome is that the system routes to insert, replace, or retrieve operation based on the operation type specified.
💻 Technical Criteria
Given A database I/O operation request is received
When The system evaluates the operation type
Then The system routes to insert, replace, or retrieve operation based on the operation type specified
R-GCX016-cbl-01909 Log Successful Match for Cross-Border Coordination
Process Rules
📊 Business Logic Narrative
When the process 'Log Successful Match for Cross-Border Coordination' is invoked, and assuming that cross-reference information has been stored successfully, when the system completes the matching process, the desired outcome is that a successful match is logged for cross-border coordination tracking.
💻 Technical Criteria
Given Cross-reference information has been stored successfully
When The system completes the matching process
Then A successful match is logged for cross-border coordination tracking
R-GCX016-cbl-01985 Set KCSM Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set KCSM Transmission Parameters' is invoked, and assuming that a complete edi 350 message has been assembled, when the system needs to configure kcsm-specific transmission settings, the desired outcome is that the system should set kcsm transmission parameters using aecwrktb work table including destination routing, priority settings, and integration flags.
💻 Technical Criteria
Given A complete EDI 350 message has been assembled
When The system needs to configure KCSM-specific transmission settings
Then The system should set KCSM transmission parameters using AECWRKTB work table including destination routing, priority settings, and integration flags
R-GCX016-cbl-02115 Is Train Export Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Train Export Manifest?' is invoked, and assuming that a train processing request is received with train information, when the system evaluates the train type and manifest designation, the desired outcome is that the system identifies whether the train is an export manifest train and proceeds with appropriate processing path.
💻 Technical Criteria
Given A train processing request is received with train information
When The system evaluates the train type and manifest designation
Then The system identifies whether the train is an export manifest train and proceeds with appropriate processing path
R-GCX016-cbl-02116 Is Port Configured for Export Processing?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Port Configured for Export Processing?' is invoked, and assuming that an export manifest train is being processed, when the system checks the destination port configuration in the port tables, the desired outcome is that the system determines if the port is authorized and configured for export processing.
💻 Technical Criteria
Given An export manifest train is being processed
When The system checks the destination port configuration in the port tables
Then The system determines if the port is authorized and configured for export processing
R-GCX016-cbl-02117 Validate Train Information from M10 Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Information from M10 Segment' is invoked, and assuming that an m10 segment containing train manifest information is received, when the system processes the m10 segment data, the desired outcome is that the system validates train name, route, and other essential train information for completeness and accuracy.
💻 Technical Criteria
Given An M10 segment containing train manifest information is received
When The system processes the M10 segment data
Then The system validates train name, route, and other essential train information for completeness and accuracy
R-GCX016-cbl-02120 Set Pre-arrival Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Pre-arrival Status' is invoked, and assuming that an export manifest train has been found in the master train list, when the system processes the train for pre-arrival, the desired outcome is that the system sets the train status to pre-arrival state for export processing.
💻 Technical Criteria
Given An export manifest train has been found in the master train list
When The system processes the train for pre-arrival
Then The system sets the train status to pre-arrival state for export processing
R-GCX016-cbl-02122 Process Port Information from P4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Process Port Information from P4 Segment' is invoked, and assuming that a p4 segment containing port information is available, when the system processes the p4 segment data, the desired outcome is that the system extracts port codes, locations, and routing information for export processing.
💻 Technical Criteria
Given A P4 segment containing port information is available
When The system processes the P4 segment data
Then The system extracts port codes, locations, and routing information for export processing
R-GCX016-cbl-02123 Validate Export Port Configuration
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Export Port Configuration' is invoked, and assuming that port information has been extracted from the p4 segment, when the system checks the port configuration in gcstbrt port tables, the desired outcome is that the system validates that the port is configured with proper export processing capabilities.
💻 Technical Criteria
Given Port information has been extracted from the P4 segment
When The system checks the port configuration in GCSTBRT port tables
Then The system validates that the port is configured with proper export processing capabilities
R-GCX016-cbl-02124 Port Valid for Export?
Decision Rules
📊 Business Logic Narrative
When the process 'Port Valid for Export?' is invoked, and assuming that port configuration has been validated against export requirements, when the system evaluates the port's export processing capabilities, the desired outcome is that if port is valid for export, continue with export pre-arrival processing; otherwise skip processing.
💻 Technical Criteria
Given Port configuration has been validated against export requirements
When The system evaluates the port's export processing capabilities
Then If port is valid for export, continue with export pre-arrival processing; otherwise skip processing
R-GCX016-cbl-02125 Set Export Pre-arrival Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Pre-arrival Flag' is invoked, and assuming that a train is at a port that is valid for export processing, when the system processes the export pre-arrival requirements, the desired outcome is that the system sets the export pre-arrival flag to indicate the train is ready for export processing.
💻 Technical Criteria
Given A train is at a port that is valid for export processing
When The system processes the export pre-arrival requirements
Then The system sets the export pre-arrival flag to indicate the train is ready for export processing
R-GCX016-cbl-02126 Log Pre-arrival Status Change
Process Rules
📊 Business Logic Narrative
When the process 'Log Pre-arrival Status Change' is invoked, and assuming that the export pre-arrival flag has been set for a train, when the system completes the status change process, the desired outcome is that the system creates a log entry documenting the pre-arrival status change with timestamp and train details.
💻 Technical Criteria
Given The export pre-arrival flag has been set for a train
When The system completes the status change process
Then The system creates a log entry documenting the pre-arrival status change with timestamp and train details
R-GCX016-cbl-02129 Skip Pre-arrival Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Pre-arrival Processing', assuming that a train is either not an export manifest train or the port is not configured for export processing, when the system evaluates the processing requirements, the desired outcome is that the system skips pre-arrival processing and proceeds to completion.
💻 Technical Criteria
EXCLUDING A train is either not an export manifest train or the port is not configured for export processing
When The system evaluates the processing requirements
Then The system skips pre-arrival processing and proceeds to completion
R-GCX016-cbl-02130 Extract Train Arrival Port from M10 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Train Arrival Port from M10 Segment' is invoked, and assuming that a train arrival event has been received with m10 manifest segment data, when the system processes the m10 segment to extract port information, the desired outcome is that the train arrival port code is extracted and made available for port configuration lookup.
💻 Technical Criteria
Given A train arrival event has been received with M10 manifest segment data
When The system processes the M10 segment to extract port information
Then The train arrival port code is extracted and made available for port configuration lookup
R-GCX016-cbl-02131 Lookup Port Configuration in System Tables
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Port Configuration in System Tables' is invoked, and assuming that a train arrival port code has been extracted from the m10 segment, when the system looks up the port configuration in gcstbrt port configuration tables, the desired outcome is that the port configuration settings are retrieved and made available for export processing determination.
💻 Technical Criteria
Given A train arrival port code has been extracted from the M10 segment
When The system looks up the port configuration in GCSTBRT port configuration tables
Then The port configuration settings are retrieved and made available for export processing determination
R-GCX016-cbl-02132 Is Port Configured for Export Manifest Processing?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Port Configured for Export Manifest Processing?' is invoked, and assuming that port configuration settings have been retrieved from system tables, when the system evaluates the port configuration for export manifest processing capability, the desired outcome is that the system determines if the port is configured for export manifest processing (yes) or standard import processing (no).
💻 Technical Criteria
Given Port configuration settings have been retrieved from system tables
When The system evaluates the port configuration for export manifest processing capability
Then The system determines if the port is configured for export manifest processing (Yes) or standard import processing (No)
R-GCX016-cbl-02133 Set Export Manifest Processing Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Manifest Processing Flag' is invoked, and assuming that the port is determined to be configured for export manifest processing, when the system processes an export-enabled port, the desired outcome is that the export manifest processing flag is set to enable export-specific business rules.
💻 Technical Criteria
Given The port is determined to be configured for export manifest processing
When The system processes an export-enabled port
Then The export manifest processing flag is set to enable export-specific business rules
R-GCX016-cbl-02134 Apply Export Manifest Business Rules
Process Rules
📊 Business Logic Narrative
When the process 'Apply Export Manifest Business Rules' is invoked, and assuming that the export manifest processing flag has been set for an export-configured port, when the system applies export manifest business rules, the desired outcome is that export-specific processing logic is executed including special validation and status handling.
💻 Technical Criteria
Given The export manifest processing flag has been set for an export-configured port
When The system applies export manifest business rules
Then Export-specific processing logic is executed including special validation and status handling
R-GCX016-cbl-02135 Set Pre-arrival Status for Export Trains
Action Rules
📊 Business Logic Narrative
When the process 'Set Pre-arrival Status for Export Trains' is invoked, and assuming that export manifest business rules have been applied for an export-configured port, when the system sets the train status for export processing, the desired outcome is that the train is assigned pre-arrival status appropriate for export manifest processing.
💻 Technical Criteria
Given Export manifest business rules have been applied for an export-configured port
When The system sets the train status for export processing
Then The train is assigned pre-arrival status appropriate for export manifest processing
R-GCX016-cbl-02136 Continue with Standard Import Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue with Standard Import Processing', assuming that the port is determined to not be configured for export manifest processing, when the system processes a standard import port, the desired outcome is that standard import processing logic is applied without export-specific rules.
💻 Technical Criteria
EXCLUDING The port is determined to not be configured for export manifest processing
When The system processes a standard import port
Then Standard import processing logic is applied without export-specific rules
R-GCX016-cbl-02137 Log Port Configuration Decision
Process Rules
📊 Business Logic Narrative
When the process 'Log Port Configuration Decision' is invoked, and assuming that the port configuration decision has been made (either export or import processing), when the system completes the port configuration evaluation, the desired outcome is that the port configuration decision is logged with relevant port and processing type information.
💻 Technical Criteria
Given The port configuration decision has been made (either export or import processing)
When The system completes the port configuration evaluation
Then The port configuration decision is logged with relevant port and processing type information
R-GCX016-cbl-02138 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that a v9 segment is received with pod or aad disposition code for train arrival, when the system validates the train name against the train list, the desired outcome is that if train is not found in gcwtl-train-list, generate train not found error and route to operations.
💻 Technical Criteria
Given A V9 segment is received with POD or AAD disposition code for train arrival
When The system validates the train name against the train list
Then If train is not found in GCWTL-TRAIN-LIST, generate train not found error and route to operations
R-GCX016-cbl-02139 Is Import Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Import Manifest?' is invoked, and assuming that train information has been successfully retrieved from the system, when the system checks the manifest type, the desired outcome is that if manifest is import type, continue with import arrival processing, otherwise skip arrival processing.
💻 Technical Criteria
Given Train information has been successfully retrieved from the system
When The system checks the manifest type
Then If manifest is import type, continue with import arrival processing, otherwise skip arrival processing
R-GCX016-cbl-02140 Port Configured for Import Manifests?
Policy Rules
📊 Business Logic Narrative
When the process 'Port Configured for Import Manifests?' is invoked, and assuming that an import manifest requires arrival processing, when the system checks port configuration for import processing capability, the desired outcome is that if port is not configured for import manifests, generate port configuration error and route to system administrator.
💻 Technical Criteria
Given An import manifest requires arrival processing
When The system checks port configuration for import processing capability
Then If port is not configured for import manifests, generate port configuration error and route to system administrator
R-GCX016-cbl-02141 Update Train Status to Arrived
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Arrived' is invoked, and assuming that train exists in system and port is configured for import processing, when the arrival processing begins, the desired outcome is that update the train status to arrived in the system.
💻 Technical Criteria
Given Train exists in system and port is configured for import processing
When The arrival processing begins
Then Update the train status to arrived in the system
R-GCX016-cbl-02151 Disposition Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Disposition Code?' is invoked, and assuming that a v9 event segment is received for train arrival processing, when the system evaluates the disposition code in the v9 segment, the desired outcome is that the system identifies pod (port of discharge) or aad (arrived at destination) codes as valid train arrival events and routes to appropriate processing.
💻 Technical Criteria
Given A V9 event segment is received for train arrival processing
When The system evaluates the disposition code in the V9 segment
Then The system identifies POD (Port of Discharge) or AAD (Arrived at Destination) codes as valid train arrival events and routes to appropriate processing
R-GCX016-cbl-02161 Check Disposition Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code' is invoked, and assuming that a v9 event segment contains a disposition code, when the disposition code is evaluated for arrival processing, the desired outcome is that the system determines if it is pod (proof of delivery) or aad (arrival at destination) event.
💻 Technical Criteria
Given A V9 event segment contains a disposition code
When The disposition code is evaluated for arrival processing
Then The system determines if it is POD (Proof of Delivery) or AAD (Arrival at Destination) event
R-GCX016-cbl-02163 AAD - Arrival at Destination
Decision Rules
📊 Business Logic Narrative
When the process 'AAD - Arrival at Destination' is invoked, and assuming that a v9 segment has disposition code 'aad', when the aad event is processed, the desired outcome is that the system initiates train arrival processing workflow.
💻 Technical Criteria
Given A V9 segment has disposition code 'AAD'
When The AAD event is processed
Then The system initiates train arrival processing workflow
R-GCX016-cbl-02169 Automatically Unlock Train
Action Rules
📊 Business Logic Narrative
When the process 'Automatically Unlock Train' is invoked, and assuming that a train has arrived at destination and is currently in locked status, when the automatic unlock process is triggered, the desired outcome is that the system removes the lock restriction from the train.
💻 Technical Criteria
Given A train has arrived at destination and is currently in locked status
When The automatic unlock process is triggered
Then The system removes the lock restriction from the train
R-GCX016-cbl-02175 Is Port = Laredo?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Port = Laredo?' is invoked, and assuming that an x4 segment with disposition code is received, when the system checks the port location in the message, the desired outcome is that if port equals 'laredo', proceed to kcsm disposition code lookup, otherwise skip kcsm processing.
💻 Technical Criteria
Given An X4 segment with disposition code is received
When The system checks the port location in the message
Then If port equals 'Laredo', proceed to KCSM disposition code lookup, otherwise skip KCSM processing
R-GCX016-cbl-02176 BBFA0: Search AECWRKTB Table
Action Rules
📊 Business Logic Narrative
When the process 'BBFA0: Search AECWRKTB Table' is invoked, and assuming that port location is laredo and disposition code is present, when system searches aecwrktb table for the disposition code, the desired outcome is that return found or not found status for the disposition code in kcsm table.
💻 Technical Criteria
Given Port location is Laredo and disposition code is present
When System searches AECWRKTB table for the disposition code
Then Return found or not found status for the disposition code in KCSM table
R-GCX016-cbl-04155 Copy P4 Port Information Segment
Process Rules
📊 Business Logic Narrative
When the process 'Copy P4 Port Information Segment' is invoked, and assuming that an edi 350 message with p4 port information segment, when the system creates kcsm transmission copy, the desired outcome is that the p4 segment with all port information is copied to the transmission file.
💻 Technical Criteria
Given An EDI 350 message with P4 port information segment
When The system creates KCSM transmission copy
Then The P4 segment with all port information is copied to the transmission file
R-GCX016-cbl-04160 Copy X4 Customs Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Copy X4 Customs Release Information' is invoked, and assuming that an edi 350 message with x4 customs release information segment, when the system creates kcsm transmission copy, the desired outcome is that the x4 segment with all customs release information including disposition codes is copied to the transmission file.
💻 Technical Criteria
Given An EDI 350 message with X4 customs release information segment
When The system creates KCSM transmission copy
Then The X4 segment with all customs release information including disposition codes is copied to the transmission file
R-GCX016-cbl-02192 Copy P4 Port Information
Process Rules
📊 Business Logic Narrative
When the process 'Copy P4 Port Information' is invoked, and assuming that the m10 manifest information has been copied, when the system copies port data segments, the desired outcome is that the system copies the p4 port information segment maintaining all port details for kcsm transmission.
💻 Technical Criteria
Given The M10 manifest information has been copied
When The system copies port data segments
Then The system copies the P4 port information segment maintaining all port details for KCSM transmission
R-GCX016-cbl-02193 Copy V9 Event Details
Process Rules
📊 Business Logic Narrative
When the process 'Copy V9 Event Details' is invoked, and assuming that the p4 port information has been copied, when the system copies event data segments, the desired outcome is that the system copies the v9 event details segment preserving all event information for kcsm transmission.
💻 Technical Criteria
Given The P4 port information has been copied
When The system copies event data segments
Then The system copies the V9 event details segment preserving all event information for KCSM transmission
R-GCX016-cbl-02194 Copy X4 Customs Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Copy X4 Customs Release Information' is invoked, and assuming that the v9 event details have been copied, when the system copies customs release data segments, the desired outcome is that the system copies the x4 customs release information segment maintaining all customs data for kcsm transmission.
💻 Technical Criteria
Given The V9 event details have been copied
When The system copies customs release data segments
Then The system copies the X4 customs release information segment maintaining all customs data for KCSM transmission
R-GCX016-cbl-02202 Search database for disposition codes configured for KCSM processing
Decision Rules
📊 Business Logic Narrative
When the process 'Search database for disposition codes configured for KCSM processing' is invoked, and assuming that an x4 segment contains a disposition code and port information, when the port is laredo and the disposition code exists in the aecwrktb database table, the desired outcome is that set kcsm processing flag to yes and continue with edi message processing.
💻 Technical Criteria
Given An X4 segment contains a disposition code and port information
When The port is Laredo AND the disposition code exists in the AECWRKTB database table
Then Set KCSM processing flag to Yes and continue with EDI message processing
R-GCX016-cbl-02203 Check if Port is Laredo
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if Port is Laredo', assuming that an x4 segment contains port information, when the port is not laredo, the desired outcome is that set kcsm processing flag to no and continue with edi message processing.
💻 Technical Criteria
EXCLUDING An X4 segment contains port information
When The port is not Laredo
Then Set KCSM processing flag to No and continue with EDI message processing
R-GCX016-cbl-02204 Look for Disposition Code Match
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Look for Disposition Code Match', assuming that the port is laredo and a disposition code from x4 segment, when the disposition code is not found in the aecwrktb database table, the desired outcome is that set kcsm processing flag to no and continue with edi message processing.
💻 Technical Criteria
EXCLUDING The port is Laredo AND a disposition code from X4 segment
When The disposition code is not found in the AECWRKTB database table
Then Set KCSM processing flag to No and continue with EDI message processing
R-GCX016-cbl-02205 Search AECWRKTB Database Table
Action Rules
📊 Business Logic Narrative
When the process 'Search AECWRKTB Database Table' is invoked, and assuming that the port is laredo and a disposition code needs validation, when system searches the aecwrktb database table for the disposition code, the desired outcome is that return found or not found status for the disposition code lookup.
💻 Technical Criteria
Given The port is Laredo AND a disposition code needs validation
When System searches the AECWRKTB database table for the disposition code
Then Return found or not found status for the disposition code lookup
R-GCX016-cbl-02206 Disposition Code Requires KCSM?
Decision Rules
📊 Business Logic Narrative
When the process 'Disposition Code Requires KCSM?' is invoked, and assuming that a disposition code is being processed for customs release, when the system evaluates the disposition code configuration, the desired outcome is that the system determines whether kcsm transmission processing is required for this disposition code.
💻 Technical Criteria
Given A disposition code is being processed for customs release
When The system evaluates the disposition code configuration
Then The system determines whether KCSM transmission processing is required for this disposition code
R-GCX016-cbl-02208 Check KCSM Configuration at Laredo Port
Validation Rules
📊 Business Logic Narrative
When the process 'Check KCSM Configuration at Laredo Port' is invoked, and assuming that a disposition code requires kcsm processing, when the system checks the port configuration for kcsm integration, the desired outcome is that the system validates that kcsm processing is enabled and configured for the laredo port.
💻 Technical Criteria
Given A disposition code requires KCSM processing
When The system checks the port configuration for KCSM integration
Then The system validates that KCSM processing is enabled and configured for the Laredo port
R-GCX016-cbl-02209 KCSM Processing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Processing Required?' is invoked, and assuming that disposition code and port configuration have been validated, when the system evaluates all kcsm processing requirements, the desired outcome is that the system decides whether to proceed with kcsm transmission file creation or skip processing.
💻 Technical Criteria
Given Disposition code and port configuration have been validated
When The system evaluates all KCSM processing requirements
Then The system decides whether to proceed with KCSM transmission file creation or skip processing
R-GCX016-cbl-02221 Skip KCSM Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip KCSM Processing', assuming that a disposition code is being evaluated for kcsm processing, when the disposition code does not require kcsm processing or kcsm is not configured for the port, the desired outcome is that the system bypasses kcsm transmission file creation and continues with normal customs release processing.
💻 Technical Criteria
EXCLUDING A disposition code is being evaluated for KCSM processing
When The disposition code does not require KCSM processing OR KCSM is not configured for the port
Then The system bypasses KCSM transmission file creation and continues with normal customs release processing
R-GCX016-cbl-02242 Check if disposition codes are configured for KCSM system processing at Laredo port
Validation Rules
📊 Business Logic Narrative
When the process 'Check if disposition codes are configured for KCSM system processing at Laredo port' is invoked, and assuming that an x4 segment is received with a disposition code and the system has access to port configuration and kcsm configuration table, when the system processes the x4 segment disposition code, the desired outcome is that the system extracts the disposition code, checks if the current port is laredo, searches the kcsm configuration table for the disposition code, and sets kcsm integration flag if found, otherwise continues with standard processing.
💻 Technical Criteria
Given An X4 segment is received with a disposition code and the system has access to port configuration and KCSM configuration table
When The system processes the X4 segment disposition code
Then The system extracts the disposition code, checks if the current port is Laredo, searches the KCSM configuration table for the disposition code, and sets KCSM integration flag if found, otherwise continues with standard processing
R-GCX016-cbl-02243 Is Port = Laredo?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Port = Laredo?' is invoked, and assuming that the system has extracted a disposition code from an x4 segment and needs to determine processing requirements, when the system checks the current port location, the desired outcome is that if the port equals laredo, the system proceeds to kcsm configuration validation, otherwise it skips kcsm integration and continues with standard processing.
💻 Technical Criteria
Given The system has extracted a disposition code from an X4 segment and needs to determine processing requirements
When The system checks the current port location
Then If the port equals Laredo, the system proceeds to KCSM configuration validation, otherwise it skips KCSM integration and continues with standard processing
R-GCX016-cbl-02244 Search for Disposition Code in KCSM Table
Action Rules
📊 Business Logic Narrative
When the process 'Search for Disposition Code in KCSM Table' is invoked, and assuming that the port location is laredo and a disposition code has been extracted from the x4 segment, when the system accesses the kcsm configuration table and searches for the disposition code, the desired outcome is that the system returns whether the disposition code is found in the kcsm configuration table.
💻 Technical Criteria
Given The port location is Laredo and a disposition code has been extracted from the X4 segment
When The system accesses the KCSM configuration table and searches for the disposition code
Then The system returns whether the disposition code is found in the KCSM configuration table
R-GCX016-cbl-02248 Port is Laredo?
Decision Rules
📊 Business Logic Narrative
When the process 'Port is Laredo?' is invoked, and assuming that a disposition code is configured for kcsm transmission, when the system validates the port location, the desired outcome is that kcsm processing continues only if the port is laredo, otherwise processing is skipped.
💻 Technical Criteria
Given A disposition code is configured for KCSM transmission
When The system validates the port location
Then KCSM processing continues only if the port is Laredo, otherwise processing is skipped
R-GCX016-cbl-02249 Copy EDI 350 Message to Transmission File
Process Rules
📊 Business Logic Narrative
When the process 'Copy EDI 350 Message to Transmission File' is invoked, and assuming that the disposition code is configured for kcsm and the port is laredo, when the system processes the edi message for transmission, the desired outcome is that the edi 350 message data is copied to the transmission file.
💻 Technical Criteria
Given The disposition code is configured for KCSM and the port is Laredo
When The system processes the EDI message for transmission
Then The EDI 350 message data is copied to the transmission file
R-GCX016-cbl-02265 Set Destination System Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Destination System Information' is invoked, and assuming that source system information is configured, when the system configures destination system information, the desired outcome is that destination system identifier and routing information are properly set in the transmission segment.
💻 Technical Criteria
Given Source system information is configured
When The system configures destination system information
Then Destination system identifier and routing information are properly set in the transmission segment
R-GCX016-cbl-02266 Set Message Type and Version
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Message Type and Version' is invoked, and assuming that destination system information is configured, when the system sets message type and version, the desired outcome is that correct message type and version identifiers are assigned to the transmission.
💻 Technical Criteria
Given Destination system information is configured
When The system sets message type and version
Then Correct message type and version identifiers are assigned to the transmission
R-GCX016-cbl-02277 Extract Port Information P4
Process Rules
📊 Business Logic Narrative
When the process 'Extract Port Information P4' is invoked, and assuming that edi 350 message contains p4 segment with port information, when the system encounters p4 segment during processing, the desired outcome is that the system extracts port information and processes it for customs release procedures.
💻 Technical Criteria
Given EDI 350 message contains P4 segment with port information
When The system encounters P4 segment during processing
Then The system extracts port information and processes it for customs release procedures
R-GCX016-cbl-02388 Map US Port to Canadian Port
Computation Rules
📊 Business Logic Narrative
When the process 'Map US Port to Canadian Port' is invoked, and assuming that a canadian manifest is involved in processing, when the system performs port mapping, the desired outcome is that the system uses gcstbrt table to map us port codes to canadian port codes and establishes proper cross-border routing.
💻 Technical Criteria
Given A Canadian manifest is involved in processing
When The system performs port mapping
Then The system uses GCSTBRT table to map US port codes to Canadian port codes AND establishes proper cross-border routing
R-GCX016-cbl-02429 Canadian Port Found in DS Table?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Port Found in DS Table?' is invoked, and assuming that the ds table has been accessed with a us port code, when the system searches for a matching canadian port entry, the desired outcome is that the system either retrieves the canadian port name if found or uses default port name if not found.
💻 Technical Criteria
Given The DS table has been accessed with a US port code
When The system searches for a matching Canadian port entry
Then The system either retrieves the Canadian port name if found or uses default port name if not found
R-GCX016-cbl-02430 Retrieve Canadian Port Name
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Canadian Port Name' is invoked, and assuming that a canadian port entry exists in the ds table for the us port code, when the system retrieves the canadian port information, the desired outcome is that the canadian port name is extracted from the ds table record.
💻 Technical Criteria
Given A Canadian port entry exists in the DS table for the US port code
When The system retrieves the Canadian port information
Then The Canadian port name is extracted from the DS table record
R-GCX016-cbl-02431 Use Default Canadian Port Name
Decision Rules
📊 Business Logic Narrative
When the process 'Use Default Canadian Port Name' is invoked, and assuming that no canadian port entry exists in the ds table for the us port code, when the system cannot find a matching port mapping, the desired outcome is that the system assigns a default canadian port name for the shipment.
💻 Technical Criteria
Given No Canadian port entry exists in the DS table for the US port code
When The system cannot find a matching port mapping
Then The system assigns a default Canadian port name for the shipment
R-GCX016-cbl-02432 Log Mapping Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Mapping Error' is invoked, and assuming that no canadian port mapping was found for the us port code, when the system uses a default canadian port name, the desired outcome is that the system logs a port mapping error for audit and troubleshooting purposes.
💻 Technical Criteria
Given No Canadian port mapping was found for the US port code
When The system uses a default Canadian port name
Then The system logs a port mapping error for audit and troubleshooting purposes
R-GCX016-cbl-02435 Log Port Mapping for Audit Trail
Process Rules
📊 Business Logic Narrative
When the process 'Log Port Mapping for Audit Trail' is invoked, and assuming that the cross-border flag has been set for the shipment, when the system creates audit trail entries, the desired outcome is that the port mapping operation is logged with source port, destination port, and mapping status.
💻 Technical Criteria
Given The cross-border flag has been set for the shipment
When The system creates audit trail entries
Then The port mapping operation is logged with source port, destination port, and mapping status
R-GCX016-cbl-02436 Additional Port Codes?
Decision Rules
📊 Business Logic Narrative
When the process 'Additional Port Codes?' is invoked, and assuming that one port mapping operation has been completed, when the system checks for additional port codes to process, the desired outcome is that the system either processes the next port code if available or completes the mapping process.
💻 Technical Criteria
Given One port mapping operation has been completed
When The system checks for additional port codes to process
Then The system either processes the next port code if available or completes the mapping process
R-GCX016-cbl-02507 Status Array Population
Process Rules
📊 Business Logic Narrative
When the process 'Status Array Population' is invoked, and assuming that s09 segments containing disposition codes, status flags, and quantity information, when the system processes the fetched s09 segments, the desired outcome is that each disposition code is loaded into the s09a array with its status flags, quantities, and location information.
💻 Technical Criteria
Given S09 segments containing disposition codes, status flags, and quantity information
When The system processes the fetched S09 segments
Then Each disposition code is loaded into the S09A array with its status flags, quantities, and location information
R-GCX016-cbl-02509 Disposition Code Duplicate Prevention
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Disposition Code Duplicate Prevention', assuming that a new disposition code that does not exist in the current status array, when the system adds the disposition code to the array, the desired outcome is that the code is added with its properties including status flags, location information, and quantity actions.
💻 Technical Criteria
EXCLUDING A new disposition code that does not exist in the current status array
When The system adds the disposition code to the array
Then The code is added with its properties including status flags, location information, and quantity actions
R-GCX016-cbl-02578 Set Log Message Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Log Message Parameters' is invoked, and assuming that a complete log message has been prepared with all required information, when the system is ready to transmit the log message, the desired outcome is that the system shall set appropriate message parameters including priority level, destination queue, and formatting options.
💻 Technical Criteria
Given A complete log message has been prepared with all required information
When The system is ready to transmit the log message
Then The system shall set appropriate message parameters including priority level, destination queue, and formatting options
R-GCX016-cbl-02603 Route Error Message to Multiple Destinations
Action Rules
📊 Business Logic Narrative
When the process 'Route Error Message to Multiple Destinations' is invoked, and assuming that a cprs error message has been classified as error type, when the system routes the error message, the desired outcome is that the system sends the message to both 'in' destination and 'userr' destination for comprehensive error notification.
💻 Technical Criteria
Given A CPRS error message has been classified as error type
When The system routes the error message
Then The system sends the message to both 'IN' destination and 'USERR' destination for comprehensive error notification
R-GCX016-cbl-02610 Route Warning to Operations Team
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route Warning to Operations Team', assuming that a formatted train not arrived warning message is ready for distribution, when the system routes the warning message, the desired outcome is that the message is sent through the merlin system to operational teams and logged for tracking purposes.
💻 Technical Criteria
EXCLUDING A formatted train not arrived warning message is ready for distribution
When The system routes the warning message
Then The message is sent through the Merlin system to operational teams and logged for tracking purposes
R-GCX016-cbl-02622 Route Warning to Operations Team
Action Rules
📊 Business Logic Narrative
When the process 'Route Warning to Operations Team' is invoked, and assuming that a complete cancellation warning message has been prepared, when the system routes the warning to the operations team, the desired outcome is that the operations team receives notification of the train arrival cancellation.
💻 Technical Criteria
Given A complete cancellation warning message has been prepared
When The system routes the warning to the operations team
Then The operations team receives notification of the train arrival cancellation
R-GCX016-cbl-02627 Route Error to System Administrator
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route Error to System Administrator', assuming that an error has been generated for a train not found condition, when the system routes the error message, the desired outcome is that the system administrator receives the error for investigation and resolution.
💻 Technical Criteria
EXCLUDING An error has been generated for a train not found condition
When The system routes the error message
Then The system administrator receives the error for investigation and resolution
R-GCX016-cbl-02645 Set Location Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Location Information' is invoked, and assuming that a status array element contains location information, when building the s09 segment, the desired outcome is that copy the location data from the array element to the s09 segment location fields.
💻 Technical Criteria
Given A status array element contains location information
When Building the S09 segment
Then Copy the location data from the array element to the S09 segment location fields
R-GCX016-cbl-02683 Extract Status Information from S09 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Status Information from S09 Segment' is invoked, and assuming that a valid s09 status segment has been retrieved from the database, when the segment needs to be processed, the desired outcome is that the system extracts status info code, entry number, quantity, released flag, location code, and status description from the segment.
💻 Technical Criteria
Given A valid S09 status segment has been retrieved from the database
When The segment needs to be processed
Then The system extracts status info code, entry number, quantity, released flag, location code, and status description from the segment
R-GCX016-cbl-02684 Populate S09A Array Element with: - Status Info Code - Entry Number - Quantity - Released Flag - Location Code - Status Description
Process Rules
📊 Business Logic Narrative
When the process 'Populate S09A Array Element with: - Status Info Code - Entry Number - Quantity - Released Flag - Location Code - Status Description' is invoked, and assuming that status information has been extracted from an s09 segment, when the array element needs to be populated, the desired outcome is that the system stores the status info code, entry number, quantity, released flag, location code, and status description in the current s09a array element.
💻 Technical Criteria
Given Status information has been extracted from an S09 segment
When The array element needs to be populated
Then The system stores the status info code, entry number, quantity, released flag, location code, and status description in the current S09A array element
R-GCX016-cbl-02730 Is Status Info Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Status Info Code?' is invoked, and assuming that disposition code details have been retrieved from the dc table, when the system evaluates whether the code is a status information type, the desired outcome is that the system should identify status information codes and route them for appropriate processing while skipping non-status codes.
💻 Technical Criteria
Given Disposition code details have been retrieved from the DC table
When The system evaluates whether the code is a status information type
Then The system should identify status information codes and route them for appropriate processing while skipping non-status codes
R-GCX016-cbl-02757 Include Location Information if Available
Process Rules
📊 Business Logic Narrative
When the process 'Include Location Information if Available' is invoked, and assuming that a release status code has been added and location information is available, when the system processes location information inclusion, the desired outcome is that location details are included in the release status element.
💻 Technical Criteria
Given A release status code has been added and location information is available
When The system processes location information inclusion
Then Location details are included in the release status element
R-GCX016-cbl-02772 Evaluate Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Disposition Code Type' is invoked, and assuming that a status code is found in the s09a array, when the system evaluates the disposition code, the desired outcome is that the code is classified as hold, release, ptt, proceed, arrival, export, or fda hold type.
💻 Technical Criteria
Given A status code is found in the S09A array
When The system evaluates the disposition code
Then The code is classified as hold, release, PTT, proceed, arrival, export, or FDA hold type
R-GCX016-cbl-02774 Border or Destination Hold?
Decision Rules
📊 Business Logic Narrative
When the process 'Border or Destination Hold?' is invoked, and assuming that a hold disposition code has been identified, when the system evaluates the hold location, the desired outcome is that the hold is classified as either border hold or destination hold based on the disposition code characteristics.
💻 Technical Criteria
Given A hold disposition code has been identified
When The system evaluates the hold location
Then The hold is classified as either border hold or destination hold based on the disposition code characteristics
R-GCX016-cbl-02775 Set Border Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Flag' is invoked, and assuming that a disposition code indicates a border hold condition, when the hold location is determined to be at the border, the desired outcome is that the border hold status flag is set to true.
💻 Technical Criteria
Given A disposition code indicates a border hold condition
When The hold location is determined to be at the border
Then The border hold status flag is set to true
R-GCX016-cbl-02776 Set Destination Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Flag' is invoked, and assuming that a disposition code indicates a destination hold condition, when the hold location is determined to be at the destination, the desired outcome is that the destination hold status flag is set to true.
💻 Technical Criteria
Given A disposition code indicates a destination hold condition
When The hold location is determined to be at the destination
Then The destination hold status flag is set to true
R-GCX016-cbl-02782 Set Proceed Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Proceed Status Flag' is invoked, and assuming that a proceed disposition code has been identified, when the proceed status is processed, the desired outcome is that the proceed status flag is set to true and the border arrival date is recorded for tracking purposes.
💻 Technical Criteria
Given A proceed disposition code has been identified
When The proceed status is processed
Then The proceed status flag is set to true and the border arrival date is recorded for tracking purposes
R-GCX016-cbl-02785 Export Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Code?' is invoked, and assuming that a disposition code is being evaluated from the status array, when the code is checked against export code criteria, the desired outcome is that the system determines if the code represents an export condition and sets the export status flag accordingly.
💻 Technical Criteria
Given A disposition code is being evaluated from the status array
When The code is checked against export code criteria
Then The system determines if the code represents an export condition and sets the export status flag accordingly
R-GCX016-cbl-02788 Set FDA Hold at Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold at Destination' is invoked, and assuming that an fda hold disposition code has been identified, when the fda hold status is processed, the desired outcome is that the fda hold at destination flag is set to true to indicate regulatory hold requirements.
💻 Technical Criteria
Given An FDA hold disposition code has been identified
When The FDA hold status is processed
Then The FDA hold at destination flag is set to true to indicate regulatory hold requirements
R-GCX016-cbl-04172 Hold Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Code Type' is invoked, and assuming that a disposition code of hold type is being processed, when the system evaluates the disposition code type, the desired outcome is that the hold flag is set, location information is added, and the code is added to the status array.
💻 Technical Criteria
Given A disposition code of hold type is being processed
When The system evaluates the disposition code type
Then The hold flag is set, location information is added, and the code is added to the status array
R-GCX016-cbl-02804 Set FDA Destination Hold
Policy Rules
📊 Business Logic Narrative
When the process 'Set FDA Destination Hold' is invoked, and assuming that an fda-specific hold disposition code is found in the status array, when the system processes the fda hold code, the desired outcome is that the fda destination hold flag is set to true and fda hold status is established at destination.
💻 Technical Criteria
Given An FDA-specific hold disposition code is found in the status array
When The system processes the FDA hold code
Then The FDA destination hold flag is set to true and FDA hold status is established at destination
R-GCX016-cbl-02839 Generate Error Message for Invalid Code
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message for Invalid Code', assuming that a disposition code is not found in the dc table, when the system needs to report the invalid code error, the desired outcome is that the system generates an error message containing the invalid disposition code details.
💻 Technical Criteria
EXCLUDING A disposition code is not found in the DC table
When The system needs to report the invalid code error
Then The system generates an error message containing the invalid disposition code details
R-GCX016-cbl-02917 Mark Location Information
Action Rules
📊 Business Logic Narrative
When the process 'Mark Location Information' is invoked, and assuming that a release status has been added with release flags set, when location information is available for the release, the desired outcome is that the system records the location code and related geographic information in the status entry.
💻 Technical Criteria
Given A release status has been added with release flags set
When Location information is available for the release
Then The system records the location code and related geographic information in the status entry
R-GCX016-cbl-02949 Get Border Location Details
Action Rules
📊 Business Logic Narrative
When the process 'Get Border Location Details' is invoked, and assuming that border hold processing is required, when the system needs border location information for message formatting, the desired outcome is that border station details and location information are retrieved from location tables.
💻 Technical Criteria
Given Border hold processing is required
When The system needs border location information for message formatting
Then Border station details and location information are retrieved from location tables
R-GCX016-cbl-02950 Get Destination Location Details
Action Rules
📊 Business Logic Narrative
When the process 'Get Destination Location Details' is invoked, and assuming that destination hold processing is required, when the system needs destination location information for message formatting, the desired outcome is that destination station details and location information are retrieved from location tables.
💻 Technical Criteria
Given Destination hold processing is required
When The system needs destination location information for message formatting
Then Destination station details and location information are retrieved from location tables
R-GCX016-cbl-02951 Format Hold Message with Location
Process Rules
📊 Business Logic Narrative
When the process 'Format Hold Message with Location' is invoked, and assuming that location details have been retrieved for border or destination holds, when the system formats the hold message with location information, the desired outcome is that hold message is formatted with appropriate location details and station information.
💻 Technical Criteria
Given Location details have been retrieved for border or destination holds
When The system formats the hold message with location information
Then Hold message is formatted with appropriate location details and station information
R-GCX016-cbl-02955 Message Type Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type Required?' is invoked, and assuming that hold message has been formatted with all required information, when the system determines the specific message type needed, the desired outcome is that message type is identified as border hold, destination hold, or combined hold message.
💻 Technical Criteria
Given Hold message has been formatted with all required information
When The system determines the specific message type needed
Then Message type is identified as border hold, destination hold, or combined hold message
R-GCX016-cbl-02956 Generate Border Hold Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Border Hold Message' is invoked, and assuming that message type is determined as border hold, when the system generates the border hold message, the desired outcome is that border-specific hold message is created with border location details.
💻 Technical Criteria
Given Message type is determined as border hold
When The system generates the border hold message
Then Border-specific hold message is created with border location details
R-GCX016-cbl-02957 Generate Destination Hold Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Destination Hold Message' is invoked, and assuming that message type is determined as destination hold, when the system generates the destination hold message, the desired outcome is that destination-specific hold message is created with destination location details.
💻 Technical Criteria
Given Message type is determined as destination hold
When The system generates the destination hold message
Then Destination-specific hold message is created with destination location details
R-GCX016-cbl-02958 Route Message to Appropriate Users
Action Rules
📊 Business Logic Narrative
When the process 'Route Message to Appropriate Users' is invoked, and assuming that hold message has been generated (border or destination), when the system routes the message to appropriate recipients, the desired outcome is that hold message is sent to relevant users, brokers, and notification systems.
💻 Technical Criteria
Given Hold message has been generated (border or destination)
When The system routes the message to appropriate recipients
Then Hold message is sent to relevant users, brokers, and notification systems
R-GCX016-cbl-02959 Log Hold Message Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Hold Message Details' is invoked, and assuming that hold message has been routed to appropriate users, when the system logs the hold message details, the desired outcome is that hold message information is recorded in system logs with timestamp and recipient details.
💻 Technical Criteria
Given Hold message has been routed to appropriate users
When The system logs the hold message details
Then Hold message information is recorded in system logs with timestamp and recipient details
R-GCX016-cbl-02960 Hold Message Generation Complete
Process Rules
📊 Business Logic Narrative
When the process 'Hold Message Generation Complete' is invoked, and assuming that hold message has been generated, routed, and logged, when the hold message generation process completes, the desired outcome is that system returns successful completion status and control to the calling process.
💻 Technical Criteria
Given Hold message has been generated, routed, and logged
When The hold message generation process completes
Then System returns successful completion status and control to the calling process
R-GCX016-cbl-02964 Analyze Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Disposition Code Type' is invoked, and assuming that a valid status code exists in the array element, when the system analyzes the disposition code, the desired outcome is that the code is categorized as hold, release, ptt, proceed, arrival, export, or fda hold type.
💻 Technical Criteria
Given A valid status code exists in the array element
When The system analyzes the disposition code
Then The code is categorized as hold, release, PTT, proceed, arrival, export, or FDA hold type
R-GCX016-cbl-02968 Set Border Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Flag' is invoked, and assuming that a hold code has been classified as a border hold, when the system processes the border hold classification, the desired outcome is that the border hold flag is set to true.
💻 Technical Criteria
Given A hold code has been classified as a border hold
When The system processes the border hold classification
Then The border hold flag is set to true
R-GCX016-cbl-02969 Set Destination Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Flag' is invoked, and assuming that a hold code has been classified as a destination hold, when the system processes the destination hold classification, the desired outcome is that the destination hold flag is set to true.
💻 Technical Criteria
Given A hold code has been classified as a destination hold
When The system processes the destination hold classification
Then The destination hold flag is set to true
R-GCX016-cbl-02978 Set Border Arrival Date
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Date' is invoked, and assuming that a proceed status code has been processed, when the system sets border arrival information, the desired outcome is that the border arrival date is recorded from the status code date information.
💻 Technical Criteria
Given A proceed status code has been processed
When The system sets border arrival information
Then The border arrival date is recorded from the status code date information
R-GCX016-cbl-02981 Export Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Code?' is invoked, and assuming that a disposition code is being analyzed, when the system checks if the code indicates export status, the desired outcome is that if the code represents export condition, proceed with export processing.
💻 Technical Criteria
Given A disposition code is being analyzed
When The system checks if the code indicates export status
Then If the code represents export condition, proceed with export processing
R-GCX016-cbl-02982 Set Export Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Flag' is invoked, and assuming that an export disposition code has been identified, when the system processes the export code, the desired outcome is that the export flag is set to true.
💻 Technical Criteria
Given An export disposition code has been identified
When The system processes the export code
Then The export flag is set to true
R-GCX016-cbl-02984 Set FDA Hold Flag at Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Flag at Destination' is invoked, and assuming that an fda hold disposition code has been identified, when the system processes the fda hold code, the desired outcome is that the fda hold flag is set to true for destination location.
💻 Technical Criteria
Given An FDA hold disposition code has been identified
When The system processes the FDA hold code
Then The FDA hold flag is set to true for destination location
R-GCX016-cbl-02993 Clear Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that full release status has been confirmed, when the system processes full release conditions, the desired outcome is that the destination index is cleared to reflect released status.
💻 Technical Criteria
Given Full release status has been confirmed
When The system processes full release conditions
Then The destination index is cleared to reflect released status
R-GCX016-cbl-02996 Determine Hold Location
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Hold Location' is invoked, and assuming that hold status flags have been set during analysis, when the system determines hold location, the desired outcome is that hold location is classified as border, destination, or both based on the active hold flags.
💻 Technical Criteria
Given Hold status flags have been set during analysis
When The system determines hold location
Then Hold location is classified as border, destination, or both based on the active hold flags
R-GCX016-cbl-03076 Generate Audit Trail
Policy Rules
📊 Business Logic Narrative
When the process 'Generate Audit Trail' is invoked, and assuming that release status coordination has been completed between us and canadian systems, when the system generates audit documentation, the desired outcome is that the system should create a complete audit trail documenting all cross-border coordination activities for compliance and tracking purposes.
💻 Technical Criteria
Given Release status coordination has been completed between US and Canadian systems
When The system generates audit documentation
Then The system should create a complete audit trail documenting all cross-border coordination activities for compliance and tracking purposes
R-GCX016-cbl-03085 Create New RT076 Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Create New RT076 Destination Index' is invoked, and assuming that all destination index parameters have been calculated and validated, when the system creates the new rt076 destination index, the desired outcome is that a new rt076 destination index record is created with the calculated parameters.
💻 Technical Criteria
Given All destination index parameters have been calculated AND validated
When The system creates the new RT076 destination index
Then A new RT076 destination index record is created with the calculated parameters
R-GCX016-cbl-03086 Index Creation Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Index Creation Successful?' is invoked, and assuming that a new rt076 destination index creation has been attempted, when the system validates the creation result, the desired outcome is that the system confirms whether the destination index was successfully created or if an error occurred.
💻 Technical Criteria
Given A new RT076 destination index creation has been attempted
When The system validates the creation result
Then The system confirms whether the destination index was successfully created or if an error occurred
R-GCX016-cbl-03089 Handle Index Creation Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Index Creation Error' is invoked, and assuming that destination index creation has failed, when the system handles the creation error, the desired outcome is that the error is processed appropriately and the system continues with error handling procedures.
💻 Technical Criteria
Given Destination index creation has failed
When The system handles the creation error
Then The error is processed appropriately and the system continues with error handling procedures
R-GCX016-cbl-03108 FDA Hold Required at Destination?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold Required at Destination?' is invoked, and assuming that fda hold conditions have been checked, when the system evaluates if fda hold is required at destination, the desired outcome is that the system either sets fda hold status code or continues with standard processing.
💻 Technical Criteria
Given FDA hold conditions have been checked
When The system evaluates if FDA hold is required at destination
Then The system either sets FDA hold status code or continues with standard processing
R-GCX016-cbl-03115 Set Hold Location as Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Location as Destination' is invoked, and assuming that status array has been updated with fda code, when the system sets hold location as destination, the desired outcome is that the hold location field is set to destination location.
💻 Technical Criteria
Given Status array has been updated with FDA code
When The system sets hold location as destination
Then The hold location field is set to destination location
R-GCX016-cbl-03116 Generate FDA Hold Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate FDA Hold Notification' is invoked, and assuming that hold location has been set as destination, when the system generates fda hold notification, the desired outcome is that a notification is created to inform stakeholders about the fda hold.
💻 Technical Criteria
Given Hold location has been set as destination
When The system generates FDA hold notification
Then A notification is created to inform stakeholders about the FDA hold
R-GCX016-cbl-03161 Log Status Change for Audit
Process Rules
📊 Business Logic Narrative
When the process 'Log Status Change for Audit' is invoked, and assuming that export cancellation message has been generated, when the system logs the status change, the desired outcome is that an audit trail entry is created documenting the export cancellation, previous status, and new status.
💻 Technical Criteria
Given Export cancellation message has been generated
When The system logs the status change
Then An audit trail entry is created documenting the export cancellation, previous status, and new status
R-GCX016-cbl-03165 Identify Element Position
Process Rules
📊 Business Logic Narrative
When the process 'Identify Element Position' is invoked, and assuming that an element has been found in the status array, when the system needs to track the element's location, the desired outcome is that the system records the array index position of the found element.
💻 Technical Criteria
Given An element has been found in the status array
When The system needs to track the element's location
Then The system records the array index position of the found element
R-GCX016-cbl-03185 Is Status Info Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Status Info Code?' is invoked, and assuming that a disposition code has been identified as potentially status information type, when the system checks if the code meets status information criteria, the desired outcome is that the system either proceeds with status information processing or routes to alternative processing.
💻 Technical Criteria
Given A disposition code has been identified as potentially status information type
When The system checks if the code meets status information criteria
Then The system either proceeds with status information processing or routes to alternative processing
R-GCX016-cbl-03231 FDA Hold Required at Destination?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold Required at Destination?' is invoked, and assuming that fda hold conditions have been evaluated, when the system determines if fda hold is required at destination, the desired outcome is that if fda hold is required, set fda hold status code, otherwise continue with other status processing.
💻 Technical Criteria
Given FDA hold conditions have been evaluated
When The system determines if FDA hold is required at destination
Then If FDA hold is required, set FDA hold status code, otherwise continue with other status processing
R-GCX016-cbl-03233 Set Destination Location Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Location Flag' is invoked, and assuming that fda hold status code has been set, when the system sets destination location flag, the desired outcome is that the destination location flag is updated to reflect fda hold location.
💻 Technical Criteria
Given FDA hold status code has been set
When The system sets destination location flag
Then The destination location flag is updated to reflect FDA hold location
R-GCX016-cbl-03234 Update Status Description
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Description' is invoked, and assuming that destination location flag has been set, when the system updates status description, the desired outcome is that the status description is updated with fda hold information.
💻 Technical Criteria
Given Destination location flag has been set
When The system updates status description
Then The status description is updated with FDA hold information
R-GCX016-cbl-03237 Set Hold Location as Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Location as Destination' is invoked, and assuming that fda-specific status code has been applied, when the system sets hold location as destination, the desired outcome is that the hold location is designated as destination.
💻 Technical Criteria
Given FDA-specific status code has been applied
When The system sets hold location as destination
Then The hold location is designated as destination
R-GCX016-cbl-03250 Partial Release Scenario?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Release Scenario?' is invoked, and assuming that ptt quantities have been updated in the status array, when the system checks for partial release conditions, the desired outcome is that if partial release is detected, preserve ptt status for remaining quantity, otherwise clear ptt status for released portion.
💻 Technical Criteria
Given PTT quantities have been updated in the status array
When The system checks for partial release conditions
Then If partial release is detected, preserve PTT status for remaining quantity, otherwise clear PTT status for released portion
R-GCX016-cbl-03288 Route Message to Brokers
Action Rules
📊 Business Logic Narrative
When the process 'Route Message to Brokers' is invoked, and assuming that unrelease notification message is prepared and broker recipients are identified, when the system routes the message to brokers, the desired outcome is that the system sends notification via merlin messaging system to broker destinations.
💻 Technical Criteria
Given Unrelease notification message is prepared AND broker recipients are identified
When The system routes the message to brokers
Then The system sends notification via Merlin messaging system to broker destinations
R-GCX016-cbl-03289 Route Message to Payer of Freight
Action Rules
📊 Business Logic Narrative
When the process 'Route Message to Payer of Freight' is invoked, and assuming that unrelease notification message is prepared and payer of freight is identified and payer of freight is different from broker, when the system routes the message to payer of freight, the desired outcome is that the system sends notification via appropriate messaging channel to payer of freight.
💻 Technical Criteria
Given Unrelease notification message is prepared AND payer of freight is identified AND payer of freight is different from broker
When The system routes the message to payer of freight
Then The system sends notification via appropriate messaging channel to payer of freight
R-GCX016-cbl-03357 Route Message to Configured Users
Action Rules
📊 Business Logic Narrative
When the process 'Route Message to Configured Users' is invoked, and assuming that a complete release message has been formatted and user routing configuration exists, when the system routes the message to configured users, the desired outcome is that the system sends the release message to all appropriate recipients based on message type and configured routing rules.
💻 Technical Criteria
Given A complete release message has been formatted and user routing configuration exists
When The system routes the message to configured users
Then The system sends the release message to all appropriate recipients based on message type and configured routing rules
R-GCX016-cbl-03358 Log Message Generation Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log Message Generation Activity' is invoked, and assuming that a release message has been successfully generated and routed, when the system logs message generation activity, the desired outcome is that the system records message generation details including timestamp, message type, and routing information for audit purposes.
💻 Technical Criteria
Given A release message has been successfully generated and routed
When The system logs message generation activity
Then The system records message generation details including timestamp, message type, and routing information for audit purposes
R-GCX016-cbl-03361 Set Export Message Type
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Message Type' is invoked, and assuming that a standard export operation is being processed, when the system needs to set the message type for export processing, the desired outcome is that the system assigns the export message type flag to indicate standard export processing.
💻 Technical Criteria
Given A standard export operation is being processed
When The system needs to set the message type for export processing
Then The system assigns the export message type flag to indicate standard export processing
R-GCX016-cbl-03362 Set Export Cancellation Message Type
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Cancellation Message Type' is invoked, and assuming that an export cancellation operation is being processed, when the system needs to set the message type for cancellation processing, the desired outcome is that the system assigns the export cancellation message type flag to indicate cancellation processing.
💻 Technical Criteria
Given An export cancellation operation is being processed
When The system needs to set the message type for cancellation processing
Then The system assigns the export cancellation message type flag to indicate cancellation processing
R-GCX016-cbl-03364 Prepare Cancellation Message Content
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Cancellation Message Content' is invoked, and assuming that an export cancellation message type has been set, when the system prepares the cancellation message content, the desired outcome is that the system formats the message with cancellation-specific information and reason codes.
💻 Technical Criteria
Given An export cancellation message type has been set
When The system prepares the cancellation message content
Then The system formats the message with cancellation-specific information and reason codes
R-GCX016-cbl-03366 Include Cancellation Reason
Process Rules
📊 Business Logic Narrative
When the process 'Include Cancellation Reason' is invoked, and assuming that an export cancellation message is being prepared, when the system includes cancellation reason information, the desired outcome is that the system adds the cancellation reason code and description to the message content.
💻 Technical Criteria
Given An export cancellation message is being prepared
When The system includes cancellation reason information
Then The system adds the cancellation reason code and description to the message content
R-GCX016-cbl-03369 Route to USEXP Basket
Action Rules
📊 Business Logic Narrative
When the process 'Route to USEXP Basket' is invoked, and assuming that a uscs export message has been formatted, when the system routes the message for transmission, the desired outcome is that the system sends the export message to the usexp basket for delivery to uscs systems.
💻 Technical Criteria
Given A USCS export message has been formatted
When The system routes the message for transmission
Then The system sends the export message to the USEXP basket for delivery to USCS systems
R-GCX016-cbl-03370 Route to Cancellation Recipients
Action Rules
📊 Business Logic Narrative
When the process 'Route to Cancellation Recipients' is invoked, and assuming that a uscs cancellation message has been formatted, when the system routes the cancellation message for transmission, the desired outcome is that the system sends the cancellation message to designated cancellation recipients for processing.
💻 Technical Criteria
Given A USCS cancellation message has been formatted
When The system routes the cancellation message for transmission
Then The system sends the cancellation message to designated cancellation recipients for processing
R-GCX016-cbl-03372 Log Cancellation Operation
Process Rules
📊 Business Logic Narrative
When the process 'Log Cancellation Operation' is invoked, and assuming that a cancellation message has been routed to recipients, when the system logs the cancellation operation, the desired outcome is that the system records the cancellation operation details including reason and timestamp for audit purposes.
💻 Technical Criteria
Given A cancellation message has been routed to recipients
When The system logs the cancellation operation
Then The system records the cancellation operation details including reason and timestamp for audit purposes
R-GCX016-cbl-03381 Message Routing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Routing Required?' is invoked, and assuming that a message has been formatted for arrival or cancellation, when the system evaluates routing requirements, the desired outcome is that the system determines if the message needs to be routed to uscs operations or other destinations based on message type and content.
💻 Technical Criteria
Given A message has been formatted for arrival or cancellation
When The system evaluates routing requirements
Then The system determines if the message needs to be routed to USCS operations or other destinations based on message type and content
R-GCX016-cbl-03382 Route to USCS Operations
Process Rules
📊 Business Logic Narrative
When the process 'Route to USCS Operations' is invoked, and assuming that a message requires routing and uscs operations is the target destination, when the system routes the message, the desired outcome is that the system sends the message to uscs operations with appropriate priority and delivery confirmation.
💻 Technical Criteria
Given A message requires routing and USCS operations is the target destination
When The system routes the message
Then The system sends the message to USCS operations with appropriate priority and delivery confirmation
R-GCX016-cbl-03385 Determine Destination Users
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Destination Users' is invoked, and assuming that a message has been categorized with appropriate keywords, when the system determines destination users, the desired outcome is that the system identifies target users based on user configuration, message type, and operational requirements.
💻 Technical Criteria
Given A message has been categorized with appropriate keywords
When The system determines destination users
Then The system identifies target users based on user configuration, message type, and operational requirements
R-GCX016-cbl-03386 Valid Users?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Users?' is invoked, and assuming that destination users have been determined for message delivery, when the system validates user configuration, the desired outcome is that the system confirms that users are valid, active, and properly configured to receive the message type.
💻 Technical Criteria
Given Destination users have been determined for message delivery
When The system validates user configuration
Then The system confirms that users are valid, active, and properly configured to receive the message type
R-GCX016-cbl-03388 Reroute to Default Users with Notification
Process Rules
📊 Business Logic Narrative
When the process 'Reroute to Default Users with Notification' is invoked, and assuming that configured users are invalid or unavailable for message delivery, when the system reroutes the message, the desired outcome is that the system sends the message to default users and generates a notification about the rerouting due to invalid user configuration.
💻 Technical Criteria
Given Configured users are invalid or unavailable for message delivery
When The system reroutes the message
Then The system sends the message to default users and generates a notification about the rerouting due to invalid user configuration
R-GCX016-cbl-03389 Log Message Generation Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log Message Generation Activity' is invoked, and assuming that a message has been processed and delivered or rerouted, when the system logs the activity, the desired outcome is that the system records message generation details, delivery status, user information, and timestamps for audit trail.
💻 Technical Criteria
Given A message has been processed and delivered or rerouted
When The system logs the activity
Then The system records message generation details, delivery status, user information, and timestamps for audit trail
R-GCX016-cbl-03402 Map Entry Type to Transport Type
Computation Rules
📊 Business Logic Narrative
When the process 'Map Entry Type to Transport Type' is invoked, and assuming that entry type code is 61 (immediate transport), 62 (transport export), 63 (immediate export), or 69 (us-canada-us), when mapping entry type to transport classification, the desired outcome is that set corresponding transport type: 61 maps to immediate transport, 62 to transport export, 63 to immediate export, 69 to us-canada-us movement.
💻 Technical Criteria
Given Entry type code is 61 (immediate transport), 62 (transport export), 63 (immediate export), or 69 (US-Canada-US)
When Mapping entry type to transport classification
Then Set corresponding transport type: 61 maps to immediate transport, 62 to transport export, 63 to immediate export, 69 to US-Canada-US movement
R-GCX016-cbl-03436 Map Entry Type to Internal Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Entry Type to Internal Transport Type' is invoked, and assuming that an entry type code from the x4 segment, when the system maps the entry type to internal transport type, the desired outcome is that entry type '61' maps to immediate transport, '62' maps to transport export, '63' maps to immediate export, '69' maps to us-canada-us movement, and all others map to border processing ('00').
💻 Technical Criteria
Given An entry type code from the X4 segment
When The system maps the entry type to internal transport type
Then Entry type '61' maps to immediate transport, '62' maps to transport export, '63' maps to immediate export, '69' maps to US-Canada-US movement, and all others map to border processing ('00')
R-GCX016-cbl-03449 DS Table Entry Found?
Validation Rules
📊 Business Logic Narrative
When the process 'DS Table Entry Found?' is invoked, and assuming that a ds table lookup has been performed using location id, when the system checks the lookup results, the desired outcome is that the system determines if a valid ds table entry was found and sets appropriate processing flags.
💻 Technical Criteria
Given A DS table lookup has been performed using location ID
When The system checks the lookup results
Then The system determines if a valid DS table entry was found and sets appropriate processing flags
R-GCX016-cbl-03450 Retrieve Station Name from DS Table
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Station Name from DS Table' is invoked, and assuming that a valid ds table entry has been found for the location id, when the system retrieves station information, the desired outcome is that the system extracts the station name from the ds table entry for integration.
💻 Technical Criteria
Given A valid DS table entry has been found for the location ID
When The system retrieves station information
Then The system extracts the station name from the DS table entry for integration
R-GCX016-cbl-03451 Lookup Station in KS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Station in KS Table' is invoked, and assuming that a location id has been identified and ds table processing is complete, when the system performs ks table lookup, the desired outcome is that the system searches the ks table for matching station description records.
💻 Technical Criteria
Given A location ID has been identified and DS table processing is complete
When The system performs KS table lookup
Then The system searches the KS table for matching station description records
R-GCX016-cbl-03452 KS Table Entry Found?
Validation Rules
📊 Business Logic Narrative
When the process 'KS Table Entry Found?' is invoked, and assuming that a ks table lookup has been performed using location id, when the system checks the lookup results, the desired outcome is that the system determines if a valid ks table entry was found and sets appropriate processing flags.
💻 Technical Criteria
Given A KS table lookup has been performed using location ID
When The system checks the lookup results
Then The system determines if a valid KS table entry was found and sets appropriate processing flags
R-GCX016-cbl-03453 Retrieve Station Description from KS Table
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Station Description from KS Table' is invoked, and assuming that a valid ks table entry has been found for the location id, when the system retrieves station description information, the desired outcome is that the system extracts the station description from the ks table entry for integration.
💻 Technical Criteria
Given A valid KS table entry has been found for the location ID
When The system retrieves station description information
Then The system extracts the station description from the KS table entry for integration
R-GCX016-cbl-03454 Lookup Station in SD Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Station in SD Table' is invoked, and assuming that a location id has been identified and ds/ks table processing is complete, when the system performs sd table lookup, the desired outcome is that the system searches the sd table for matching station detail records.
💻 Technical Criteria
Given A location ID has been identified and DS/KS table processing is complete
When The system performs SD table lookup
Then The system searches the SD table for matching station detail records
R-GCX016-cbl-03455 SD Table Entry Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SD Table Entry Found?' is invoked, and assuming that an sd table lookup has been performed using location id, when the system checks the lookup results, the desired outcome is that the system determines if a valid sd table entry was found and sets appropriate processing flags.
💻 Technical Criteria
Given An SD table lookup has been performed using location ID
When The system checks the lookup results
Then The system determines if a valid SD table entry was found and sets appropriate processing flags
R-GCX016-cbl-03456 Retrieve Additional Station Details from SD Table
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Additional Station Details from SD Table' is invoked, and assuming that a valid sd table entry has been found for the location id, when the system retrieves additional station details, the desired outcome is that the system extracts the additional station details from the sd table entry for integration.
💻 Technical Criteria
Given A valid SD table entry has been found for the location ID
When The system retrieves additional station details
Then The system extracts the additional station details from the SD table entry for integration
R-GCX016-cbl-03487 Save Hold Location Info
Process Rules
📊 Business Logic Narrative
When the process 'Save Hold Location Info' is invoked, and assuming that ptt status has been preserved, when hold location information needs to be saved, the desired outcome is that border hold, destination hold, and location-specific information are preserved in working storage.
💻 Technical Criteria
Given PTT status has been preserved
When Hold location information needs to be saved
Then Border hold, destination hold, and location-specific information are preserved in working storage
R-GCX016-cbl-03488 Save Release Quantities
Process Rules
📊 Business Logic Narrative
When the process 'Save Release Quantities' is invoked, and assuming that hold location information has been preserved, when release quantities need to be saved, the desired outcome is that current release quantities and total quantities are preserved in working storage.
💻 Technical Criteria
Given Hold location information has been preserved
When Release quantities need to be saved
Then Current release quantities and total quantities are preserved in working storage
R-GCX016-cbl-03492 Restore Hold Information
Process Rules
📊 Business Logic Narrative
When the process 'Restore Hold Information' is invoked, and assuming that ptt status has been restored, when hold information restoration is executed, the desired outcome is that preserved border hold, destination hold, and location information are restored.
💻 Technical Criteria
Given PTT status has been restored
When Hold information restoration is executed
Then Preserved border hold, destination hold, and location information are restored
R-GCX016-cbl-03533 Station Information Lookup Request
Process Rules
📊 Business Logic Narrative
When the process 'Station Information Lookup Request' is invoked, and assuming that a location id is provided for station information lookup, when the system searches for station information across sd, ds, and ks tables in hierarchical order, the desired outcome is that the system returns the first matching station record found or uses default location name if no records are found.
💻 Technical Criteria
Given A location ID is provided for station information lookup
When The system searches for station information across SD, DS, and KS tables in hierarchical order
Then The system returns the first matching station record found or uses default location name if no records are found
R-GCX016-cbl-03534 Lookup SD Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup SD Table' is invoked, and assuming that a location id is available for lookup, when the system performs station information lookup, the desired outcome is that the system first searches the sd table in gcstbrt database for matching station records.
💻 Technical Criteria
Given A location ID is available for lookup
When The system performs station information lookup
Then The system first searches the SD table in GCSTBRT database for matching station records
R-GCX016-cbl-03535 SD Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'SD Record Found?' is invoked, and assuming that the system has searched the sd table for a location id, when a matching sd record is found, the desired outcome is that the system extracts station name and description from the sd record and completes the lookup process.
💻 Technical Criteria
Given The system has searched the SD table for a location ID
When A matching SD record is found
Then The system extracts station name and description from the SD record and completes the lookup process
R-GCX016-cbl-03537 DS Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'DS Record Found?' is invoked, and assuming that the system has searched the ds table for a location id after sd table lookup failed, when a matching ds record is found, the desired outcome is that the system extracts station name and description from the ds record and completes the lookup process.
💻 Technical Criteria
Given The system has searched the DS table for a location ID after SD table lookup failed
When A matching DS record is found
Then The system extracts station name and description from the DS record and completes the lookup process
R-GCX016-cbl-03539 KS Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'KS Record Found?' is invoked, and assuming that the system has searched the ks table for a location id after sd and ds table lookups failed, when a matching ks record is found, the desired outcome is that the system extracts station name and description from the ks record and completes the lookup process.
💻 Technical Criteria
Given The system has searched the KS table for a location ID after SD and DS table lookups failed
When A matching KS record is found
Then The system extracts station name and description from the KS record and completes the lookup process
R-GCX016-cbl-03540 Extract Station Name
Action Rules
📊 Business Logic Narrative
When the process 'Extract Station Name' is invoked, and assuming that a matching station record has been found in any of the station tables (sd, ds, or ks), when the system processes the found record, the desired outcome is that the system extracts the station name field from the record for use in location mapping.
💻 Technical Criteria
Given A matching station record has been found in any of the station tables (SD, DS, or KS)
When The system processes the found record
Then The system extracts the station name field from the record for use in location mapping
R-GCX016-cbl-03541 Extract Station Description
Action Rules
📊 Business Logic Narrative
When the process 'Extract Station Description' is invoked, and assuming that station name has been extracted from a found station record, when the system continues processing the station record, the desired outcome is that the system extracts the station description field from the record for detailed location information.
💻 Technical Criteria
Given Station name has been extracted from a found station record
When The system continues processing the station record
Then The system extracts the station description field from the record for detailed location information
R-GCX016-cbl-03544 Log Station Not Found
Action Rules
📊 Business Logic Narrative
When the process 'Log Station Not Found' is invoked, and assuming that the system has searched all station tables (sd, ds, ks) for a location id, when no matching station records are found in any table, the desired outcome is that the system logs the station not found condition before using default location name.
💻 Technical Criteria
Given The system has searched all station tables (SD, DS, KS) for a location ID
When No matching station records are found in any table
Then The system logs the station not found condition before using default location name
R-GCX016-cbl-03545 Location ID Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Location ID Available?' is invoked, and assuming that a station information lookup request is initiated, when the system begins the lookup process, the desired outcome is that the system checks if a location id is available and either proceeds with table lookups or uses default location name.
💻 Technical Criteria
Given A station information lookup request is initiated
When The system begins the lookup process
Then The system checks if a location ID is available and either proceeds with table lookups or uses default location name
R-GCX016-cbl-03613 Route to Error Destinations
Action Rules
📊 Business Logic Narrative
When the process 'Route to Error Destinations' is invoked, and assuming that a message is ready for routing and has been classified as an error message type, when the message type is error or arrcanl (arrival cancellation), the desired outcome is that the system routes the message to both 'in' destination and 'userr' destination for error processing.
💻 Technical Criteria
Given A message is ready for routing and has been classified as an error message type
When The message type is ERROR or ARRCANL (arrival cancellation)
Then The system routes the message to both 'IN' destination and 'USERR' destination for error processing
R-GCX016-cbl-03614 Route to Info Users
Action Rules
📊 Business Logic Narrative
When the process 'Route to Info Users' is invoked, and assuming that a message is ready for routing and has been classified as an information message, when the message type is info, the desired outcome is that the system routes the message to 'in' destination and station-specific merlin ids for information distribution.
💻 Technical Criteria
Given A message is ready for routing and has been classified as an information message
When The message type is INFO
Then The system routes the message to 'IN' destination and station-specific Merlin IDs for information distribution
R-GCX016-cbl-03615 Route to Unrelease Baskets
Action Rules
📊 Business Logic Narrative
When the process 'Route to Unrelease Baskets' is invoked, and assuming that a message is ready for routing and has been classified as an unrelease message, when the message type is unrlse (unrelease), the desired outcome is that the system routes the message to default merlin ids and cancel-specific merlin ids for unrelease processing.
💻 Technical Criteria
Given A message is ready for routing and has been classified as an unrelease message
When The message type is UNRLSE (unrelease)
Then The system routes the message to default Merlin IDs and cancel-specific Merlin IDs for unrelease processing
R-GCX016-cbl-03616 Route to Release Users
Action Rules
📊 Business Logic Narrative
When the process 'Route to Release Users' is invoked, and assuming that a message is ready for routing and has been classified as a release message, when the message type is rlse (release), the desired outcome is that the system routes the message only to station-specific merlin ids for release notification.
💻 Technical Criteria
Given A message is ready for routing and has been classified as a release message
When The message type is RLSE (release)
Then The system routes the message only to station-specific Merlin IDs for release notification
R-GCX016-cbl-03620 Valid User Check
Validation Rules
📊 Business Logic Narrative
When the process 'Valid User Check' is invoked, and assuming that a message has been routed to its initial destination based on message type, when the system performs user validation for the destination, the desired outcome is that the system checks if the destination user is valid and authorized to receive this message type.
💻 Technical Criteria
Given A message has been routed to its initial destination based on message type
When The system performs user validation for the destination
Then The system checks if the destination user is valid and authorized to receive this message type
R-GCX016-cbl-03621 Reroute to Default Users
Action Rules
📊 Business Logic Narrative
When the process 'Reroute to Default Users' is invoked, and assuming that a message destination has been validated and found to be invalid or unauthorized, when the destination user validation fails, the desired outcome is that the system reroutes the message to default users to ensure proper message delivery.
💻 Technical Criteria
Given A message destination has been validated and found to be invalid or unauthorized
When The destination user validation fails
Then The system reroutes the message to default users to ensure proper message delivery
R-GCX016-cbl-03622 Set Message Keywords
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Keywords' is invoked, and assuming that a message has been validated and destination has been confirmed, when the message is ready for final formatting and delivery, the desired outcome is that the system sets appropriate message keywords based on message type and content for proper categorization.
💻 Technical Criteria
Given A message has been validated and destination has been confirmed
When The message is ready for final formatting and delivery
Then The system sets appropriate message keywords based on message type and content for proper categorization
R-GCX016-cbl-03624 Send to Destination
Action Rules
📊 Business Logic Narrative
When the process 'Send to Destination' is invoked, and assuming that a message has been fully formatted with keywords and subject line, when all routing validation and formatting is complete, the desired outcome is that the system sends the message to its final destination through the appropriate messaging channel.
💻 Technical Criteria
Given A message has been fully formatted with keywords and subject line
When All routing validation and formatting is complete
Then The system sends the message to its final destination through the appropriate messaging channel
R-GCX016-cbl-03625 Log Routing Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Routing Action' is invoked, and assuming that a message has been successfully sent to its destination, when the message delivery is complete, the desired outcome is that the system logs the routing action including message type, destination, and delivery status for audit purposes.
💻 Technical Criteria
Given A message has been successfully sent to its destination
When The message delivery is complete
Then The system logs the routing action including message type, destination, and delivery status for audit purposes
R-GCX016-cbl-03626 Check Destination User ID
Validation Rules
📊 Business Logic Narrative
When the process 'Check Destination User ID' is invoked, and assuming that a message is ready for routing with a destination user id, when the system checks the destination user id validity, the desired outcome is that the system determines if the user id is valid or invalid for message routing.
💻 Technical Criteria
Given A message is ready for routing with a destination user ID
When The system checks the destination user ID validity
Then The system determines if the user ID is valid or invalid for message routing
R-GCX016-cbl-03627 Route to Original User
Action Rules
📊 Business Logic Narrative
When the process 'Route to Original User' is invoked, and assuming that a message with a valid destination user id, when the user id validation passes, the desired outcome is that the message is routed to the original specified user without modification.
💻 Technical Criteria
Given A message with a valid destination user ID
When The user ID validation passes
Then The message is routed to the original specified user without modification
R-GCX016-cbl-03628 Identify Default User for Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Identify Default User for Message Type' is invoked, and assuming that a message with an invalid destination user id, when the system needs to identify a default user, the desired outcome is that the system determines the default user based on the message type (error, info, release, or export).
💻 Technical Criteria
Given A message with an invalid destination user ID
When The system needs to identify a default user
Then The system determines the default user based on the message type (Error, Info, Release, or Export)
R-GCX016-cbl-03629 Route to Default Error User
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default Error User' is invoked, and assuming that an error message with an invalid destination user id, when the message type is identified as error, the desired outcome is that the message is routed to the default error user.
💻 Technical Criteria
Given An error message with an invalid destination user ID
When The message type is identified as Error
Then The message is routed to the default error user
R-GCX016-cbl-03630 Route to Default Info User
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default Info User' is invoked, and assuming that an informational message with an invalid destination user id, when the message type is identified as info, the desired outcome is that the message is routed to the default info user.
💻 Technical Criteria
Given An informational message with an invalid destination user ID
When The message type is identified as Info
Then The message is routed to the default info user
R-GCX016-cbl-03631 Route to Default Release User
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default Release User' is invoked, and assuming that a release message with an invalid destination user id, when the message type is identified as release, the desired outcome is that the message is routed to the default release user.
💻 Technical Criteria
Given A release message with an invalid destination user ID
When The message type is identified as Release
Then The message is routed to the default release user
R-GCX016-cbl-03632 Route to Default Export User
Action Rules
📊 Business Logic Narrative
When the process 'Route to Default Export User' is invoked, and assuming that an export message with an invalid destination user id, when the message type is identified as export, the desired outcome is that the message is routed to the default export user.
💻 Technical Criteria
Given An export message with an invalid destination user ID
When The message type is identified as Export
Then The message is routed to the default export user
R-GCX016-cbl-03633 Generate Invalid User Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Invalid User Notification' is invoked, and assuming that a message has been rerouted due to invalid user id, when the rerouting to default user is completed, the desired outcome is that a notification is generated indicating the invalid user id and the rerouting action taken.
💻 Technical Criteria
Given A message has been rerouted due to invalid user ID
When The rerouting to default user is completed
Then A notification is generated indicating the invalid user ID and the rerouting action taken
R-GCX016-cbl-03634 Log Rerouting Action
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Rerouting Action', assuming that a message has been rerouted from invalid user to default user, when the invalid user notification is generated, the desired outcome is that the rerouting action is logged with original user id, default user id, message type, and timestamp.
💻 Technical Criteria
EXCLUDING A message has been rerouted from invalid user to default user
When The invalid user notification is generated
Then The rerouting action is logged with original user ID, default user ID, message type, and timestamp
R-GCX016-cbl-03635 Update Message Routing History
Process Rules
📊 Business Logic Narrative
When the process 'Update Message Routing History' is invoked, and assuming that a rerouting action has been logged, when the system updates the message routing history, the desired outcome is that the routing history is updated with the rerouting event details including original destination, new destination, and reason for rerouting.
💻 Technical Criteria
Given A rerouting action has been logged
When The system updates the message routing history
Then The routing history is updated with the rerouting event details including original destination, new destination, and reason for rerouting
R-GCX016-cbl-03636 Send Message to New Destination
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to New Destination' is invoked, and assuming that message routing history has been updated with rerouting details, when the system sends the message to the new destination, the desired outcome is that the message is delivered to the default user with all original content intact.
💻 Technical Criteria
Given Message routing history has been updated with rerouting details
When The system sends the message to the new destination
Then The message is delivered to the default user with all original content intact
R-GCX016-cbl-03662 Format Current Date/Time
Process Rules
📊 Business Logic Narrative
When the process 'Format Current Date/Time' is invoked, and assuming that a report being generated, when current date and time formatting is required, the desired outcome is that format current system date and time into standard report format.
💻 Technical Criteria
Given A report being generated
When Current date and time formatting is required
Then Format current system date and time into standard report format
R-GCX016-cbl-03667 Retrieve Broker Entry Number from X4 Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Broker Entry Number from X4 Segment' is invoked, and assuming that an x4 customs release segment is available for processing, when the system needs to retrieve broker entry number for quantity comparison, the desired outcome is that the broker entry number is extracted from the x4 segment and made available for display formatting.
💻 Technical Criteria
Given An X4 customs release segment is available for processing
When The system needs to retrieve broker entry number for quantity comparison
Then The broker entry number is extracted from the X4 segment and made available for display formatting
R-GCX016-cbl-03669 Retrieve Broker Entry Quantity from X4 Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Broker Entry Quantity from X4 Segment' is invoked, and assuming that an x4 customs release segment contains broker entry quantity information, when the system needs to retrieve broker entry quantity for mismatch detection, the desired outcome is that the broker entry quantity is extracted from the x4 segment and made available for comparison.
💻 Technical Criteria
Given An X4 customs release segment contains broker entry quantity information
When The system needs to retrieve broker entry quantity for mismatch detection
Then The broker entry quantity is extracted from the X4 segment and made available for comparison
R-GCX016-cbl-03672 Format Broker Entry Number for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Broker Entry Number for Display' is invoked, and assuming that a quantity mismatch has been detected and broker entry number is available, when the system formats the broker entry number for display, the desired outcome is that the broker entry number is formatted according to report display standards and prepared for inclusion in the mismatch report.
💻 Technical Criteria
Given A quantity mismatch has been detected and broker entry number is available
When The system formats the broker entry number for display
Then The broker entry number is formatted according to report display standards and prepared for inclusion in the mismatch report
R-GCX016-cbl-03673 Format Manifest Quantity for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Manifest Quantity for Display' is invoked, and assuming that a quantity mismatch has been detected and manifest quantity is available, when the system formats the manifest quantity for display, the desired outcome is that the manifest quantity is formatted according to report display standards and prepared for inclusion in the mismatch report.
💻 Technical Criteria
Given A quantity mismatch has been detected and manifest quantity is available
When The system formats the manifest quantity for display
Then The manifest quantity is formatted according to report display standards and prepared for inclusion in the mismatch report
R-GCX016-cbl-03674 Format Broker Entry Quantity for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Broker Entry Quantity for Display' is invoked, and assuming that a quantity mismatch has been detected and broker entry quantity is available, when the system formats the broker entry quantity for display, the desired outcome is that the broker entry quantity is formatted according to report display standards and prepared for inclusion in the mismatch report.
💻 Technical Criteria
Given A quantity mismatch has been detected and broker entry quantity is available
When The system formats the broker entry quantity for display
Then The broker entry quantity is formatted according to report display standards and prepared for inclusion in the mismatch report
R-GCX016-cbl-03675 Format Quantity Difference for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Quantity Difference for Display' is invoked, and assuming that a quantity mismatch has been detected and quantity difference has been calculated, when the system formats the quantity difference for display, the desired outcome is that the quantity difference is formatted according to report display standards and prepared for inclusion in the mismatch report.
💻 Technical Criteria
Given A quantity mismatch has been detected and quantity difference has been calculated
When The system formats the quantity difference for display
Then The quantity difference is formatted according to report display standards and prepared for inclusion in the mismatch report
R-GCX016-cbl-03676 Build Mismatch Report Line
Process Rules
📊 Business Logic Narrative
When the process 'Build Mismatch Report Line' is invoked, and assuming that all quantity information has been formatted for display, when the system builds the mismatch report line, the desired outcome is that a complete report line is constructed that will contain the entry number, manifest quantity, broker quantity, and difference amount.
💻 Technical Criteria
Given All quantity information has been formatted for display
When The system builds the mismatch report line
Then A complete report line is constructed that will contain the entry number, manifest quantity, broker quantity, and difference amount
R-GCX016-cbl-03677 Add Entry Number to Report
Process Rules
📊 Business Logic Narrative
When the process 'Add Entry Number to Report' is invoked, and assuming that a mismatch report line is being built and broker entry number is formatted, when the system adds the entry number to the report, the desired outcome is that the formatted broker entry number is included in the appropriate position within the mismatch report line.
💻 Technical Criteria
Given A mismatch report line is being built and broker entry number is formatted
When The system adds the entry number to the report
Then The formatted broker entry number is included in the appropriate position within the mismatch report line
R-GCX016-cbl-03678 Add Manifest Quantity to Report
Process Rules
📊 Business Logic Narrative
When the process 'Add Manifest Quantity to Report' is invoked, and assuming that a mismatch report line is being built and manifest quantity is formatted, when the system adds the manifest quantity to the report, the desired outcome is that the formatted manifest quantity is included in the appropriate position within the mismatch report line.
💻 Technical Criteria
Given A mismatch report line is being built and manifest quantity is formatted
When The system adds the manifest quantity to the report
Then The formatted manifest quantity is included in the appropriate position within the mismatch report line
R-GCX016-cbl-03679 Add Broker Quantity to Report
Process Rules
📊 Business Logic Narrative
When the process 'Add Broker Quantity to Report' is invoked, and assuming that a mismatch report line is being built and broker entry quantity is formatted, when the system adds the broker quantity to the report, the desired outcome is that the formatted broker entry quantity is included in the appropriate position within the mismatch report line.
💻 Technical Criteria
Given A mismatch report line is being built and broker entry quantity is formatted
When The system adds the broker quantity to the report
Then The formatted broker entry quantity is included in the appropriate position within the mismatch report line
R-GCX016-cbl-03680 Add Difference Amount to Report
Process Rules
📊 Business Logic Narrative
When the process 'Add Difference Amount to Report' is invoked, and assuming that a mismatch report line is being built and quantity difference is formatted, when the system adds the difference amount to the report, the desired outcome is that the formatted quantity difference is included in the appropriate position within the mismatch report line.
💻 Technical Criteria
Given A mismatch report line is being built and quantity difference is formatted
When The system adds the difference amount to the report
Then The formatted quantity difference is included in the appropriate position within the mismatch report line
R-GCX016-cbl-03681 Set Mismatch Flag for Notification
Action Rules
📊 Business Logic Narrative
When the process 'Set Mismatch Flag for Notification' is invoked, and assuming that a quantity mismatch has been detected and formatted for reporting, when the system sets the mismatch flag, the desired outcome is that the mismatch notification flag is activated to ensure broker notification will be triggered for this quantity discrepancy.
💻 Technical Criteria
Given A quantity mismatch has been detected and formatted for reporting
When The system sets the mismatch flag
Then The mismatch notification flag is activated to ensure broker notification will be triggered for this quantity discrepancy
R-GCX016-cbl-03694 Clear Report Working Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Report Working Fields' is invoked, and assuming that a merlin report needs to be generated, when the system starts report field initialization, the desired outcome is that all report working fields are cleared to spaces or zeros.
💻 Technical Criteria
Given A Merlin report needs to be generated
When The system starts report field initialization
Then All report working fields are cleared to spaces or zeros
R-GCX016-cbl-03696 Set Default User Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default User Codes' is invoked, and assuming that message header fields are initialized, when default user code setup is executed, the desired outcome is that standard user codes are assigned for message routing destinations.
💻 Technical Criteria
Given Message header fields are initialized
When Default user code setup is executed
Then Standard user codes are assigned for message routing destinations
R-GCX016-cbl-03697 Set Error Message Routing
Decision Rules
📊 Business Logic Narrative
When the process 'Set Error Message Routing' is invoked, and assuming that message type is identified as error or arrival cancellation, when error message routing is configured, the desired outcome is that message is routed to both 'in' destination and 'userr' error destination.
💻 Technical Criteria
Given Message type is identified as error or arrival cancellation
When Error message routing is configured
Then Message is routed to both 'IN' destination and 'USERR' error destination
R-GCX016-cbl-03698 Set Info Message Routing
Decision Rules
📊 Business Logic Narrative
When the process 'Set Info Message Routing' is invoked, and assuming that message type is identified as informational, when information message routing is configured, the desired outcome is that message is routed to 'in' destination and station-specific merlin ids.
💻 Technical Criteria
Given Message type is identified as informational
When Information message routing is configured
Then Message is routed to 'IN' destination and station-specific Merlin IDs
R-GCX016-cbl-03702 Initialize Report Display Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Report Display Fields' is invoked, and assuming that message routing has been configured, when report display field initialization is performed, the desired outcome is that all display fields are formatted with standard presentation templates.
💻 Technical Criteria
Given Message routing has been configured
When Report display field initialization is performed
Then All display fields are formatted with standard presentation templates
R-GCX016-cbl-03707 Set Date/Time Stamp Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Date/Time Stamp Fields' is invoked, and assuming that disposition code fields are formatted, when date and time stamp setting is performed, the desired outcome is that current date and time are captured in standard report timestamp format.
💻 Technical Criteria
Given Disposition code fields are formatted
When Date and time stamp setting is performed
Then Current date and time are captured in standard report timestamp format
R-GCX016-cbl-03709 Initialize Destination Baskets
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Destination Baskets' is invoked, and assuming that quantity fields are formatted, when destination basket initialization is performed, the desired outcome is that destination basket arrays are cleared and ready for recipient assignment.
💻 Technical Criteria
Given Quantity fields are formatted
When Destination basket initialization is performed
Then Destination basket arrays are cleared and ready for recipient assignment
R-GCX016-cbl-03710 Invalid User Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid User Code?' is invoked, and assuming that destination baskets are initialized, when user code validation is performed, the desired outcome is that system identifies whether assigned user codes are valid or require default rerouting.
💻 Technical Criteria
Given Destination baskets are initialized
When User code validation is performed
Then System identifies whether assigned user codes are valid or require default rerouting
R-GCX016-cbl-03714 Finalize Report Field Setup
Process Rules
📊 Business Logic Narrative
When the process 'Finalize Report Field Setup' is invoked, and assuming that subject line format is set, when report field setup finalization is performed, the desired outcome is that all report fields are validated and confirmed ready for message generation.
💻 Technical Criteria
Given Subject line format is set
When Report field setup finalization is performed
Then All report fields are validated and confirmed ready for message generation
R-GCX016-cbl-03715 Report Fields Ready for Message Generation
Validation Rules
📊 Business Logic Narrative
When the process 'Report Fields Ready for Message Generation' is invoked, and assuming that report field setup is finalized, when final readiness confirmation is performed, the desired outcome is that system confirms all fields are ready and message generation can proceed.
💻 Technical Criteria
Given Report field setup is finalized
When Final readiness confirmation is performed
Then System confirms all fields are ready and message generation can proceed
R-GCX016-cbl-03723 Process M10 Manifest Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Process M10 Manifest Segment' is invoked, and assuming that a message segment is available for processing, when the segment type is identified as m10 manifest segment, the desired outcome is that the system routes the segment for train manifest processing.
💻 Technical Criteria
Given A message segment is available for processing
When The segment type is identified as M10 manifest segment
Then The system routes the segment for train manifest processing
R-GCX016-cbl-03724 Process V9 Event Detail Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Process V9 Event Detail Segment' is invoked, and assuming that a message segment is available for processing, when the segment type is identified as v9 event detail segment, the desired outcome is that the system routes the segment for train event processing.
💻 Technical Criteria
Given A message segment is available for processing
When The segment type is identified as V9 event detail segment
Then The system routes the segment for train event processing
R-GCX016-cbl-03728 Set Train Arrival Parameters
Decision Rules
📊 Business Logic Narrative
When the process 'Set Train Arrival Parameters' is invoked, and assuming that a disposition code has been extracted from v9 segment, when the disposition code is pod (port of discharge) or aad (actual arrival date), the desired outcome is that system sets train arrival processing parameters and flags.
💻 Technical Criteria
Given A disposition code has been extracted from V9 segment
When The disposition code is POD (Port of Discharge) or AAD (Actual Arrival Date)
Then System sets train arrival processing parameters and flags
R-GCX016-cbl-03838 Location ID Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Location ID Type?' is invoked, and assuming that a location id is received for resolution, when the system evaluates the location id type, the desired outcome is that the system selects ds table for station codes, ks table for port codes, or sd table for general locations.
💻 Technical Criteria
Given A location ID is received for resolution
When The system evaluates the location ID type
Then The system selects DS table for station codes, KS table for port codes, or SD table for general locations
R-GCX016-cbl-03839 Lookup in DS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup in DS Table' is invoked, and assuming that a station code location id needs to be resolved, when the system performs ds table lookup using the location id, the desired outcome is that the system retrieves station data from ds table or determines location not found.
💻 Technical Criteria
Given A station code location ID needs to be resolved
When The system performs DS table lookup using the location ID
Then The system retrieves station data from DS table or determines location not found
R-GCX016-cbl-03840 Lookup in KS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup in KS Table' is invoked, and assuming that a port code location id needs to be resolved, when the system performs ks table lookup using the location id, the desired outcome is that the system retrieves port data from ks table or determines location not found.
💻 Technical Criteria
Given A port code location ID needs to be resolved
When The system performs KS table lookup using the location ID
Then The system retrieves port data from KS table or determines location not found
R-GCX016-cbl-03841 Lookup in SD Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup in SD Table' is invoked, and assuming that a general location id needs to be resolved, when the system performs sd table lookup using the location id, the desired outcome is that the system retrieves location data from sd table or determines location not found.
💻 Technical Criteria
Given A general location ID needs to be resolved
When The system performs SD table lookup using the location ID
Then The system retrieves location data from SD table or determines location not found
R-GCX016-cbl-03842 Location Found in DS?
Validation Rules
📊 Business Logic Narrative
When the process 'Location Found in DS?' is invoked, and assuming that ds table lookup has been performed for a station location, when the system checks the lookup result, the desired outcome is that if location is found in ds table, proceed to retrieve location name, otherwise try ks table lookup.
💻 Technical Criteria
Given DS table lookup has been performed for a station location
When The system checks the lookup result
Then If location is found in DS table, proceed to retrieve location name, otherwise try KS table lookup
R-GCX016-cbl-03843 Location Found in KS?
Validation Rules
📊 Business Logic Narrative
When the process 'Location Found in KS?' is invoked, and assuming that ks table lookup has been performed for a port location or ds lookup failed, when the system checks the lookup result, the desired outcome is that if location is found in ks table, proceed to retrieve location name, otherwise try sd table lookup.
💻 Technical Criteria
Given KS table lookup has been performed for a port location or DS lookup failed
When The system checks the lookup result
Then If location is found in KS table, proceed to retrieve location name, otherwise try SD table lookup
R-GCX016-cbl-03844 Location Found in SD?
Validation Rules
📊 Business Logic Narrative
When the process 'Location Found in SD?' is invoked, and assuming that sd table lookup has been performed for a general location or previous lookups failed, when the system checks the lookup result, the desired outcome is that if location is found in sd table, proceed to retrieve location name, otherwise generate location not found error.
💻 Technical Criteria
Given SD table lookup has been performed for a general location or previous lookups failed
When The system checks the lookup result
Then If location is found in SD table, proceed to retrieve location name, otherwise generate location not found error
R-GCX016-cbl-03845 Retrieve Location Name from DS
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Location Name from DS' is invoked, and assuming that location has been successfully found in ds table, when the system retrieves the location information, the desired outcome is that the system extracts the descriptive location name from the ds table record.
💻 Technical Criteria
Given Location has been successfully found in DS table
When The system retrieves the location information
Then The system extracts the descriptive location name from the DS table record
R-GCX016-cbl-03846 Retrieve Location Name from KS
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Location Name from KS' is invoked, and assuming that location has been successfully found in ks table, when the system retrieves the location information, the desired outcome is that the system extracts the descriptive location name from the ks table record.
💻 Technical Criteria
Given Location has been successfully found in KS table
When The system retrieves the location information
Then The system extracts the descriptive location name from the KS table record
R-GCX016-cbl-03847 Retrieve Location Name from SD
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Location Name from SD' is invoked, and assuming that location has been successfully found in sd table, when the system retrieves the location information, the desired outcome is that the system extracts the descriptive location name from the sd table record.
💻 Technical Criteria
Given Location has been successfully found in SD table
When The system retrieves the location information
Then The system extracts the descriptive location name from the SD table record
R-GCX016-cbl-03848 Set Location Description
Action Rules
📊 Business Logic Narrative
When the process 'Set Location Description' is invoked, and assuming that a location name has been successfully retrieved from ds, ks, or sd table, when the system processes the retrieved location information, the desired outcome is that the system sets the location description field with the retrieved location name.
💻 Technical Criteria
Given A location name has been successfully retrieved from DS, KS, or SD table
When The system processes the retrieved location information
Then The system sets the location description field with the retrieved location name
R-GCX016-cbl-03850 Location Not Found Error
Validation Rules
📊 Business Logic Narrative
When the process 'Location Not Found Error' is invoked, and assuming that location id has been searched in ds, ks, and sd tables without success, when all table lookups have failed to find the location, the desired outcome is that the system generates a location not found error and continues processing.
💻 Technical Criteria
Given Location ID has been searched in DS, KS, and SD tables without success
When All table lookups have failed to find the location
Then The system generates a location not found error and continues processing
R-GCX016-cbl-03880 Log Cross-Border Match
Action Rules
📊 Business Logic Narrative
When the process 'Log Cross-Border Match' is invoked, and assuming that cross-border coordination status has been updated, when the system logs the matching event, the desired outcome is that cross-border match information is recorded in system logs.
💻 Technical Criteria
Given Cross-border coordination status has been updated
When The system logs the matching event
Then Cross-border match information is recorded in system logs
R-GCX016-cbl-03897 Set Message Routing Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Routing Information' is invoked, and assuming that transmission id is generated, when message routing information is being configured, the desired outcome is that routing information is set to determine message destination and delivery path.
💻 Technical Criteria
Given transmission ID is generated
When message routing information is being configured
Then routing information is set to determine message destination and delivery path

🔁 EDI, Status & Database 1478 logic blocks
R-GCX016-cbl-00001 138:IMS Queue Reading
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '138:IMS Queue Reading', assuming that a message queue connection is established, when the system checks for message availability and the completion code is not ok and the reason code equals 2033, the desired outcome is that the system sets message not available status.
💻 Technical Criteria
EXCLUDING A message queue connection is established
When The system checks for message availability AND the completion code is not OK AND the reason code equals 2033
Then The system sets message not available status
R-GCX016-cbl-00002 138:IMS Queue Reading
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '138:IMS Queue Reading', assuming that a message is retrieved from the queue, when the completion code is ok and the message backout count is not equal to zero, the desired outcome is that the system sets skip message found status and does not process the message.
💻 Technical Criteria
EXCLUDING A message is retrieved from the queue
When The completion code is OK AND the message backout count is not equal to zero
Then The system sets skip message found status and does not process the message
R-GCX016-cbl-00003 138:IMS Queue Reading
Decision Rules
📊 Business Logic Narrative
When the process '138:IMS Queue Reading' is invoked, and assuming that a message is retrieved from the queue, when the completion code is ok and the message backout count equals zero, the desired outcome is that the system sets good message found status and proceeds with processing.
💻 Technical Criteria
Given A message is retrieved from the queue
When The completion code is OK AND the message backout count equals zero
Then The system sets good message found status and proceeds with processing
R-GCX016-cbl-00005 3:Manifest Information Processing
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '3:Manifest Information Processing', assuming that a manifest information segment is processed, when the vessel name does not start with 'train', the desired outcome is that the system fetches train list and validates train existence in the system.
💻 Technical Criteria
EXCLUDING A manifest information segment is processed
When The vessel name does not start with 'TRAIN'
Then The system fetches train list and validates train existence in the system
R-GCX016-cbl-00018 218:Disposition Code Table Lookup
Validation Rules
📊 Business Logic Narrative
When the process '218:Disposition Code Table Lookup' is invoked, and assuming that a disposition code is received for processing, when the system performs table lookup, the desired outcome is that the system retrieves disposition code details and sets found or not found flags with corresponding merlin messages.
💻 Technical Criteria
Given A disposition code is received for processing
When The system performs table lookup
Then The system retrieves disposition code details and sets found or not found flags with corresponding Merlin messages
R-GCX016-cbl-00019 218:Disposition Code Table Lookup
Action Rules
📊 Business Logic Narrative
When the process '218:Disposition Code Table Lookup' is invoked, and assuming that a disposition code is processed, when the disposition type is arl (auto release), the desired outcome is that the system generates auto release message and processes the release automatically.
💻 Technical Criteria
Given A disposition code is processed
When The disposition type is ARL (Auto Release)
Then The system generates auto release message and processes the release automatically
R-GCX016-cbl-00021 218:Disposition Code Table Lookup
Action Rules
📊 Business Logic Narrative
When the process '218:Disposition Code Table Lookup' is invoked, and assuming that a disposition code with removal action is processed, when the disposition type is dc removal, the desired outcome is that the system removes existing disposition codes from the status array.
💻 Technical Criteria
Given A disposition code with removal action is processed
When The disposition type is DC Removal
Then The system removes existing disposition codes from the status array
R-GCX016-cbl-00023 218:Disposition Code Table Lookup
Process Rules
📊 Business Logic Narrative
When the process '218:Disposition Code Table Lookup' is invoked, and assuming that a new hold or release disposition code is being added, when counterpart disposition codes exist in the status array, the desired outcome is that the system removes counterpart codes before adding the new disposition code.
💻 Technical Criteria
Given A new hold or release disposition code is being added
When Counterpart disposition codes exist in the status array
Then The system removes counterpart codes before adding the new disposition code
R-GCX016-cbl-00024 218:Disposition Code Table Lookup
Policy Rules
📊 Business Logic Narrative
When the process '218:Disposition Code Table Lookup' is invoked, and assuming that a disposition code is processed, when the disposition code is a1 or a3, the desired outcome is that the system triggers fda notification processing.
💻 Technical Criteria
Given A disposition code is processed
When The disposition code is A1 or A3
Then The system triggers FDA notification processing
R-GCX016-cbl-00034 92:Merlin Release Message Generation
Action Rules
📊 Business Logic Narrative
When the process '92:Merlin Release Message Generation' is invoked, and assuming that arrival status change occurs, when arrival or cancel arrival processing is required, the desired outcome is that the system generates appropriate merlin messages for arrival status changes.
💻 Technical Criteria
Given Arrival status change occurs
When Arrival or cancel arrival processing is required
Then The system generates appropriate Merlin messages for arrival status changes
R-GCX016-cbl-00039 111:Email vs Merlin Routing
Decision Rules
📊 Business Logic Narrative
When the process '111:Email vs Merlin Routing' is invoked, and assuming that broker notification is required, when broker configuration is evaluated, the desired outcome is that the system uses internet notification if broker is configured for internet, otherwise uses standard merlin messaging.
💻 Technical Criteria
Given Broker notification is required
When Broker configuration is evaluated
Then The system uses internet notification if broker is configured for internet, otherwise uses standard Merlin messaging
R-GCX016-cbl-00040 111:Email vs Merlin Routing
Action Rules
📊 Business Logic Narrative
When the process '111:Email vs Merlin Routing' is invoked, and assuming that quantity processing results in mismatch, when broker notification is generated, the desired outcome is that the system sends quantity mismatch notifications to brokers with disposition code descriptions.
💻 Technical Criteria
Given Quantity processing results in mismatch
When Broker notification is generated
Then The system sends quantity mismatch notifications to brokers with disposition code descriptions
R-GCX016-cbl-00041 174:KCSM Disposition Code Processing
Decision Rules
📊 Business Logic Narrative
When the process '174:KCSM Disposition Code Processing' is invoked, and assuming that disposition code processing is completed, when kcsm integration requirements are evaluated, the desired outcome is that the system determines if kcsm disposition code processing and edi message copying is required.
💻 Technical Criteria
Given Disposition code processing is completed
When KCSM integration requirements are evaluated
Then The system determines if KCSM disposition code processing and EDI message copying is required
R-GCX016-cbl-00042 175:EDI 350 Message Copying for KCSM
Action Rules
📊 Business Logic Narrative
When the process '175:EDI 350 Message Copying for KCSM' is invoked, and assuming that kcsm integration is required, when edi message copying is performed, the desired outcome is that the system copies the edi 350 message structure for kcsm transaction processing.
💻 Technical Criteria
Given KCSM integration is required
When EDI message copying is performed
Then The system copies the EDI 350 message structure for KCSM transaction processing
R-GCX016-cbl-00043 312:KCSM Transaction Spawning
Action Rules
📊 Business Logic Narrative
When the process '312:KCSM Transaction Spawning' is invoked, and assuming that kcsm message copying is completed, when transaction spawning is required, the desired outcome is that the system spawns kcsm transaction with copied message data.
💻 Technical Criteria
Given KCSM message copying is completed
When Transaction spawning is required
Then The system spawns KCSM transaction with copied message data
R-GCX016-cbl-00050 Initialize for MQ Queue Processing
Process Rules
📊 Business Logic Narrative
When the process 'Initialize for MQ Queue Processing' is invoked, and assuming that message source type is determined as mq queue, when the system initializes mq queue processing, the desired outcome is that mq-specific configuration parameters are set including queue names, connection settings, and message handling options.
💻 Technical Criteria
Given Message source type is determined as MQ Queue
When The system initializes MQ queue processing
Then MQ-specific configuration parameters are set including queue names, connection settings, and message handling options
R-GCX016-cbl-00051 Initialize for Direct GCW016 Input
Process Rules
📊 Business Logic Narrative
When the process 'Initialize for Direct GCW016 Input' is invoked, and assuming that message source type is determined as direct input, when the system initializes direct gcw016 input processing, the desired outcome is that direct input configuration parameters are set for handling gcw016 message format.
💻 Technical Criteria
Given Message source type is determined as Direct Input
When The system initializes direct GCW016 input processing
Then Direct input configuration parameters are set for handling GCW016 message format
R-GCX016-cbl-00052 Load System Tables
Action Rules
📊 Business Logic Narrative
When the process 'Load System Tables' is invoked, and assuming that message source initialization is complete, when the system loads system tables, the desired outcome is that all required reference tables including disposition codes, broker information, and validation tables are loaded into memory.
💻 Technical Criteria
Given Message source initialization is complete
When The system loads system tables
Then All required reference tables including disposition codes, broker information, and validation tables are loaded into memory
R-GCX016-cbl-00054 Initialize Error Handling
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Error Handling' is invoked, and assuming that database connections have been established, when the system initializes error handling, the desired outcome is that error handling framework is configured including error logging, merlin messaging, and error recovery procedures.
💻 Technical Criteria
Given Database connections have been established
When The system initializes error handling
Then Error handling framework is configured including error logging, Merlin messaging, and error recovery procedures
R-GCX016-cbl-00057 Ready for Message Processing
Validation Rules
📊 Business Logic Narrative
When the process 'Ready for Message Processing' is invoked, and assuming that all status flags have been initialized, when the system completes initialization sequence, the desired outcome is that the system is ready to begin processing messages with all components properly initialized and configured.
💻 Technical Criteria
Given All status flags have been initialized
When The system completes initialization sequence
Then The system is ready to begin processing messages with all components properly initialized and configured
R-GCX016-cbl-00058 ST Segment Received
Process Rules
📊 Business Logic Narrative
When the process 'ST Segment Received' is invoked, and assuming that an st segment is received from the message queue, when the system processes the st segment header, the desired outcome is that the system should set the header found flag and initialize transaction set processing.
💻 Technical Criteria
Given An ST segment is received from the message queue
When The system processes the ST segment header
Then The system should set the header found flag and initialize transaction set processing
R-GCX016-cbl-00059 Extract Transaction Set Control Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Transaction Set Control Number' is invoked, and assuming that an st segment with transaction set control number is being processed, when the system extracts the control number from the segment, the desired outcome is that the control number should be stored for transaction boundary validation.
💻 Technical Criteria
Given An ST segment with transaction set control number is being processed
When The system extracts the control number from the segment
Then The control number should be stored for transaction boundary validation
R-GCX016-cbl-00060 Valid Transaction Set ID?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Transaction Set ID?' is invoked, and assuming that a transaction set identifier code is extracted from the st segment, when the system validates the transaction set identifier, the desired outcome is that the system should accept valid edi 350 transaction types and reject invalid identifier codes.
💻 Technical Criteria
Given A transaction set identifier code is extracted from the ST segment
When The system validates the transaction set identifier
Then The system should accept valid EDI 350 transaction types and reject invalid identifier codes
R-GCX016-cbl-00061 Initialize Transaction Set Processing
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Transaction Set Processing' is invoked, and assuming that a valid transaction set identifier has been validated, when the system initializes transaction set processing, the desired outcome is that the system should set up the transaction boundary and enable segment validation.
💻 Technical Criteria
Given A valid transaction set identifier has been validated
When The system initializes transaction set processing
Then The system should set up the transaction boundary and enable segment validation
R-GCX016-cbl-00062 Set Transaction Set Active Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Transaction Set Active Flag' is invoked, and assuming that transaction set processing has been successfully initialized, when the system sets the transaction set active flag, the desired outcome is that the active flag should be set to enable subsequent segment processing within the transaction boundary.
💻 Technical Criteria
Given Transaction set processing has been successfully initialized
When The system sets the transaction set active flag
Then The active flag should be set to enable subsequent segment processing within the transaction boundary
R-GCX016-cbl-00063 Generate Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message', assuming that an invalid transaction set identifier code is detected, when the system processes the invalid identifier, the desired outcome is that the system should generate an error message and skip the transaction set processing.
💻 Technical Criteria
EXCLUDING An invalid transaction set identifier code is detected
When The system processes the invalid identifier
Then The system should generate an error message and skip the transaction set processing
R-GCX016-cbl-00065 Search Train List Database
Validation Rules
📊 Business Logic Narrative
When the process 'Search Train List Database' is invoked, and assuming that a train identification key has been built from m10 segment data, when the system searches the train list database, the desired outcome is that the system determines if the train exists in the gcwtl-train-list database and sets appropriate found/not found flags.
💻 Technical Criteria
Given A train identification key has been built from M10 segment data
When The system searches the train list database
Then The system determines if the train exists in the GCWTL-TRAIN-LIST database and sets appropriate found/not found flags
R-GCX016-cbl-00066 Train Found in System?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Found in System?' is invoked, and assuming that the train database search has been completed, when the system evaluates the search results, the desired outcome is that if the train is found, the system proceeds to validate train status; if not found, the system generates a train not found error.
💻 Technical Criteria
Given The train database search has been completed
When The system evaluates the search results
Then If the train is found, the system proceeds to validate train status; if not found, the system generates a train not found error
R-GCX016-cbl-00067 Validate Train Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Status' is invoked, and assuming that a train has been found in the train list database, when the system validates the train status, the desired outcome is that the system verifies the train is in an acceptable operational state for processing manifest information.
💻 Technical Criteria
Given A train has been found in the train list database
When The system validates the train status
Then The system verifies the train is in an acceptable operational state for processing manifest information
R-GCX016-cbl-00068 Set Train Processing Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Processing Flag' is invoked, and assuming that a train has been successfully validated, when the system completes train validation, the desired outcome is that the system sets the train processing flag to indicate the train is ready for manifest processing.
💻 Technical Criteria
Given A train has been successfully validated
When The system completes train validation
Then The system sets the train processing flag to indicate the train is ready for manifest processing
R-GCX016-cbl-00069 Generate Train Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Found Error', assuming that a train search has been completed and the train was not found, when the system processes the not found condition, the desired outcome is that the system generates a train not found error and initiates error notification procedures.
💻 Technical Criteria
EXCLUDING A train search has been completed and the train was not found
When The system processes the not found condition
Then The system generates a train not found error and initiates error notification procedures
R-GCX016-cbl-00071 Send Error Notification to Operations
Action Rules
📊 Business Logic Narrative
When the process 'Send Error Notification to Operations' is invoked, and assuming that an error message has been formatted with train details, when the system sends the error notification, the desired outcome is that the system delivers the error notification to operations personnel through the designated notification channels.
💻 Technical Criteria
Given An error message has been formatted with train details
When The system sends the error notification
Then The system delivers the error notification to operations personnel through the designated notification channels
R-GCX016-cbl-00072 Log Train Validation Failure
Process Rules
📊 Business Logic Narrative
When the process 'Log Train Validation Failure' is invoked, and assuming that an error notification has been sent to operations, when the system logs the validation failure, the desired outcome is that the system records the train validation failure details in the system audit log for future reference and analysis.
💻 Technical Criteria
Given An error notification has been sent to operations
When The system logs the validation failure
Then The system records the train validation failure details in the system audit log for future reference and analysis
R-GCX016-cbl-00073 Process Train Information Successfully
Process Rules
📊 Business Logic Narrative
When the process 'Process Train Information Successfully' is invoked, and assuming that train validation and status checks have been completed successfully, when the system processes the successful validation, the desired outcome is that the system marks the train processing as successful and prepares to continue processing other manifest segments.
💻 Technical Criteria
Given Train validation and status checks have been completed successfully
When The system processes the successful validation
Then The system marks the train processing as successful and prepares to continue processing other manifest segments
R-GCX016-cbl-03939 Search GCWTL-TRAIN-LIST Database
Validation Rules
📊 Business Logic Narrative
When the process 'Search GCWTL-TRAIN-LIST Database' is invoked, and assuming that a train identifier is extracted from m10 manifest segment, when the system searches the gcwtl-train-list database for the train, the desired outcome is that the system determines if the train exists and sets appropriate validation flags.
💻 Technical Criteria
Given A train identifier is extracted from M10 manifest segment
When The system searches the GCWTL-TRAIN-LIST database for the train
Then The system determines if the train exists and sets appropriate validation flags
R-GCX016-cbl-03940 Train Found in System?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Found in System?' is invoked, and assuming that train validation has been completed against gcwtl-train-list database, when the system evaluates the train validation result, the desired outcome is that if train is found, continue with train operations; if train is not found, generate train not found error.
💻 Technical Criteria
Given Train validation has been completed against GCWTL-TRAIN-LIST database
When The system evaluates the train validation result
Then If train is found, continue with train operations; if train is not found, generate train not found error
R-GCX016-cbl-03941 Generate Train Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Found Error', assuming that train validation has failed and train is not found in gcwtl-train-list database, when the system processes the train not found condition, the desired outcome is that generate train not found error message and prepare error notification for operations.
💻 Technical Criteria
EXCLUDING Train validation has failed and train is not found in GCWTL-TRAIN-LIST database
When The system processes the train not found condition
Then Generate train not found error message and prepare error notification for operations
R-GCX016-cbl-03942 Train Validation Successful
Process Rules
📊 Business Logic Narrative
When the process 'Train Validation Successful' is invoked, and assuming that train has been successfully found in gcwtl-train-list database, when the system processes the successful validation result, the desired outcome is that set train validation successful status and continue with normal train operations.
💻 Technical Criteria
Given Train has been successfully found in GCWTL-TRAIN-LIST database
When The system processes the successful validation result
Then Set train validation successful status and continue with normal train operations
R-GCX016-cbl-03943 Send Error Message to Operations
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Error Message to Operations', assuming that train not found error has been generated, when the system processes the error notification requirement, the desired outcome is that send error message to operations team with train identification details.
💻 Technical Criteria
EXCLUDING Train not found error has been generated
When The system processes the error notification requirement
Then Send error message to operations team with train identification details
R-GCX016-cbl-03944 Log Train Not Found Event
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Train Not Found Event', assuming that train not found error message has been sent to operations, when the system processes the logging requirement, the desired outcome is that log the train not found event with timestamp and train identification details.
💻 Technical Criteria
EXCLUDING Train not found error message has been sent to operations
When The system processes the logging requirement
Then Log the train not found event with timestamp and train identification details
R-GCX016-cbl-03945 Skip Train Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Train Processing', assuming that train not found event has been logged, when the system determines next processing step, the desired outcome is that skip all subsequent train processing operations and terminate the train workflow.
💻 Technical Criteria
EXCLUDING Train not found event has been logged
When The system determines next processing step
Then Skip all subsequent train processing operations and terminate the train workflow
R-GCX016-cbl-00081 OCA - Train Not Arrived Notification
Validation Rules
📊 Business Logic Narrative
When the process 'OCA - Train Not Arrived Notification' is invoked, and assuming that a v9 event detail segment is received with disposition code oca, when the system processes the oca disposition code, the desired outcome is that a train not arrived warning is generated with instructions to re-arrive the train or contact uscs.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code OCA
When The system processes the OCA disposition code
Then A train not arrived warning is generated with instructions to re-arrive the train or contact USCS
R-GCX016-cbl-00082 COC - Train Arrival Cancellation
Process Rules
📊 Business Logic Narrative
When the process 'COC - Train Arrival Cancellation' is invoked, and assuming that a v9 event detail segment is received with disposition code coc, when the system processes the coc disposition code, the desired outcome is that the previous arrival status is cancelled and the train record is updated with cancellation details.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code COC
When The system processes the COC disposition code
Then The previous arrival status is cancelled and the train record is updated with cancellation details
R-GCX016-cbl-00083 LCK - Train Lock Operations
Authorization Rules
📊 Business Logic Narrative
When the process 'LCK - Train Lock Operations' is invoked, and assuming that a v9 event detail segment is received with disposition code lck, when the system processes the lck disposition code, the desired outcome is that the train lock status is set and the train record is updated to prevent modifications.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code LCK
When The system processes the LCK disposition code
Then The train lock status is set and the train record is updated to prevent modifications
R-GCX016-cbl-00084 ULC - Train Unlock Operations
Authorization Rules
📊 Business Logic Narrative
When the process 'ULC - Train Unlock Operations' is invoked, and assuming that a v9 event detail segment is received with disposition code ulc, when the system processes the ulc disposition code, the desired outcome is that the train lock status is removed and the train record is updated to allow modifications.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code ULC
When The system processes the ULC disposition code
Then The train lock status is removed and the train record is updated to allow modifications
R-GCX016-cbl-00087 Extract Disposition Code from V9-02
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Disposition Code from V9-02' is invoked, and assuming that a v9 event detail segment is received, when the system extracts the disposition code from v9-02 field, the desired outcome is that the disposition code is evaluated to determine which train operation to perform (hmi, hre, pod, aad, rc, oca, coc, lck, ulc, sei, or ser).
💻 Technical Criteria
Given A V9 event detail segment is received
When The system extracts the disposition code from V9-02 field
Then The disposition code is evaluated to determine which train operation to perform (HMI, HRE, POD, AAD, RC, OCA, COC, LCK, ULC, SEI, or SER)
R-GCX016-cbl-00088 More V9 Segments?
Process Rules
📊 Business Logic Narrative
When the process 'More V9 Segments?' is invoked, and assuming that v9 segments are being processed and status notification messages have been generated, when the system checks if more v9 segments exist in the message, the desired outcome is that if more v9 segments exist, processing continues with the next segment, otherwise v9 processing is completed.
💻 Technical Criteria
Given V9 segments are being processed and status notification messages have been generated
When The system checks if more V9 segments exist in the message
Then If more V9 segments exist, processing continues with the next segment, otherwise V9 processing is completed
R-GCX016-cbl-04003 Update Train Status in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status in Database' is invoked, and assuming that train seizure status has been determined, when the system updates the database, the desired outcome is that the train status changes are persisted to the database.
💻 Technical Criteria
Given Train seizure status has been determined
When The system updates the database
Then The train status changes are persisted to the database
R-GCX016-cbl-00089 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that a v9 segment with hmi disposition code is received containing train identification information, when the system processes the train hold request, the desired outcome is that the system validates the train exists in gcwtl-train-list and sets appropriate processing flags.
💻 Technical Criteria
Given A V9 segment with HMI disposition code is received containing train identification information
When The system processes the train hold request
Then The system validates the train exists in GCWTL-TRAIN-LIST and sets appropriate processing flags
R-GCX016-cbl-00090 Generate Train Not Found Error Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Found Error Message', assuming that a train hold operation is being processed and train validation has been performed, when the train is not found in the train list system, the desired outcome is that the system generates a train not found error message and stops further hold processing.
💻 Technical Criteria
EXCLUDING A train hold operation is being processed and train validation has been performed
When The train is not found in the train list system
Then The system generates a train not found error message and stops further hold processing
R-GCX016-cbl-00091 Set Train Hold Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Hold Status Flag' is invoked, and assuming that a valid train exists in the system and hmi disposition code is received, when the train validation is successful, the desired outcome is that the system sets the train hold status flag to indicate the train is being held.
💻 Technical Criteria
Given A valid train exists in the system and HMI disposition code is received
When The train validation is successful
Then The system sets the train hold status flag to indicate the train is being held
R-GCX016-cbl-00097 Update Train Record with Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Record with Hold Status' is invoked, and assuming that all vid segments have been processed or no vid segments exist, when train hold processing is ready for database update, the desired outcome is that the system updates the train record with hold status in the gcstbrt table.
💻 Technical Criteria
Given All VID segments have been processed or no VID segments exist
When Train hold processing is ready for database update
Then The system updates the train record with hold status in the GCSTBRT table
R-GCX016-cbl-00102 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that an hre disposition code is received for train hold release, when the system processes the m10 manifest segment to validate train existence, the desired outcome is that the system checks if the vessel name exists in gcwtl-train-list and sets appropriate found/not found flags.
💻 Technical Criteria
Given An HRE disposition code is received for train hold release
When The system processes the M10 manifest segment to validate train existence
Then The system checks if the vessel name exists in GCWTL-TRAIN-LIST and sets appropriate found/not found flags
R-GCX016-cbl-00103 Send Train Not Found Error Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Train Not Found Error Message', assuming that an hre disposition code is being processed for train hold release, when the train is not found in gcwtl-train-list, the desired outcome is that the system generates a train not found error message and terminates hre processing.
💻 Technical Criteria
EXCLUDING An HRE disposition code is being processed for train hold release
When The train is not found in GCWTL-TRAIN-LIST
Then The system generates a train not found error message and terminates HRE processing
R-GCX016-cbl-00104 Check Current Train Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Current Train Hold Status' is invoked, and assuming that a valid train exists in the system for hre processing, when the system checks the train's current status, the desired outcome is that the system determines if the train is currently held and requires release processing.
💻 Technical Criteria
Given A valid train exists in the system for HRE processing
When The system checks the train's current status
Then The system determines if the train is currently held and requires release processing
R-GCX016-cbl-00110 Update Train Status to Released
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Released' is invoked, and assuming that train-level hold status has been removed, when the system updates train operational status, the desired outcome is that the system sets the train status to released.
💻 Technical Criteria
Given Train-level hold status has been removed
When The system updates train operational status
Then The system sets the train status to released
R-GCX016-cbl-00111 Log Train Release Operation
Action Rules
📊 Business Logic Narrative
When the process 'Log Train Release Operation' is invoked, and assuming that train status has been updated to released, when the system completes the release operation, the desired outcome is that the system logs the train release operation with relevant details.
💻 Technical Criteria
Given Train status has been updated to released
When The system completes the release operation
Then The system logs the train release operation with relevant details
R-GCX016-cbl-00112 Generate Train Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Train Release Notification' is invoked, and assuming that train release operation has been logged, when the system generates notifications, the desired outcome is that the system creates a train release notification message.
💻 Technical Criteria
Given Train release operation has been logged
When The system generates notifications
Then The system creates a train release notification message
R-GCX016-cbl-00113 Send Success Message to Requestor
Action Rules
📊 Business Logic Narrative
When the process 'Send Success Message to Requestor' is invoked, and assuming that train release notification has been generated, when the system sends response messages, the desired outcome is that the system transmits success message to the original requestor.
💻 Technical Criteria
Given Train release notification has been generated
When The system sends response messages
Then The system transmits success message to the original requestor
R-GCX016-cbl-00114 No Action Required - Train Not Held
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No Action Required - Train Not Held', assuming that a valid train exists in the system for hre processing, when the train is not currently held, the desired outcome is that the system bypasses release processing and completes without action.
💻 Technical Criteria
EXCLUDING A valid train exists in the system for HRE processing
When The train is not currently held
Then The system bypasses release processing and completes without action
R-GCX016-cbl-00116 Train Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Found?' is invoked, and assuming that a train arrival event is being processed, when the system checks if the train exists in the database, the desired outcome is that if train is not found, generate train not found error and stop processing.
💻 Technical Criteria
Given A train arrival event is being processed
When The system checks if the train exists in the database
Then If train is not found, generate train not found error and stop processing
R-GCX016-cbl-00119 Set Train Status to Arrived
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Status to Arrived' is invoked, and assuming that a train arrival event has been validated and processed, when all arrival validations pass successfully, the desired outcome is that update the train status to 'arrived' in the system.
💻 Technical Criteria
Given A train arrival event has been validated and processed
When All arrival validations pass successfully
Then Update the train status to 'Arrived' in the system
R-GCX016-cbl-00120 Automatically Unlock Train on Arrival
Process Rules
📊 Business Logic Narrative
When the process 'Automatically Unlock Train on Arrival' is invoked, and assuming that a train is arriving and has been previously locked, when the train status is being updated to arrived, the desired outcome is that automatically unlock the train to allow normal processing operations.
💻 Technical Criteria
Given A train is arriving and has been previously locked
When The train status is being updated to arrived
Then Automatically unlock the train to allow normal processing operations
R-GCX016-cbl-00123 Update Manifest Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Manifest Status' is invoked, and assuming that a train with associated manifests has arrived, when train arrival processing is complete, the desired outcome is that update all associated manifest records to reflect train arrival status.
💻 Technical Criteria
Given A train with associated manifests has arrived
When Train arrival processing is complete
Then Update all associated manifest records to reflect train arrival status
R-GCX016-cbl-00136 Process Next V9 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Process Next V9 Segment' is invoked, and assuming that additional v9 segments have been found, when the system processes the next segment, the desired outcome is that the next v9 segment is processed following the same validation and processing rules.
💻 Technical Criteria
Given Additional V9 segments have been found
When The system processes the next segment
Then The next V9 segment is processed following the same validation and processing rules
R-GCX016-cbl-00139 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that a v9 segment with oca disposition code is received for a specific train, when the system validates the train existence in the gcwtl-train-list, the desired outcome is that the system determines if the train is found or not found and sets appropriate processing flags.
💻 Technical Criteria
Given A V9 segment with OCA disposition code is received for a specific train
When The system validates the train existence in the GCWTL-TRAIN-LIST
Then The system determines if the train is found or not found and sets appropriate processing flags
R-GCX016-cbl-00140 Generate Train Not Arrived Error Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Arrived Error Message', assuming that a train exists in the system and oca disposition code is being processed, when the system processes the train not arrived condition, the desired outcome is that the system creates an error message indicating the train has not arrived and requires re-arrival or uscs contact.
💻 Technical Criteria
EXCLUDING A train exists in the system and OCA disposition code is being processed
When The system processes the train not arrived condition
Then The system creates an error message indicating the train has not arrived and requires re-arrival or USCS contact
R-GCX016-cbl-00141 Train Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Found?' is invoked, and assuming that train existence validation has been completed for oca disposition code processing, when the system evaluates the train found status, the desired outcome is that if train is found, proceed with not arrived notification processing, otherwise skip processing.
💻 Technical Criteria
Given Train existence validation has been completed for OCA disposition code processing
When The system evaluates the train found status
Then If train is found, proceed with not arrived notification processing, otherwise skip processing
R-GCX016-cbl-00142 Format Error Message with Train Details
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Format Error Message with Train Details', assuming that a train not arrived condition has been identified for oca processing, when the system formats the warning message, the desired outcome is that the message includes instructions to re-arrive the train or contact uscs with train identification details.
💻 Technical Criteria
EXCLUDING A train not arrived condition has been identified for OCA processing
When The system formats the warning message
Then The message includes instructions to re-arrive the train or contact USCS with train identification details
R-GCX016-cbl-00143 Include Manifest Information in Message
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Include Manifest Information in Message', assuming that a train not arrived error message is being formatted for oca processing, when the system includes manifest information in the message, the desired outcome is that the message contains manifest details associated with the train that has not arrived.
💻 Technical Criteria
EXCLUDING A train not arrived error message is being formatted for OCA processing
When The system includes manifest information in the message
Then The message contains manifest details associated with the train that has not arrived
R-GCX016-cbl-00145 Set Message Keywords for Categorization
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Message Keywords for Categorization', assuming that a train not arrived error message is being prepared for routing, when the system sets message keywords, the desired outcome is that the message is tagged with appropriate keywords for oca train not arrived categorization.
💻 Technical Criteria
EXCLUDING A train not arrived error message is being prepared for routing
When The system sets message keywords
Then The message is tagged with appropriate keywords for OCA train not arrived categorization
R-GCX016-cbl-00147 Log Train Not Arrived Event
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Train Not Arrived Event', assuming that a train not arrived notification has been sent to configured users, when the system logs the event, the desired outcome is that the train not arrived event is recorded in the system logs with timestamp and train details.
💻 Technical Criteria
EXCLUDING A train not arrived notification has been sent to configured users
When The system logs the event
Then The train not arrived event is recorded in the system logs with timestamp and train details
R-GCX016-cbl-00148 Update Train Status as Not Arrived
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Train Status as Not Arrived', assuming that a train not arrived event has been logged, when the system updates the train status, the desired outcome is that the train status is updated to indicate not arrived condition requiring re-arrival processing.
💻 Technical Criteria
EXCLUDING A train not arrived event has been logged
When The system updates the train status
Then The train status is updated to indicate not arrived condition requiring re-arrival processing
R-GCX016-cbl-00149 Train Exists in System?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Exists in System?' is invoked, and assuming that a v9 segment with coc disposition code is received for a specific train, when the system checks if the train exists in gcwtl-train-list, the desired outcome is that if train does not exist, generate train not found error and stop processing, otherwise continue with coc validation.
💻 Technical Criteria
Given A V9 segment with COC disposition code is received for a specific train
When The system checks if the train exists in GCWTL-TRAIN-LIST
Then If train does not exist, generate train not found error and stop processing, otherwise continue with COC validation
R-GCX016-cbl-00150 Validate COC Disposition Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate COC Disposition Code' is invoked, and assuming that a train exists in the system and coc disposition code is provided, when the system looks up the coc code in gcstbrt disposition codes table, the desired outcome is that if coc code is valid, proceed to check train arrival status, otherwise generate invalid disposition code error.
💻 Technical Criteria
Given A train exists in the system and COC disposition code is provided
When The system looks up the COC code in GCSTBRT disposition codes table
Then If COC code is valid, proceed to check train arrival status, otherwise generate invalid disposition code error
R-GCX016-cbl-00151 Train Previously Arrived?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Previously Arrived?' is invoked, and assuming that a valid coc disposition code is received for an existing train, when the system checks the train's current arrival status, the desired outcome is that if train has not previously arrived, generate train arrival cancellation warning and stop processing, otherwise proceed with cancellation.
💻 Technical Criteria
Given A valid COC disposition code is received for an existing train
When The system checks the train's current arrival status
Then If train has not previously arrived, generate train arrival cancellation warning and stop processing, otherwise proceed with cancellation
R-GCX016-cbl-00153 Update Train Status to Cancel Arrival
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Cancel Arrival' is invoked, and assuming that a train has previously arrived and coc disposition code is valid, when the system processes the arrival cancellation, the desired outcome is that update train status to 'arrival cancelled' in the train records.
💻 Technical Criteria
Given A train has previously arrived and COC disposition code is valid
When The system processes the arrival cancellation
Then Update train status to 'arrival cancelled' in the train records
R-GCX016-cbl-00161 KCSM Integration Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Integration Required?' is invoked, and assuming that cancellation notifications have been generated, when the system checks kcsm integration requirements, the desired outcome is that if kcsm integration is required, copy edi message for kcsm transmission, otherwise proceed to log cancellation.
💻 Technical Criteria
Given Cancellation notifications have been generated
When The system checks KCSM integration requirements
Then If KCSM integration is required, copy EDI message for KCSM transmission, otherwise proceed to log cancellation
R-GCX016-cbl-00162 Copy EDI Message for KCSM
Action Rules
📊 Business Logic Narrative
When the process 'Copy EDI Message for KCSM' is invoked, and assuming that kcsm integration is required for the train arrival cancellation, when the system prepares kcsm transmission, the desired outcome is that copy the edi message to a9rt/a9dp kcsm transmission tables.
💻 Technical Criteria
Given KCSM integration is required for the train arrival cancellation
When The system prepares KCSM transmission
Then Copy the EDI message to A9RT/A9DP KCSM transmission tables
R-GCX016-cbl-00163 Create KCSM Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Create KCSM Transmission' is invoked, and assuming that edi message has been copied for kcsm transmission, when the system creates the kcsm transmission record, the desired outcome is that create kcsm transmission record in a9rt/a9dp tables with appropriate transmission parameters.
💻 Technical Criteria
Given EDI message has been copied for KCSM transmission
When The system creates the KCSM transmission record
Then Create KCSM transmission record in A9RT/A9DP tables with appropriate transmission parameters
R-GCX016-cbl-00164 Log Train Arrival Cancellation
Action Rules
📊 Business Logic Narrative
When the process 'Log Train Arrival Cancellation' is invoked, and assuming that train arrival cancellation processing is complete and kcsm transmission is handled if required, when the system logs the cancellation event, the desired outcome is that create log entry with train details, cancellation timestamp, and processing results.
💻 Technical Criteria
Given Train arrival cancellation processing is complete and KCSM transmission is handled if required
When The system logs the cancellation event
Then Create log entry with train details, cancellation timestamp, and processing results
R-GCX016-cbl-00166 V9 Segment with LCK Disposition Code Received
Process Rules
📊 Business Logic Narrative
When the process 'V9 Segment with LCK Disposition Code Received' is invoked, and assuming that a v9 segment is received with disposition code 'lck', when the system processes the v9 segment, the desired outcome is that the system initiates train lock processing workflow.
💻 Technical Criteria
Given A V9 segment is received with disposition code 'LCK'
When The system processes the V9 segment
Then The system initiates train lock processing workflow
R-GCX016-cbl-00167 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that a train lock request is being processed, when the system validates the train information from m10 segment, the desired outcome is that the system checks if the train exists in gcwtl-train-list table.
💻 Technical Criteria
Given A train lock request is being processed
When The system validates the train information from M10 segment
Then The system checks if the train exists in GCWTL-TRAIN-LIST table
R-GCX016-cbl-00168 Generate Train Not Found Error Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Found Error Message', assuming that a train lock operation is requested and the train does not exist in the system, when the train validation fails, the desired outcome is that the system generates a train not found error message and terminates the lock processing.
💻 Technical Criteria
EXCLUDING A train lock operation is requested AND the train does not exist in the system
When The train validation fails
Then The system generates a train not found error message AND terminates the lock processing
R-GCX016-cbl-00169 Extract Train Information from M10 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Train Information from M10 Segment' is invoked, and assuming that a valid train exists in the system and m10 segment is available, when the system processes the train lock request, the desired outcome is that the system extracts train identification and operational details from m10 segment.
💻 Technical Criteria
Given A valid train exists in the system AND M10 segment is available
When The system processes the train lock request
Then The system extracts train identification and operational details from M10 segment
R-GCX016-cbl-00170 Process LCK Disposition Code
Decision Rules
📊 Business Logic Narrative
When the process 'Process LCK Disposition Code' is invoked, and assuming that train information has been extracted and lck disposition code is present, when the system processes the disposition code, the desired outcome is that the system interprets lck code as a train lock operation and prepares lock parameters.
💻 Technical Criteria
Given Train information has been extracted AND LCK disposition code is present
When The system processes the disposition code
Then The system interprets LCK code as a train lock operation AND prepares lock parameters
R-GCX016-cbl-00171 Set Train Lock Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Lock Status' is invoked, and assuming that lck disposition code has been processed successfully, when the system applies the lock operation, the desired outcome is that the system sets the train status to locked and prevents unauthorized modifications.
💻 Technical Criteria
Given LCK disposition code has been processed successfully
When The system applies the lock operation
Then The system sets the train status to locked AND prevents unauthorized modifications
R-GCX016-cbl-00172 Update Train Record in GCWTL-TRAIN-LIST
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Record in GCWTL-TRAIN-LIST' is invoked, and assuming that train lock status has been set, when the system updates the train record, the desired outcome is that the system updates gcwtl-train-list table with lock status and timestamp information.
💻 Technical Criteria
Given Train lock status has been set
When The system updates the train record
Then The system updates GCWTL-TRAIN-LIST table with lock status AND timestamp information
R-GCX016-cbl-00173 Log Train Lock Operation
Process Rules
📊 Business Logic Narrative
When the process 'Log Train Lock Operation' is invoked, and assuming that train record has been updated with lock status, when the system completes the lock operation, the desired outcome is that the system creates an audit log entry with train id, lock timestamp, and operation details.
💻 Technical Criteria
Given Train record has been updated with lock status
When The system completes the lock operation
Then The system creates an audit log entry with train ID, lock timestamp, AND operation details
R-GCX016-cbl-00174 K1 Remarks Present?
Decision Rules
📊 Business Logic Narrative
When the process 'K1 Remarks Present?' is invoked, and assuming that train lock operation has been logged, when the system checks for additional information, the desired outcome is that the system determines if k1 remarks segment is present in the message.
💻 Technical Criteria
Given Train lock operation has been logged
When The system checks for additional information
Then The system determines if K1 remarks segment is present in the message
R-GCX016-cbl-00175 Process K1 Remarks for Train Lock
Process Rules
📊 Business Logic Narrative
When the process 'Process K1 Remarks for Train Lock' is invoked, and assuming that k1 remarks segment is present in the message, when the system processes the remarks, the desired outcome is that the system extracts lock reason, duration, and additional operational notes from k1 segment.
💻 Technical Criteria
Given K1 remarks segment is present in the message
When The system processes the remarks
Then The system extracts lock reason, duration, AND additional operational notes from K1 segment
R-GCX016-cbl-00176 Generate Train Lock Confirmation Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Train Lock Confirmation Message' is invoked, and assuming that train lock operation is completed and k1 remarks have been processed (if present), when the system generates confirmation, the desired outcome is that the system creates a train lock confirmation message with train id, lock timestamp, and operation status.
💻 Technical Criteria
Given Train lock operation is completed AND K1 remarks have been processed (if present)
When The system generates confirmation
Then The system creates a train lock confirmation message with train ID, lock timestamp, AND operation status
R-GCX016-cbl-00177 Send Notification to Operations
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification to Operations' is invoked, and assuming that train lock confirmation message has been generated, when the system sends notifications, the desired outcome is that the system sends lock notification to operations team and updates operational dashboards.
💻 Technical Criteria
Given Train lock confirmation message has been generated
When The system sends notifications
Then The system sends lock notification to operations team AND updates operational dashboards
R-GCX016-cbl-00178 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that a v9 segment with ulc disposition code is received containing train identification information, when the system processes the ulc request and checks the train list for the specified train, the desired outcome is that the system verifies train existence in gcwtl-train-list and sets appropriate validation flags.
💻 Technical Criteria
Given A V9 segment with ULC disposition code is received containing train identification information
When The system processes the ULC request and checks the train list for the specified train
Then The system verifies train existence in GCWTL-TRAIN-LIST and sets appropriate validation flags
R-GCX016-cbl-00179 Generate Train Not Found Error Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Found Error Message', assuming that a ulc disposition code is being processed for a specific train, when the train lookup validation fails and the train is not found in the system, the desired outcome is that the system generates a train not found error message and stops ulc processing without updating any train status.
💻 Technical Criteria
EXCLUDING A ULC disposition code is being processed for a specific train
When The train lookup validation fails and the train is not found in the system
Then The system generates a train not found error message and stops ULC processing without updating any train status
R-GCX016-cbl-00180 Update Train Status to Unlocked
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Unlocked' is invoked, and assuming that a valid ulc disposition code is being processed and the train exists in the system, when the unlock operation is executed, the desired outcome is that the system updates the train status records to reflect unlocked state.
💻 Technical Criteria
Given A valid ULC disposition code is being processed and the train exists in the system
When The unlock operation is executed
Then The system updates the train status records to reflect unlocked state
R-GCX016-cbl-00181 Log Train Unlock Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log Train Unlock Activity' is invoked, and assuming that a train unlock operation has been successfully processed, when the train status is updated to unlocked, the desired outcome is that the system creates a log entry recording the train unlock activity with timestamp and relevant details.
💻 Technical Criteria
Given A train unlock operation has been successfully processed
When The train status is updated to unlocked
Then The system creates a log entry recording the train unlock activity with timestamp and relevant details
R-GCX016-cbl-00186 Send Notification Messages
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification Messages' is invoked, and assuming that train unlock confirmation has been generated, when the system processes notification distribution, the desired outcome is that the system sends unlock notification messages to relevant parties and connected systems.
💻 Technical Criteria
Given Train unlock confirmation has been generated
When The system processes notification distribution
Then The system sends unlock notification messages to relevant parties and connected systems
R-GCX016-cbl-00187 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that a v9 segment with sei disposition code is received for train seizure, when the system validates the train against the train list using vessel name, the desired outcome is that the system determines if the train exists and sets appropriate processing flags.
💻 Technical Criteria
Given A V9 segment with SEI disposition code is received for train seizure
When The system validates the train against the train list using vessel name
Then The system determines if the train exists and sets appropriate processing flags
R-GCX016-cbl-00199 Log Train Seizure Operation
Process Rules
📊 Business Logic Narrative
When the process 'Log Train Seizure Operation' is invoked, and assuming that train seizure status has been updated, when the system completes the seizure operation, the desired outcome is that the system logs the train seizure operation with seizure details and timestamp.
💻 Technical Criteria
Given Train seizure status has been updated
When The system completes the seizure operation
Then The system logs the train seizure operation with seizure details and timestamp
R-GCX016-cbl-00201 Update Train Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Record in Database' is invoked, and assuming that seizure notification message has been generated, when the system persists the seizure operation results, the desired outcome is that the system updates the train record in the database with the new seizure status and related information.
💻 Technical Criteria
Given Seizure notification message has been generated
When The system persists the seizure operation results
Then The system updates the train record in the database with the new seizure status and related information
R-GCX016-cbl-00202 Validate Train Exists in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Exists in System' is invoked, and assuming that a v9 segment with ser disposition code is received for a train, when the system attempts to validate the train exists in the train list, the desired outcome is that the system checks the train list database and sets train found or not found status.
💻 Technical Criteria
Given A V9 segment with SER disposition code is received for a train
When The system attempts to validate the train exists in the train list
Then The system checks the train list database and sets train found or not found status
R-GCX016-cbl-00204 Process SER - Train Seizure Release
Action Rules
📊 Business Logic Narrative
When the process 'Process SER - Train Seizure Release' is invoked, and assuming that a v9 segment contains ser disposition code and train exists in system, when the system processes the ser disposition code, the desired outcome is that the system initiates train seizure release processing.
💻 Technical Criteria
Given A V9 segment contains SER disposition code and train exists in system
When The system processes the SER disposition code
Then The system initiates train seizure release processing
R-GCX016-cbl-00208 Update Train Status in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status in Database' is invoked, and assuming that train seizure status has been determined, when the system updates the train status, the desired outcome is that the train status is updated in the database to reflect the current seizure state.
💻 Technical Criteria
Given Train seizure status has been determined
When The system updates the train status
Then The train status is updated in the database to reflect the current seizure state
R-GCX016-cbl-00209 Generate Train Seizure Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Train Seizure Release Notification' is invoked, and assuming that train status has been updated in the database, when the system completes seizure release processing, the desired outcome is that the system generates a train seizure release notification message.
💻 Technical Criteria
Given Train status has been updated in the database
When The system completes seizure release processing
Then The system generates a train seizure release notification message
R-GCX016-cbl-00210 Log Train Seizure Release Activity
Action Rules
📊 Business Logic Narrative
When the process 'Log Train Seizure Release Activity' is invoked, and assuming that train seizure release notification has been generated, when the system completes the seizure release process, the desired outcome is that the system logs the train seizure release activity with relevant details.
💻 Technical Criteria
Given Train seizure release notification has been generated
When The system completes the seizure release process
Then The system logs the train seizure release activity with relevant details
R-GCX016-cbl-00218 More VID Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More VID Segments?' is invoked, and assuming that a vid segment has been processed (either held or skipped), when the system checks for additional vid segments in the message, the desired outcome is that if more vid segments exist, continue processing; if no more segments, proceed to train status determination.
💻 Technical Criteria
Given A VID segment has been processed (either held or skipped)
When The system checks for additional VID segments in the message
Then If more VID segments exist, continue processing; if no more segments, proceed to train status determination
R-GCX016-cbl-00235 Continue to Next VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next VID Segment' is invoked, and assuming that current vid segment processing is complete, when additional vid segments exist for processing, the desired outcome is that the system continues to the next vid segment.
💻 Technical Criteria
Given Current VID segment processing is complete
When Additional VID segments exist for processing
Then The system continues to the next VID segment
R-GCX016-cbl-00260 More VID Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More VID Segments?' is invoked, and assuming that current vid segment processing is complete, when the system checks for remaining vid segments, the desired outcome is that if more vid segments exist, continue processing the next vid segment, otherwise proceed to update train seizure status.
💻 Technical Criteria
Given Current VID segment processing is complete
When The system checks for remaining VID segments
Then If more VID segments exist, continue processing the next VID segment, otherwise proceed to update train seizure status
R-GCX016-cbl-00269 178:K1 Remarks Processing for Train Operations
Process Rules
📊 Business Logic Narrative
When the process '178:K1 Remarks Processing for Train Operations' is invoked, and assuming that a k1 segment contains remarks and the processing context is train-level, when the system processes the k1 segment for train operations, the desired outcome is that the system extracts the remarks from k1 segment and associates them with the current train record and logs the comments with train identification information.
💻 Technical Criteria
Given A K1 segment contains remarks AND the processing context is train-level
When The system processes the K1 segment for train operations
Then The system extracts the remarks from K1 segment AND associates them with the current train record AND logs the comments with train identification information
R-GCX016-cbl-00271 Maximum 4 Comments Reached?
Validation Rules
📊 Business Logic Narrative
When the process 'Maximum 4 Comments Reached?' is invoked, and assuming that k1 comments are being added to the comment array, when the system checks if the maximum limit of 4 comments has been reached, the desired outcome is that if the comment array has fewer than 4 comments then the system adds the new k1 comment to the array else the system skips additional comments beyond the 4-comment limit.
💻 Technical Criteria
Given K1 comments are being added to the comment array
When The system checks if the maximum limit of 4 comments has been reached
Then IF the comment array has fewer than 4 comments THEN the system adds the new K1 comment to the array ELSE the system skips additional comments beyond the 4-comment limit
R-GCX016-cbl-00272 Add K1 Comment to Array
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add K1 Comment to Array', assuming that a k1 comment needs to be stored and the comment array has not reached the maximum limit of 4 comments, when the system processes the k1 comment for storage, the desired outcome is that the system adds the k1 comment to the next available position in the comment array and increments the comment counter.
💻 Technical Criteria
EXCLUDING A K1 comment needs to be stored AND the comment array has not reached the maximum limit of 4 comments
When The system processes the K1 comment for storage
Then The system adds the K1 comment to the next available position in the comment array AND increments the comment counter
R-GCX016-cbl-00273 Skip Additional Comments
Process Rules
📊 Business Logic Narrative
When the process 'Skip Additional Comments' is invoked, and assuming that a k1 comment needs to be stored and the comment array has already reached the maximum limit of 4 comments, when the system attempts to process additional k1 comments, the desired outcome is that the system skips the additional k1 comments without adding them to the array and continues processing without error.
💻 Technical Criteria
Given A K1 comment needs to be stored AND the comment array has already reached the maximum limit of 4 comments
When The system attempts to process additional K1 comments
Then The system skips the additional K1 comments without adding them to the array AND continues processing without error
R-GCX016-cbl-00274 106:K1 Comment Integration
Process Rules
📊 Business Logic Narrative
When the process '106:K1 Comment Integration' is invoked, and assuming that k1 comments have been processed and stored in the comment array, when the system prepares messages for external communication, the desired outcome is that the system retrieves all stored k1 comments from the array and integrates them into the appropriate message formats and makes them available for inclusion in merlin messages, release messages, and broker notifications.
💻 Technical Criteria
Given K1 comments have been processed and stored in the comment array
When The system prepares messages for external communication
Then The system retrieves all stored K1 comments from the array AND integrates them into the appropriate message formats AND makes them available for inclusion in Merlin messages, release messages, and broker notifications
R-GCX016-cbl-00277 Include Comments in Broker Notifications
Process Rules
📊 Business Logic Narrative
When the process 'Include Comments in Broker Notifications' is invoked, and assuming that k1 comments are available in the comment array and a broker notification is being prepared, when the system formats the broker notification, the desired outcome is that the system includes all available k1 comments in the broker notification and ensures comments are formatted appropriately for broker communication standards.
💻 Technical Criteria
Given K1 comments are available in the comment array AND a broker notification is being prepared
When The system formats the broker notification
Then The system includes all available K1 comments in the broker notification AND ensures comments are formatted appropriately for broker communication standards
R-GCX016-cbl-00284 Valid Disposition Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Disposition Code?' is invoked, and assuming that a disposition code extracted from the x4 segment, when the system validates the disposition code against the dc table, the desired outcome is that if the disposition code is valid and authorized, proceed with processing; otherwise generate an error.
💻 Technical Criteria
Given A disposition code extracted from the X4 segment
When The system validates the disposition code against the DC table
Then If the disposition code is valid and authorized, proceed with processing; otherwise generate an error
R-GCX016-cbl-00296 Log Processing Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Processing Information' is invoked, and assuming that completed x4 segment processing, when the system logs processing information, the desired outcome is that all status changes, notifications sent, and processing actions are logged to gcx105 system for audit trail.
💻 Technical Criteria
Given Completed X4 segment processing
When The system logs processing information
Then All status changes, notifications sent, and processing actions are logged to GCX105 system for audit trail
R-GCX016-cbl-04259 228:Disposition Code Error Handling
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '228:Disposition Code Error Handling', assuming that a disposition code lookup has failed in the disposition code table, when the disposition code is not found in gcstbrt table, the desired outcome is that the system generates an error message and stops processing for this disposition code.
💻 Technical Criteria
EXCLUDING A disposition code lookup has failed in the disposition code table
When The disposition code is not found in GCSTBRT table
Then The system generates an error message and stops processing for this disposition code
R-GCX016-cbl-04260 232:ARL Auto Release Array Re-evaluation
Decision Rules
📊 Business Logic Narrative
When the process '232:ARL Auto Release Array Re-evaluation' is invoked, and assuming that a disposition code is classified as arl (auto release) type, when the system processes the arl disposition code, the desired outcome is that the system re-evaluates the entire status array and applies auto release logic without adding the code to the array.
💻 Technical Criteria
Given A disposition code is classified as ARL (Auto Release) type
When The system processes the ARL disposition code
Then The system re-evaluates the entire status array and applies auto release logic without adding the code to the array
R-GCX016-cbl-04262 219:Counterpart Disposition Code Removal
Process Rules
📊 Business Logic Narrative
When the process '219:Counterpart Disposition Code Removal' is invoked, and assuming that a disposition code requires counterpart removal and the status array contains existing codes, when the system processes a disposition code with counterpart removal requirements, the desired outcome is that the system removes all counterpart disposition codes from the status array before adding the new code.
💻 Technical Criteria
Given A disposition code requires counterpart removal and the status array contains existing codes
When The system processes a disposition code with counterpart removal requirements
Then The system removes all counterpart disposition codes from the status array before adding the new code
R-GCX016-cbl-04264 62:Release Code Processing
Decision Rules
📊 Business Logic Narrative
When the process '62:Release Code Processing' is invoked, and assuming that a disposition code is classified as a release code type, when the system processes the release disposition code, the desired outcome is that the system adds the release code to the status array with release flags and updates release quantities.
💻 Technical Criteria
Given A disposition code is classified as a release code type
When The system processes the release disposition code
Then The system adds the release code to the status array with release flags and updates release quantities
R-GCX016-cbl-04265 63:Status Info Processing
Decision Rules
📊 Business Logic Narrative
When the process '63:Status Info Processing' is invoked, and assuming that a disposition code is classified as status information type, when the system processes the status information disposition code, the desired outcome is that the system adds the information code to the status array with status info flags without affecting quantities.
💻 Technical Criteria
Given A disposition code is classified as status information type
When The system processes the status information disposition code
Then The system adds the information code to the status array with status info flags without affecting quantities
R-GCX016-cbl-04266 235:Release Code with Counterpart Removal
Process Rules
📊 Business Logic Narrative
When the process '235:Release Code with Counterpart Removal' is invoked, and assuming that a disposition code is classified as release with counterpart removal type, when the system processes the release disposition code with counterpart removal, the desired outcome is that the system removes counterpart codes from status array and adds the release code with release flags.
💻 Technical Criteria
Given A disposition code is classified as release with counterpart removal type
When The system processes the release disposition code with counterpart removal
Then The system removes counterpart codes from status array and adds the release code with release flags
R-GCX016-cbl-04267 236:Information Code with Counterpart Removal
Process Rules
📊 Business Logic Narrative
When the process '236:Information Code with Counterpart Removal' is invoked, and assuming that a disposition code is classified as information with counterpart removal type, when the system processes the information disposition code with counterpart removal, the desired outcome is that the system removes counterpart codes from status array and adds the information code with status info flags.
💻 Technical Criteria
Given A disposition code is classified as information with counterpart removal type
When The system processes the information disposition code with counterpart removal
Then The system removes counterpart codes from status array and adds the information code with status info flags
R-GCX016-cbl-04268 221:Disposition Code Duplicate Prevention
Validation Rules
📊 Business Logic Narrative
When the process '221:Disposition Code Duplicate Prevention' is invoked, and assuming that a disposition code is ready to be added to the status array, when the system checks if the same disposition code already exists in the status array, the desired outcome is that the system skips adding the code if a duplicate is found, otherwise proceeds with adding the code.
💻 Technical Criteria
Given A disposition code is ready to be added to the status array
When The system checks if the same disposition code already exists in the status array
Then The system skips adding the code if a duplicate is found, otherwise proceeds with adding the code
R-GCX016-cbl-04269 238:Quantity Action Processing for Release Codes
Decision Rules
📊 Business Logic Narrative
When the process '238:Quantity Action Processing for Release Codes' is invoked, and assuming that a disposition code has been added to the status array, when the system evaluates if the disposition code affects release quantities, the desired outcome is that the system determines whether to add, subtract, or leave release quantities unchanged based on the code type.
💻 Technical Criteria
Given A disposition code has been added to the status array
When The system evaluates if the disposition code affects release quantities
Then The system determines whether to add, subtract, or leave release quantities unchanged based on the code type
R-GCX016-cbl-04270 226:Release Quantity Calculation
Computation Rules
📊 Business Logic Narrative
When the process '226:Release Quantity Calculation' is invoked, and assuming that a disposition code requires quantity impact and current release quantities exist, when the system processes quantity changes for add or subtract actions, the desired outcome is that the system updates release quantities ensuring they do not go below zero for subtract actions.
💻 Technical Criteria
Given A disposition code requires quantity impact and current release quantities exist
When The system processes quantity changes for add or subtract actions
Then The system updates release quantities ensuring they do not go below zero for subtract actions
R-GCX016-cbl-04369 DC Table Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'DC Table Record Found?' is invoked, and assuming that a dc table lookup has been performed for a disposition code, when the system evaluates the table read results, the desired outcome is that if the dc table record is found, the system proceeds to extract disposition code information, otherwise it sets the disposition code not found error flag.
💻 Technical Criteria
Given A DC table lookup has been performed for a disposition code
When The system evaluates the table read results
Then If the DC table record is found, the system proceeds to extract disposition code information, otherwise it sets the disposition code not found error flag
R-GCX016-cbl-04371 Extract Quantity Action Flag from DC-QTY-ACTION
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Quantity Action Flag from DC-QTY-ACTION' is invoked, and assuming that a valid dc table record has been retrieved for a disposition code, when the system processes the dc table record information, the desired outcome is that the system extracts the quantity action flag from the dc-qty-action field to determine quantity processing requirements.
💻 Technical Criteria
Given A valid DC table record has been retrieved for a disposition code
When The system processes the DC table record information
Then The system extracts the quantity action flag from the DC-QTY-ACTION field to determine quantity processing requirements
R-GCX016-cbl-04373 Extract Processing Instructions from DC-PROCESS-TYPE
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Processing Instructions from DC-PROCESS-TYPE' is invoked, and assuming that a valid dc table record has been retrieved for a disposition code, when the system processes the dc table record information, the desired outcome is that the system extracts processing instructions from the dc-process-type field.
💻 Technical Criteria
Given A valid DC table record has been retrieved for a disposition code
When The system processes the DC table record information
Then The system extracts processing instructions from the DC-PROCESS-TYPE field
R-GCX016-cbl-04374 Set Disposition Code Information Available Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Disposition Code Information Available Flag' is invoked, and assuming that all disposition code information has been successfully extracted from the dc table record, when the system completes the information extraction process, the desired outcome is that the system sets the disposition code information available flag to indicate successful retrieval.
💻 Technical Criteria
Given All disposition code information has been successfully extracted from the DC table record
When The system completes the information extraction process
Then The system sets the disposition code information available flag to indicate successful retrieval
R-GCX016-cbl-04375 Set Disposition Code Not Found Error Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Disposition Code Not Found Error Flag', assuming that a disposition code lookup has been performed against the dc table, when the dc table record is not found for the specified disposition code, the desired outcome is that the system sets the disposition code not found error flag.
💻 Technical Criteria
EXCLUDING A disposition code lookup has been performed against the DC table
When The DC table record is not found for the specified disposition code
Then The system sets the disposition code not found error flag
R-GCX016-cbl-04565 Set Table Type to 'DC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table Type to 'DC'' is invoked, and assuming that a disposition code lookup is required, when the system prepares to read disposition code information, the desired outcome is that the table type is set to 'dc' to identify the disposition code table.
💻 Technical Criteria
Given A disposition code lookup is required
When The system prepares to read disposition code information
Then The table type is set to 'DC' to identify the disposition code table
R-GCX016-cbl-04567 Call GCCTBIO for DC Table Read
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO for DC Table Read' is invoked, and assuming that table type is set to 'dc' and key is assigned, when the system needs to retrieve disposition code details, the desired outcome is that gcctbio service is called to read from the dc table.
💻 Technical Criteria
Given Table type is set to 'DC' and key is assigned
When The system needs to retrieve disposition code details
Then GCCTBIO service is called to read from the DC table
R-GCX016-cbl-04568 Database Call Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Call Successful?' is invoked, and assuming that a database call has been executed, when the system checks the operation result, the desired outcome is that the operation is validated as successful or failed based on return status.
💻 Technical Criteria
Given A database call has been executed
When The system checks the operation result
Then The operation is validated as successful or failed based on return status
R-GCX016-cbl-04569 Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that a successful database operation has completed, when the system checks for record existence, the desired outcome is that the system determines whether the disposition code record was found or not found.
💻 Technical Criteria
Given A successful database operation has completed
When The system checks for record existence
Then The system determines whether the disposition code record was found or not found
R-GCX016-cbl-04570 Extract Disposition Code Details
Process Rules
📊 Business Logic Narrative
When the process 'Extract Disposition Code Details' is invoked, and assuming that a disposition code record has been found in the table, when the system processes the retrieved record, the desired outcome is that disposition code details including description and processing attributes are extracted.
💻 Technical Criteria
Given A disposition code record has been found in the table
When The system processes the retrieved record
Then Disposition code details including description and processing attributes are extracted
R-GCX016-cbl-04571 Get Counterpart Code Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Counterpart Code Information' is invoked, and assuming that disposition code details have been extracted, when the system processes counterpart relationships, the desired outcome is that related counterpart disposition codes are identified and retrieved.
💻 Technical Criteria
Given Disposition code details have been extracted
When The system processes counterpart relationships
Then Related counterpart disposition codes are identified and retrieved
R-GCX016-cbl-04572 Get Processing Instructions
Process Rules
📊 Business Logic Narrative
When the process 'Get Processing Instructions' is invoked, and assuming that counterpart code information has been retrieved, when the system needs processing guidance, the desired outcome is that specific processing instructions for the disposition code are obtained.
💻 Technical Criteria
Given Counterpart code information has been retrieved
When The system needs processing guidance
Then Specific processing instructions for the disposition code are obtained
R-GCX016-cbl-04573 Set Found Flag to True
Process Rules
📊 Business Logic Narrative
When the process 'Set Found Flag to True' is invoked, and assuming that processing instructions have been successfully retrieved, when the lookup operation completes successfully, the desired outcome is that the found flag is set to true to indicate successful record retrieval.
💻 Technical Criteria
Given Processing instructions have been successfully retrieved
When The lookup operation completes successfully
Then The found flag is set to true to indicate successful record retrieval
R-GCX016-cbl-04574 Return Success Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Success Status' is invoked, and assuming that the found flag has been set to true, when the lookup operation is complete, the desired outcome is that a success status is returned to the calling process.
💻 Technical Criteria
Given The found flag has been set to true
When The lookup operation is complete
Then A success status is returned to the calling process
R-GCX016-cbl-04575 Retry Needed?
Decision Rules
📊 Business Logic Narrative
When the process 'Retry Needed?' is invoked, and assuming that a database operation has failed, when the system evaluates retry eligibility, the desired outcome is that a decision is made whether to retry the operation based on error type and retry count.
💻 Technical Criteria
Given A database operation has failed
When The system evaluates retry eligibility
Then A decision is made whether to retry the operation based on error type and retry count
R-GCX016-cbl-04576 Increment Retry Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Retry Counter' is invoked, and assuming that a retry is needed for a failed operation, when the system prepares for retry, the desired outcome is that the retry counter is incremented to track attempt number.
💻 Technical Criteria
Given A retry is needed for a failed operation
When The system prepares for retry
Then The retry counter is incremented to track attempt number
R-GCX016-cbl-04578 Log Database Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Database Error', assuming that a database operation has failed and retries are exhausted or not applicable, when the system handles the error condition, the desired outcome is that the database error is logged with relevant details for analysis.
💻 Technical Criteria
EXCLUDING A database operation has failed and retries are exhausted or not applicable
When The system handles the error condition
Then The database error is logged with relevant details for analysis
R-GCX016-cbl-04579 Set Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Error Status' is invoked, and assuming that a database error has been logged, when the system prepares error response, the desired outcome is that an error status is set to indicate operation failure.
💻 Technical Criteria
Given A database error has been logged
When The system prepares error response
Then An error status is set to indicate operation failure
R-GCX016-cbl-04580 Return Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Error Status' is invoked, and assuming that an error status has been set, when the lookup operation concludes with failure, the desired outcome is that an error status is returned to the calling process.
💻 Technical Criteria
Given An error status has been set
When The lookup operation concludes with failure
Then An error status is returned to the calling process
R-GCX016-cbl-04581 Set Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Not Found Flag', assuming that a successful database operation completed but no record was found, when the system processes the not found condition, the desired outcome is that the not found flag is set to indicate the disposition code does not exist.
💻 Technical Criteria
EXCLUDING A successful database operation completed but no record was found
When The system processes the not found condition
Then The not found flag is set to indicate the disposition code does not exist
R-GCX016-cbl-04582 Return Not Found Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Return Not Found Status', assuming that the not found flag has been set, when the lookup operation concludes with no record found, the desired outcome is that a not found status is returned to the calling process.
💻 Technical Criteria
EXCLUDING The not found flag has been set
When The lookup operation concludes with no record found
Then A not found status is returned to the calling process
R-GCX016-cbl-04376 Get Counterpart Code from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Counterpart Code from DC Table' is invoked, and assuming that a disposition code exists in the current processing context, when the system needs to find counterpart codes for removal, the desired outcome is that the system looks up the counterpart code from the dc table and sets the counterpart code found flag.
💻 Technical Criteria
Given A disposition code exists in the current processing context
When The system needs to find counterpart codes for removal
Then The system looks up the counterpart code from the DC table and sets the counterpart code found flag
R-GCX016-cbl-04377 Counterpart Code Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Counterpart Code Exists?' is invoked, and assuming that the dc table lookup has been performed for counterpart codes, when the system checks if a counterpart code was found, the desired outcome is that if counterpart code exists, proceed with status array search; otherwise, skip counterpart removal processing.
💻 Technical Criteria
Given The DC table lookup has been performed for counterpart codes
When The system checks if a counterpart code was found
Then If counterpart code exists, proceed with status array search; otherwise, skip counterpart removal processing
R-GCX016-cbl-04378 Search Status Array for Matching Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Matching Codes' is invoked, and assuming that a counterpart disposition code exists and status array contains disposition codes, when the system searches for matching counterpart codes in the status array, the desired outcome is that the system iterates through all status array elements to find codes matching the counterpart code.
💻 Technical Criteria
Given A counterpart disposition code exists and status array contains disposition codes
When The system searches for matching counterpart codes in the status array
Then The system iterates through all status array elements to find codes matching the counterpart code
R-GCX016-cbl-04379 Match Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Match Found?' is invoked, and assuming that the system is searching through status array elements for counterpart codes, when a status array element's disposition code is compared to the counterpart code, the desired outcome is that if codes match, proceed with additional matching criteria validation; otherwise, continue to next array element.
💻 Technical Criteria
Given The system is searching through status array elements for counterpart codes
When A status array element's disposition code is compared to the counterpart code
Then If codes match, proceed with additional matching criteria validation; otherwise, continue to next array element
R-GCX016-cbl-04380 Check Status Info Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Status Info Match' is invoked, and assuming that a matching counterpart disposition code is found in the status array, when the system validates status information compatibility, the desired outcome is that the system compares status info fields and proceeds only if they match the removal criteria.
💻 Technical Criteria
Given A matching counterpart disposition code is found in the status array
When The system validates status information compatibility
Then The system compares status info fields and proceeds only if they match the removal criteria
R-GCX016-cbl-04381 Check Entry Number Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entry Number Match' is invoked, and assuming that status information matching has been validated for a counterpart code, when the system checks entry number compatibility, the desired outcome is that the system compares entry numbers and proceeds only if they match or meet the removal criteria.
💻 Technical Criteria
Given Status information matching has been validated for a counterpart code
When The system checks entry number compatibility
Then The system compares entry numbers and proceeds only if they match or meet the removal criteria
R-GCX016-cbl-04383 Check Specific Code Patterns
Policy Rules
📊 Business Logic Narrative
When the process 'Check Specific Code Patterns' is invoked, and assuming that quantity matching has been validated for a counterpart code, when the system checks for specific code patterns requiring special handling, the desired outcome is that the system applies pattern-specific validation rules and determines if the counterpart code qualifies for removal.
💻 Technical Criteria
Given Quantity matching has been validated for a counterpart code
When The system checks for specific code patterns requiring special handling
Then The system applies pattern-specific validation rules and determines if the counterpart code qualifies for removal
R-GCX016-cbl-04384 All Matching Criteria Met?
Decision Rules
📊 Business Logic Narrative
When the process 'All Matching Criteria Met?' is invoked, and assuming that all individual matching validations have been performed for a counterpart code, when the system evaluates the combined results of all matching criteria, the desired outcome is that if all criteria are met, mark the array element for removal; otherwise, continue to next array element.
💻 Technical Criteria
Given All individual matching validations have been performed for a counterpart code
When The system evaluates the combined results of all matching criteria
Then If all criteria are met, mark the array element for removal; otherwise, continue to next array element
R-GCX016-cbl-04385 Mark Array Element for Removal
Process Rules
📊 Business Logic Narrative
When the process 'Mark Array Element for Removal' is invoked, and assuming that all matching criteria are satisfied for a counterpart disposition code, when the system needs to prepare the array element for removal, the desired outcome is that the system marks the array element for deletion and sets appropriate removal flags.
💻 Technical Criteria
Given All matching criteria are satisfied for a counterpart disposition code
When The system needs to prepare the array element for removal
Then The system marks the array element for deletion and sets appropriate removal flags
R-GCX016-cbl-04386 Remove Element from Array
Process Rules
📊 Business Logic Narrative
When the process 'Remove Element from Array' is invoked, and assuming that a status array element has been marked for removal, when the system performs the actual removal operation, the desired outcome is that the system removes the counterpart disposition code from the status array and sets removal tracking flags.
💻 Technical Criteria
Given A status array element has been marked for removal
When The system performs the actual removal operation
Then The system removes the counterpart disposition code from the status array and sets removal tracking flags
R-GCX016-cbl-04387 Compact Remaining Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Remaining Array Elements' is invoked, and assuming that one or more counterpart disposition codes have been removed from the status array, when the system needs to maintain array integrity, the desired outcome is that the system shifts remaining array elements to eliminate gaps and maintains sequential order.
💻 Technical Criteria
Given One or more counterpart disposition codes have been removed from the status array
When The system needs to maintain array integrity
Then The system shifts remaining array elements to eliminate gaps and maintains sequential order
R-GCX016-cbl-04388 Update Array Count
Process Rules
📊 Business Logic Narrative
When the process 'Update Array Count' is invoked, and assuming that the status array has been compacted after counterpart code removal, when the system needs to maintain accurate array metadata, the desired outcome is that the system updates the array count to reflect the current number of active disposition codes.
💻 Technical Criteria
Given The status array has been compacted after counterpart code removal
When The system needs to maintain accurate array metadata
Then The system updates the array count to reflect the current number of active disposition codes
R-GCX016-cbl-04389 More Elements to Check?
Decision Rules
📊 Business Logic Narrative
When the process 'More Elements to Check?' is invoked, and assuming that the current status array element has been processed for counterpart code removal, when the system checks if more elements exist in the array, the desired outcome is that if more elements exist, continue processing next element; otherwise, complete counterpart removal process.
💻 Technical Criteria
Given The current status array element has been processed for counterpart code removal
When The system checks if more elements exist in the array
Then If more elements exist, continue processing next element; otherwise, complete counterpart removal process
R-GCX016-cbl-04390 Continue to Next Element
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Element' is invoked, and assuming that additional status array elements exist for processing, when the system needs to continue counterpart code removal evaluation, the desired outcome is that the system advances to the next array element and repeats the counterpart matching process.
💻 Technical Criteria
Given Additional status array elements exist for processing
When The system needs to continue counterpart code removal evaluation
Then The system advances to the next array element and repeats the counterpart matching process
R-GCX016-cbl-04585 Check Entry Type Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entry Type Match' is invoked, and assuming that a current disposition code entry type and an array element entry type are available for comparison, when the system compares the entry types between current disposition code and array element, the desired outcome is that the system proceeds to processing flags check if entry types match, otherwise continues to mark as non-matching status information.
💻 Technical Criteria
Given A current disposition code entry type and an array element entry type are available for comparison
When The system compares the entry types between current disposition code and array element
Then The system proceeds to processing flags check if entry types match, otherwise continues to mark as non-matching status information
R-GCX016-cbl-04586 Check Processing Flags Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Processing Flags Match' is invoked, and assuming that a current disposition code processing flags and an array element processing flags are available for comparison, when the system compares the processing flags between current disposition code and array element, the desired outcome is that the system marks as matching status info if processing flags match, otherwise marks as non-matching status information.
💻 Technical Criteria
Given A current disposition code processing flags and an array element processing flags are available for comparison
When The system compares the processing flags between current disposition code and array element
Then The system marks as matching status info if processing flags match, otherwise marks as non-matching status information
R-GCX016-cbl-04592 Validate Broker Entry Number Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Broker Entry Number Format' is invoked, and assuming that an entry number has been classified as a broker entry number, when the system validates the broker entry number format, the desired outcome is that the broker entry number must conform to established format rules and pass validation checks.
💻 Technical Criteria
Given An entry number has been classified as a broker entry number
When The system validates the broker entry number format
Then The broker entry number must conform to established format rules and pass validation checks
R-GCX016-cbl-04595 Apply Special V37 Entry Validation
Validation Rules
📊 Business Logic Narrative
When the process 'Apply Special V37 Entry Validation' is invoked, and assuming that an entry number has been validated for format and identified as v37 entry type, when the system applies v37 specific validation rules, the desired outcome is that the entry number must pass v37 specific validation criteria including special format and business rule requirements.
💻 Technical Criteria
Given An entry number has been validated for format and identified as V37 entry type
When The system applies V37 specific validation rules
Then The entry number must pass V37 specific validation criteria including special format and business rule requirements
R-GCX016-cbl-04596 Standard Entry Number Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Standard Entry Number Validation', assuming that an entry number has been validated for format and is not a v37 entry type, when the system applies standard validation rules, the desired outcome is that the entry number must pass standard validation criteria including format and business rule requirements.
💻 Technical Criteria
EXCLUDING An entry number has been validated for format and is not a V37 entry type
When The system applies standard validation rules
Then The entry number must pass standard validation criteria including format and business rule requirements
R-GCX016-cbl-04603 Validate Against Broker Tables
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Against Broker Tables' is invoked, and assuming that an entry number has been identified as a broker entry number, when the system validates against broker tables, the desired outcome is that the broker entry number must exist in broker tables and meet authorization requirements.
💻 Technical Criteria
Given An entry number has been identified as a broker entry number
When The system validates against broker tables
Then The broker entry number must exist in broker tables and meet authorization requirements
R-GCX016-cbl-04608 Set Entry Number Validation Complete
Process Rules
📊 Business Logic Narrative
When the process 'Set Entry Number Validation Complete' is invoked, and assuming that all required entry number validations have been completed successfully, when the system sets validation complete status, the desired outcome is that the entry number validation process is marked as complete and successful.
💻 Technical Criteria
Given All required entry number validations have been completed successfully
When The system sets validation complete status
Then The entry number validation process is marked as complete and successful
R-GCX016-cbl-04609 Entry Number Validation Failed
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entry Number Validation Failed', assuming that any entry number validation step has failed or entry number is not present, when the system processes validation failure, the desired outcome is that the entry number validation process is marked as failed and appropriate error handling is initiated.
💻 Technical Criteria
EXCLUDING Any entry number validation step has failed or entry number is not present
When The system processes validation failure
Then The entry number validation process is marked as failed and appropriate error handling is initiated
R-GCX016-cbl-04615 Broker Quantity Matches Manifest?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Broker Quantity Matches Manifest?', assuming that a broker entry quantity and the corresponding manifest quantity, when the broker quantity does not match the manifest quantity, the desired outcome is that the system should generate a quantity mismatch notification for broker review.
💻 Technical Criteria
EXCLUDING A broker entry quantity and the corresponding manifest quantity
When The broker quantity does not match the manifest quantity
Then The system should generate a quantity mismatch notification for broker review
R-GCX016-cbl-04616 Generate Quantity Mismatch Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Quantity Mismatch Notification' is invoked, and assuming that a detected quantity mismatch between broker entry and manifest, when the system processes the mismatch notification, the desired outcome is that the system should generate a detailed notification message and prepare it for broker delivery.
💻 Technical Criteria
Given A detected quantity mismatch between broker entry and manifest
When The system processes the mismatch notification
Then The system should generate a detailed notification message and prepare it for broker delivery
R-GCX016-cbl-04617 Send Email to Broker
Action Rules
📊 Business Logic Narrative
When the process 'Send Email to Broker' is invoked, and assuming that a prepared quantity mismatch notification and broker contact information, when the system sends the notification, the desired outcome is that the system should deliver the notification via email to the appropriate broker.
💻 Technical Criteria
Given A prepared quantity mismatch notification and broker contact information
When The system sends the notification
Then The system should deliver the notification via email to the appropriate broker
R-GCX016-cbl-04625 PTT Quantity Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Quantity Valid?' is invoked, and assuming that ptt quantity validation results, when the quantities meet all ptt validation criteria, the desired outcome is that the system should proceed with ptt status assignment.
💻 Technical Criteria
Given PTT quantity validation results
When The quantities meet all PTT validation criteria
Then The system should proceed with PTT status assignment
R-GCX016-cbl-04395 Check Disposition Code Quantity Action
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Quantity Action' is invoked, and assuming that a disposition code is being processed for quantity actions, when the system evaluates the disposition code action type, the desired outcome is that the system identifies whether to add quantity, subtract quantity, or perform no quantity action based on the disposition code configuration.
💻 Technical Criteria
Given A disposition code is being processed for quantity actions
When The system evaluates the disposition code action type
Then The system identifies whether to add quantity, subtract quantity, or perform no quantity action based on the disposition code configuration
R-GCX016-cbl-04637 Log Database Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Database Error' is invoked, and assuming that a database call to gccusio has failed, when the system processes the database failure, the desired outcome is that log the database error for troubleshooting and set error status to indicate system failure.
💻 Technical Criteria
Given A database call to GCCUSIO has failed
When The system processes the database failure
Then Log the database error for troubleshooting AND set error status to indicate system failure
R-GCX016-cbl-04660 Extract Condition Response Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Condition Response Code' is invoked, and assuming that an m10 manifest segment is received, when the system processes the m10 segment, the desired outcome is that the condition response code is extracted from the m10 segment and stored for manifest processing.
💻 Technical Criteria
Given An M10 manifest segment is received
When The system processes the M10 segment
Then The condition response code is extracted from the M10 segment and stored for manifest processing
R-GCX016-cbl-04661 Validate SCAC Code Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate SCAC Code Format' is invoked, and assuming that a scac code has been extracted from the m10 segment, when the system validates the scac code format, the desired outcome is that the scac code is verified to meet standard format requirements or validation error is flagged.
💻 Technical Criteria
Given A SCAC code has been extracted from the M10 segment
When The system validates the SCAC code format
Then The SCAC code is verified to meet standard format requirements or validation error is flagged
R-GCX016-cbl-04663 Validate Country Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Country Code' is invoked, and assuming that a country code has been extracted from the m10 segment, when the system validates the country code, the desired outcome is that the country code is verified against valid country identifiers or validation error is flagged.
💻 Technical Criteria
Given A country code has been extracted from the M10 segment
When The system validates the country code
Then The country code is verified against valid country identifiers or validation error is flagged
R-GCX016-cbl-04664 All Required Fields Present?
Decision Rules
📊 Business Logic Narrative
When the process 'All Required Fields Present?' is invoked, and assuming that all m10 segment fields have been extracted and validated, when the system checks for required field completeness, the desired outcome is that if all required fields are present and valid, processing continues to build manifest record, otherwise missing data error is generated.
💻 Technical Criteria
Given All M10 segment fields have been extracted and validated
When The system checks for required field completeness
Then If all required fields are present and valid, processing continues to build manifest record, otherwise missing data error is generated
R-GCX016-cbl-04668 Log Manifest Integration
Process Rules
📊 Business Logic Narrative
When the process 'Log Manifest Integration' is invoked, and assuming that manifest information has been successfully integrated and status updated, when the system logs the manifest integration, the desired outcome is that an audit log entry is created documenting the successful manifest integration with relevant details.
💻 Technical Criteria
Given Manifest information has been successfully integrated and status updated
When The system logs the manifest integration
Then An audit log entry is created documenting the successful manifest integration with relevant details
R-GCX016-cbl-04669 Generate Missing Data Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Missing Data Error', assuming that required m10 segment fields are missing or validation has failed, when the system detects missing or invalid data, the desired outcome is that a missing data error is generated identifying the specific fields that are missing or invalid.
💻 Technical Criteria
EXCLUDING Required M10 segment fields are missing or validation has failed
When The system detects missing or invalid data
Then A missing data error is generated identifying the specific fields that are missing or invalid
R-GCX016-cbl-04051 Retrieve Disposition Code from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Disposition Code from DC Table' is invoked, and assuming that a disposition code is provided from the x4 segment, when the system looks up the disposition code in the dc table, the desired outcome is that the disposition code details are retrieved including merlin messages and processing flags.
💻 Technical Criteria
Given A disposition code is provided from the X4 segment
When The system looks up the disposition code in the DC table
Then The disposition code details are retrieved including Merlin messages and processing flags
R-GCX016-cbl-04052 Disposition Code Found?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Disposition Code Found?', assuming that a disposition code lookup has been performed, when the disposition code is not found in the dc table, the desired outcome is that an error message is generated indicating the code is not found.
💻 Technical Criteria
EXCLUDING A disposition code lookup has been performed
When The disposition code is not found in the DC table
Then An error message is generated indicating the code is not found
R-GCX016-cbl-04053 ARL - Auto Release Processing
Process Rules
📊 Business Logic Narrative
When the process 'ARL - Auto Release Processing' is invoked, and assuming that a disposition code with arl (auto release) type is being processed, when the disposition code action is arl, the desired outcome is that the system generates an auto release message and sets appropriate release flags.
💻 Technical Criteria
Given A disposition code with ARL (Auto Release) type is being processed
When The disposition code action is ARL
Then The system generates an auto release message and sets appropriate release flags
R-GCX016-cbl-04057 Process Release Codes with Released Flag
Process Rules
📊 Business Logic Narrative
When the process 'Process Release Codes with Released Flag' is invoked, and assuming that a disposition code with release type is being processed, when the disposition code action is dc release, the desired outcome is that the system adds the release code to status array, sets released flag, and updates release quantities.
💻 Technical Criteria
Given A disposition code with release type is being processed
When The disposition code action is DC release
Then The system adds the release code to status array, sets released flag, and updates release quantities
R-GCX016-cbl-04060 Check Array Capacity
Validation Rules
📊 Business Logic Narrative
When the process 'Check Array Capacity' is invoked, and assuming that a new disposition code needs to be added to the status array, when the status array is at maximum capacity, the desired outcome is that the system generates an array overflow error and stops processing.
💻 Technical Criteria
Given A new disposition code needs to be added to the status array
When The status array is at maximum capacity
Then The system generates an array overflow error and stops processing
R-GCX016-cbl-04061 Process Counterpart Code Removal
Process Rules
📊 Business Logic Narrative
When the process 'Process Counterpart Code Removal' is invoked, and assuming that a hold or release disposition code is being added to the status array, when counterpart disposition codes exist in the status array, the desired outcome is that the system removes the counterpart codes before adding the new disposition code.
💻 Technical Criteria
Given A hold or release disposition code is being added to the status array
When Counterpart disposition codes exist in the status array
Then The system removes the counterpart codes before adding the new disposition code
R-GCX016-cbl-04283 Get Counterpart Code from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Counterpart Code from DC Table' is invoked, and assuming that a disposition code exists in the current processing context, when the system needs to find counterpart codes for removal, the desired outcome is that the counterpart disposition code is retrieved from the dc table lookup.
💻 Technical Criteria
Given A disposition code exists in the current processing context
When The system needs to find counterpart codes for removal
Then The counterpart disposition code is retrieved from the DC table lookup
R-GCX016-cbl-04284 Counterpart Code Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Counterpart Code Exists?' is invoked, and assuming that a dc table lookup has been performed for counterpart codes, when the system evaluates the lookup result, the desired outcome is that if no counterpart code exists, skip counterpart removal processing, otherwise proceed with status array search.
💻 Technical Criteria
Given A DC table lookup has been performed for counterpart codes
When The system evaluates the lookup result
Then If no counterpart code exists, skip counterpart removal processing, otherwise proceed with status array search
R-GCX016-cbl-04285 Search Status Array for Matching Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Matching Codes' is invoked, and assuming that a valid counterpart disposition code exists from the dc table, when the system searches the status array for matching codes, the desired outcome is that all status array elements are examined for potential counterpart code matches.
💻 Technical Criteria
Given A valid counterpart disposition code exists from the DC table
When The system searches the status array for matching codes
Then All status array elements are examined for potential counterpart code matches
R-GCX016-cbl-04286 Match Found in Array?
Decision Rules
📊 Business Logic Narrative
When the process 'Match Found in Array?' is invoked, and assuming that the status array has been searched for counterpart codes, when the system evaluates the search results, the desired outcome is that if no matches are found, end the counterpart removal process, otherwise proceed with detailed matching validation.
💻 Technical Criteria
Given The status array has been searched for counterpart codes
When The system evaluates the search results
Then If no matches are found, end the counterpart removal process, otherwise proceed with detailed matching validation
R-GCX016-cbl-04287 Status Info Matches?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Info Matches?' is invoked, and assuming that a potential counterpart code match has been found in the status array, when the system compares status information fields, the desired outcome is that if status info matches exactly, mark the element for removal, otherwise continue with entry number validation.
💻 Technical Criteria
Given A potential counterpart code match has been found in the status array
When The system compares status information fields
Then If status info matches exactly, mark the element for removal, otherwise continue with entry number validation
R-GCX016-cbl-04288 Entry Number Matches?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Number Matches?' is invoked, and assuming that status info validation failed for a counterpart code match, when the system compares entry number fields, the desired outcome is that if entry numbers match exactly, mark the element for removal, otherwise continue with quantity validation.
💻 Technical Criteria
Given Status info validation failed for a counterpart code match
When The system compares entry number fields
Then If entry numbers match exactly, mark the element for removal, otherwise continue with quantity validation
R-GCX016-cbl-04289 Quantity Matches?
Validation Rules
📊 Business Logic Narrative
When the process 'Quantity Matches?' is invoked, and assuming that entry number validation failed for a counterpart code match, when the system compares quantity fields, the desired outcome is that if quantities match exactly, mark the element for removal, otherwise continue with code pattern validation.
💻 Technical Criteria
Given Entry number validation failed for a counterpart code match
When The system compares quantity fields
Then If quantities match exactly, mark the element for removal, otherwise continue with code pattern validation
R-GCX016-cbl-04290 Code Pattern Matches?
Validation Rules
📊 Business Logic Narrative
When the process 'Code Pattern Matches?' is invoked, and assuming that quantity validation failed for a counterpart code match, when the system evaluates specific code pattern matching rules, the desired outcome is that if the code pattern matches specific business rules, mark the element for removal, otherwise continue searching.
💻 Technical Criteria
Given Quantity validation failed for a counterpart code match
When The system evaluates specific code pattern matching rules
Then If the code pattern matches specific business rules, mark the element for removal, otherwise continue searching
R-GCX016-cbl-04291 Mark Array Element for Removal
Action Rules
📊 Business Logic Narrative
When the process 'Mark Array Element for Removal' is invoked, and assuming that a counterpart code has passed all validation criteria, when the system processes the validated match, the desired outcome is that the array element is marked for removal and the system continues searching for additional matches.
💻 Technical Criteria
Given A counterpart code has passed all validation criteria
When The system processes the validated match
Then The array element is marked for removal and the system continues searching for additional matches
R-GCX016-cbl-04292 More Elements to Check?
Process Rules
📊 Business Logic Narrative
When the process 'More Elements to Check?' is invoked, and assuming that the current status array element has been processed, when the system evaluates remaining array elements, the desired outcome is that if more elements exist, continue the search process, otherwise proceed to remove marked elements.
💻 Technical Criteria
Given The current status array element has been processed
When The system evaluates remaining array elements
Then If more elements exist, continue the search process, otherwise proceed to remove marked elements
R-GCX016-cbl-04293 Remove Marked Elements from Array
Action Rules
📊 Business Logic Narrative
When the process 'Remove Marked Elements from Array' is invoked, and assuming that one or more status array elements have been marked for removal, when the system processes the removal operation, the desired outcome is that all marked elements are removed from the status array.
💻 Technical Criteria
Given One or more status array elements have been marked for removal
When The system processes the removal operation
Then All marked elements are removed from the status array
R-GCX016-cbl-04294 Compact Remaining Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Remaining Array Elements' is invoked, and assuming that counterpart code elements have been removed from the status array, when the system compacts the array structure, the desired outcome is that remaining array elements are moved to eliminate gaps and maintain proper array structure.
💻 Technical Criteria
Given Counterpart code elements have been removed from the status array
When The system compacts the array structure
Then Remaining array elements are moved to eliminate gaps and maintain proper array structure
R-GCX016-cbl-04295 Update Array Element Count
Action Rules
📊 Business Logic Narrative
When the process 'Update Array Element Count' is invoked, and assuming that the status array has been compacted after counterpart removal, when the system finalizes the array structure, the desired outcome is that the array element count is updated to reflect the current number of active status entries.
💻 Technical Criteria
Given The status array has been compacted after counterpart removal
When The system finalizes the array structure
Then The array element count is updated to reflect the current number of active status entries
R-GCX016-cbl-04296 No Counterpart Action Required
Decision Rules
📊 Business Logic Narrative
When the process 'No Counterpart Action Required' is invoked, and assuming that no counterpart disposition code exists in the dc table, when the system evaluates counterpart processing requirements, the desired outcome is that counterpart removal processing is skipped and the process ends normally.
💻 Technical Criteria
Given No counterpart disposition code exists in the DC table
When The system evaluates counterpart processing requirements
Then Counterpart removal processing is skipped and the process ends normally
R-GCX016-cbl-04422 Start Status Array Search
Process Rules
📊 Business Logic Narrative
When the process 'Start Status Array Search' is invoked, and assuming that a status array search operation is requested, when the search process begins, the desired outcome is that the system initializes the search parameters and prepares to iterate through the status array.
💻 Technical Criteria
Given A status array search operation is requested
When The search process begins
Then The system initializes the search parameters and prepares to iterate through the status array
R-GCX016-cbl-04423 Initialize Array Index to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Array Index to 1' is invoked, and assuming that the status array search is initialized, when the system prepares to iterate through array elements, the desired outcome is that the array index is set to position 1 to start from the first element.
💻 Technical Criteria
Given The status array search is initialized
When The system prepares to iterate through array elements
Then The array index is set to position 1 to start from the first element
R-GCX016-cbl-04424 Index <= Array Count?
Validation Rules
📊 Business Logic Narrative
When the process 'Index <= Array Count?' is invoked, and assuming that an array index position is being evaluated, when the system checks if more elements exist to process, the desired outcome is that if index is less than or equal to array count, continue processing; otherwise terminate search.
💻 Technical Criteria
Given An array index position is being evaluated
When The system checks if more elements exist to process
Then If index is less than or equal to array count, continue processing; otherwise terminate search
R-GCX016-cbl-04425 Get Current Array Element
Process Rules
📊 Business Logic Narrative
When the process 'Get Current Array Element' is invoked, and assuming that a valid array index position exists, when the system needs to examine a status element, the desired outcome is that the current array element is retrieved and made available for matching criteria evaluation.
💻 Technical Criteria
Given A valid array index position exists
When The system needs to examine a status element
Then The current array element is retrieved and made available for matching criteria evaluation
R-GCX016-cbl-04426 Check Status Info Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Check Status Info Match?' is invoked, and assuming that a status array element is being evaluated for matching, when the system checks the status information field, the desired outcome is that if status information matches search criteria, proceed to next validation; otherwise skip to next element.
💻 Technical Criteria
Given A status array element is being evaluated for matching
When The system checks the status information field
Then If status information matches search criteria, proceed to next validation; otherwise skip to next element
R-GCX016-cbl-04427 Check Entry Number Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Check Entry Number Match?' is invoked, and assuming that a status element has passed status information validation, when the system checks the entry number field, the desired outcome is that if entry number matches search criteria, proceed to quantity validation; otherwise skip to next element.
💻 Technical Criteria
Given A status element has passed status information validation
When The system checks the entry number field
Then If entry number matches search criteria, proceed to quantity validation; otherwise skip to next element
R-GCX016-cbl-04428 Check Quantity Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Check Quantity Match?' is invoked, and assuming that a status element has passed status information and entry number validation, when the system checks the quantity field, the desired outcome is that if quantity matches search criteria, proceed to code pattern validation; otherwise skip to next element.
💻 Technical Criteria
Given A status element has passed status information and entry number validation
When The system checks the quantity field
Then If quantity matches search criteria, proceed to code pattern validation; otherwise skip to next element
R-GCX016-cbl-04429 Check Code Pattern Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Check Code Pattern Match?' is invoked, and assuming that a status element has passed all previous validation criteria, when the system checks the code pattern field, the desired outcome is that if code pattern matches search criteria, mark element as found; otherwise skip to next element.
💻 Technical Criteria
Given A status element has passed all previous validation criteria
When The system checks the code pattern field
Then If code pattern matches search criteria, mark element as found; otherwise skip to next element
R-GCX016-cbl-04430 Mark Element as Match Found
Process Rules
📊 Business Logic Narrative
When the process 'Mark Element as Match Found' is invoked, and assuming that a status element has satisfied all matching criteria, when the system confirms a complete match, the desired outcome is that the element is marked as found and flagged for further processing.
💻 Technical Criteria
Given A status element has satisfied all matching criteria
When The system confirms a complete match
Then The element is marked as found and flagged for further processing
R-GCX016-cbl-04431 Increment Array Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Array Index' is invoked, and assuming that the current array element has been processed, when the system needs to move to the next element, the desired outcome is that the array index is incremented by one position.
💻 Technical Criteria
Given The current array element has been processed
When The system needs to move to the next element
Then The array index is incremented by one position
R-GCX016-cbl-04433 Return Match Results
Process Rules
📊 Business Logic Narrative
When the process 'Return Match Results' is invoked, and assuming that the status array search has completed processing all elements, when the system has finished evaluating the entire array, the desired outcome is that the search results including any matching elements are returned to the calling process.
💻 Technical Criteria
Given The status array search has completed processing all elements
When The system has finished evaluating the entire array
Then The search results including any matching elements are returned to the calling process
R-GCX016-cbl-04434 End Search Process
Process Rules
📊 Business Logic Narrative
When the process 'End Search Process' is invoked, and assuming that the search results have been returned, when the status array search operation is complete, the desired outcome is that the search process is terminated and control returns to the calling procedure.
💻 Technical Criteria
Given The search results have been returned
When The status array search operation is complete
Then The search process is terminated and control returns to the calling procedure
R-GCX016-cbl-04068 Remove Counterpart Codes from Array
Decision Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Codes from Array' is invoked, and assuming that a new disposition code has counterpart codes that must be removed and counterpart codes exist in the status array, when the system adds a new disposition code that conflicts with existing codes, the desired outcome is that the system removes all counterpart disposition codes from the status array before adding the new code.
💻 Technical Criteria
Given A new disposition code has counterpart codes that must be removed AND counterpart codes exist in the status array
When The system adds a new disposition code that conflicts with existing codes
Then The system removes all counterpart disposition codes from the status array before adding the new code
R-GCX016-cbl-04071 Prevent Array Overflow
Validation Rules
📊 Business Logic Narrative
When the process 'Prevent Array Overflow' is invoked, and assuming that the status array is at maximum capacity and a new disposition code needs to be added, when the system attempts to add another status entry, the desired outcome is that the system prevents the addition and maintains array integrity without exceeding capacity limits.
💻 Technical Criteria
Given The status array is at maximum capacity AND a new disposition code needs to be added
When The system attempts to add another status entry
Then The system prevents the addition and maintains array integrity without exceeding capacity limits
R-GCX016-cbl-04073 Replace S09 Segments in Database
Action Rules
📊 Business Logic Narrative
When the process 'Replace S09 Segments in Database' is invoked, and assuming that s09 segments have been updated with new status information, when the system completes status array processing, the desired outcome is that the system replaces the existing s09 segments in the database with the updated segment data.
💻 Technical Criteria
Given S09 segments have been updated with new status information
When The system completes status array processing
Then The system replaces the existing S09 segments in the database with the updated segment data
R-GCX016-cbl-04297 ARL Auto Release - Re-evaluate Array
Decision Rules
📊 Business Logic Narrative
When the process 'ARL Auto Release - Re-evaluate Array' is invoked, and assuming that a disposition code of type arl (auto release) is being processed, when the system encounters an arl disposition code, the desired outcome is that the system re-evaluates the status array and proceeds to capacity checking.
💻 Technical Criteria
Given A disposition code of type ARL (Auto Release) is being processed
When The system encounters an ARL disposition code
Then The system re-evaluates the status array and proceeds to capacity checking
R-GCX016-cbl-04298 MRL Manual Release - Force Processing
Decision Rules
📊 Business Logic Narrative
When the process 'MRL Manual Release - Force Processing' is invoked, and assuming that a disposition code of type mrl (manual release) is being processed, when the system encounters an mrl disposition code, the desired outcome is that the system forces processing and proceeds to capacity checking.
💻 Technical Criteria
Given A disposition code of type MRL (Manual Release) is being processed
When The system encounters an MRL disposition code
Then The system forces processing and proceeds to capacity checking
R-GCX016-cbl-04299 Array Overflow Protection
Validation Rules
📊 Business Logic Narrative
When the process 'Array Overflow Protection' is invoked, and assuming that a new disposition code needs to be added to the status array, when the array capacity is exceeded or at maximum limit, the desired outcome is that the system terminates processing to prevent overflow and completes array modifications.
💻 Technical Criteria
Given A new disposition code needs to be added to the status array
When The array capacity is exceeded or at maximum limit
Then The system terminates processing to prevent overflow and completes array modifications
R-GCX016-cbl-04300 Skip Duplicate Entry
Validation Rules
📊 Business Logic Narrative
When the process 'Skip Duplicate Entry' is invoked, and assuming that a disposition code is being added to the status array, when the same disposition code already exists in the array, the desired outcome is that the system skips adding the duplicate entry and completes array modifications.
💻 Technical Criteria
Given A disposition code is being added to the status array
When The same disposition code already exists in the array
Then The system skips adding the duplicate entry and completes array modifications
R-GCX016-cbl-04301 Remove Counterpart Code
Process Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Code' is invoked, and assuming that a new disposition code is being added that has a defined counterpart code, when the counterpart code is found in the status array, the desired outcome is that the system removes the counterpart code and compacts the array before adding the new code.
💻 Technical Criteria
Given A new disposition code is being added that has a defined counterpart code
When The counterpart code is found in the status array
Then The system removes the counterpart code and compacts the array before adding the new code
R-GCX016-cbl-04302 Compact Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Array Elements' is invoked, and assuming that one or more disposition codes have been removed from the status array, when array compaction is required, the desired outcome is that the system shifts remaining elements to fill gaps and updates the array count.
💻 Technical Criteria
Given One or more disposition codes have been removed from the status array
When Array compaction is required
Then The system shifts remaining elements to fill gaps and updates the array count
R-GCX016-cbl-04305 Process Add Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Process Add Quantity' is invoked, and assuming that a disposition code requires quantity action of type add, when the system processes the quantity action, the desired outcome is that the system adds the specified quantity to the release amount and proceeds to array compaction.
💻 Technical Criteria
Given A disposition code requires quantity action of type ADD
When The system processes the quantity action
Then The system adds the specified quantity to the release amount and proceeds to array compaction
R-GCX016-cbl-04306 Process Subtract Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Process Subtract Quantity' is invoked, and assuming that a disposition code requires quantity action of type subtract, when the system processes the quantity action, the desired outcome is that the system subtracts the specified quantity from the release amount and proceeds to array compaction.
💻 Technical Criteria
Given A disposition code requires quantity action of type SUBTRACT
When The system processes the quantity action
Then The system subtracts the specified quantity from the release amount and proceeds to array compaction
R-GCX016-cbl-04307 Set Information Flag Only
Action Rules
📊 Business Logic Narrative
When the process 'Set Information Flag Only' is invoked, and assuming that a disposition code is for informational purposes only, when the system processes the information-only disposition code, the desired outcome is that the system sets the information flag without processing quantities and proceeds to array compaction.
💻 Technical Criteria
Given A disposition code is for informational purposes only
When The system processes the information-only disposition code
Then The system sets the information flag without processing quantities and proceeds to array compaction
R-GCX016-cbl-04308 Validate Array Integrity
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Array Integrity' is invoked, and assuming that array modifications have been completed including compaction and count updates, when the system validates array integrity, the desired outcome is that the system ensures array structure is valid and completes the array modifications process.
💻 Technical Criteria
Given Array modifications have been completed including compaction and count updates
When The system validates array integrity
Then The system ensures array structure is valid and completes the array modifications process
R-GCX016-cbl-04435 Check Current Array Count
Validation Rules
📊 Business Logic Narrative
When the process 'Check Current Array Count' is invoked, and assuming that a status array exists with current disposition codes, when the system needs to add a new disposition code to the array, the desired outcome is that the system checks the current count of entries in the status array.
💻 Technical Criteria
Given A status array exists with current disposition codes
When The system needs to add a new disposition code to the array
Then The system checks the current count of entries in the status array
R-GCX016-cbl-04436 Get Maximum Array Limit
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Maximum Array Limit' is invoked, and assuming that the system needs to validate array capacity, when checking if new disposition codes can be added, the desired outcome is that the system retrieves the maximum allowed array limit from system configuration.
💻 Technical Criteria
Given The system needs to validate array capacity
When Checking if new disposition codes can be added
Then The system retrieves the maximum allowed array limit from system configuration
R-GCX016-cbl-04437 Array Count < Maximum?
Decision Rules
📊 Business Logic Narrative
When the process 'Array Count < Maximum?' is invoked, and assuming that current array count and maximum array limit are known, when the system evaluates array capacity, the desired outcome is that if current array count is less than maximum limit, allow addition; otherwise prevent addition.
💻 Technical Criteria
Given Current array count and maximum array limit are known
When The system evaluates array capacity
Then If current array count is less than maximum limit, allow addition; otherwise prevent addition
R-GCX016-cbl-04438 Add Disposition Code to Array
Action Rules
📊 Business Logic Narrative
When the process 'Add Disposition Code to Array' is invoked, and assuming that array has available capacity for new entries, when a valid disposition code needs to be added, the desired outcome is that the system adds the disposition code to the next available position in the status array.
💻 Technical Criteria
Given Array has available capacity for new entries
When A valid disposition code needs to be added
Then The system adds the disposition code to the next available position in the status array
R-GCX016-cbl-04439 Set Array Overflow Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Array Overflow Flag' is invoked, and assuming that array count equals or exceeds maximum capacity, when attempting to add a new disposition code, the desired outcome is that the system sets an array overflow flag to indicate capacity exceeded condition.
💻 Technical Criteria
Given Array count equals or exceeds maximum capacity
When Attempting to add a new disposition code
Then The system sets an array overflow flag to indicate capacity exceeded condition
R-GCX016-cbl-04440 Generate Overflow Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Overflow Error Message' is invoked, and assuming that array overflow flag has been set, when processing the overflow condition, the desired outcome is that the system generates an appropriate error message indicating array capacity has been exceeded.
💻 Technical Criteria
Given Array overflow flag has been set
When Processing the overflow condition
Then The system generates an appropriate error message indicating array capacity has been exceeded
R-GCX016-cbl-04441 Log Overflow Condition
Process Rules
📊 Business Logic Narrative
When the process 'Log Overflow Condition' is invoked, and assuming that an overflow error message has been generated, when recording the overflow event, the desired outcome is that the system logs the overflow condition with relevant details for operational review.
💻 Technical Criteria
Given An overflow error message has been generated
When Recording the overflow event
Then The system logs the overflow condition with relevant details for operational review
R-GCX016-cbl-04442 Skip Code Addition
Process Rules
📊 Business Logic Narrative
When the process 'Skip Code Addition' is invoked, and assuming that array overflow condition has been logged, when continuing with processing, the desired outcome is that the system skips adding the disposition code and continues without modifying the array.
💻 Technical Criteria
Given Array overflow condition has been logged
When Continuing with processing
Then The system skips adding the disposition code and continues without modifying the array
R-GCX016-cbl-04443 Update Array Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Update Array Counter' is invoked, and assuming that a disposition code has been successfully added to the array, when completing the addition process, the desired outcome is that the system increments the array counter to reflect the new total count.
💻 Technical Criteria
Given A disposition code has been successfully added to the array
When Completing the addition process
Then The system increments the array counter to reflect the new total count
R-GCX016-cbl-04446 Scan Status Array for Marked Elements
Process Rules
📊 Business Logic Narrative
When the process 'Scan Status Array for Marked Elements' is invoked, and assuming that status array contains elements that may be marked for removal, when system scans through each array position, the desired outcome is that each element is evaluated to determine if it should be removed from the array.
💻 Technical Criteria
Given Status array contains elements that may be marked for removal
When System scans through each array position
Then Each element is evaluated to determine if it should be removed from the array
R-GCX016-cbl-04447 Element Marked for Removal?
Decision Rules
📊 Business Logic Narrative
When the process 'Element Marked for Removal?' is invoked, and assuming that an array element is being evaluated during compaction scan, when system checks element removal markers or status flags, the desired outcome is that element is classified as either marked for removal or to be retained in the array.
💻 Technical Criteria
Given An array element is being evaluated during compaction scan
When System checks element removal markers or status flags
Then Element is classified as either marked for removal or to be retained in the array
R-GCX016-cbl-04448 Mark Element Position
Process Rules
📊 Business Logic Narrative
When the process 'Mark Element Position' is invoked, and assuming that an array element has been identified for removal, when system processes the element marked for removal, the desired outcome is that element position is recorded for subsequent removal during array compaction.
💻 Technical Criteria
Given An array element has been identified for removal
When System processes the element marked for removal
Then Element position is recorded for subsequent removal during array compaction
R-GCX016-cbl-04449 Continue Scanning
Process Rules
📊 Business Logic Narrative
When the process 'Continue Scanning' is invoked, and assuming that current array element has been processed for removal evaluation, when system moves to next array position, the desired outcome is that scanning continues with the subsequent array element.
💻 Technical Criteria
Given Current array element has been processed for removal evaluation
When System moves to next array position
Then Scanning continues with the subsequent array element
R-GCX016-cbl-04450 More Elements to Check?
Decision Rules
📊 Business Logic Narrative
When the process 'More Elements to Check?' is invoked, and assuming that system is scanning array elements for compaction, when current element scanning is complete, the desired outcome is that system determines whether more elements remain to be checked or scanning phase is complete.
💻 Technical Criteria
Given System is scanning array elements for compaction
When Current element scanning is complete
Then System determines whether more elements remain to be checked or scanning phase is complete
R-GCX016-cbl-04451 Begin Element Shifting Process
Process Rules
📊 Business Logic Narrative
When the process 'Begin Element Shifting Process' is invoked, and assuming that array scanning is complete and elements marked for removal are identified, when system starts the element shifting phase of compaction, the desired outcome is that element shifting process begins to compact the array by removing gaps.
💻 Technical Criteria
Given Array scanning is complete and elements marked for removal are identified
When System starts the element shifting phase of compaction
Then Element shifting process begins to compact the array by removing gaps
R-GCX016-cbl-04452 Identify First Gap Position
Process Rules
📊 Business Logic Narrative
When the process 'Identify First Gap Position' is invoked, and assuming that array contains gaps from removed elements, when system searches for the first available gap position, the desired outcome is that first gap position is identified as the target for element movement.
💻 Technical Criteria
Given Array contains gaps from removed elements
When System searches for the first available gap position
Then First gap position is identified as the target for element movement
R-GCX016-cbl-04453 Find Next Valid Element
Process Rules
📊 Business Logic Narrative
When the process 'Find Next Valid Element' is invoked, and assuming that a gap position has been identified for filling, when system searches for valid elements to move into the gap, the desired outcome is that next valid element is located for movement to the gap position.
💻 Technical Criteria
Given A gap position has been identified for filling
When System searches for valid elements to move into the gap
Then Next valid element is located for movement to the gap position
R-GCX016-cbl-04454 Valid Element Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid Element Found?' is invoked, and assuming that system is searching for elements to move during compaction, when search for valid element is complete, the desired outcome is that system determines if a valid element was found or if no more elements need to be moved.
💻 Technical Criteria
Given System is searching for elements to move during compaction
When Search for valid element is complete
Then System determines if a valid element was found or if no more elements need to be moved
R-GCX016-cbl-04455 Shift Element to Gap Position
Process Rules
📊 Business Logic Narrative
When the process 'Shift Element to Gap Position' is invoked, and assuming that a valid element and gap position have been identified, when system performs element movement operation, the desired outcome is that element is copied from its current position to the gap position in the array.
💻 Technical Criteria
Given A valid element and gap position have been identified
When System performs element movement operation
Then Element is copied from its current position to the gap position in the array
R-GCX016-cbl-04456 Update Element Pointers
Process Rules
📊 Business Logic Narrative
When the process 'Update Element Pointers' is invoked, and assuming that an element has been moved to a new position in the array, when system updates element tracking information, the desired outcome is that all pointers and references are updated to reflect the element's new position.
💻 Technical Criteria
Given An element has been moved to a new position in the array
When System updates element tracking information
Then All pointers and references are updated to reflect the element's new position
R-GCX016-cbl-04458 More Elements to Shift?
Decision Rules
📊 Business Logic Narrative
When the process 'More Elements to Shift?' is invoked, and assuming that an element has been successfully shifted to fill a gap, when system evaluates remaining elements for movement, the desired outcome is that system determines whether more elements need to be shifted or compaction is complete.
💻 Technical Criteria
Given An element has been successfully shifted to fill a gap
When System evaluates remaining elements for movement
Then System determines whether more elements need to be shifted or compaction is complete
R-GCX016-cbl-04459 Update Array Count
Process Rules
📊 Business Logic Narrative
When the process 'Update Array Count' is invoked, and assuming that array compaction and element shifting is complete, when system calculates the new array element count, the desired outcome is that array count is updated to reflect the number of valid elements remaining after compaction.
💻 Technical Criteria
Given Array compaction and element shifting is complete
When System calculates the new array element count
Then Array count is updated to reflect the number of valid elements remaining after compaction
R-GCX016-cbl-04460 Validate Array Integrity
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Array Integrity' is invoked, and assuming that array compaction process is complete, when system validates the compacted array structure, the desired outcome is that array integrity is verified to ensure all elements are properly positioned and accessible.
💻 Technical Criteria
Given Array compaction process is complete
When System validates the compacted array structure
Then Array integrity is verified to ensure all elements are properly positioned and accessible
R-GCX016-cbl-04461 Array Structure Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Array Structure Valid?' is invoked, and assuming that array integrity validation has been performed, when system evaluates validation results, the desired outcome is that system determines if array structure is valid or if error recovery is needed.
💻 Technical Criteria
Given Array integrity validation has been performed
When System evaluates validation results
Then System determines if array structure is valid or if error recovery is needed
R-GCX016-cbl-04462 Clear Unused Array Positions
Process Rules
📊 Business Logic Narrative
When the process 'Clear Unused Array Positions' is invoked, and assuming that array structure has been validated as correct after compaction, when system processes unused array positions, the desired outcome is that all unused positions beyond the new array boundary are cleared and reset.
💻 Technical Criteria
Given Array structure has been validated as correct after compaction
When System processes unused array positions
Then All unused positions beyond the new array boundary are cleared and reset
R-GCX016-cbl-04463 Set New Array Boundary
Process Rules
📊 Business Logic Narrative
When the process 'Set New Array Boundary' is invoked, and assuming that array compaction is complete and unused positions are cleared, when system sets the new array boundary, the desired outcome is that array boundary is updated to reflect the compacted size and valid element range.
💻 Technical Criteria
Given Array compaction is complete and unused positions are cleared
When System sets the new array boundary
Then Array boundary is updated to reflect the compacted size and valid element range
R-GCX016-cbl-04464 Array Compaction Complete
Process Rules
📊 Business Logic Narrative
When the process 'Array Compaction Complete' is invoked, and assuming that all compaction steps have been completed successfully, when system finalizes the compaction process, the desired outcome is that array compaction is marked as complete and array is ready for normal operations.
💻 Technical Criteria
Given All compaction steps have been completed successfully
When System finalizes the compaction process
Then Array compaction is marked as complete and array is ready for normal operations
R-GCX016-cbl-04465 Log Array Compaction Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Array Compaction Error' is invoked, and assuming that array structure validation has failed, when system detects compaction errors, the desired outcome is that error details are logged for troubleshooting and recovery processing.
💻 Technical Criteria
Given Array structure validation has failed
When System detects compaction errors
Then Error details are logged for troubleshooting and recovery processing
R-GCX016-cbl-04466 Restore Array to Previous State
Process Rules
📊 Business Logic Narrative
When the process 'Restore Array to Previous State' is invoked, and assuming that array compaction has failed validation and errors are logged, when system performs error recovery, the desired outcome is that array is restored to its previous valid state before compaction was attempted.
💻 Technical Criteria
Given Array compaction has failed validation and errors are logged
When System performs error recovery
Then Array is restored to its previous valid state before compaction was attempted
R-GCX016-cbl-00310 SE Segment Detected
Decision Rules
📊 Business Logic Narrative
When the process 'SE Segment Detected' is invoked, and assuming that a message segment is being processed, when the segment type is identified as 'se', the desired outcome is that the system initiates se segment processing for transaction set completion.
💻 Technical Criteria
Given A message segment is being processed
When The segment type is identified as 'SE'
Then The system initiates SE segment processing for transaction set completion
R-GCX016-cbl-00311 Validate SE Segment Structure
Validation Rules
📊 Business Logic Narrative
When the process 'Validate SE Segment Structure' is invoked, and assuming that an se segment has been detected, when the system validates the segment structure, the desired outcome is that the segment must contain transaction set control number and segment count in valid format.
💻 Technical Criteria
Given An SE segment has been detected
When The system validates the segment structure
Then The segment must contain transaction set control number and segment count in valid format
R-GCX016-cbl-00312 Valid SE Segment?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid SE Segment?' is invoked, and assuming that se segment structure has been validated, when the validation results are evaluated, the desired outcome is that if segment is valid, proceed to extract control data, otherwise generate validation error.
💻 Technical Criteria
Given SE segment structure has been validated
When The validation results are evaluated
Then If segment is valid, proceed to extract control data, otherwise generate validation error
R-GCX016-cbl-00313 Extract Transaction Set Control Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Transaction Set Control Number' is invoked, and assuming that a valid se segment is being processed, when the system extracts the transaction set control number, the desired outcome is that the control number is captured for comparison with the corresponding st segment.
💻 Technical Criteria
Given A valid SE segment is being processed
When The system extracts the transaction set control number
Then The control number is captured for comparison with the corresponding ST segment
R-GCX016-cbl-00314 Extract Number of Included Segments
Process Rules
📊 Business Logic Narrative
When the process 'Extract Number of Included Segments' is invoked, and assuming that transaction set control number has been extracted, when the system extracts the segment count from se segment, the desired outcome is that the segment count is captured for validation against actual processed segments.
💻 Technical Criteria
Given Transaction set control number has been extracted
When The system extracts the segment count from SE segment
Then The segment count is captured for validation against actual processed segments
R-GCX016-cbl-00315 Control Number Matches ST Segment?
Validation Rules
📊 Business Logic Narrative
When the process 'Control Number Matches ST Segment?' is invoked, and assuming that se segment control number has been extracted, when the control number is compared with the st segment control number, the desired outcome is that if numbers match, proceed to segment count validation, otherwise log control number mismatch error.
💻 Technical Criteria
Given SE segment control number has been extracted
When The control number is compared with the ST segment control number
Then If numbers match, proceed to segment count validation, otherwise log control number mismatch error
R-GCX016-cbl-00316 Segment Count Matches Actual?
Validation Rules
📊 Business Logic Narrative
When the process 'Segment Count Matches Actual?' is invoked, and assuming that control numbers match between st and se segments, when the declared segment count is compared with actual processed segments, the desired outcome is that if counts match, mark transaction set complete, otherwise log segment count mismatch error.
💻 Technical Criteria
Given Control numbers match between ST and SE segments
When The declared segment count is compared with actual processed segments
Then If counts match, mark transaction set complete, otherwise log segment count mismatch error
R-GCX016-cbl-00317 Mark Transaction Set as Complete
Process Rules
📊 Business Logic Narrative
When the process 'Mark Transaction Set as Complete' is invoked, and assuming that all se segment validations have passed, when the system marks the transaction set as complete, the desired outcome is that the transaction set status is updated to indicate successful completion.
💻 Technical Criteria
Given All SE segment validations have passed
When The system marks the transaction set as complete
Then The transaction set status is updated to indicate successful completion
R-GCX016-cbl-00318 Update Transaction Set Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Transaction Set Status' is invoked, and assuming that transaction set has been marked as complete, when the system updates the transaction set status, the desired outcome is that the status reflects successful processing and completion of the transaction set.
💻 Technical Criteria
Given Transaction set has been marked as complete
When The system updates the transaction set status
Then The status reflects successful processing and completion of the transaction set
R-GCX016-cbl-00319 Prepare for Next Transaction Set
Process Rules
📊 Business Logic Narrative
When the process 'Prepare for Next Transaction Set' is invoked, and assuming that current transaction set status has been updated, when the system prepares for next transaction set, the desired outcome is that processing flags and counters are reset for the next transaction set.
💻 Technical Criteria
Given Current transaction set status has been updated
When The system prepares for next transaction set
Then Processing flags and counters are reset for the next transaction set
R-GCX016-cbl-00320 Generate SE Validation Error
Process Rules
📊 Business Logic Narrative
When the process 'Generate SE Validation Error' is invoked, and assuming that se segment fails structural validation, when the system generates a validation error, the desired outcome is that an error message is created indicating se segment validation failure.
💻 Technical Criteria
Given SE segment fails structural validation
When The system generates a validation error
Then An error message is created indicating SE segment validation failure
R-GCX016-cbl-00321 Log Control Number Mismatch
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Control Number Mismatch', assuming that se control number does not match st control number, when the system logs the control number mismatch, the desired outcome is that an error is recorded indicating control number inconsistency between st and se segments.
💻 Technical Criteria
EXCLUDING SE control number does not match ST control number
When The system logs the control number mismatch
Then An error is recorded indicating control number inconsistency between ST and SE segments
R-GCX016-cbl-00322 Log Segment Count Mismatch
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Segment Count Mismatch', assuming that declared segment count does not match actual processed segments, when the system logs the segment count mismatch, the desired outcome is that an error is recorded indicating inconsistency between declared and actual segment counts.
💻 Technical Criteria
EXCLUDING Declared segment count does not match actual processed segments
When The system logs the segment count mismatch
Then An error is recorded indicating inconsistency between declared and actual segment counts
R-GCX016-cbl-00352 Calculate Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Release Quantities' is invoked, and assuming that disposition codes specify quantity actions, when the system processes quantity changes, the desired outcome is that release quantities are calculated by adding or subtracting specified amounts while ensuring quantities do not become negative.
💻 Technical Criteria
Given Disposition codes specify quantity actions
When The system processes quantity changes
Then Release quantities are calculated by adding or subtracting specified amounts while ensuring quantities do not become negative
R-GCX016-cbl-00361 Call B561-GET-DC-TABLE-INFO
Action Rules
📊 Business Logic Narrative
When the process 'Call B561-GET-DC-TABLE-INFO' is invoked, and assuming that a disposition code is received from x4 segment, when the system needs to validate the disposition code, the desired outcome is that the system calls b561-get-dc-table-info to retrieve disposition code details from gcstbrt ims segment.
💻 Technical Criteria
Given A disposition code is received from X4 segment
When The system needs to validate the disposition code
Then The system calls B561-GET-DC-TABLE-INFO to retrieve disposition code details from GCSTBRT IMS segment
R-GCX016-cbl-00362 Disposition Code Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Found?' is invoked, and assuming that a disposition code lookup has been performed against the dc table, when the system checks if the disposition code was found in the table, the desired outcome is that if disposition code is found, system proceeds to extract code details; if not found, system sets invalid disposition code flag and generates error.
💻 Technical Criteria
Given A disposition code lookup has been performed against the DC table
When The system checks if the disposition code was found in the table
Then If disposition code is found, system proceeds to extract code details; if not found, system sets invalid disposition code flag and generates error
R-GCX016-cbl-00363 Retrieve Disposition Code Details
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Disposition Code Details' is invoked, and assuming that a disposition code has been found in the dc table, when the system processes the valid disposition code, the desired outcome is that the system extracts code description, counterpart code information, quantity action flag, processing instructions, and sets valid disposition code flag.
💻 Technical Criteria
Given A disposition code has been found in the DC table
When The system processes the valid disposition code
Then The system extracts code description, counterpart code information, quantity action flag, processing instructions, and sets valid disposition code flag
R-GCX016-cbl-00364 Set Invalid Disposition Code Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Invalid Disposition Code Flag', assuming that a disposition code lookup has failed to find the code in the dc table, when the system determines the disposition code is invalid, the desired outcome is that the system sets invalid disposition code flag, generates error message, logs disposition code error, and continues processing with error status.
💻 Technical Criteria
EXCLUDING A disposition code lookup has failed to find the code in the DC table
When The system determines the disposition code is invalid
Then The system sets invalid disposition code flag, generates error message, logs disposition code error, and continues processing with error status
R-GCX016-cbl-04075 Call GCCTBIO to Access DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Access DC Table' is invoked, and assuming that a disposition code is received from x4 segment, when the system performs a table lookup using gcctbio to access the dc table, the desired outcome is that the system retrieves the disposition code record from gcstbrt dc table segments.
💻 Technical Criteria
Given A disposition code is received from X4 segment
When The system performs a table lookup using GCCTBIO to access the DC table
Then The system retrieves the disposition code record from GCSTBRT DC table segments
R-GCX016-cbl-04076 DC Table Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'DC Table Record Found?' is invoked, and assuming that a disposition code lookup has been performed against the dc table, when the system checks if a matching record was found in the table, the desired outcome is that the system sets success status if record found or error status if record not found.
💻 Technical Criteria
Given A disposition code lookup has been performed against the DC table
When The system checks if a matching record was found in the table
Then The system sets success status if record found or error status if record not found
R-GCX016-cbl-04078 Set Error Status - Code Not Found
Decision Rules
📊 Business Logic Narrative
When the process 'Set Error Status - Code Not Found' is invoked, and assuming that a disposition code lookup has been performed against the dc table, when no matching record is found for the disposition code, the desired outcome is that the system sets error status, logs the disposition code error, and returns error status to the calling process.
💻 Technical Criteria
Given A disposition code lookup has been performed against the DC table
When No matching record is found for the disposition code
Then The system sets error status, logs the disposition code error, and returns error status to the calling process
R-GCX016-cbl-04079 Store DC Information in Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Store DC Information in Working Storage' is invoked, and assuming that disposition code information has been successfully extracted from the dc table, when the system processes the extracted information, the desired outcome is that the system stores all dc information in working storage and returns success status.
💻 Technical Criteria
Given Disposition code information has been successfully extracted from the DC table
When The system processes the extracted information
Then The system stores all DC information in working storage and returns success status
R-GCX016-cbl-04080 Get Counterpart Code from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Counterpart Code from DC Table' is invoked, and assuming that a disposition code exists in the current processing context, when the system needs to identify counterpart codes for removal, the desired outcome is that the counterpart disposition code is retrieved from the dc table lookup.
💻 Technical Criteria
Given A disposition code exists in the current processing context
When The system needs to identify counterpart codes for removal
Then The counterpart disposition code is retrieved from the DC table lookup
R-GCX016-cbl-04082 Search Status Array for Matching Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Matching Codes' is invoked, and assuming that a valid counterpart code exists and status array contains disposition codes, when the system searches for matching counterpart codes in the array, the desired outcome is that each array element is evaluated against the counterpart code criteria.
💻 Technical Criteria
Given A valid counterpart code exists and status array contains disposition codes
When The system searches for matching counterpart codes in the array
Then Each array element is evaluated against the counterpart code criteria
R-GCX016-cbl-04083 Match Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Match Found?' is invoked, and assuming that an array element is being evaluated against counterpart code criteria, when the system compares the array element disposition code with the counterpart code, the desired outcome is that if codes match, proceed with detailed matching criteria validation; otherwise continue to next element.
💻 Technical Criteria
Given An array element is being evaluated against counterpart code criteria
When The system compares the array element disposition code with the counterpart code
Then If codes match, proceed with detailed matching criteria validation; otherwise continue to next element
R-GCX016-cbl-04084 Check Matching Criteria
Validation Rules
📊 Business Logic Narrative
When the process 'Check Matching Criteria' is invoked, and assuming that a disposition code in the array matches the counterpart code, when the system evaluates additional matching criteria including status info, entry number, quantity, and specific code patterns, the desired outcome is that multiple validation checks are performed to confirm the code should be removed.
💻 Technical Criteria
Given A disposition code in the array matches the counterpart code
When The system evaluates additional matching criteria including status info, entry number, quantity, and specific code patterns
Then Multiple validation checks are performed to confirm the code should be removed
R-GCX016-cbl-04085 Status Info Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Info Match?' is invoked, and assuming that a counterpart code match has been found in the status array, when the system validates status information compatibility, the desired outcome is that if status info matches, remove the counterpart code; otherwise check entry number match.
💻 Technical Criteria
Given A counterpart code match has been found in the status array
When The system validates status information compatibility
Then If status info matches, remove the counterpart code; otherwise check entry number match
R-GCX016-cbl-04088 Specific Code Pattern Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Specific Code Pattern Match?' is invoked, and assuming that quantity match validation has been performed and counterpart code exists in array, when the system evaluates specific code pattern matching criteria, the desired outcome is that if specific patterns match, remove the counterpart code; otherwise continue to next array element.
💻 Technical Criteria
Given Quantity match validation has been performed and counterpart code exists in array
When The system evaluates specific code pattern matching criteria
Then If specific patterns match, remove the counterpart code; otherwise continue to next array element
R-GCX016-cbl-04089 Remove Counterpart Code from Array
Action Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Code from Array' is invoked, and assuming that a counterpart code has been validated for removal based on matching criteria, when the system performs the removal operation, the desired outcome is that the counterpart code is marked for removal from the status array.
💻 Technical Criteria
Given A counterpart code has been validated for removal based on matching criteria
When The system performs the removal operation
Then The counterpart code is marked for removal from the status array
R-GCX016-cbl-04091 Update Array Element Count
Computation Rules
📊 Business Logic Narrative
When the process 'Update Array Element Count' is invoked, and assuming that the status array has been compacted after counterpart code removal, when the system updates array metadata, the desired outcome is that the array element count is decremented to reflect the removed counterpart codes.
💻 Technical Criteria
Given The status array has been compacted after counterpart code removal
When The system updates array metadata
Then The array element count is decremented to reflect the removed counterpart codes
R-GCX016-cbl-04094 Counterpart Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'Counterpart Processing Complete' is invoked, and assuming that all status array elements have been evaluated for counterpart code removal, when the counterpart processing cycle is complete, the desired outcome is that processing control returns to the main disposition code handling logic.
💻 Technical Criteria
Given All status array elements have been evaluated for counterpart code removal
When The counterpart processing cycle is complete
Then Processing control returns to the main disposition code handling logic
R-GCX016-cbl-04095 No Counterpart Action Required
Decision Rules
📊 Business Logic Narrative
When the process 'No Counterpart Action Required' is invoked, and assuming that no counterpart disposition code exists in the dc table lookup, when the system evaluates counterpart processing requirements, the desired outcome is that counterpart processing is skipped and control returns to main processing.
💻 Technical Criteria
Given No counterpart disposition code exists in the DC table lookup
When The system evaluates counterpart processing requirements
Then Counterpart processing is skipped and control returns to main processing
R-GCX016-cbl-00384 Save Status Array to Database
Action Rules
📊 Business Logic Narrative
When the process 'Save Status Array to Database' is invoked, and assuming that status array contains updated disposition codes, when all status processing is complete, the desired outcome is that updated status array is saved back to s09 segments in database.
💻 Technical Criteria
Given Status array contains updated disposition codes
When All status processing is complete
Then Updated status array is saved back to S09 segments in database
R-GCX016-cbl-04098 Hold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Code?' is invoked, and assuming that a disposition code from the s09a array is being examined, when the disposition code type is evaluated, the desired outcome is that if the code is classified as a hold type in the disposition code table, the hold status flag is set to true.
💻 Technical Criteria
Given A disposition code from the S09A array is being examined
When The disposition code type is evaluated
Then If the code is classified as a hold type in the disposition code table, the hold status flag is set to true
R-GCX016-cbl-04100 Release Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Release Code?' is invoked, and assuming that a disposition code from the s09a array is being examined, when the disposition code type is evaluated, the desired outcome is that if the code is classified as a release type in the disposition code table, the release status flag is set to true.
💻 Technical Criteria
Given A disposition code from the S09A array is being examined
When The disposition code type is evaluated
Then If the code is classified as a release type in the disposition code table, the release status flag is set to true
R-GCX016-cbl-04101 Calculate Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Release Quantities' is invoked, and assuming that a disposition code has been identified as a release type, when release quantities are calculated, the desired outcome is that the quantity associated with the release code is added to the total release quantity counter.
💻 Technical Criteria
Given A disposition code has been identified as a release type
When Release quantities are calculated
Then The quantity associated with the release code is added to the total release quantity counter
R-GCX016-cbl-04102 PTT Code?
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Code?' is invoked, and assuming that a disposition code from the s09a array is being examined, when the disposition code type is evaluated, the desired outcome is that if the code is classified as a ptt type in the disposition code table, the ptt status flag is set to true.
💻 Technical Criteria
Given A disposition code from the S09A array is being examined
When The disposition code type is evaluated
Then If the code is classified as a PTT type in the disposition code table, the PTT status flag is set to true
R-GCX016-cbl-04103 Proceed Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed Code?' is invoked, and assuming that a disposition code from the s09a array is being examined, when the disposition code type is evaluated, the desired outcome is that if the code is classified as a proceed type in the disposition code table, the proceed status flag is set to true.
💻 Technical Criteria
Given A disposition code from the S09A array is being examined
When The disposition code type is evaluated
Then If the code is classified as a proceed type in the disposition code table, the proceed status flag is set to true
R-GCX016-cbl-04104 Arrival Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Arrival Code?' is invoked, and assuming that a disposition code from the s09a array is being examined, when the disposition code type is evaluated, the desired outcome is that if the code is classified as an arrival type in the disposition code table, the arrival status flag is set to true.
💻 Technical Criteria
Given A disposition code from the S09A array is being examined
When The disposition code type is evaluated
Then If the code is classified as an arrival type in the disposition code table, the arrival status flag is set to true
R-GCX016-cbl-04106 FDA Hold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold Code?' is invoked, and assuming that a disposition code from the s09a array is being examined, when the disposition code type is evaluated, the desired outcome is that if the code is classified as an fda hold type in the disposition code table, the fda hold status flag is set to true.
💻 Technical Criteria
Given A disposition code from the S09A array is being examined
When The disposition code type is evaluated
Then If the code is classified as an FDA hold type in the disposition code table, the FDA hold status flag is set to true
R-GCX016-cbl-04314 Set Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Flag' is invoked, and assuming that a release disposition code is identified in the status array, when the system processes the release code, the desired outcome is that the release flag is set to true and release quantities are updated based on the disposition code.
💻 Technical Criteria
Given A release disposition code is identified in the status array
When The system processes the release code
Then The release flag is set to true and release quantities are updated based on the disposition code
R-GCX016-cbl-04320 Set Arrival Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Arrival Flag' is invoked, and assuming that an arrival disposition code is identified in the status array, when the system processes the arrival code, the desired outcome is that the arrival flag is set to true.
💻 Technical Criteria
Given An arrival disposition code is identified in the status array
When The system processes the arrival code
Then The arrival flag is set to true
R-GCX016-cbl-04468 Set Array Index to First Element
Process Rules
📊 Business Logic Narrative
When the process 'Set Array Index to First Element' is invoked, and assuming that the s09a status array exists and contains elements, when the system begins array processing, the desired outcome is that the array index is set to position 1 to start processing from the first element.
💻 Technical Criteria
Given The S09A status array exists and contains elements
When The system begins array processing
Then The array index is set to position 1 to start processing from the first element
R-GCX016-cbl-04469 More Elements in S09A Array?
Decision Rules
📊 Business Logic Narrative
When the process 'More Elements in S09A Array?' is invoked, and assuming that the system is processing the s09a status array, when the system checks the current array index position, the desired outcome is that if the current index is within the array bounds, continue processing; otherwise, complete the analysis.
💻 Technical Criteria
Given The system is processing the S09A status array
When The system checks the current array index position
Then If the current index is within the array bounds, continue processing; otherwise, complete the analysis
R-GCX016-cbl-04470 Get Current Array Element
Process Rules
📊 Business Logic Narrative
When the process 'Get Current Array Element' is invoked, and assuming that the array index points to a valid position in the s09a array, when the system processes the current array element, the desired outcome is that the current array element is retrieved and made available for disposition code analysis.
💻 Technical Criteria
Given The array index points to a valid position in the S09A array
When The system processes the current array element
Then The current array element is retrieved and made available for disposition code analysis
R-GCX016-cbl-04471 Extract Disposition Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Disposition Code' is invoked, and assuming that a valid s09a array element is being processed, when the system analyzes the array element structure, the desired outcome is that the disposition code is extracted from the element and made available for classification.
💻 Technical Criteria
Given A valid S09A array element is being processed
When The system analyzes the array element structure
Then The disposition code is extracted from the element and made available for classification
R-GCX016-cbl-04472 Extract Status Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Status Information' is invoked, and assuming that a disposition code has been extracted from the array element, when the system continues element analysis, the desired outcome is that status information including flags and indicators are extracted from the element.
💻 Technical Criteria
Given A disposition code has been extracted from the array element
When The system continues element analysis
Then Status information including flags and indicators are extracted from the element
R-GCX016-cbl-04475 Is Hold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Hold Code?' is invoked, and assuming that a disposition code has been extracted from the s09a array element, when the system evaluates the disposition code type, the desired outcome is that if the disposition code indicates a hold status, set the hold processing flag; otherwise, continue to release code evaluation.
💻 Technical Criteria
Given A disposition code has been extracted from the S09A array element
When The system evaluates the disposition code type
Then If the disposition code indicates a hold status, set the hold processing flag; otherwise, continue to release code evaluation
R-GCX016-cbl-04480 Is Release Code?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Release Code?', assuming that the disposition code is not a hold code, when the system evaluates the disposition code for release status, the desired outcome is that if the disposition code indicates a release status, set the release processing flag; otherwise, continue to ptt code evaluation.
💻 Technical Criteria
EXCLUDING The disposition code is not a hold code
When The system evaluates the disposition code for release status
Then If the disposition code indicates a release status, set the release processing flag; otherwise, continue to PTT code evaluation
R-GCX016-cbl-04482 Update Release Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Update Release Quantity' is invoked, and assuming that a release status flag has been set and quantity information is available, when the system processes the release quantity, the desired outcome is that the release quantity is updated by adding or subtracting the specified quantity amount.
💻 Technical Criteria
Given A release status flag has been set and quantity information is available
When The system processes the release quantity
Then The release quantity is updated by adding or subtracting the specified quantity amount
R-GCX016-cbl-04483 Is PTT Code?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is PTT Code?', assuming that the disposition code is not a release code, when the system evaluates the disposition code for ptt status, the desired outcome is that if the disposition code indicates ptt status, set the ptt processing flag; otherwise, continue to proceed code evaluation.
💻 Technical Criteria
EXCLUDING The disposition code is not a release code
When The system evaluates the disposition code for PTT status
Then If the disposition code indicates PTT status, set the PTT processing flag; otherwise, continue to proceed code evaluation
R-GCX016-cbl-04486 Is Proceed Code?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Proceed Code?', assuming that the disposition code is not a ptt code, when the system evaluates the disposition code for proceed status, the desired outcome is that if the disposition code indicates proceed status, set the proceed processing flag; otherwise, continue to arrival code evaluation.
💻 Technical Criteria
EXCLUDING The disposition code is not a PTT code
When The system evaluates the disposition code for proceed status
Then If the disposition code indicates proceed status, set the proceed processing flag; otherwise, continue to arrival code evaluation
R-GCX016-cbl-04496 Complete Status Determination
Process Rules
📊 Business Logic Narrative
When the process 'Complete Status Determination' is invoked, and assuming that all elements in the s09a status array have been processed, when the system reaches the end of the array, the desired outcome is that the status determination analysis is marked as complete with all flags and counters finalized.
💻 Technical Criteria
Given All elements in the S09A status array have been processed
When The system reaches the end of the array
Then The status determination analysis is marked as complete with all flags and counters finalized
R-GCX016-cbl-04671 Is Status Info Code Valid Format?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Status Info Code Valid Format?' is invoked, and assuming that a disposition code has been extracted from the status array element, when the system validates the code format for length and character requirements, the desired outcome is that the system determines if the code format is valid or invalid based on predefined format rules.
💻 Technical Criteria
Given A disposition code has been extracted from the status array element
When The system validates the code format for length and character requirements
Then The system determines if the code format is valid or invalid based on predefined format rules
R-GCX016-cbl-04672 Perform DC Table Lookup via GCCTBIO
Action Rules
📊 Business Logic Narrative
When the process 'Perform DC Table Lookup via GCCTBIO' is invoked, and assuming that a valid format disposition code needs to be validated against the dc table, when the system calls gcctbio to lookup the disposition code in the gcstbrt dc table, the desired outcome is that the system searches for the disposition code and returns whether the code exists in the reference table.
💻 Technical Criteria
Given A valid format disposition code needs to be validated against the DC table
When The system calls GCCTBIO to lookup the disposition code in the GCSTBRT DC table
Then The system searches for the disposition code and returns whether the code exists in the reference table
R-GCX016-cbl-04673 Disposition Code Found in DC Table?
Decision Rules
📊 Business Logic Narrative
When the process 'Disposition Code Found in DC Table?' is invoked, and assuming that a disposition code lookup has been performed against the dc table, when the system evaluates the lookup results, the desired outcome is that the system determines if the disposition code was found in the table or not found.
💻 Technical Criteria
Given A disposition code lookup has been performed against the DC table
When The system evaluates the lookup results
Then The system determines if the disposition code was found in the table or not found
R-GCX016-cbl-04674 Extract Code Definition from DC-DESCRIPTION
Action Rules
📊 Business Logic Narrative
When the process 'Extract Code Definition from DC-DESCRIPTION' is invoked, and assuming that a disposition code has been found in the dc reference table, when the system extracts the code properties, the desired outcome is that the system retrieves the code description from dc-description, counterpart code from dc-counterpart-code, and processing instructions from the dc table.
💻 Technical Criteria
Given A disposition code has been found in the DC reference table
When The system extracts the code properties
Then The system retrieves the code description from DC-DESCRIPTION, counterpart code from DC-COUNTERPART-CODE, and processing instructions from the DC table
R-GCX016-cbl-04675 Set Code Validation Flag to Valid
Action Rules
📊 Business Logic Narrative
When the process 'Set Code Validation Flag to Valid' is invoked, and assuming that a disposition code has been successfully found in the dc table and its properties extracted, when the system completes the validation process, the desired outcome is that the system sets the code validation flag to valid status and stores the extracted code definition and properties.
💻 Technical Criteria
Given A disposition code has been successfully found in the DC table and its properties extracted
When The system completes the validation process
Then The system sets the code validation flag to valid status and stores the extracted code definition and properties
R-GCX016-cbl-04676 Log Invalid Code Format Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Invalid Code Format Error', assuming that a disposition code has been extracted from the status array, when the code format validation fails due to invalid length or character composition, the desired outcome is that the system logs an invalid code format error and sets the validation flag to invalid.
💻 Technical Criteria
EXCLUDING A disposition code has been extracted from the status array
When The code format validation fails due to invalid length or character composition
Then The system logs an invalid code format error and sets the validation flag to invalid
R-GCX016-cbl-04677 Log Code Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Code Not Found Error', assuming that a valid format disposition code has been looked up in the dc table, when the disposition code is not found in the reference table, the desired outcome is that the system logs a code not found error and sets the validation flag to invalid.
💻 Technical Criteria
EXCLUDING A valid format disposition code has been looked up in the DC table
When The disposition code is not found in the reference table
Then The system logs a code not found error and sets the validation flag to invalid
R-GCX016-cbl-04678 Extract Status Info Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Status Info Code' is invoked, and assuming that a s09a array element is being processed, when the system accesses the status information code field, the desired outcome is that the status code is extracted and made available for further processing.
💻 Technical Criteria
Given A S09A array element is being processed
When The system accesses the status information code field
Then The status code is extracted and made available for further processing
R-GCX016-cbl-04684 Extract Released Flag
Process Rules
📊 Business Logic Narrative
When the process 'Extract Released Flag' is invoked, and assuming that status information contains release flag data, when the system processes the released flag field, the desired outcome is that the released flag status is extracted and stored for release processing logic.
💻 Technical Criteria
Given Status information contains release flag data
When The system processes the released flag field
Then The released flag status is extracted and stored for release processing logic
R-GCX016-cbl-04685 Extract Hold Flag
Process Rules
📊 Business Logic Narrative
When the process 'Extract Hold Flag' is invoked, and assuming that status information contains hold flag data, when the system processes the hold flag field, the desired outcome is that the hold flag status is extracted and stored for hold processing logic.
💻 Technical Criteria
Given Status information contains hold flag data
When The system processes the hold flag field
Then The hold flag status is extracted and stored for hold processing logic
R-GCX016-cbl-04686 Extract PTT Flag
Process Rules
📊 Business Logic Narrative
When the process 'Extract PTT Flag' is invoked, and assuming that status information contains ptt flag data, when the system processes the ptt flag field, the desired outcome is that the ptt flag status is extracted and stored for transfer processing logic.
💻 Technical Criteria
Given Status information contains PTT flag data
When The system processes the PTT flag field
Then The PTT flag status is extracted and stored for transfer processing logic
R-GCX016-cbl-04687 Extract Proceed Flag
Process Rules
📊 Business Logic Narrative
When the process 'Extract Proceed Flag' is invoked, and assuming that status information contains proceed flag data, when the system processes the proceed flag field, the desired outcome is that the proceed flag status is extracted and stored for proceed processing logic.
💻 Technical Criteria
Given Status information contains proceed flag data
When The system processes the proceed flag field
Then The proceed flag status is extracted and stored for proceed processing logic
R-GCX016-cbl-04688 Parse Regulatory Indicators
Process Rules
📊 Business Logic Narrative
When the process 'Parse Regulatory Indicators' is invoked, and assuming that status information contains regulatory indicator data, when the system processes regulatory indicator fields, the desired outcome is that regulatory indicators are parsed and prepared for compliance processing.
💻 Technical Criteria
Given Status information contains regulatory indicator data
When The system processes regulatory indicator fields
Then Regulatory indicators are parsed and prepared for compliance processing
R-GCX016-cbl-04689 Extract FDA Hold Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Extract FDA Hold Indicator' is invoked, and assuming that status information contains fda regulatory data, when the system processes the fda hold indicator field, the desired outcome is that the fda hold indicator is extracted and stored for fda compliance processing.
💻 Technical Criteria
Given Status information contains FDA regulatory data
When The system processes the FDA hold indicator field
Then The FDA hold indicator is extracted and stored for FDA compliance processing
R-GCX016-cbl-04691 Extract Seizure Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Extract Seizure Indicator' is invoked, and assuming that status information contains seizure indicator data, when the system processes the seizure indicator field, the desired outcome is that the seizure indicator is extracted and stored for seizure processing logic.
💻 Technical Criteria
Given Status information contains seizure indicator data
When The system processes the seizure indicator field
Then The seizure indicator is extracted and stored for seizure processing logic
R-GCX016-cbl-04693 Extract Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Quantity Information' is invoked, and assuming that status information contains quantity data, when the system processes quantity fields, the desired outcome is that quantity information is extracted and stored for quantity-based processing logic.
💻 Technical Criteria
Given Status information contains quantity data
When The system processes quantity fields
Then Quantity information is extracted and stored for quantity-based processing logic
R-GCX016-cbl-04694 Extract Date Stamps
Process Rules
📊 Business Logic Narrative
When the process 'Extract Date Stamps' is invoked, and assuming that status information contains date stamp data, when the system processes date stamp fields, the desired outcome is that date stamps are extracted and stored for time-based processing logic.
💻 Technical Criteria
Given Status information contains date stamp data
When The system processes date stamp fields
Then Date stamps are extracted and stored for time-based processing logic
R-GCX016-cbl-04695 Validate Status Consistency
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Status Consistency' is invoked, and assuming that all status information has been extracted from the array element, when the system performs consistency validation checks, the desired outcome is that the system determines if the status information is valid and consistent for processing.
💻 Technical Criteria
Given All status information has been extracted from the array element
When The system performs consistency validation checks
Then The system determines if the status information is valid and consistent for processing
R-GCX016-cbl-04698 Log Invalid Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Invalid Status', assuming that status information has been determined to be invalid or inconsistent, when the system encounters invalid status data, the desired outcome is that the invalid status information is logged for audit purposes and error tracking.
💻 Technical Criteria
EXCLUDING Status information has been determined to be invalid or inconsistent
When The system encounters invalid status data
Then The invalid status information is logged for audit purposes and error tracking
R-GCX016-cbl-04499 Apply Hold Priority Rule
Policy Rules
📊 Business Logic Narrative
When the process 'Apply Hold Priority Rule' is invoked, and assuming that a hold/release conflict exists and both hold and release flags are set, when the system applies conflict resolution rules, the desired outcome is that hold flags take priority and release flags are overridden and hold status is preserved.
💻 Technical Criteria
Given A hold/release conflict exists AND both hold and release flags are set
When The system applies conflict resolution rules
Then Hold flags take priority AND release flags are overridden AND hold status is preserved
R-GCX016-cbl-04502 Preserve PTT Status
Action Rules
📊 Business Logic Narrative
When the process 'Preserve PTT Status' is invoked, and assuming that ptt flag is set and ptt quantity validation has been performed and ptt quantities are determined to be valid, when the system processes valid ptt quantities, the desired outcome is that ptt status is preserved and ptt flag remains active.
💻 Technical Criteria
Given PTT flag is set AND PTT quantity validation has been performed AND PTT quantities are determined to be valid
When The system processes valid PTT quantities
Then PTT status is preserved AND PTT flag remains active
R-GCX016-cbl-04505 Override Other Release Flags
Action Rules
📊 Business Logic Narrative
When the process 'Override Other Release Flags' is invoked, and assuming that fda hold priority has been established and other release flags are currently set, when the system applies fda override logic, the desired outcome is that all other release flags are overridden and cleared by fda hold priority.
💻 Technical Criteria
Given FDA hold priority has been established AND other release flags are currently set
When The system applies FDA override logic
Then All other release flags are overridden AND cleared by FDA hold priority
R-GCX016-cbl-04513 Multiple Conflicting States?
Decision Rules
📊 Business Logic Narrative
When the process 'Multiple Conflicting States?' is invoked, and assuming that final status determination is in progress and multiple status flags are set, when the system evaluates flag combinations for conflicts, the desired outcome is that multiple conflicting states exist when incompatible status flags are simultaneously active and no conflicts exist when status flags are compatible.
💻 Technical Criteria
Given Final status determination is in progress AND multiple status flags are set
When The system evaluates flag combinations for conflicts
Then Multiple conflicting states exist when incompatible status flags are simultaneously active AND no conflicts exist when status flags are compatible
R-GCX016-cbl-04514 Apply Business Rule Priority
Policy Rules
📊 Business Logic Narrative
When the process 'Apply Business Rule Priority' is invoked, and assuming that multiple conflicting states have been detected and business rule priorities are defined, when the system resolves status conflicts, the desired outcome is that highest priority business rule is applied and lower priority rules are subordinated according to established hierarchy.
💻 Technical Criteria
Given Multiple conflicting states have been detected AND business rule priorities are defined
When The system resolves status conflicts
Then Highest priority business rule is applied AND lower priority rules are subordinated according to established hierarchy
R-GCX016-cbl-04516 Clear Conflicting Flags
Action Rules
📊 Business Logic Narrative
When the process 'Clear Conflicting Flags' is invoked, and assuming that primary status flag has been set and conflicting flags still exist, when the system completes conflict resolution, the desired outcome is that all conflicting flags are cleared and only the primary status flag remains active.
💻 Technical Criteria
Given Primary status flag has been set AND conflicting flags still exist
When The system completes conflict resolution
Then All conflicting flags are cleared AND only the primary status flag remains active
R-GCX016-cbl-04528 Log Coordination Complete
Process Rules
📊 Business Logic Narrative
When the process 'Log Coordination Complete' is invoked, and assuming that notification has been sent to canadian system, when the system logs coordination completion, the desired outcome is that the system records successful coordination completion with timestamp and processing details.
💻 Technical Criteria
Given Notification has been sent to Canadian system
When The system logs coordination completion
Then The system records successful coordination completion with timestamp and processing details
R-GCX016-cbl-04534 Convert Current Date to Julian Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Current Date to Julian Format' is invoked, and assuming that the current system date is available, when age calculation is being performed, the desired outcome is that convert the current system date to julian format using the date conversion utility.
💻 Technical Criteria
Given The current system date is available
When Age calculation is being performed
Then Convert the current system date to Julian format using the date conversion utility
R-GCX016-cbl-00388 Quantity Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Action Type?' is invoked, and assuming that a disposition code has been validated to contain quantity action, when the system evaluates the disposition code action type, the desired outcome is that the system should determine if the action is add_quantity or subtract_quantity based on the disposition code type.
💻 Technical Criteria
Given A disposition code has been validated to contain quantity action
When The system evaluates the disposition code action type
Then The system should determine if the action is ADD_QUANTITY or SUBTRACT_QUANTITY based on the disposition code type
R-GCX016-cbl-00389 Add Quantity to Released Amount
Computation Rules
📊 Business Logic Narrative
When the process 'Add Quantity to Released Amount' is invoked, and assuming that the disposition code action type is add_quantity and current released quantity exists, when the system processes the quantity addition, the desired outcome is that the system should add the disposition code quantity to the current released quantity.
💻 Technical Criteria
Given The disposition code action type is ADD_QUANTITY and current released quantity exists
When The system processes the quantity addition
Then The system should add the disposition code quantity to the current released quantity
R-GCX016-cbl-00390 Subtract Quantity from Released Amount
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract Quantity from Released Amount' is invoked, and assuming that the disposition code action type is subtract_quantity and current released quantity exists, when the system processes the quantity subtraction, the desired outcome is that the system should subtract the disposition code quantity from the current released quantity.
💻 Technical Criteria
Given The disposition code action type is SUBTRACT_QUANTITY and current released quantity exists
When The system processes the quantity subtraction
Then The system should subtract the disposition code quantity from the current released quantity
R-GCX016-cbl-00391 Released Quantity Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Released Quantity Valid?' is invoked, and assuming that a quantity operation has been performed on released quantity, when the system validates the resulting released quantity, the desired outcome is that the system should check if the released quantity is negative and flag invalid results.
💻 Technical Criteria
Given A quantity operation has been performed on released quantity
When The system validates the resulting released quantity
Then The system should check if the released quantity is negative and flag invalid results
R-GCX016-cbl-00404 Broker Configured for Notifications?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Configured for Notifications?' is invoked, and assuming that broker information has been retrieved from broker tables, when system checks broker notification configuration settings, the desired outcome is that system proceeds with notification only if broker is configured for notifications, otherwise skips notification process.
💻 Technical Criteria
Given Broker information has been retrieved from broker tables
When System checks broker notification configuration settings
Then System proceeds with notification only if broker is configured for notifications, otherwise skips notification process
R-GCX016-cbl-00405 Validate Disposition Code for Broker Notifications
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Disposition Code for Broker Notifications' is invoked, and assuming that broker is configured for notifications and quantity mismatch exists, when system validates the disposition code against notification criteria, the desired outcome is that system proceeds with notification preparation only if disposition code is valid for broker notifications.
💻 Technical Criteria
Given Broker is configured for notifications and quantity mismatch exists
When System validates the disposition code against notification criteria
Then System proceeds with notification preparation only if disposition code is valid for broker notifications
R-GCX016-cbl-00407 Include Broker Entry Numbers and Quantities
Process Rules
📊 Business Logic Narrative
When the process 'Include Broker Entry Numbers and Quantities' is invoked, and assuming that email message preparation is in progress, when system formats the message content, the desired outcome is that system includes broker entry numbers, expected quantities, actual quantities, and variance details in the notification.
💻 Technical Criteria
Given Email message preparation is in progress
When System formats the message content
Then System includes broker entry numbers, expected quantities, actual quantities, and variance details in the notification
R-GCX016-cbl-00413 Send Notification to Broker
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification to Broker' is invoked, and assuming that email keywords have been set for categorization, when system sends the notification, the desired outcome is that system delivers notification to broker through selected method and confirms successful transmission.
💻 Technical Criteria
Given Email keywords have been set for categorization
When System sends the notification
Then System delivers notification to broker through selected method and confirms successful transmission
R-GCX016-cbl-00414 Log Notification Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log Notification Activity' is invoked, and assuming that notification has been sent to broker, when system logs the activity, the desired outcome is that system records notification details including timestamp, broker id, notification method, message content summary, and delivery status in audit logs.
💻 Technical Criteria
Given Notification has been sent to broker
When System logs the activity
Then System records notification details including timestamp, broker ID, notification method, message content summary, and delivery status in audit logs
R-GCX016-cbl-00417 110: Broker Information Lookup
Action Rules
📊 Business Logic Narrative
When the process '110: Broker Information Lookup' is invoked, and assuming that the disposition code is configured for broker notification, when the system performs broker lookup using broker identification keys, the desired outcome is that the system retrieves broker contact information and sets broker found status flags.
💻 Technical Criteria
Given The disposition code is configured for broker notification
When The system performs broker lookup using broker identification keys
Then The system retrieves broker contact information and sets broker found status flags
R-GCX016-cbl-00418 Retrieve Broker Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Broker Contact Information' is invoked, and assuming that a broker record has been found in the broker tables, when the system accesses the broker contact information fields, the desired outcome is that the system retrieves email addresses, merlin ids, and notification preferences for the broker.
💻 Technical Criteria
Given A broker record has been found in the broker tables
When The system accesses the broker contact information fields
Then The system retrieves email addresses, Merlin IDs, and notification preferences for the broker
R-GCX016-cbl-00419 111: Email vs Merlin Routing
Decision Rules
📊 Business Logic Narrative
When the process '111: Email vs Merlin Routing' is invoked, and assuming that broker contact information has been retrieved successfully, when the system evaluates broker notification preferences and available contact methods, the desired outcome is that the system selects either email or merlin messaging as the notification delivery method.
💻 Technical Criteria
Given Broker contact information has been retrieved successfully
When The system evaluates broker notification preferences and available contact methods
Then The system selects either email or Merlin messaging as the notification delivery method
R-GCX016-cbl-00421 Set Email Keywords for CIH Hold
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Keywords for CIH Hold' is invoked, and assuming that the cih hold email message content has been prepared, when the system configures email routing and keyword parameters, the desired outcome is that the system sets appropriate email keywords, routing codes, and delivery parameters specific to cih hold notifications.
💻 Technical Criteria
Given The CIH hold email message content has been prepared
When The system configures email routing and keyword parameters
Then The system sets appropriate email keywords, routing codes, and delivery parameters specific to CIH hold notifications
R-GCX016-cbl-00423 Send Email to Broker
Action Rules
📊 Business Logic Narrative
When the process 'Send Email to Broker' is invoked, and assuming that the cih hold email message and subject line have been formatted completely, when the system initiates email transmission to the broker, the desired outcome is that the system sends the email notification and logs the transmission status.
💻 Technical Criteria
Given The CIH hold email message and subject line have been formatted completely
When The system initiates email transmission to the broker
Then The system sends the email notification and logs the transmission status
R-GCX016-cbl-00428 Skip Notification - Broker Not Found
Decision Rules
📊 Business Logic Narrative
When the process 'Skip Notification - Broker Not Found' is invoked, and assuming that the disposition code is configured for broker notification, when the broker information cannot be found in the broker tables, the desired outcome is that the system skips notification processing and logs the missing broker condition.
💻 Technical Criteria
Given The disposition code is configured for broker notification
When The broker information cannot be found in the broker tables
Then The system skips notification processing and logs the missing broker condition
R-GCX016-cbl-00431 98: Broker Name Resolution
Action Rules
📊 Business Logic Narrative
When the process '98: Broker Name Resolution' is invoked, and assuming that a valid payer of freight entity has been identified, when the system performs broker name lookup using pf= prefix in gcstbrt broker tables, the desired outcome is that the system retrieves the corresponding broker short name for the payer entity.
💻 Technical Criteria
Given A valid payer of freight entity has been identified
When The system performs broker name lookup using PF= prefix in GCSTBRT broker tables
Then The system retrieves the corresponding broker short name for the payer entity
R-GCX016-cbl-00432 Valid Payer Entity?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Payer Entity?' is invoked, and assuming that broker name resolution has been attempted for the payer of freight, when the system evaluates the validity of the resolved payer entity, the desired outcome is that the system proceeds with cih hold notification preparation if valid, otherwise skips notification.
💻 Technical Criteria
Given Broker name resolution has been attempted for the payer of freight
When The system evaluates the validity of the resolved payer entity
Then The system proceeds with CIH hold notification preparation if valid, otherwise skips notification
R-GCX016-cbl-00438 Send Notification to Payer
Process Rules
📊 Business Logic Narrative
When the process 'Send Notification to Payer' is invoked, and assuming that a routing method has been determined for the cih hold notification, when the system sends the notification to the payer of freight, the desired outcome is that the system delivers the notification and logs the successful transmission.
💻 Technical Criteria
Given A routing method has been determined for the CIH hold notification
When The system sends the notification to the payer of freight
Then The system delivers the notification and logs the successful transmission
R-GCX016-cbl-00439 Validate 3W Disposition Code in DC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate 3W Disposition Code in DC Table' is invoked, and assuming that an x4 segment is received with a 3w disposition code, when the system validates the 3w disposition code against the dc table, the desired outcome is that the system confirms the code is valid and allows diversion processing to continue, or generates an error if the code is not found in the table.
💻 Technical Criteria
Given An X4 segment is received with a 3W disposition code
When The system validates the 3W disposition code against the DC table
Then The system confirms the code is valid and allows diversion processing to continue, or generates an error if the code is not found in the table
R-GCX016-cbl-00445 Generate Diversion Approval Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Diversion Approval Notification' is invoked, and assuming that the diversion approval action has been logged, when the system processes notifications, the desired outcome is that the system generates and sends diversion approval notifications to brokers, carriers, and other relevant parties.
💻 Technical Criteria
Given The diversion approval action has been logged
When The system processes notifications
Then The system generates and sends diversion approval notifications to brokers, carriers, and other relevant parties
R-GCX016-cbl-00447 Generate Error Message - Invalid 3W Code
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message - Invalid 3W Code', assuming that an x4 segment is received with a 3w disposition code, when the 3w disposition code is not found in the dc table, the desired outcome is that the system generates an error message indicating invalid 3w disposition code and stops diversion processing.
💻 Technical Criteria
EXCLUDING An X4 segment is received with a 3W disposition code
When The 3W disposition code is not found in the DC table
Then The system generates an error message indicating invalid 3W disposition code and stops diversion processing
R-GCX016-cbl-00449 Validate Disposition Code 02 in DC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Disposition Code 02 in DC Table' is invoked, and assuming that a disposition code 02 is received for processing, when the system looks up the disposition code in the dc table, the desired outcome is that the system confirms the code exists and retrieves its properties, or generates an error if not found.
💻 Technical Criteria
Given A disposition code 02 is received for processing
When The system looks up the disposition code in the DC table
Then The system confirms the code exists and retrieves its properties, or generates an error if not found
R-GCX016-cbl-00450 Retrieve Code Properties and Counterpart Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Retrieve Code Properties and Counterpart Information' is invoked, and assuming that a valid disposition code 02 is found in the dc table, when the system retrieves the code properties, the desired outcome is that the system loads counterpart disposition codes, release flags, and processing instructions for the code.
💻 Technical Criteria
Given A valid disposition code 02 is found in the DC table
When The system retrieves the code properties
Then The system loads counterpart disposition codes, release flags, and processing instructions for the code
R-GCX016-cbl-00454 Calculate Release Quantity Impact
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Release Quantity Impact' is invoked, and assuming that a valid disposition code 02 with quantity information, when the system calculates the quantity impact, the desired outcome is that the system determines whether to add or subtract from existing release quantities based on the disposition code action.
💻 Technical Criteria
Given A valid disposition code 02 with quantity information
When The system calculates the quantity impact
Then The system determines whether to add or subtract from existing release quantities based on the disposition code action
R-GCX016-cbl-00455 Add Release Code to Status Array with Released Flag
Process Rules
📊 Business Logic Narrative
When the process 'Add Release Code to Status Array with Released Flag' is invoked, and assuming that a validated disposition code 02 with calculated quantity impact, when the system adds the code to the status array, the desired outcome is that the code is added with released flag set to true and quantity information included.
💻 Technical Criteria
Given A validated disposition code 02 with calculated quantity impact
When The system adds the code to the status array
Then The code is added with released flag set to true and quantity information included
R-GCX016-cbl-00464 Generate Error Message for Invalid Code
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message for Invalid Code', assuming that a disposition code 02 cannot be found in the dc table, when the system processes the invalid code, the desired outcome is that an error message is generated indicating the disposition code is not valid in the system.
💻 Technical Criteria
EXCLUDING A disposition code 02 cannot be found in the DC table
When The system processes the invalid code
Then An error message is generated indicating the disposition code is not valid in the system
R-GCX016-cbl-00465 Generate Error Message for Quantity Mismatch
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error Message for Quantity Mismatch' is invoked, and assuming that quantity information in disposition code 02 fails validation, when the system detects the quantity mismatch, the desired outcome is that an error message is generated indicating the quantity validation failure.
💻 Technical Criteria
Given Quantity information in disposition code 02 fails validation
When The system detects the quantity mismatch
Then An error message is generated indicating the quantity validation failure
R-GCX016-cbl-00469 Process Release Code 50
Process Rules
📊 Business Logic Narrative
When the process 'Process Release Code 50' is invoked, and assuming that disposition code 50 is received and release conditions are validated, when the system processes the standard release request, the desired outcome is that standard release processing is performed, status array is updated, and release quantities are calculated.
💻 Technical Criteria
Given Disposition code 50 is received and release conditions are validated
When The system processes the standard release request
Then Standard release processing is performed, status array is updated, and release quantities are calculated
R-GCX016-cbl-00470 Process Release Code 51
Process Rules
📊 Business Logic Narrative
When the process 'Process Release Code 51' is invoked, and assuming that disposition code 51 is received and release conditions are validated, when the system processes the conditional release request, the desired outcome is that conditional release processing is performed with additional validation checks, status array is updated, and release quantities are calculated.
💻 Technical Criteria
Given Disposition code 51 is received and release conditions are validated
When The system processes the conditional release request
Then Conditional release processing is performed with additional validation checks, status array is updated, and release quantities are calculated
R-GCX016-cbl-00471 Process Release Code 52
Process Rules
📊 Business Logic Narrative
When the process 'Process Release Code 52' is invoked, and assuming that disposition code 52 is received and release conditions are validated, when the system processes the special release request, the desired outcome is that special release processing is performed with enhanced validation and handling, status array is updated, and release quantities are calculated.
💻 Technical Criteria
Given Disposition code 52 is received and release conditions are validated
When The system processes the special release request
Then Special release processing is performed with enhanced validation and handling, status array is updated, and release quantities are calculated
R-GCX016-cbl-00472 Calculate Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Release Quantities' is invoked, and assuming that a release code has been processed and status array is updated, when the system calculates release quantities based on the disposition code action, the desired outcome is that release quantities are calculated using add_quantity or subtract_quantity logic, ensuring quantities do not go below zero.
💻 Technical Criteria
Given A release code has been processed and status array is updated
When The system calculates release quantities based on the disposition code action
Then Release quantities are calculated using ADD_QUANTITY or SUBTRACT_QUANTITY logic, ensuring quantities do not go below zero
R-GCX016-cbl-00473 Remove Counterpart Codes
Process Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Codes' is invoked, and assuming that release quantities have been calculated, when the system processes counterpart codes in the status array, the desired outcome is that counterpart disposition codes are removed from the status array to prevent conflicts with the new release status.
💻 Technical Criteria
Given Release quantities have been calculated
When The system processes counterpart codes in the status array
Then Counterpart disposition codes are removed from the status array to prevent conflicts with the new release status
R-GCX016-cbl-00477 Disposition Code = 66, 67, or 68?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code = 66, 67, or 68?' is invoked, and assuming that an x4 segment is received with a disposition code, when the disposition code is evaluated for hold and examination processing, the desired outcome is that the system should only process codes 66 (hold for examination), 67 (intensive examination), or 68 (x-ray examination) and skip all other codes.
💻 Technical Criteria
Given An X4 segment is received with a disposition code
When The disposition code is evaluated for hold and examination processing
Then The system should only process codes 66 (Hold for Examination), 67 (Intensive Examination), or 68 (X-Ray Examination) and skip all other codes
R-GCX016-cbl-00478 Retrieve Disposition Code Details from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Disposition Code Details from DC Table' is invoked, and assuming that a valid disposition code (66, 67, or 68) has been identified, when the system needs to process the disposition code, the desired outcome is that the system should retrieve the disposition code details from the dc table including code description and processing instructions.
💻 Technical Criteria
Given A valid disposition code (66, 67, or 68) has been identified
When The system needs to process the disposition code
Then The system should retrieve the disposition code details from the DC table including code description and processing instructions
R-GCX016-cbl-00496 218: Disposition Code Table Lookup
Validation Rules
📊 Business Logic Narrative
When the process '218: Disposition Code Table Lookup' is invoked, and assuming that an x4 segment contains disposition code 88, 89, or 90, when the system performs disposition code table lookup, the desired outcome is that the system retrieves code properties and processing instructions from gcstbrt table.
💻 Technical Criteria
Given An X4 segment contains disposition code 88, 89, or 90
When The system performs disposition code table lookup
Then The system retrieves code properties and processing instructions from GCSTBRT table
R-GCX016-cbl-00497 Code Found in DC Table?
Decision Rules
📊 Business Logic Narrative
When the process 'Code Found in DC Table?' is invoked, and assuming that a disposition code 88, 89, or 90 is being processed, when the system checks the disposition code table, the desired outcome is that if the code is found, processing continues with code properties; if not found, error handling is triggered.
💻 Technical Criteria
Given A disposition code 88, 89, or 90 is being processed
When The system checks the disposition code table
Then If the code is found, processing continues with code properties; if not found, error handling is triggered
R-GCX016-cbl-00504 228: Disposition Code Error Handling
Action Rules
📊 Business Logic Narrative
When the process '228: Disposition Code Error Handling' is invoked, and assuming that a disposition code 88, 89, or 90 cannot be found in the system or fails validation, when the system encounters an error during processing, the desired outcome is that error handling procedures are invoked including error logging, notification generation, and appropriate error status setting.
💻 Technical Criteria
Given A disposition code 88, 89, or 90 cannot be found in the system or fails validation
When The system encounters an error during processing
Then Error handling procedures are invoked including error logging, notification generation, and appropriate error status setting
R-GCX016-cbl-00505 Validate DC 95 in System Tables
Validation Rules
📊 Business Logic Narrative
When the process 'Validate DC 95 in System Tables' is invoked, and assuming that a disposition code 95 is received for processing, when the system looks up the disposition code in the gcstbrt disposition code table, the desired outcome is that the system confirms the code exists and is valid for special processing, or flags it as invalid if not found.
💻 Technical Criteria
Given A disposition code 95 is received for processing
When The system looks up the disposition code in the GCSTBRT disposition code table
Then The system confirms the code exists and is valid for special processing, or flags it as invalid if not found
R-GCX016-cbl-00516 Error: Invalid DC 95
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Error: Invalid DC 95', assuming that a disposition code 95 that fails validation in system tables, when the system attempts to process the invalid disposition code, the desired outcome is that the system generates an error message indicating invalid disposition code and stops processing.
💻 Technical Criteria
EXCLUDING A disposition code 95 that fails validation in system tables
When The system attempts to process the invalid disposition code
Then The system generates an error message indicating invalid disposition code and stops processing
R-GCX016-cbl-00520 Process FDA Reference Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Process FDA Reference Numbers' is invoked, and assuming that n9 segments are available and contain fda reference information, when the system processes the n9 segments for fda compliance, the desired outcome is that the system extracts fda reference numbers and prepares them for qualifier validation.
💻 Technical Criteria
Given N9 segments are available and contain FDA reference information
When The system processes the N9 segments for FDA compliance
Then The system extracts FDA reference numbers and prepares them for qualifier validation
R-GCX016-cbl-00521 Extract FDA Qualifier Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract FDA Qualifier Information' is invoked, and assuming that fda reference numbers have been processed from n9 segments, when the system extracts qualifier information from the n9 segments, the desired outcome is that the system obtains fda qualifier codes and associated compliance data for validation.
💻 Technical Criteria
Given FDA reference numbers have been processed from N9 segments
When The system extracts qualifier information from the N9 segments
Then The system obtains FDA qualifier codes and associated compliance data for validation
R-GCX016-cbl-00522 Validate FDA Compliance Requirements
Policy Rules
📊 Business Logic Narrative
When the process 'Validate FDA Compliance Requirements' is invoked, and assuming that fda qualifier information and reference numbers have been extracted from n9 segments, when the system validates fda compliance requirements, the desired outcome is that the system determines if all fda requirements are met based on the qualifier codes and reference data.
💻 Technical Criteria
Given FDA qualifier information and reference numbers have been extracted from N9 segments
When The system validates FDA compliance requirements
Then The system determines if all FDA requirements are met based on the qualifier codes and reference data
R-GCX016-cbl-00529 Generate FDA Compliance Error
Action Rules
📊 Business Logic Narrative
When the process 'Generate FDA Compliance Error' is invoked, and assuming that fda processing has encountered validation failures or missing required information, when fda compliance cannot be validated or n9 segments are unavailable, the desired outcome is that the system generates fda compliance error with specific details about the failure.
💻 Technical Criteria
Given FDA processing has encountered validation failures or missing required information
When FDA compliance cannot be validated or N9 segments are unavailable
Then The system generates FDA compliance error with specific details about the failure
R-GCX016-cbl-00532 Check AECWRKTB Table for KCSM Configuration
Validation Rules
📊 Business Logic Narrative
When the process 'Check AECWRKTB Table for KCSM Configuration' is invoked, and assuming that a disposition code has been identified as potentially kcsm-eligible, when the system queries the aecwrktb table for kcsm configuration parameters, the desired outcome is that the system retrieves the kcsm processing configuration and routing information for the disposition code.
💻 Technical Criteria
Given A disposition code has been identified as potentially KCSM-eligible
When The system queries the AECWRKTB table for KCSM configuration parameters
Then The system retrieves the KCSM processing configuration and routing information for the disposition code
R-GCX016-cbl-00533 KCSM Processing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Processing Required?' is invoked, and assuming that kcsm configuration has been retrieved from aecwrktb table, when the system evaluates the configuration settings against current message context, the desired outcome is that the system decides to either proceed with kcsm processing or skip it entirely.
💻 Technical Criteria
Given KCSM configuration has been retrieved from AECWRKTB table
When The system evaluates the configuration settings against current message context
Then The system decides to either proceed with KCSM processing or skip it entirely
R-GCX016-cbl-00534 Copy Current EDI 350 Message
Process Rules
📊 Business Logic Narrative
When the process 'Copy Current EDI 350 Message' is invoked, and assuming that kcsm processing has been determined as required, when the system initiates kcsm message preparation, the desired outcome is that the system creates a complete copy of the original edi 350 message preserving all segment data and structure.
💻 Technical Criteria
Given KCSM processing has been determined as required
When The system initiates KCSM message preparation
Then The system creates a complete copy of the original EDI 350 message preserving all segment data and structure
R-GCX016-cbl-00535 Create Transmission Root Segment A9RT
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment A9RT' is invoked, and assuming that an edi 350 message copy has been created for kcsm processing, when the system creates the transmission structure, the desired outcome is that the system generates an a9rt root segment with proper transmission identifiers and routing information.
💻 Technical Criteria
Given An EDI 350 message copy has been created for KCSM processing
When The system creates the transmission structure
Then The system generates an A9RT root segment with proper transmission identifiers and routing information
R-GCX016-cbl-00536 Set KCSM Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set KCSM Transmission Parameters' is invoked, and assuming that an a9rt root segment has been created, when the system configures transmission parameters, the desired outcome is that the system sets routing codes, transmission priorities, and kcsm-specific processing flags based on configuration data.
💻 Technical Criteria
Given An A9RT root segment has been created
When The system configures transmission parameters
Then The system sets routing codes, transmission priorities, and KCSM-specific processing flags based on configuration data
R-GCX016-cbl-00537 Create Dependent Segment A9DP
Process Rules
📊 Business Logic Narrative
When the process 'Create Dependent Segment A9DP' is invoked, and assuming that kcsm transmission parameters have been configured, when the system creates dependent segments, the desired outcome is that the system generates a9dp segments containing the edi 350 message data with proper sequencing and linkage to the a9rt root.
💻 Technical Criteria
Given KCSM transmission parameters have been configured
When The system creates dependent segments
Then The system generates A9DP segments containing the EDI 350 message data with proper sequencing and linkage to the A9RT root
R-GCX016-cbl-00538 Copy EDI Segment Data to Transmission File
Process Rules
📊 Business Logic Narrative
When the process 'Copy EDI Segment Data to Transmission File' is invoked, and assuming that a9dp dependent segments have been created, when the system copies edi segment data, the desired outcome is that the system transfers all segment data from the original edi 350 message to the transmission file maintaining data integrity and segment relationships.
💻 Technical Criteria
Given A9DP dependent segments have been created
When The system copies EDI segment data
Then The system transfers all segment data from the original EDI 350 message to the transmission file maintaining data integrity and segment relationships
R-GCX016-cbl-00539 Set Transmission Status and Routing
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Status and Routing' is invoked, and assuming that edi segment data has been copied to the transmission file, when the system finalizes transmission preparation, the desired outcome is that the system sets transmission status to ready for processing and assigns appropriate routing codes for kcsm delivery.
💻 Technical Criteria
Given EDI segment data has been copied to the transmission file
When The system finalizes transmission preparation
Then The system sets transmission status to ready for processing and assigns appropriate routing codes for KCSM delivery
R-GCX016-cbl-00540 Spawn GCT1091E Transaction for KCSM
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1091E Transaction for KCSM' is invoked, and assuming that transmission status and routing have been configured, when the system initiates kcsm transaction processing, the desired outcome is that the system spawns gct1091e transaction with proper parameters for kcsm message handling and transmission.
💻 Technical Criteria
Given Transmission status and routing have been configured
When The system initiates KCSM transaction processing
Then The system spawns GCT1091E transaction with proper parameters for KCSM message handling and transmission
R-GCX016-cbl-00541 Queue Message for KCSM Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Queue Message for KCSM Transmission' is invoked, and assuming that gct1091e transaction has been spawned for kcsm processing, when the system queues the message for transmission, the desired outcome is that the system places the kcsm message in the transmission queue with proper priority and delivery scheduling.
💻 Technical Criteria
Given GCT1091E transaction has been spawned for KCSM processing
When The system queues the message for transmission
Then The system places the KCSM message in the transmission queue with proper priority and delivery scheduling
R-GCX016-cbl-00542 Log KCSM Transmission Details
Process Rules
📊 Business Logic Narrative
When the process 'Log KCSM Transmission Details' is invoked, and assuming that a kcsm message has been queued for transmission, when the system logs transmission activity, the desired outcome is that the system records transmission details including message identifiers, routing information, and processing timestamps for audit trail.
💻 Technical Criteria
Given A KCSM message has been queued for transmission
When The system logs transmission activity
Then The system records transmission details including message identifiers, routing information, and processing timestamps for audit trail
R-GCX016-cbl-00543 Skip KCSM Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Skip KCSM Processing' is invoked, and assuming that a disposition code has been evaluated for kcsm eligibility or kcsm configuration indicates no processing required, when the system determines kcsm processing should be skipped, the desired outcome is that the system bypasses all kcsm processing steps and continues with normal edi 350 message processing.
💻 Technical Criteria
Given A disposition code has been evaluated for KCSM eligibility OR KCSM configuration indicates no processing required
When The system determines KCSM processing should be skipped
Then The system bypasses all KCSM processing steps and continues with normal EDI 350 message processing
R-GCX016-cbl-04130 Search for Disposition Code in KCSM Configuration
Action Rules
📊 Business Logic Narrative
When the process 'Search for Disposition Code in KCSM Configuration' is invoked, and assuming that a disposition code from the x4 segment and access to the aecwrktb configuration table, when the system searches for the disposition code in the kcsm configuration data, the desired outcome is that the system retrieves the kcsm configuration status for the disposition code.
💻 Technical Criteria
Given A disposition code from the X4 segment and access to the AECWRKTB configuration table
When The system searches for the disposition code in the KCSM configuration data
Then The system retrieves the KCSM configuration status for the disposition code
R-GCX016-cbl-04131 Disposition Code Found in KCSM Table?
Decision Rules
📊 Business Logic Narrative
When the process 'Disposition Code Found in KCSM Table?' is invoked, and assuming that a disposition code lookup result from the aecwrktb table, when the disposition code is found in the kcsm configuration table, the desired outcome is that the system sets the kcsm processing flag to true, otherwise sets it to false.
💻 Technical Criteria
Given A disposition code lookup result from the AECWRKTB table
When The disposition code is found in the KCSM configuration table
Then The system sets the KCSM processing flag to TRUE, otherwise sets it to FALSE
R-GCX016-cbl-04132 Check Disposition Code for KCSM Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code for KCSM Processing' is invoked, and assuming that an edi 350 message with a disposition code is being processed, when the system checks the disposition code against kcsm processing requirements, the desired outcome is that the system determines whether kcsm transmission is required for this message.
💻 Technical Criteria
Given An EDI 350 message with a disposition code is being processed
When The system checks the disposition code against KCSM processing requirements
Then The system determines whether KCSM transmission is required for this message
R-GCX016-cbl-04135 Initialize KCSM Transmission File
Process Rules
📊 Business Logic Narrative
When the process 'Initialize KCSM Transmission File' is invoked, and assuming that kcsm processing is required for the current message, when the system begins kcsm transmission preparation, the desired outcome is that the system initializes the kcsm transmission file with proper structure and parameters.
💻 Technical Criteria
Given KCSM processing is required for the current message
When The system begins KCSM transmission preparation
Then The system initializes the KCSM transmission file with proper structure and parameters
R-GCX016-cbl-04136 Copy Original EDI 350 Message Segments
Process Rules
📊 Business Logic Narrative
When the process 'Copy Original EDI 350 Message Segments' is invoked, and assuming that kcsm transmission file is initialized, when the system processes the original edi 350 message, the desired outcome is that the system copies all required message segments to the kcsm transmission structure.
💻 Technical Criteria
Given KCSM transmission file is initialized
When The system processes the original EDI 350 message
Then The system copies all required message segments to the KCSM transmission structure
R-GCX016-cbl-04137 Create Transmission Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment' is invoked, and assuming that original edi message segments have been copied, when the system creates the transmission structure, the desired outcome is that the system creates a transmission root segment (a9rt) with proper identification and control information.
💻 Technical Criteria
Given Original EDI message segments have been copied
When The system creates the transmission structure
Then The system creates a transmission root segment (A9RT) with proper identification and control information
R-GCX016-cbl-04138 Create Transmission Dependent Segments
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Dependent Segments' is invoked, and assuming that transmission root segment has been created, when the system builds the complete transmission structure, the desired outcome is that the system creates transmission dependent segments (a9dp) linked to the root segment.
💻 Technical Criteria
Given Transmission root segment has been created
When The system builds the complete transmission structure
Then The system creates transmission dependent segments (A9DP) linked to the root segment
R-GCX016-cbl-04139 Format EDI Data for KCSM System
Process Rules
📊 Business Logic Narrative
When the process 'Format EDI Data for KCSM System' is invoked, and assuming that transmission segments have been created, when the system prepares data for kcsm transmission, the desired outcome is that the system formats all edi data according to kcsm system specifications and requirements.
💻 Technical Criteria
Given Transmission segments have been created
When The system prepares data for KCSM transmission
Then The system formats all EDI data according to KCSM system specifications and requirements
R-GCX016-cbl-04140 Write Message to KCSM Queue
Action Rules
📊 Business Logic Narrative
When the process 'Write Message to KCSM Queue' is invoked, and assuming that edi data has been formatted for kcsm system, when the system is ready to transmit the message, the desired outcome is that the system writes the formatted message to the kcsm message queue for processing.
💻 Technical Criteria
Given EDI data has been formatted for KCSM system
When The system is ready to transmit the message
Then The system writes the formatted message to the KCSM message queue for processing
R-GCX016-cbl-04142 Log KCSM Transmission Details
Process Rules
📊 Business Logic Narrative
When the process 'Log KCSM Transmission Details' is invoked, and assuming that transmission parameters have been updated, when the system completes kcsm message preparation, the desired outcome is that the system logs transmission details including message id, timestamp, disposition code, and transmission status.
💻 Technical Criteria
Given Transmission parameters have been updated
When The system completes KCSM message preparation
Then The system logs transmission details including message ID, timestamp, disposition code, and transmission status
R-GCX016-cbl-04143 Spawn KCSM Integration Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn KCSM Integration Transaction' is invoked, and assuming that kcsm transmission details have been logged, when the system is ready to initiate kcsm integration, the desired outcome is that the system spawns a kcsm integration transaction to handle the actual transmission and processing.
💻 Technical Criteria
Given KCSM transmission details have been logged
When The system is ready to initiate KCSM integration
Then The system spawns a KCSM integration transaction to handle the actual transmission and processing
R-GCX016-cbl-04144 Skip KCSM Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip KCSM Processing', assuming that kcsm processing validation has been completed, when the validation criteria indicate kcsm processing is not required, the desired outcome is that the system skips all kcsm processing steps and continues with normal message processing.
💻 Technical Criteria
EXCLUDING KCSM processing validation has been completed
When The validation criteria indicate KCSM processing is not required
Then The system skips all KCSM processing steps and continues with normal message processing
R-GCX016-cbl-00558 Entry Number Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Number Valid?' is invoked, and assuming that an entry number is present in x4-04 field, when the system validates the entry number format, the desired outcome is that if entry number format is invalid, generate entry validation error and skip processing.
💻 Technical Criteria
Given An entry number is present in X4-04 field
When The system validates the entry number format
Then If entry number format is invalid, generate entry validation error and skip processing
R-GCX016-cbl-00561 Length Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Length Valid?', assuming that entry number is valid format and entry type is not v37, when the system validates entry number length, the desired outcome is that if length is invalid, generate entry validation error and skip processing.
💻 Technical Criteria
EXCLUDING Entry number is valid format and entry type is not V37
When The system validates entry number length
Then If length is invalid, generate entry validation error and skip processing
R-GCX016-cbl-00562 Characters Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Characters Valid?' is invoked, and assuming that entry number has valid length, when the system validates entry number characters, the desired outcome is that if characters are invalid, generate entry validation error and skip processing.
💻 Technical Criteria
Given Entry number has valid length
When The system validates entry number characters
Then If characters are invalid, generate entry validation error and skip processing
R-GCX016-cbl-00563 Mark Entry as Valid
Action Rules
📊 Business Logic Narrative
When the process 'Mark Entry as Valid' is invoked, and assuming that entry number passes all validation checks, when all format, length, and character validations are successful, the desired outcome is that mark entry as valid and continue to disposition code processing.
💻 Technical Criteria
Given Entry number passes all validation checks
When All format, length, and character validations are successful
Then Mark entry as valid and continue to disposition code processing
R-GCX016-cbl-00564 Generate Entry Validation Error
Action Rules
📊 Business Logic Narrative
When the process 'Generate Entry Validation Error' is invoked, and assuming that entry number fails any validation check, when format, length, or character validation fails, the desired outcome is that generate entry validation error message and log the issue.
💻 Technical Criteria
Given Entry number fails any validation check
When Format, length, or character validation fails
Then Generate entry validation error message and log the issue
R-GCX016-cbl-00565 Log Entry Number Issue
Action Rules
📊 Business Logic Narrative
When the process 'Log Entry Number Issue' is invoked, and assuming that an entry validation error has been generated, when the system processes the validation failure, the desired outcome is that log the entry number issue with details for audit trail.
💻 Technical Criteria
Given An entry validation error has been generated
When The system processes the validation failure
Then Log the entry number issue with details for audit trail
R-GCX016-cbl-00589 Create U1 Segment with Converted Code
Process Rules
📊 Business Logic Narrative
When the process 'Create U1 Segment with Converted Code' is invoked, and assuming that an edi code has been successfully converted to cprail format, when the system needs to store the converted code information, the desired outcome is that the system creates a new u1 segment record and populates it with the converted cprail code.
💻 Technical Criteria
Given An EDI code has been successfully converted to CPRAIL format
When The system needs to store the converted code information
Then The system creates a new U1 segment record and populates it with the converted CPRAIL code
R-GCX016-cbl-00591 Log Conversion Success
Process Rules
📊 Business Logic Narrative
When the process 'Log Conversion Success' is invoked, and assuming that the edi code conversion and shipment update have completed successfully, when the system finalizes the conversion process, the desired outcome is that the system creates a log entry recording the successful conversion of the edi code to cprail format.
💻 Technical Criteria
Given The EDI code conversion and shipment update have completed successfully
When The system finalizes the conversion process
Then The system creates a log entry recording the successful conversion of the EDI code to CPRAIL format
R-GCX016-cbl-00615 Extract FDA Reference Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract FDA Reference Number' is invoked, and assuming that an n9 segment contains fda-related reference qualifier, when the system processes the n9 segment, the desired outcome is that the fda reference number is extracted from the reference identification field.
💻 Technical Criteria
Given An N9 segment contains FDA-related reference qualifier
When The system processes the N9 segment
Then The FDA reference number is extracted from the reference identification field
R-GCX016-cbl-00616 Extract FDA Qualifier Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract FDA Qualifier Code' is invoked, and assuming that an n9 segment contains fda-related information, when the system processes the fda reference, the desired outcome is that the fda qualifier code is extracted and stored for reference type identification.
💻 Technical Criteria
Given An N9 segment contains FDA-related information
When The system processes the FDA reference
Then The FDA qualifier code is extracted and stored for reference type identification
R-GCX016-cbl-00618 Valid FDA Reference?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid FDA Reference?' is invoked, and assuming that an fda reference has been validated for format compliance, when the system evaluates validation results, the desired outcome is that the system determines if the fda reference is valid and can be processed further.
💻 Technical Criteria
Given An FDA reference has been validated for format compliance
When The system evaluates validation results
Then The system determines if the FDA reference is valid and can be processed further
R-GCX016-cbl-00623 Process FDA Compliance Requirements
Policy Rules
📊 Business Logic Narrative
When the process 'Process FDA Compliance Requirements' is invoked, and assuming that a1 or a3 disposition codes are present with fda reference, when the system processes fda compliance requirements, the desired outcome is that fda-specific compliance checks and notifications are initiated based on the disposition code type.
💻 Technical Criteria
Given A1 or A3 disposition codes are present with FDA reference
When The system processes FDA compliance requirements
Then FDA-specific compliance checks and notifications are initiated based on the disposition code type
R-GCX016-cbl-00628 Generate Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Generate Error Message' is invoked, and assuming that an invalid fda reference has been rejected, when the system processes the rejection, the desired outcome is that an error message is generated indicating the fda reference validation failure with specific details.
💻 Technical Criteria
Given An invalid FDA reference has been rejected
When The system processes the rejection
Then An error message is generated indicating the FDA reference validation failure with specific details
R-GCX016-cbl-00679 Set SCAC Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code' is invoked, and assuming that m10 segment data contains scac information, when the system builds manifest information, the desired outcome is that the scac code is set from the m10 segment scac field.
💻 Technical Criteria
Given M10 segment data contains SCAC information
When The system builds manifest information
Then The SCAC code is set from the M10 segment SCAC field
R-GCX016-cbl-00682 Set Vessel/Flight Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Vessel/Flight Information' is invoked, and assuming that m10 segment contains vessel and flight information, when the system builds manifest data, the desired outcome is that the vessel name and flight information are set from the m10 segment data.
💻 Technical Criteria
Given M10 segment contains vessel and flight information
When The system builds manifest data
Then The vessel name and flight information are set from the M10 segment data
R-GCX016-cbl-00698 Follower Manifests Exist?
Validation Rules
📊 Business Logic Narrative
When the process 'Follower Manifests Exist?' is invoked, and assuming that a lead manifest has been identified, when the system checks for associated follower manifests, the desired outcome is that the system sets follower end-of-database flag based on whether follower records are found.
💻 Technical Criteria
Given A lead manifest has been identified
When The system checks for associated follower manifests
Then The system sets follower end-of-database flag based on whether follower records are found
R-GCX016-cbl-00699 Retrieve Follower Manifest List
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Follower Manifest List' is invoked, and assuming that follower manifests exist for the lead manifest, when the system initiates follower manifest retrieval, the desired outcome is that the system calls gct0161e to retrieve all follower manifest records.
💻 Technical Criteria
Given Follower manifests exist for the lead manifest
When The system initiates follower manifest retrieval
Then The system calls GCT0161E to retrieve all follower manifest records
R-GCX016-cbl-00700 Select Next Follower Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Select Next Follower Manifest' is invoked, and assuming that a list of follower manifests has been retrieved, when the system needs to process the next follower manifest, the desired outcome is that the system selects the next available follower manifest record from the list.
💻 Technical Criteria
Given A list of follower manifests has been retrieved
When The system needs to process the next follower manifest
Then The system selects the next available follower manifest record from the list
R-GCX016-cbl-00701 Prepare EDI 350 Message for Follower
Process Rules
📊 Business Logic Narrative
When the process 'Prepare EDI 350 Message for Follower' is invoked, and assuming that a follower manifest has been selected for processing, when the system prepares the edi message for the follower, the desired outcome is that the system sets special action code '350' and copies disposition code, quantity, and entry number from x4 segment.
💻 Technical Criteria
Given A follower manifest has been selected for processing
When The system prepares the EDI message for the follower
Then The system sets special action code '350' and copies disposition code, quantity, and entry number from X4 segment
R-GCX016-cbl-00703 Spawn GCT0161E Transaction for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT0161E Transaction for Follower' is invoked, and assuming that a follower message has been formatted with all required details, when the system initiates follower processing, the desired outcome is that the system spawns gct0161e transaction with the formatted follower message for independent processing.
💻 Technical Criteria
Given A follower message has been formatted with all required details
When The system initiates follower processing
Then The system spawns GCT0161E transaction with the formatted follower message for independent processing
R-GCX016-cbl-00704 More Followers to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Followers to Process?' is invoked, and assuming that a follower manifest has been processed and gct0161e transaction spawned, when the system checks for remaining follower manifests, the desired outcome is that the system evaluates the follower end-of-database flag to determine if more followers exist.
💻 Technical Criteria
Given A follower manifest has been processed and GCT0161E transaction spawned
When The system checks for remaining follower manifests
Then The system evaluates the follower end-of-database flag to determine if more followers exist
R-GCX016-cbl-00705 All Follower Manifests Processed
Process Rules
📊 Business Logic Narrative
When the process 'All Follower Manifests Processed' is invoked, and assuming that all follower manifests have been processed and transactions spawned, when no more follower manifests remain in the list, the desired outcome is that the system sets completion status and prepares to continue with lead manifest processing.
💻 Technical Criteria
Given All follower manifests have been processed and transactions spawned
When No more follower manifests remain in the list
Then The system sets completion status and prepares to continue with lead manifest processing
R-GCX016-cbl-00711 Prevent Array Overflow
Validation Rules
📊 Business Logic Narrative
When the process 'Prevent Array Overflow' is invoked, and assuming that a status array is being populated with status codes, when the array reaches its maximum capacity limit, the desired outcome is that the system prevents additional entries from being added to avoid array overflow.
💻 Technical Criteria
Given A status array is being populated with status codes
When The array reaches its maximum capacity limit
Then The system prevents additional entries from being added to avoid array overflow
R-GCX016-cbl-00712 Move Array Back to S09 Segments
Process Rules
📊 Business Logic Narrative
When the process 'Move Array Back to S09 Segments' is invoked, and assuming that a status array has been processed and updated, when the processing is complete and changes need to be persisted, the desired outcome is that the system moves all status information from the s09a array back to s09 database segments, distributing entries across multiple sequences as needed.
💻 Technical Criteria
Given A status array has been processed and updated
When The processing is complete and changes need to be persisted
Then The system moves all status information from the S09A array back to S09 database segments, distributing entries across multiple sequences as needed
R-GCX016-cbl-00713 Replace Database Records
Action Rules
📊 Business Logic Narrative
When the process 'Replace Database Records' is invoked, and assuming that status segments have been updated in memory, when changes need to be committed to the database, the desired outcome is that the system replaces the existing s09 status segments in the database with the updated information.
💻 Technical Criteria
Given Status segments have been updated in memory
When Changes need to be committed to the database
Then The system replaces the existing S09 status segments in the database with the updated information
R-GCX016-cbl-00716 Call GCCTBIO to Access DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Access DC Table' is invoked, and assuming that a disposition code has been extracted from the x4 segment, when the system needs to lookup disposition code details, the desired outcome is that the gcctbio table access routine is called to retrieve information from the dc table.
💻 Technical Criteria
Given A disposition code has been extracted from the X4 segment
When The system needs to lookup disposition code details
Then The GCCTBIO table access routine is called to retrieve information from the DC table
R-GCX016-cbl-00717 Disposition Code Found in Table?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Found in Table?' is invoked, and assuming that a disposition code lookup has been performed against the dc table, when the system checks if the disposition code exists in the table, the desired outcome is that if the code is found, processing continues with code details retrieval, otherwise an error status is set.
💻 Technical Criteria
Given A disposition code lookup has been performed against the DC table
When The system checks if the disposition code exists in the table
Then If the code is found, processing continues with code details retrieval, otherwise an error status is set
R-GCX016-cbl-00718 Retrieve Disposition Code Details
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Disposition Code Details' is invoked, and assuming that a valid disposition code has been found in the dc table, when the system processes the disposition code record, the desired outcome is that all disposition code details including description, counterpart code, quantity action flag, and processing instructions are retrieved and stored.
💻 Technical Criteria
Given A valid disposition code has been found in the DC table
When The system processes the disposition code record
Then All disposition code details including description, counterpart code, quantity action flag, and processing instructions are retrieved and stored
R-GCX016-cbl-00719 Get Code Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Code Description' is invoked, and assuming that a disposition code record has been retrieved from the dc table, when the system extracts the code description, the desired outcome is that the disposition code description is stored for use in processing and user messaging.
💻 Technical Criteria
Given A disposition code record has been retrieved from the DC table
When The system extracts the code description
Then The disposition code description is stored for use in processing and user messaging
R-GCX016-cbl-00721 Get Quantity Action Flag
Computation Rules
📊 Business Logic Narrative
When the process 'Get Quantity Action Flag' is invoked, and assuming that a disposition code record contains quantity action information, when the system evaluates quantity impact requirements, the desired outcome is that the quantity action flag is retrieved to determine if release quantities should be increased, decreased, or remain unchanged.
💻 Technical Criteria
Given A disposition code record contains quantity action information
When The system evaluates quantity impact requirements
Then The quantity action flag is retrieved to determine if release quantities should be increased, decreased, or remain unchanged
R-GCX016-cbl-00722 Get Processing Instructions
Process Rules
📊 Business Logic Narrative
When the process 'Get Processing Instructions' is invoked, and assuming that a disposition code record contains processing instruction flags, when the system needs to determine processing behavior, the desired outcome is that processing instructions are retrieved including hold/release flags, removal requirements, and status update methods.
💻 Technical Criteria
Given A disposition code record contains processing instruction flags
When The system needs to determine processing behavior
Then Processing instructions are retrieved including hold/release flags, removal requirements, and status update methods
R-GCX016-cbl-00723 Set Disposition Code Information in Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Set Disposition Code Information in Working Storage' is invoked, and assuming that all disposition code details have been successfully retrieved from the dc table, when the system prepares for disposition code processing, the desired outcome is that all disposition code information including description, counterpart codes, quantity actions, and processing flags are stored in working storage variables.
💻 Technical Criteria
Given All disposition code details have been successfully retrieved from the DC table
When The system prepares for disposition code processing
Then All disposition code information including description, counterpart codes, quantity actions, and processing flags are stored in working storage variables
R-GCX016-cbl-00724 Return Success Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Success Status' is invoked, and assuming that disposition code information has been successfully retrieved and stored, when the lookup process completes successfully, the desired outcome is that a success status is returned to indicate the disposition code is ready for processing.
💻 Technical Criteria
Given Disposition code information has been successfully retrieved and stored
When The lookup process completes successfully
Then A success status is returned to indicate the disposition code is ready for processing
R-GCX016-cbl-00726 Log Disposition Code Not Found Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Disposition Code Not Found Error', assuming that a disposition code has not been found in the dc table, when an error status has been set for the invalid code, the desired outcome is that the disposition code not found error is logged with relevant details for business review and system monitoring.
💻 Technical Criteria
EXCLUDING A disposition code has not been found in the DC table
When An error status has been set for the invalid code
Then The disposition code not found error is logged with relevant details for business review and system monitoring
R-GCX016-cbl-00728 Array Index <= Maximum Elements?
Validation Rules
📊 Business Logic Narrative
When the process 'Array Index <= Maximum Elements?' is invoked, and assuming that an array index position is being evaluated for processing, when the array index is compared against the maximum number of elements, the desired outcome is that processing continues if index is within bounds, otherwise search terminates.
💻 Technical Criteria
Given An array index position is being evaluated for processing
When The array index is compared against the maximum number of elements
Then Processing continues if index is within bounds, otherwise search terminates
R-GCX016-cbl-00730 Codes Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Codes Match?' is invoked, and assuming that a new disposition code and an existing array element with data, when the system compares the disposition codes, the desired outcome is that entry number validation proceeds if codes match, otherwise the system moves to the next element.
💻 Technical Criteria
Given A new disposition code and an existing array element with data
When The system compares the disposition codes
Then Entry number validation proceeds if codes match, otherwise the system moves to the next element
R-GCX016-cbl-00731 Entry Numbers Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Numbers Match?' is invoked, and assuming that disposition codes match between new entry and existing array element, when the system compares entry numbers, the desired outcome is that quantity validation proceeds if entry numbers match, otherwise the system moves to the next element.
💻 Technical Criteria
Given Disposition codes match between new entry and existing array element
When The system compares entry numbers
Then Quantity validation proceeds if entry numbers match, otherwise the system moves to the next element
R-GCX016-cbl-00732 Quantities Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Quantities Match?' is invoked, and assuming that disposition codes and entry numbers match between new entry and existing array element, when the system compares quantities, the desired outcome is that duplicate is confirmed if quantities match, otherwise the system moves to the next element.
💻 Technical Criteria
Given Disposition codes and entry numbers match between new entry and existing array element
When The system compares quantities
Then Duplicate is confirmed if quantities match, otherwise the system moves to the next element
R-GCX016-cbl-00733 Duplicate Found - Set Flag
Action Rules
📊 Business Logic Narrative
When the process 'Duplicate Found - Set Flag' is invoked, and assuming that disposition code, entry number, and quantity all match an existing array element, when the system confirms a complete duplicate match, the desired outcome is that the duplicate found flag is set and search processing terminates.
💻 Technical Criteria
Given Disposition code, entry number, and quantity all match an existing array element
When The system confirms a complete duplicate match
Then The duplicate found flag is set and search processing terminates
R-GCX016-cbl-00734 Increment Array Index
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Array Index', assuming that current array element does not match the new disposition code or contains no data, when the system needs to continue searching, the desired outcome is that the array index is incremented to examine the next element.
💻 Technical Criteria
EXCLUDING Current array element does not match the new disposition code or contains no data
When The system needs to continue searching
Then The array index is incremented to examine the next element
R-GCX016-cbl-00735 No Duplicate Found
Decision Rules
📊 Business Logic Narrative
When the process 'No Duplicate Found' is invoked, and assuming that all array elements have been examined, when no matching disposition code, entry number, and quantity combination is found, the desired outcome is that the system sets no duplicate found status and returns the search result.
💻 Technical Criteria
Given All array elements have been examined
When No matching disposition code, entry number, and quantity combination is found
Then The system sets no duplicate found status and returns the search result
R-GCX016-cbl-00736 Check if Code Has Counterpart
Definitional Rules
📊 Business Logic Narrative
When the process 'Check if Code Has Counterpart' is invoked, and assuming that a new disposition code is received for processing, when the system checks the disposition code table for counterpart relationships, the desired outcome is that the system identifies whether the code has a counterpart that needs to be removed.
💻 Technical Criteria
Given A new disposition code is received for processing
When The system checks the disposition code table for counterpart relationships
Then The system identifies whether the code has a counterpart that needs to be removed
R-GCX016-cbl-00737 Search Status Array for Counterpart
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Counterpart' is invoked, and assuming that a counterpart disposition code exists for the new code, when the system searches through the status array elements, the desired outcome is that the system identifies if the counterpart code is present in the array.
💻 Technical Criteria
Given A counterpart disposition code exists for the new code
When The system searches through the status array elements
Then The system identifies if the counterpart code is present in the array
R-GCX016-cbl-00738 Match by Status Info
Validation Rules
📊 Business Logic Narrative
When the process 'Match by Status Info' is invoked, and assuming that a counterpart code is found in the status array, when the system compares status information fields between the counterpart and new code, the desired outcome is that the system determines if the status information matches for removal eligibility.
💻 Technical Criteria
Given A counterpart code is found in the status array
When The system compares status information fields between the counterpart and new code
Then The system determines if the status information matches for removal eligibility
R-GCX016-cbl-00739 Match by Entry Number
Validation Rules
📊 Business Logic Narrative
When the process 'Match by Entry Number' is invoked, and assuming that status information criteria are evaluated for the counterpart code, when the system compares entry numbers between the counterpart and new code, the desired outcome is that the system determines if the entry numbers match for removal eligibility.
💻 Technical Criteria
Given Status information criteria are evaluated for the counterpart code
When The system compares entry numbers between the counterpart and new code
Then The system determines if the entry numbers match for removal eligibility
R-GCX016-cbl-00741 Match by Specific Code Pattern
Validation Rules
📊 Business Logic Narrative
When the process 'Match by Specific Code Pattern' is invoked, and assuming that quantity criteria are evaluated for the counterpart code, when the system applies specific pattern matching rules for special codes like 4e disposition, the desired outcome is that the system determines if the code patterns match for removal eligibility.
💻 Technical Criteria
Given Quantity criteria are evaluated for the counterpart code
When The system applies specific pattern matching rules for special codes like 4E disposition
Then The system determines if the code patterns match for removal eligibility
R-GCX016-cbl-00742 Remove Counterpart Code from Array
Action Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Code from Array' is invoked, and assuming that all matching criteria are met for the counterpart code, when the system removes the counterpart code from its position in the status array, the desired outcome is that the counterpart code is eliminated from the array and marked for compaction.
💻 Technical Criteria
Given All matching criteria are met for the counterpart code
When The system removes the counterpart code from its position in the status array
Then The counterpart code is eliminated from the array and marked for compaction
R-GCX016-cbl-00743 Compact Remaining Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Remaining Array Elements' is invoked, and assuming that counterpart codes have been removed from the status array, when the system compacts the array by moving remaining elements forward, the desired outcome is that all gaps in the array are eliminated and elements are contiguous.
💻 Technical Criteria
Given Counterpart codes have been removed from the status array
When The system compacts the array by moving remaining elements forward
Then All gaps in the array are eliminated and elements are contiguous
R-GCX016-cbl-00744 Update Array Element Count
Computation Rules
📊 Business Logic Narrative
When the process 'Update Array Element Count' is invoked, and assuming that the status array has been compacted after counterpart removal, when the system recalculates the number of active array elements, the desired outcome is that the array element count reflects the reduced number of status entries.
💻 Technical Criteria
Given The status array has been compacted after counterpart removal
When The system recalculates the number of active array elements
Then The array element count reflects the reduced number of status entries
R-GCX016-cbl-00745 ARL Auto Release Request Received
Decision Rules
📊 Business Logic Narrative
When the process 'ARL Auto Release Request Received' is invoked, and assuming that a disposition code is received in the x4 segment, when the disposition code equals 'arl', the desired outcome is that the system initiates auto release processing workflow.
💻 Technical Criteria
Given A disposition code is received in the X4 segment
When The disposition code equals 'ARL'
Then The system initiates auto release processing workflow
R-GCX016-cbl-00746 Skip Status Code Insertion
Process Rules
📊 Business Logic Narrative
When the process 'Skip Status Code Insertion' is invoked, and assuming that an arl disposition code is being processed, when the system reaches status code insertion logic, the desired outcome is that status code insertion is skipped and existing status array is analyzed.
💻 Technical Criteria
Given An ARL disposition code is being processed
When The system reaches status code insertion logic
Then Status code insertion is skipped and existing status array is analyzed
R-GCX016-cbl-00747 Retrieve Current Status Array S09A
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Current Status Array S09A' is invoked, and assuming that arl processing requires status analysis, when the system needs current status information, the desired outcome is that current s09a status array is retrieved from gcsuss09 status segments.
💻 Technical Criteria
Given ARL processing requires status analysis
When The system needs current status information
Then Current S09A status array is retrieved from GCSUSS09 status segments
R-GCX016-cbl-00749 Release Conditions Met?
Validation Rules
📊 Business Logic Narrative
When the process 'Release Conditions Met?' is invoked, and assuming that existing status codes have been analyzed, when the system evaluates release eligibility, the desired outcome is that release conditions are validated based on hold status, quantities, and regulatory requirements.
💻 Technical Criteria
Given Existing status codes have been analyzed
When The system evaluates release eligibility
Then Release conditions are validated based on hold status, quantities, and regulatory requirements
R-GCX016-cbl-00757 Process Complete - No Status Change
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process Complete - No Status Change', assuming that arl disposition code is processed but release conditions are not met, when the system completes processing, the desired outcome is that processing completes without status changes and logs the no-change result.
💻 Technical Criteria
EXCLUDING ARL disposition code is processed but release conditions are not met
When The system completes processing
Then Processing completes without status changes and logs the no-change result
R-GCX016-cbl-00758 Log ARL Processing
Action Rules
📊 Business Logic Narrative
When the process 'Log ARL Processing' is invoked, and assuming that arl processing is complete with or without status changes, when the system logs the processing result, the desired outcome is that arl processing completion is logged with appropriate status and outcome information.
💻 Technical Criteria
Given ARL processing is complete with or without status changes
When The system logs the processing result
Then ARL processing completion is logged with appropriate status and outcome information
R-GCX016-cbl-00766 Skip Standard Release Processing
Process Rules
📊 Business Logic Narrative
When the process 'Skip Standard Release Processing' is invoked, and assuming that release notification has been generated for manual release, when the system evaluates next processing steps, the desired outcome is that the system skips standard release processing workflow since manual release has been completed.
💻 Technical Criteria
Given Release notification has been generated for manual release
When The system evaluates next processing steps
Then The system skips standard release processing workflow since manual release has been completed
R-GCX016-cbl-00768 Is Disposition Code a Hold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Disposition Code a Hold Code?' is invoked, and assuming that a disposition code is received from x4 segment processing, when the system evaluates the disposition code type, the desired outcome is that the system determines if the code represents a hold action and proceeds to hold processing or skips to completion.
💻 Technical Criteria
Given A disposition code is received from X4 segment processing
When The system evaluates the disposition code type
Then The system determines if the code represents a hold action and proceeds to hold processing or skips to completion
R-GCX016-cbl-00769 Validate Hold Code in DC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Hold Code in DC Table' is invoked, and assuming that a hold disposition code needs validation, when the system looks up the code in the dc table, the desired outcome is that the system retrieves the code details and sets validation status.
💻 Technical Criteria
Given A hold disposition code needs validation
When The system looks up the code in the DC table
Then The system retrieves the code details and sets validation status
R-GCX016-cbl-00770 Hold Code Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Code Valid?' is invoked, and assuming that a disposition code has been looked up in the dc table, when the system checks if the lookup was successful, the desired outcome is that the system either proceeds with hold processing for valid codes or generates an error for invalid codes.
💻 Technical Criteria
Given A disposition code has been looked up in the DC table
When The system checks if the lookup was successful
Then The system either proceeds with hold processing for valid codes or generates an error for invalid codes
R-GCX016-cbl-00775 Check Status Array for Duplicates
Validation Rules
📊 Business Logic Narrative
When the process 'Check Status Array for Duplicates' is invoked, and assuming that a hold code is ready to be inserted into the status array, when the system searches the existing status array for the same hold code, the desired outcome is that the system identifies whether the hold code already exists in the array.
💻 Technical Criteria
Given A hold code is ready to be inserted into the status array
When The system searches the existing status array for the same hold code
Then The system identifies whether the hold code already exists in the array
R-GCX016-cbl-00776 Hold Code Already Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Code Already Exists?' is invoked, and assuming that the system has checked for duplicate hold codes in the status array, when a duplicate hold code is found, the desired outcome is that the system skips the duplicate entry to avoid redundant hold codes.
💻 Technical Criteria
Given The system has checked for duplicate hold codes in the status array
When A duplicate hold code is found
Then The system skips the duplicate entry to avoid redundant hold codes
R-GCX016-cbl-00777 Skip Duplicate Entry
Process Rules
📊 Business Logic Narrative
When the process 'Skip Duplicate Entry' is invoked, and assuming that a hold code already exists in the status array, when the system attempts to insert the same hold code, the desired outcome is that the system skips the insertion and proceeds to completion without adding the duplicate.
💻 Technical Criteria
Given A hold code already exists in the status array
When The system attempts to insert the same hold code
Then The system skips the insertion and proceeds to completion without adding the duplicate
R-GCX016-cbl-00781 Update Array Element Count
Action Rules
📊 Business Logic Narrative
When the process 'Update Array Element Count' is invoked, and assuming that a hold code has been successfully added to the status array, when the system updates the array management counters, the desired outcome is that the system increments the element count to maintain accurate array size tracking.
💻 Technical Criteria
Given A hold code has been successfully added to the status array
When The system updates the array management counters
Then The system increments the element count to maintain accurate array size tracking
R-GCX016-cbl-00782 Log Hold Code Processing
Action Rules
📊 Business Logic Narrative
When the process 'Log Hold Code Processing' is invoked, and assuming that a hold code has been successfully processed and added to the status array, when the system performs logging operations, the desired outcome is that the system creates appropriate log entries for the hold code processing activity.
💻 Technical Criteria
Given A hold code has been successfully processed and added to the status array
When The system performs logging operations
Then The system creates appropriate log entries for the hold code processing activity
R-GCX016-cbl-00783 Invalid Hold Code Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid Hold Code Error', assuming that a disposition code lookup in the dc table fails, when the system determines the code is invalid, the desired outcome is that the system generates an appropriate error message and proceeds to completion without processing the hold.
💻 Technical Criteria
EXCLUDING A disposition code lookup in the DC table fails
When The system determines the code is invalid
Then The system generates an appropriate error message and proceeds to completion without processing the hold
R-GCX016-cbl-00784 Validate Disposition Code in DC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Disposition Code in DC Table' is invoked, and assuming that a release disposition code is received in x4 segment, when the system looks up the disposition code in the dc table, the desired outcome is that if the code exists in dc table, processing continues; if not found, an error is generated.
💻 Technical Criteria
Given A release disposition code is received in X4 segment
When The system looks up the disposition code in the DC table
Then If the code exists in DC table, processing continues; if not found, an error is generated
R-GCX016-cbl-00785 Check Status Array for Duplicates
Validation Rules
📊 Business Logic Narrative
When the process 'Check Status Array for Duplicates' is invoked, and assuming that a valid release disposition code needs to be processed, when the system searches the s09a status array for existing entries with the same disposition code, the desired outcome is that if the code already exists, skip processing to prevent duplicates; if not found, continue with processing.
💻 Technical Criteria
Given A valid release disposition code needs to be processed
When The system searches the S09A status array for existing entries with the same disposition code
Then If the code already exists, skip processing to prevent duplicates; if not found, continue with processing
R-GCX016-cbl-00790 Set Released Flag = 'Y'
Action Rules
📊 Business Logic Narrative
When the process 'Set Released Flag = 'Y'' is invoked, and assuming that a status array entry is being created for a release disposition code, when the system sets the release status flag, the desired outcome is that the released flag is set to 'y' to indicate active release status.
💻 Technical Criteria
Given A status array entry is being created for a release disposition code
When The system sets the release status flag
Then The released flag is set to 'Y' to indicate active release status
R-GCX016-cbl-00791 Set Entry Number from X4-04
Process Rules
📊 Business Logic Narrative
When the process 'Set Entry Number from X4-04' is invoked, and assuming that a release status entry is being populated, when the system processes the x4-04 field containing the entry number, the desired outcome is that the entry number from x4-04 is assigned to the status array entry.
💻 Technical Criteria
Given A release status entry is being populated
When The system processes the X4-04 field containing the entry number
Then The entry number from X4-04 is assigned to the status array entry
R-GCX016-cbl-00792 Set Quantity from X4-05
Process Rules
📊 Business Logic Narrative
When the process 'Set Quantity from X4-05' is invoked, and assuming that a release status entry is being populated with quantity information, when the system processes the x4-05 field containing the quantity, the desired outcome is that the quantity from x4-05 is assigned to the status array entry.
💻 Technical Criteria
Given A release status entry is being populated with quantity information
When The system processes the X4-05 field containing the quantity
Then The quantity from X4-05 is assigned to the status array entry
R-GCX016-cbl-00794 Update Array Element Count
Process Rules
📊 Business Logic Narrative
When the process 'Update Array Element Count' is invoked, and assuming that a status entry has been successfully inserted into the s09a array, when the system updates the array management counters, the desired outcome is that the element count for the s09a status array is incremented by one.
💻 Technical Criteria
Given A status entry has been successfully inserted into the S09A array
When The system updates the array management counters
Then The element count for the S09A status array is incremented by one
R-GCX016-cbl-00795 Generate Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message', assuming that a disposition code is not found in the dc table, when the system processes the validation failure, the desired outcome is that an error message is generated indicating the invalid disposition code.
💻 Technical Criteria
EXCLUDING A disposition code is not found in the DC table
When The system processes the validation failure
Then An error message is generated indicating the invalid disposition code
R-GCX016-cbl-00797 Check for Duplicate in Status Array
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Duplicate in Status Array' is invoked, and assuming that a disposition code is identified as status information type and the s09a status array contains existing status entries, when the system checks if the same disposition code already exists in the status array, the desired outcome is that if duplicate found, skip processing to prevent duplicate entry, otherwise proceed with adding the status code.
💻 Technical Criteria
Given A disposition code is identified as status information type AND the S09A status array contains existing status entries
When The system checks if the same disposition code already exists in the status array
Then If duplicate found, skip processing to prevent duplicate entry, otherwise proceed with adding the status code
R-GCX016-cbl-00798 Add Informational Status Code
Process Rules
📊 Business Logic Narrative
When the process 'Add Informational Status Code' is invoked, and assuming that a disposition code is validated as status information type and no duplicate exists in the status array, when the system processes the informational status code, the desired outcome is that add the disposition code to the next available position in the s09a status array.
💻 Technical Criteria
Given A disposition code is validated as status information type AND no duplicate exists in the status array
When The system processes the informational status code
Then Add the disposition code to the next available position in the S09A status array
R-GCX016-cbl-00799 Set Status Info Flag
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Info Flag' is invoked, and assuming that a disposition code is being added as status information, when the system updates the status array element, the desired outcome is that set the status information flag to indicate this is informational only and not an actionable status.
💻 Technical Criteria
Given A disposition code is being added as status information
When The system updates the status array element
Then Set the status information flag to indicate this is informational only and not an actionable status
R-GCX016-cbl-00800 Skip Quantity Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Skip Quantity Processing' is invoked, and assuming that a status code is marked as informational only, when the system evaluates whether quantity processing is required, the desired outcome is that skip all quantity-related processing including release quantity calculations and quantity impact assessments.
💻 Technical Criteria
Given A status code is marked as informational only
When The system evaluates whether quantity processing is required
Then Skip all quantity-related processing including release quantity calculations and quantity impact assessments
R-GCX016-cbl-00801 Log Status Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Status Information' is invoked, and assuming that an informational status code has been successfully added to the status array, when the system completes the status information processing, the desired outcome is that log the status change with disposition code details and timestamp for audit purposes.
💻 Technical Criteria
Given An informational status code has been successfully added to the status array
When The system completes the status information processing
Then Log the status change with disposition code details and timestamp for audit purposes
R-GCX016-cbl-00843 Update Train Arrival Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Arrival Status' is invoked, and assuming that train-level processing is required for arrival, when the system processes train arrival status, the desired outcome is that the system updates the train record with arrival status and date.
💻 Technical Criteria
Given Train-level processing is required for arrival
When The system processes train arrival status
Then The system updates the train record with arrival status and date
R-GCX016-cbl-00844 Send Train Arrival Notification
Action Rules
📊 Business Logic Narrative
When the process 'Send Train Arrival Notification' is invoked, and assuming that train arrival status has been updated, when the system processes train arrival notification, the desired outcome is that the system sends arrival notification message to appropriate recipients.
💻 Technical Criteria
Given Train arrival status has been updated
When The system processes train arrival notification
Then The system sends arrival notification message to appropriate recipients
R-GCX016-cbl-00870 Update Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Update Status Array' is invoked, and assuming that cancellation processing requires status array updates, when the system processes status array changes, the desired outcome is that the system removes cancelled status codes from s09 array and adds appropriate cancellation status information.
💻 Technical Criteria
Given Cancellation processing requires status array updates
When The system processes status array changes
Then The system removes cancelled status codes from S09 array and adds appropriate cancellation status information
R-GCX016-cbl-00878 Get Disposition Code from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Disposition Code from DC Table' is invoked, and assuming that a disposition code needs to be processed for counterpart removal, when the system looks up the disposition code in the dc table, the desired outcome is that the disposition code information including counterpart code is retrieved from the table.
💻 Technical Criteria
Given A disposition code needs to be processed for counterpart removal
When The system looks up the disposition code in the DC table
Then The disposition code information including counterpart code is retrieved from the table
R-GCX016-cbl-00879 Has Counterpart Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Counterpart Code?' is invoked, and assuming that disposition code information has been retrieved from the dc table, when the system checks if a counterpart code exists for the disposition code, the desired outcome is that if counterpart code exists, proceed with counterpart removal logic, otherwise skip counterpart removal processing.
💻 Technical Criteria
Given Disposition code information has been retrieved from the DC table
When The system checks if a counterpart code exists for the disposition code
Then If counterpart code exists, proceed with counterpart removal logic, otherwise skip counterpart removal processing
R-GCX016-cbl-00880 Initialize Status Array Search
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Status Array Search' is invoked, and assuming that a counterpart code exists and needs to be removed from the status array, when the system initializes the search process for the s09a status array, the desired outcome is that search parameters are set up to iterate through all elements in the status array.
💻 Technical Criteria
Given A counterpart code exists and needs to be removed from the status array
When The system initializes the search process for the S09A status array
Then Search parameters are set up to iterate through all elements in the status array
R-GCX016-cbl-00881 Search S09A Array for Matching Elements
Process Rules
📊 Business Logic Narrative
When the process 'Search S09A Array for Matching Elements' is invoked, and assuming that the status array search has been initialized with counterpart code criteria, when the system searches through each element in the s09a status array, the desired outcome is that each array element is evaluated against the counterpart code matching criteria.
💻 Technical Criteria
Given The status array search has been initialized with counterpart code criteria
When The system searches through each element in the S09A status array
Then Each array element is evaluated against the counterpart code matching criteria
R-GCX016-cbl-00882 Match Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Match Found?' is invoked, and assuming that a status array element is being evaluated against counterpart code criteria, when the system compares the element against the counterpart matching rules, the desired outcome is that if a match is found, proceed with detailed matching criteria validation, otherwise continue searching remaining elements.
💻 Technical Criteria
Given A status array element is being evaluated against counterpart code criteria
When The system compares the element against the counterpart matching rules
Then If a match is found, proceed with detailed matching criteria validation, otherwise continue searching remaining elements
R-GCX016-cbl-00883 Check Matching Criteria
Process Rules
📊 Business Logic Narrative
When the process 'Check Matching Criteria' is invoked, and assuming that a potential counterpart match has been found in the status array, when the system begins detailed matching criteria evaluation, the desired outcome is that multiple matching criteria are evaluated in sequence to determine if the element should be removed.
💻 Technical Criteria
Given A potential counterpart match has been found in the status array
When The system begins detailed matching criteria evaluation
Then Multiple matching criteria are evaluated in sequence to determine if the element should be removed
R-GCX016-cbl-00884 Status Info Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Info Match?' is invoked, and assuming that a status array element is being evaluated for counterpart removal, when the system checks if the status information matches the counterpart criteria, the desired outcome is that if status information matches, mark element for removal, otherwise continue with entry number validation.
💻 Technical Criteria
Given A status array element is being evaluated for counterpart removal
When The system checks if the status information matches the counterpart criteria
Then If status information matches, mark element for removal, otherwise continue with entry number validation
R-GCX016-cbl-00885 Entry Number Match?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entry Number Match?', assuming that status information did not match counterpart criteria for a status array element, when the system checks if the entry number matches the counterpart criteria, the desired outcome is that if entry number matches, mark element for removal, otherwise continue with quantity validation.
💻 Technical Criteria
EXCLUDING Status information did not match counterpart criteria for a status array element
When The system checks if the entry number matches the counterpart criteria
Then If entry number matches, mark element for removal, otherwise continue with quantity validation
R-GCX016-cbl-00886 Quantity Match?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Quantity Match?', assuming that entry number did not match counterpart criteria for a status array element, when the system checks if the quantity matches the counterpart criteria, the desired outcome is that if quantity matches, mark element for removal, otherwise continue with specific code pattern validation.
💻 Technical Criteria
EXCLUDING Entry number did not match counterpart criteria for a status array element
When The system checks if the quantity matches the counterpart criteria
Then If quantity matches, mark element for removal, otherwise continue with specific code pattern validation
R-GCX016-cbl-00887 Specific Code Pattern Match?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Specific Code Pattern Match?', assuming that quantity did not match counterpart criteria for a status array element, when the system checks if the element matches specific code patterns for counterpart removal, the desired outcome is that if specific code pattern matches, mark element for removal, otherwise continue searching remaining elements.
💻 Technical Criteria
EXCLUDING Quantity did not match counterpart criteria for a status array element
When The system checks if the element matches specific code patterns for counterpart removal
Then If specific code pattern matches, mark element for removal, otherwise continue searching remaining elements
R-GCX016-cbl-00888 Remove Element from Array
Action Rules
📊 Business Logic Narrative
When the process 'Remove Element from Array' is invoked, and assuming that a status array element has been identified as matching counterpart removal criteria, when the system removes the element from the s09a status array, the desired outcome is that the matching element is marked for removal from the status array.
💻 Technical Criteria
Given A status array element has been identified as matching counterpart removal criteria
When The system removes the element from the S09A status array
Then The matching element is marked for removal from the status array
R-GCX016-cbl-00889 Compact Remaining Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Remaining Array Elements' is invoked, and assuming that one or more elements have been removed from the s09a status array, when the system compacts the remaining array elements, the desired outcome is that all remaining elements are moved to eliminate gaps and maintain array integrity.
💻 Technical Criteria
Given One or more elements have been removed from the S09A status array
When The system compacts the remaining array elements
Then All remaining elements are moved to eliminate gaps and maintain array integrity
R-GCX016-cbl-00890 Update Array Count
Action Rules
📊 Business Logic Narrative
When the process 'Update Array Count' is invoked, and assuming that the status array has been compacted after element removal, when the system updates the array element count, the desired outcome is that the array count reflects the actual number of remaining elements after counterpart removal.
💻 Technical Criteria
Given The status array has been compacted after element removal
When The system updates the array element count
Then The array count reflects the actual number of remaining elements after counterpart removal
R-GCX016-cbl-00891 Continue Search for More Matches
Process Rules
📊 Business Logic Narrative
When the process 'Continue Search for More Matches' is invoked, and assuming that a counterpart element has been removed and the array has been updated, when the system continues searching for additional counterpart matches, the desired outcome is that the search process resumes with the remaining elements in the status array.
💻 Technical Criteria
Given A counterpart element has been removed and the array has been updated
When The system continues searching for additional counterpart matches
Then The search process resumes with the remaining elements in the status array
R-GCX016-cbl-00892 More Elements to Check?
Decision Rules
📊 Business Logic Narrative
When the process 'More Elements to Check?' is invoked, and assuming that the system has processed a status array element for counterpart matching, when the system checks if more elements remain to be processed, the desired outcome is that if more elements exist, continue searching, otherwise complete the counterpart removal process.
💻 Technical Criteria
Given The system has processed a status array element for counterpart matching
When The system checks if more elements remain to be processed
Then If more elements exist, continue searching, otherwise complete the counterpart removal process
R-GCX016-cbl-00893 Counterpart Removal Complete
Process Rules
📊 Business Logic Narrative
When the process 'Counterpart Removal Complete' is invoked, and assuming that all elements in the status array have been checked for counterpart matches, when the counterpart removal process is completed, the desired outcome is that the status array contains only non-counterpart elements and the removal process is finished.
💻 Technical Criteria
Given All elements in the status array have been checked for counterpart matches
When The counterpart removal process is completed
Then The status array contains only non-counterpart elements and the removal process is finished
R-GCX016-cbl-00894 No Counterpart Code - Skip Removal
Decision Rules
📊 Business Logic Narrative
When the process 'No Counterpart Code - Skip Removal' is invoked, and assuming that a disposition code has been retrieved from the dc table, when the disposition code has no associated counterpart code, the desired outcome is that the counterpart removal process is skipped and processing continues without array modification.
💻 Technical Criteria
Given A disposition code has been retrieved from the DC table
When The disposition code has no associated counterpart code
Then The counterpart removal process is skipped and processing continues without array modification
R-GCX016-cbl-00897 Quantity Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Action Type?' is invoked, and assuming that a disposition code with quantity action is being processed, when the system evaluates the type of quantity action required, the desired outcome is that the system should identify whether to add or subtract the quantity from current released amount.
💻 Technical Criteria
Given A disposition code with quantity action is being processed
When The system evaluates the type of quantity action required
Then The system should identify whether to add or subtract the quantity from current released amount
R-GCX016-cbl-00900 Result Less Than Zero?
Validation Rules
📊 Business Logic Narrative
When the process 'Result Less Than Zero?' is invoked, and assuming that a quantity calculation has been performed for released amount, when the calculated result is less than zero, the desired outcome is that the system should identify this as an invalid negative quantity condition.
💻 Technical Criteria
Given A quantity calculation has been performed for released amount
When The calculated result is less than zero
Then The system should identify this as an invalid negative quantity condition
R-GCX016-cbl-00909 Add K1 Comments if Available
Decision Rules
📊 Business Logic Narrative
When the process 'Add K1 Comments if Available' is invoked, and assuming that a hold message is being formatted with quantity information, when the system checks for k1 comments availability, the desired outcome is that if k1 comments exist, the system adds the remarks to the hold message, otherwise proceeds without comments.
💻 Technical Criteria
Given A hold message is being formatted with quantity information
When The system checks for K1 comments availability
Then If K1 comments exist, the system adds the remarks to the hold message, otherwise proceeds without comments
R-GCX016-cbl-00910 Message Routing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Routing Required?' is invoked, and assuming that a hold message has been formatted with all required information, when the system evaluates routing requirements, the desired outcome is that if message routing is required, the system proceeds to determine recipients, otherwise logs the message generation.
💻 Technical Criteria
Given A hold message has been formatted with all required information
When The system evaluates routing requirements
Then If message routing is required, the system proceeds to determine recipients, otherwise logs the message generation
R-GCX016-cbl-00914 Check Broker Preferences
Decision Rules
📊 Business Logic Narrative
When the process 'Check Broker Preferences' is invoked, and assuming that broker information has been retrieved for notification, when the system checks broker communication preferences, the desired outcome is that the system determines if broker prefers email notification or merlin messaging based on broker configuration.
💻 Technical Criteria
Given Broker information has been retrieved for notification
When The system checks broker communication preferences
Then The system determines if broker prefers email notification or Merlin messaging based on broker configuration
R-GCX016-cbl-00922 Check Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Type' is invoked, and assuming that a status array element contains a disposition code, when the disposition code is evaluated for type classification, the desired outcome is that the system determines if the code represents a hold condition based on predefined hold code criteria.
💻 Technical Criteria
Given A status array element contains a disposition code
When The disposition code is evaluated for type classification
Then The system determines if the code represents a hold condition based on predefined hold code criteria
R-GCX016-cbl-00927 Check Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Type' is invoked, and assuming that a status array element contains a disposition code, when the disposition code is evaluated for type classification, the desired outcome is that the system determines if the code represents a release condition based on predefined release code criteria.
💻 Technical Criteria
Given A status array element contains a disposition code
When The disposition code is evaluated for type classification
Then The system determines if the code represents a release condition based on predefined release code criteria
R-GCX016-cbl-00929 Check Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Type' is invoked, and assuming that a status array element contains a disposition code, when the disposition code is evaluated for type classification, the desired outcome is that the system determines if the code represents a ptt condition based on predefined ptt code criteria.
💻 Technical Criteria
Given A status array element contains a disposition code
When The disposition code is evaluated for type classification
Then The system determines if the code represents a PTT condition based on predefined PTT code criteria
R-GCX016-cbl-00931 Check Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Type' is invoked, and assuming that a status array element contains a disposition code, when the disposition code is evaluated for type classification, the desired outcome is that the system determines if the code represents a proceed condition based on predefined proceed code criteria.
💻 Technical Criteria
Given A status array element contains a disposition code
When The disposition code is evaluated for type classification
Then The system determines if the code represents a proceed condition based on predefined proceed code criteria
R-GCX016-cbl-00933 Check Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Type' is invoked, and assuming that a status array element contains a disposition code, when the disposition code is evaluated for type classification, the desired outcome is that the system determines if the code represents an arrival condition based on predefined arrival code criteria.
💻 Technical Criteria
Given A status array element contains a disposition code
When The disposition code is evaluated for type classification
Then The system determines if the code represents an arrival condition based on predefined arrival code criteria
R-GCX016-cbl-00937 Check Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Type' is invoked, and assuming that a status array element contains a disposition code, when the disposition code is evaluated for type classification, the desired outcome is that the system determines if the code represents an fda condition based on predefined fda code criteria.
💻 Technical Criteria
Given A status array element contains a disposition code
When The disposition code is evaluated for type classification
Then The system determines if the code represents an FDA condition based on predefined FDA code criteria
R-GCX016-cbl-00939 Analyze Combined Flags
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Combined Flags' is invoked, and assuming that all status array elements have been processed and flags are set, when the system evaluates combined flag states, the desired outcome is that the system determines if both hold and release conditions exist simultaneously.
💻 Technical Criteria
Given All status array elements have been processed and flags are set
When The system evaluates combined flag states
Then The system determines if both hold and release conditions exist simultaneously
R-GCX016-cbl-00966 Update Status Array without New Codes
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array without New Codes' is invoked, and assuming that manual release processing is confirmed and canadian coordination is complete (if required), when status array update is performed, the desired outcome is that the system shall update the s09 status array to reflect manual release and shall not add new disposition codes and preserve existing status history.
💻 Technical Criteria
Given Manual release processing is confirmed AND Canadian coordination is complete (if required)
When Status array update is performed
Then The system shall update the S09 status array to reflect manual release AND shall not add new disposition codes AND preserve existing status history
R-GCX016-cbl-00973 FDA Hold Code Found?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold Code Found?' is invoked, and assuming that the status array has been examined for fda codes, when the system evaluates the presence of fda hold codes, the desired outcome is that the system either proceeds with fda hold processing if codes are found or exits fda processing if no codes are present.
💻 Technical Criteria
Given The status array has been examined for FDA codes
When The system evaluates the presence of FDA hold codes
Then The system either proceeds with FDA hold processing if codes are found or exits FDA processing if no codes are present
R-GCX016-cbl-00978 Combine FDA Hold with Other Holds
Computation Rules
📊 Business Logic Narrative
When the process 'Combine FDA Hold with Other Holds' is invoked, and assuming that fda hold exists and other hold codes are present in the status array, when the system combines fda hold with other holds, the desired outcome is that a comprehensive hold status is created that includes fda hold and all other applicable hold codes.
💻 Technical Criteria
Given FDA hold exists and other hold codes are present in the status array
When The system combines FDA hold with other holds
Then A comprehensive hold status is created that includes FDA hold and all other applicable hold codes
R-GCX016-cbl-00989 PTT Disposition Code Found?
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Disposition Code Found?' is invoked, and assuming that the status array has been analyzed for ptt codes, when the system checks for ptt disposition code presence, the desired outcome is that if ptt disposition code is found, proceed with ptt quantity extraction, otherwise restore previous ptt status if needed.
💻 Technical Criteria
Given The status array has been analyzed for PTT codes
When The system checks for PTT disposition code presence
Then If PTT disposition code is found, proceed with PTT quantity extraction, otherwise restore previous PTT status if needed
R-GCX016-cbl-00992 Quantity Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Valid?' is invoked, and assuming that ptt quantity has been validated against business rules, when the system checks validation results, the desired outcome is that if quantity is valid, calculate remaining quantity after ptt, otherwise log ptt validation error.
💻 Technical Criteria
Given PTT quantity has been validated against business rules
When The system checks validation results
Then If quantity is valid, calculate remaining quantity after PTT, otherwise log PTT validation error
R-GCX016-cbl-00994 Partial Release Scenario?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Release Scenario?' is invoked, and assuming that remaining quantity after ptt has been calculated, when the system evaluates if this is a partial release scenario, the desired outcome is that if released quantity is less than total quantity, set ptt status with partial quantity, otherwise set full ptt release status.
💻 Technical Criteria
Given Remaining quantity after PTT has been calculated
When The system evaluates if this is a partial release scenario
Then If released quantity is less than total quantity, set PTT status with partial quantity, otherwise set full PTT release status
R-GCX016-cbl-01003 PTT Validation Error
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Validation Error' is invoked, and assuming that ptt quantity validation has failed, when the system encounters validation errors, the desired outcome is that generate ptt validation error and proceed to error logging.
💻 Technical Criteria
Given PTT quantity validation has failed
When The system encounters validation errors
Then Generate PTT validation error and proceed to error logging
R-GCX016-cbl-01074 Canadian Coordination Complete
Process Rules
📊 Business Logic Narrative
When the process 'Canadian Coordination Complete' is invoked, and assuming that the canadian manifest status has been updated, when the coordination process completes, the desired outcome is that the system should mark the canadian coordination as complete and continue with normal processing.
💻 Technical Criteria
Given The Canadian manifest status has been updated
When The coordination process completes
Then The system should mark the Canadian coordination as complete and continue with normal processing
R-GCX016-cbl-01083 Exclude Deleted/Unusable Canadian Records
Validation Rules
📊 Business Logic Narrative
When the process 'Exclude Deleted/Unusable Canadian Records' is invoked, and assuming that canadian records need validation, when the system encounters deleted or unusable canadian records, the desired outcome is that the system should exclude these records and re-validate the remaining records.
💻 Technical Criteria
Given Canadian records need validation
When the system encounters deleted or unusable Canadian records
Then the system should exclude these records and re-validate the remaining records
R-GCX016-cbl-01104 Database Update Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Update Successful?' is invoked, and assuming that a database update operation has been attempted, when the system checks the update operation result, the desired outcome is that if the update was successful, processing continues; if the update failed, error handling is initiated.
💻 Technical Criteria
Given A database update operation has been attempted
When The system checks the update operation result
Then If the update was successful, processing continues; if the update failed, error handling is initiated
R-GCX016-cbl-01106 Handle Database Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Database Error' is invoked, and assuming that a database update operation has failed, when the system handles the database error, the desired outcome is that error information is logged, appropriate error messages are generated, and error recovery procedures are initiated.
💻 Technical Criteria
Given A database update operation has failed
When The system handles the database error
Then Error information is logged, appropriate error messages are generated, and error recovery procedures are initiated
R-GCX016-cbl-01119 Log Integration Call Results
Process Rules
📊 Business Logic Narrative
When the process 'Log Integration Call Results' is invoked, and assuming that gcciis integration calls have been completed, when the system logs integration call results, the desired outcome is that all integration service call results including success/failure status and response details are recorded for audit trail.
💻 Technical Criteria
Given GCCIIS integration calls have been completed
When The system logs integration call results
Then All integration service call results including success/failure status and response details are recorded for audit trail
R-GCX016-cbl-01120 Integration Complete
Process Rules
📊 Business Logic Narrative
When the process 'Integration Complete' is invoked, and assuming that all required integration calls have been made and results logged, when the system completes integration processing, the desired outcome is that integration service processing is marked as complete and control returns to the calling process.
💻 Technical Criteria
Given All required integration calls have been made and results logged
When The system completes integration processing
Then Integration service processing is marked as complete and control returns to the calling process
R-GCX016-cbl-01169 Add Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Quantity Information' is invoked, and assuming that a release message contains disposition code details, when quantity information needs to be added, the desired outcome is that the system includes total quantities, release quantities, and remaining quantities in the message.
💻 Technical Criteria
Given A release message contains disposition code details
When Quantity information needs to be added
Then The system includes total quantities, release quantities, and remaining quantities in the message
R-GCX016-cbl-01170 K1 Comments Available?
Decision Rules
📊 Business Logic Narrative
When the process 'K1 Comments Available?' is invoked, and assuming that a release message has quantity information, when the system checks for k1 comment segments, the desired outcome is that if k1 comments are available, the system proceeds to include them; otherwise, it continues to quantity action formatting.
💻 Technical Criteria
Given A release message has quantity information
When The system checks for K1 comment segments
Then If K1 comments are available, the system proceeds to include them; otherwise, it continues to quantity action formatting
R-GCX016-cbl-01173 Display Quantity Changes
Process Rules
📊 Business Logic Narrative
When the process 'Display Quantity Changes' is invoked, and assuming that quantity operations need to be displayed, when the system formats quantity changes, the desired outcome is that the system shows the specific add or subtract operations being performed on the release quantities.
💻 Technical Criteria
Given Quantity operations need to be displayed
When The system formats quantity changes
Then The system shows the specific add or subtract operations being performed on the release quantities
R-GCX016-cbl-01179 Send to Merlin System
Action Rules
📊 Business Logic Narrative
When the process 'Send to Merlin System' is invoked, and assuming that the final message format is prepared, when the message is sent to merlin system, the desired outcome is that the system transmits the release message to the merlin system for processing and distribution to recipients.
💻 Technical Criteria
Given The final message format is prepared
When The message is sent to Merlin system
Then The system transmits the release message to the Merlin system for processing and distribution to recipients
R-GCX016-cbl-01216 Train Arrival Event Received
Process Rules
📊 Business Logic Narrative
When the process 'Train Arrival Event Received' is invoked, and assuming that a train arrival event message is received from the message queue, when the system processes the v9 event segment, the desired outcome is that the system identifies the event type and prepares for appropriate arrival or cancellation processing.
💻 Technical Criteria
Given A train arrival event message is received from the message queue
When The system processes the V9 event segment
Then The system identifies the event type and prepares for appropriate arrival or cancellation processing
R-GCX016-cbl-01219 COC - Cancel Train Arrival
Decision Rules
📊 Business Logic Narrative
When the process 'COC - Cancel Train Arrival' is invoked, and assuming that a v9 segment with event code 'coc' is received, when the system evaluates the disposition code, the desired outcome is that the system sets cancellation processing flags and prepares arrival cancellation notification.
💻 Technical Criteria
Given A V9 segment with event code 'COC' is received
When The system evaluates the disposition code
Then The system sets cancellation processing flags and prepares arrival cancellation notification
R-GCX016-cbl-01220 Set Arrival Message Type
Action Rules
📊 Business Logic Narrative
When the process 'Set Arrival Message Type' is invoked, and assuming that an arrival event (pod or aad) has been identified, when the system prepares message routing configuration, the desired outcome is that the system sets arrival message type flag and configures routing parameters.
💻 Technical Criteria
Given An arrival event (POD or AAD) has been identified
When The system prepares message routing configuration
Then The system sets arrival message type flag and configures routing parameters
R-GCX016-cbl-01221 Set Cancellation Message Type
Action Rules
📊 Business Logic Narrative
When the process 'Set Cancellation Message Type' is invoked, and assuming that a cancellation event (coc) has been identified, when the system prepares message routing configuration, the desired outcome is that the system sets cancellation message type flag and configures routing parameters.
💻 Technical Criteria
Given A cancellation event (COC) has been identified
When The system prepares message routing configuration
Then The system sets cancellation message type flag and configures routing parameters
R-GCX016-cbl-01224 Format Message Content
Process Rules
📊 Business Logic Narrative
When the process 'Format Message Content' is invoked, and assuming that a uscs message has been prepared for arrival or cancellation, when the system formats the message content, the desired outcome is that the system structures the message with proper headers, data fields, and formatting requirements.
💻 Technical Criteria
Given A USCS message has been prepared for arrival or cancellation
When The system formats the message content
Then The system structures the message with proper headers, data fields, and formatting requirements
R-GCX016-cbl-01225 Include Train Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Train Information' is invoked, and assuming that message content formatting is in progress, when the system adds train-specific information, the desired outcome is that the system includes train id, vessel name, and current status in the message.
💻 Technical Criteria
Given Message content formatting is in progress
When The system adds train-specific information
Then The system includes train ID, vessel name, and current status in the message
R-GCX016-cbl-01232 Send Arrival Notification
Action Rules
📊 Business Logic Narrative
When the process 'Send Arrival Notification' is invoked, and assuming that message routing has been configured for arrival notifications, when the system transmits the arrival notification, the desired outcome is that the system successfully sends arrival messages to uscs, brokers, and payer of freight as configured.
💻 Technical Criteria
Given Message routing has been configured for arrival notifications
When The system transmits the arrival notification
Then The system successfully sends arrival messages to USCS, brokers, and payer of freight as configured
R-GCX016-cbl-01233 Send Cancellation Notification
Action Rules
📊 Business Logic Narrative
When the process 'Send Cancellation Notification' is invoked, and assuming that message routing has been configured for cancellation notifications, when the system transmits the cancellation notification, the desired outcome is that the system successfully sends cancellation messages to uscs, brokers, and payer of freight as configured.
💻 Technical Criteria
Given Message routing has been configured for cancellation notifications
When The system transmits the cancellation notification
Then The system successfully sends cancellation messages to USCS, brokers, and payer of freight as configured
R-GCX016-cbl-01234 Log Message Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log Message Activity' is invoked, and assuming that arrival or cancellation notifications have been transmitted, when the system performs activity logging, the desired outcome is that the system records message transmission details, recipients, timestamps, and status in audit logs.
💻 Technical Criteria
Given Arrival or cancellation notifications have been transmitted
When The system performs activity logging
Then The system records message transmission details, recipients, timestamps, and status in audit logs
R-GCX016-cbl-01235 Update Train Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status' is invoked, and assuming that message activity has been logged successfully, when the system updates train status, the desired outcome is that the system modifies train status to reflect current arrival state and processing completion.
💻 Technical Criteria
Given Message activity has been logged successfully
When The system updates train status
Then The system modifies train status to reflect current arrival state and processing completion
R-GCX016-cbl-01236 Arrival Notification Complete
Process Rules
📊 Business Logic Narrative
When the process 'Arrival Notification Complete' is invoked, and assuming that train status has been updated successfully, when the system finalizes arrival notification processing, the desired outcome is that the system marks the arrival notification process as complete and returns to main message processing flow.
💻 Technical Criteria
Given Train status has been updated successfully
When The system finalizes arrival notification processing
Then The system marks the arrival notification process as complete and returns to main message processing flow
R-GCX016-cbl-01243 Lookup Broker Short Name
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Broker Short Name' is invoked, and assuming that a broker code has been extracted from the pf= formatted payer code, when the system looks up the broker information, the desired outcome is that the system searches the bk broker table and b1 broker detail table to retrieve the broker short name.
💻 Technical Criteria
Given A broker code has been extracted from the PF= formatted payer code
When The system looks up the broker information
Then The system searches the BK broker table and B1 broker detail table to retrieve the broker short name
R-GCX016-cbl-01246 Return Payer Information
Process Rules
📊 Business Logic Narrative
When the process 'Return Payer Information' is invoked, and assuming that payer of freight identification process is complete, when the system has either found payer information or determined no payer exists, the desired outcome is that the system returns the payer information results with appropriate status indicators.
💻 Technical Criteria
Given Payer of freight identification process is complete
When The system has either found payer information or determined no payer exists
Then The system returns the payer information results with appropriate status indicators
R-GCX016-cbl-01247 Is Entity a Payer of Freight?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Entity a Payer of Freight?' is invoked, and assuming that an entity code is provided for broker name resolution, when the system evaluates the entity type, the desired outcome is that the system identifies whether the entity is classified as a payer of freight entity.
💻 Technical Criteria
Given An entity code is provided for broker name resolution
When The system evaluates the entity type
Then The system identifies whether the entity is classified as a payer of freight entity
R-GCX016-cbl-01249 Lookup Broker Information in BK Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Broker Information in BK Table' is invoked, and assuming that a formatted entity code (with or without pf= prefix) is available, when the system searches for broker information in the bk table, the desired outcome is that the system attempts to locate matching broker record in gcstbrt bk table.
💻 Technical Criteria
Given A formatted entity code (with or without PF= prefix) is available
When The system searches for broker information in the BK table
Then The system attempts to locate matching broker record in GCSTBRT BK table
R-GCX016-cbl-01250 Broker Found in BK Table?
Validation Rules
📊 Business Logic Narrative
When the process 'Broker Found in BK Table?' is invoked, and assuming that a broker lookup has been performed in the bk table, when the system evaluates the lookup results, the desired outcome is that the system determines if a valid broker record was found or not found.
💻 Technical Criteria
Given A broker lookup has been performed in the BK table
When The system evaluates the lookup results
Then The system determines if a valid broker record was found or not found
R-GCX016-cbl-01251 Retrieve Broker Short Name
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Broker Short Name' is invoked, and assuming that a valid broker record has been found in the bk table, when the system processes the broker information, the desired outcome is that the system retrieves and returns the broker short name from the broker record.
💻 Technical Criteria
Given A valid broker record has been found in the BK table
When The system processes the broker information
Then The system retrieves and returns the broker short name from the broker record
R-GCX016-cbl-01253 Return Broker Short Name
Process Rules
📊 Business Logic Narrative
When the process 'Return Broker Short Name' is invoked, and assuming that either a broker short name has been retrieved from the bk table or a default name has been assigned, when the broker name resolution process completes, the desired outcome is that the system returns the final broker short name for use in subsequent processing.
💻 Technical Criteria
Given Either a broker short name has been retrieved from the BK table OR a default name has been assigned
When The broker name resolution process completes
Then The system returns the final broker short name for use in subsequent processing
R-GCX016-cbl-01275 Extract SCAC Code from M10-02
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code from M10-02' is invoked, and assuming that an m10 manifest segment is received with carrier information in field m10-02, when the system processes the m10 segment for manifest data integration, the desired outcome is that the scac code is extracted from m10-02 field and stored for carrier identification.
💻 Technical Criteria
Given An M10 manifest segment is received with carrier information in field M10-02
When The system processes the M10 segment for manifest data integration
Then The SCAC code is extracted from M10-02 field and stored for carrier identification
R-GCX016-cbl-01277 Extract Country Code from M10-04
Process Rules
📊 Business Logic Narrative
When the process 'Extract Country Code from M10-04' is invoked, and assuming that an m10 manifest segment is received with country information in field m10-04, when the system processes the m10 segment for manifest data integration, the desired outcome is that the country code is extracted from m10-04 field and stored for origin country identification.
💻 Technical Criteria
Given An M10 manifest segment is received with country information in field M10-04
When The system processes the M10 segment for manifest data integration
Then The country code is extracted from M10-04 field and stored for origin country identification
R-GCX016-cbl-01278 Extract Vessel Name from M10-05
Process Rules
📊 Business Logic Narrative
When the process 'Extract Vessel Name from M10-05' is invoked, and assuming that an m10 manifest segment is received with vessel information in field m10-05, when the system processes the m10 segment for manifest data integration, the desired outcome is that the vessel name is extracted from m10-05 field and stored for carrier vessel identification.
💻 Technical Criteria
Given An M10 manifest segment is received with vessel information in field M10-05
When The system processes the M10 segment for manifest data integration
Then The vessel name is extracted from M10-05 field and stored for carrier vessel identification
R-GCX016-cbl-01279 Extract Flight/Voyage Number from M10-06
Process Rules
📊 Business Logic Narrative
When the process 'Extract Flight/Voyage Number from M10-06' is invoked, and assuming that an m10 manifest segment is received with flight/voyage information in field m10-06, when the system processes the m10 segment for manifest data integration, the desired outcome is that the flight/voyage number is extracted from m10-06 field and stored for trip identification.
💻 Technical Criteria
Given An M10 manifest segment is received with flight/voyage information in field M10-06
When The system processes the M10 segment for manifest data integration
Then The flight/voyage number is extracted from M10-06 field and stored for trip identification
R-GCX016-cbl-01281 Extract Manifest Type Code from M10-08
Process Rules
📊 Business Logic Narrative
When the process 'Extract Manifest Type Code from M10-08' is invoked, and assuming that an m10 manifest segment is received with manifest type information in field m10-08, when the system processes the m10 segment for manifest data integration, the desired outcome is that the manifest type code is extracted from m10-08 field and stored for manifest classification.
💻 Technical Criteria
Given An M10 manifest segment is received with manifest type information in field M10-08
When The system processes the M10 segment for manifest data integration
Then The manifest type code is extracted from M10-08 field and stored for manifest classification
R-GCX016-cbl-01282 Extract Condition Response Code from M10-09
Process Rules
📊 Business Logic Narrative
When the process 'Extract Condition Response Code from M10-09' is invoked, and assuming that an m10 manifest segment is received with condition response information in field m10-09, when the system processes the m10 segment for manifest data integration, the desired outcome is that the condition response code is extracted from m10-09 field and stored for manifest condition tracking.
💻 Technical Criteria
Given An M10 manifest segment is received with condition response information in field M10-09
When The system processes the M10 segment for manifest data integration
Then The condition response code is extracted from M10-09 field and stored for manifest condition tracking
R-GCX016-cbl-01289 Search SD Table
Action Rules
📊 Business Logic Narrative
When the process 'Search SD Table' is invoked, and assuming that a station lookup request is initiated, when the system searches the sd table using station identifier, the desired outcome is that the system retrieves station directory information if found.
💻 Technical Criteria
Given A station lookup request is initiated
When The system searches the SD table using station identifier
Then The system retrieves station directory information if found
R-GCX016-cbl-01290 Station Found in SD?
Validation Rules
📊 Business Logic Narrative
When the process 'Station Found in SD?' is invoked, and assuming that the sd table has been searched for a station, when the system checks if the station was found in sd table, the desired outcome is that if found, retrieve station name; if not found, search ds table.
💻 Technical Criteria
Given The SD table has been searched for a station
When The system checks if the station was found in SD table
Then If found, retrieve station name; if not found, search DS table
R-GCX016-cbl-01292 Station Found in DS?
Validation Rules
📊 Business Logic Narrative
When the process 'Station Found in DS?' is invoked, and assuming that the ds table has been searched for a station, when the system checks if the station was found in ds table, the desired outcome is that if found, retrieve station description; if not found, search ks table.
💻 Technical Criteria
Given The DS table has been searched for a station
When The system checks if the station was found in DS table
Then If found, retrieve station description; if not found, search KS table
R-GCX016-cbl-01293 Search KS Table
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search KS Table', assuming that station was not found in sd or ds tables, when the system searches the ks table using station identifier, the desired outcome is that the system retrieves known station information if found.
💻 Technical Criteria
EXCLUDING Station was not found in SD or DS tables
When The system searches the KS table using station identifier
Then The system retrieves known station information if found
R-GCX016-cbl-01295 Retrieve Station Name
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Station Name' is invoked, and assuming that station is found in sd table, when the system retrieves station data, the desired outcome is that the system extracts and stores the station name for formatting.
💻 Technical Criteria
Given Station is found in SD table
When The system retrieves station data
Then The system extracts and stores the station name for formatting
R-GCX016-cbl-01296 Retrieve Station Description
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Station Description' is invoked, and assuming that station is found in ds table, when the system retrieves station data, the desired outcome is that the system extracts and stores the station description for formatting.
💻 Technical Criteria
Given Station is found in DS table
When The system retrieves station data
Then The system extracts and stores the station description for formatting
R-GCX016-cbl-01300 Station Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Station Not Found Error', assuming that station was not found in sd, ds, or ks tables, when the system completes all station table searches, the desired outcome is that the system generates a station not found error and continues with lookup completion.
💻 Technical Criteria
EXCLUDING Station was not found in SD, DS, or KS tables
When The system completes all station table searches
Then The system generates a station not found error and continues with lookup completion
R-GCX016-cbl-01316 Access DS Table for Standard Stations
Action Rules
📊 Business Logic Narrative
When the process 'Access DS Table for Standard Stations' is invoked, and assuming that a standard station type is identified, when the system accesses the ds table, the desired outcome is that station code, name, and description are retrieved from ds table records.
💻 Technical Criteria
Given A standard station type is identified
When The system accesses the DS table
Then Station code, name, and description are retrieved from DS table records
R-GCX016-cbl-01317 Access KS Table for KCSM Stations
Action Rules
📊 Business Logic Narrative
When the process 'Access KS Table for KCSM Stations' is invoked, and assuming that a kcsm station type is identified, when the system accesses the ks table, the desired outcome is that station code, name, and description are retrieved from ks table records.
💻 Technical Criteria
Given A KCSM station type is identified
When The system accesses the KS table
Then Station code, name, and description are retrieved from KS table records
R-GCX016-cbl-01318 KCSM Specific Mapping Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Specific Mapping Required?' is invoked, and assuming that station information has been retrieved, when the system evaluates if kcsm-specific mapping is required, the desired outcome is that the system either applies kcsm mapping rules or proceeds to validation.
💻 Technical Criteria
Given Station information has been retrieved
When The system evaluates if KCSM-specific mapping is required
Then The system either applies KCSM mapping rules or proceeds to validation
R-GCX016-cbl-01319 Apply KCSM Station Mapping Rules
Process Rules
📊 Business Logic Narrative
When the process 'Apply KCSM Station Mapping Rules' is invoked, and assuming that kcsm-specific mapping is required, when the system applies kcsm station mapping rules, the desired outcome is that station information is transformed according to kcsm business requirements.
💻 Technical Criteria
Given KCSM-specific mapping is required
When The system applies KCSM station mapping rules
Then Station information is transformed according to KCSM business requirements
R-GCX016-cbl-01320 Format Station Information for KCSM
Process Rules
📊 Business Logic Narrative
When the process 'Format Station Information for KCSM' is invoked, and assuming that kcsm mapping rules have been applied, when the system formats station information for kcsm, the desired outcome is that station data is presented in kcsm-compliant format.
💻 Technical Criteria
Given KCSM mapping rules have been applied
When The system formats station information for KCSM
Then Station data is presented in KCSM-compliant format
R-GCX016-cbl-01321 Validate Station Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Station Data' is invoked, and assuming that station information has been retrieved and optionally formatted, when the system validates station data, the desired outcome is that station data is confirmed as complete and accurate or flagged as invalid.
💻 Technical Criteria
Given Station information has been retrieved and optionally formatted
When The system validates station data
Then Station data is confirmed as complete and accurate or flagged as invalid
R-GCX016-cbl-01322 Station Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Station Found?' is invoked, and assuming that station data validation has been completed, when the system checks if station was found, the desired outcome is that the system either returns station information or handles station not found condition.
💻 Technical Criteria
Given Station data validation has been completed
When The system checks if station was found
Then The system either returns station information or handles station not found condition
R-GCX016-cbl-01323 Log Station Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Station Not Found Error', assuming that station lookup has failed to find valid station, when the system logs station not found error, the desired outcome is that error is recorded with station lookup details for troubleshooting.
💻 Technical Criteria
EXCLUDING Station lookup has failed to find valid station
When The system logs station not found error
Then Error is recorded with station lookup details for troubleshooting
R-GCX016-cbl-01328 Add Disposition Description
Process Rules
📊 Business Logic Narrative
When the process 'Add Disposition Description' is invoked, and assuming that a message contains disposition code information, when the system adds disposition description to the message, the desired outcome is that the message includes the descriptive text explaining the disposition code meaning.
💻 Technical Criteria
Given A message contains disposition code information
When The system adds disposition description to the message
Then The message includes the descriptive text explaining the disposition code meaning
R-GCX016-cbl-01334 K1 Comments Available?
Validation Rules
📊 Business Logic Narrative
When the process 'K1 Comments Available?' is invoked, and assuming that a disposition message is being formatted, when the system checks for available k1 comments, the desired outcome is that the system determines whether k1 comment information exists and should be included in the message.
💻 Technical Criteria
Given A disposition message is being formatted
When The system checks for available K1 comments
Then The system determines whether K1 comment information exists and should be included in the message
R-GCX016-cbl-01335 Add First K1 Comment
Process Rules
📊 Business Logic Narrative
When the process 'Add First K1 Comment' is invoked, and assuming that k1 comments are available and first k1 comment exists, when the system adds the first k1 comment to the message, the desired outcome is that the message includes the first k1 comment text for additional context.
💻 Technical Criteria
Given K1 comments are available AND first K1 comment exists
When The system adds the first K1 comment to the message
Then The message includes the first K1 comment text for additional context
R-GCX016-cbl-01336 Add Second K1 Comment
Process Rules
📊 Business Logic Narrative
When the process 'Add Second K1 Comment' is invoked, and assuming that k1 comments are available and second k1 comment exists, when the system adds the second k1 comment to the message, the desired outcome is that the message includes the second k1 comment text for additional context.
💻 Technical Criteria
Given K1 comments are available AND second K1 comment exists
When The system adds the second K1 comment to the message
Then The message includes the second K1 comment text for additional context
R-GCX016-cbl-01337 Add Third K1 Comment
Process Rules
📊 Business Logic Narrative
When the process 'Add Third K1 Comment' is invoked, and assuming that k1 comments are available and third k1 comment exists, when the system adds the third k1 comment to the message, the desired outcome is that the message includes the third k1 comment text for additional context.
💻 Technical Criteria
Given K1 comments are available AND third K1 comment exists
When The system adds the third K1 comment to the message
Then The message includes the third K1 comment text for additional context
R-GCX016-cbl-01338 Add Fourth K1 Comment
Process Rules
📊 Business Logic Narrative
When the process 'Add Fourth K1 Comment' is invoked, and assuming that k1 comments are available and fourth k1 comment exists, when the system adds the fourth k1 comment to the message, the desired outcome is that the message includes the fourth k1 comment text for additional context.
💻 Technical Criteria
Given K1 comments are available AND fourth K1 comment exists
When The system adds the fourth K1 comment to the message
Then The message includes the fourth K1 comment text for additional context
R-GCX016-cbl-01343 Add Processing Timestamp
Process Rules
📊 Business Logic Narrative
When the process 'Add Processing Timestamp' is invoked, and assuming that a disposition message is being finalized, when the system adds processing timestamp to the message, the desired outcome is that the message includes the current processing date and time for audit trail.
💻 Technical Criteria
Given A disposition message is being finalized
When The system adds processing timestamp to the message
Then The message includes the current processing date and time for audit trail
R-GCX016-cbl-01344 Finalize Message Format
Process Rules
📊 Business Logic Narrative
When the process 'Finalize Message Format' is invoked, and assuming that all message components have been added to the disposition message, when the system finalizes the message format, the desired outcome is that the message is properly formatted and ready for transmission to recipients.
💻 Technical Criteria
Given All message components have been added to the disposition message
When The system finalizes the message format
Then The message is properly formatted and ready for transmission to recipients
R-GCX016-cbl-01345 Disposition Code Has Quantity Action?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Has Quantity Action?' is invoked, and assuming that a disposition code is received in the x4 segment, when the system checks if the disposition code has an associated quantity action in the dc table, the desired outcome is that the system determines whether quantity processing is required and proceeds accordingly.
💻 Technical Criteria
Given A disposition code is received in the X4 segment
When The system checks if the disposition code has an associated quantity action in the DC table
Then The system determines whether quantity processing is required and proceeds accordingly
R-GCX016-cbl-01346 Retrieve Quantity Action from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Quantity Action from DC Table' is invoked, and assuming that a disposition code has been identified as having quantity action, when the system retrieves the quantity action details from the dc table, the desired outcome is that the quantity action type and parameters are available for processing.
💻 Technical Criteria
Given A disposition code has been identified as having quantity action
When The system retrieves the quantity action details from the DC table
Then The quantity action type and parameters are available for processing
R-GCX016-cbl-01348 Format ADD Quantity Message
Process Rules
📊 Business Logic Narrative
When the process 'Format ADD Quantity Message' is invoked, and assuming that the quantity action type is add, when the system formats the quantity action message, the desired outcome is that a message is created showing the quantity that will be added to the release quantity.
💻 Technical Criteria
Given The quantity action type is ADD
When The system formats the quantity action message
Then A message is created showing the quantity that will be added to the release quantity
R-GCX016-cbl-01349 Format SUBTRACT Quantity Message
Process Rules
📊 Business Logic Narrative
When the process 'Format SUBTRACT Quantity Message' is invoked, and assuming that the quantity action type is subtract, when the system formats the quantity action message, the desired outcome is that a message is created showing the quantity that will be subtracted from the release quantity.
💻 Technical Criteria
Given The quantity action type is SUBTRACT
When The system formats the quantity action message
Then A message is created showing the quantity that will be subtracted from the release quantity
R-GCX016-cbl-01350 Calculate New Release Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate New Release Quantity' is invoked, and assuming that the current release quantity and quantity action amount are known, when the system calculates the new release quantity based on the action type, the desired outcome is that the new release quantity is computed by adding or subtracting the action amount from the current quantity.
💻 Technical Criteria
Given The current release quantity and quantity action amount are known
When The system calculates the new release quantity based on the action type
Then The new release quantity is computed by adding or subtracting the action amount from the current quantity
R-GCX016-cbl-01351 Quantity Would Be Negative?
Validation Rules
📊 Business Logic Narrative
When the process 'Quantity Would Be Negative?' is invoked, and assuming that a new release quantity has been calculated, when the calculated quantity would be less than zero, the desired outcome is that the system identifies this as an invalid condition requiring correction.
💻 Technical Criteria
Given A new release quantity has been calculated
When The calculated quantity would be less than zero
Then The system identifies this as an invalid condition requiring correction
R-GCX016-cbl-01354 Format Quantity Action Display Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Quantity Action Display Message' is invoked, and assuming that the final release quantity has been determined, when the system formats the quantity action display message, the desired outcome is that a formatted message is created containing all relevant quantity action information.
💻 Technical Criteria
Given The final release quantity has been determined
When The system formats the quantity action display message
Then A formatted message is created containing all relevant quantity action information
R-GCX016-cbl-01355 Include Current Released Quantity
Process Rules
📊 Business Logic Narrative
When the process 'Include Current Released Quantity' is invoked, and assuming that a quantity action display message is being formatted, when the system includes current quantity information, the desired outcome is that the current released quantity is added to the message for broker reference.
💻 Technical Criteria
Given A quantity action display message is being formatted
When The system includes current quantity information
Then The current released quantity is added to the message for broker reference
R-GCX016-cbl-01357 Include Quantity Change Amount
Process Rules
📊 Business Logic Narrative
When the process 'Include Quantity Change Amount' is invoked, and assuming that a quantity action display message is being formatted, when the system includes the quantity change details, the desired outcome is that the exact amount being added or subtracted is included in the message.
💻 Technical Criteria
Given A quantity action display message is being formatted
When The system includes the quantity change details
Then The exact amount being added or subtracted is included in the message
R-GCX016-cbl-01358 Add to Merlin Message Buffer
Action Rules
📊 Business Logic Narrative
When the process 'Add to Merlin Message Buffer' is invoked, and assuming that a complete quantity action message has been formatted, when the system adds the message to the merlin buffer, the desired outcome is that the message is appended to the buffer for subsequent transmission.
💻 Technical Criteria
Given A complete quantity action message has been formatted
When The system adds the message to the Merlin buffer
Then The message is appended to the buffer for subsequent transmission
R-GCX016-cbl-01359 Continue Message Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue Message Processing' is invoked, and assuming that quantity action processing has been completed successfully, when the system continues with message processing, the desired outcome is that control returns to the main message processing flow for additional processing steps.
💻 Technical Criteria
Given Quantity action processing has been completed successfully
When The system continues with message processing
Then Control returns to the main message processing flow for additional processing steps
R-GCX016-cbl-01361 Store K1 Comment in Train Log
Process Rules
📊 Business Logic Narrative
When the process 'Store K1 Comment in Train Log' is invoked, and assuming that a k1 comment segment is being processed in train operations context, when the system processes the k1 segment, the desired outcome is that the k1 comment is stored in the train log for future reference.
💻 Technical Criteria
Given A K1 comment segment is being processed in train operations context
When The system processes the K1 segment
Then The K1 comment is stored in the train log for future reference
R-GCX016-cbl-01363 Add K1 Comment to Array
Process Rules
📊 Business Logic Narrative
When the process 'Add K1 Comment to Array' is invoked, and assuming that a k1 comment segment is received and comment count is less than 4, when the system processes the k1 comment, the desired outcome is that the k1 comment is added to the comment array for inclusion in messages.
💻 Technical Criteria
Given A K1 comment segment is received and comment count is less than 4
When The system processes the K1 comment
Then The K1 comment is added to the comment array for inclusion in messages
R-GCX016-cbl-01364 Skip Additional Comments
Validation Rules
📊 Business Logic Narrative
When the process 'Skip Additional Comments' is invoked, and assuming that a k1 comment segment is received and comment count is already 4 or more, when the system evaluates the comment for processing, the desired outcome is that the additional k1 comment is skipped and not included in the comment array.
💻 Technical Criteria
Given A K1 comment segment is received and comment count is already 4 or more
When The system evaluates the comment for processing
Then The additional K1 comment is skipped and not included in the comment array
R-GCX016-cbl-01366 Format Free-Form Text
Process Rules
📊 Business Logic Narrative
When the process 'Format Free-Form Text' is invoked, and assuming that k1 comments are available and message type has been determined, when the system formats the k1 comments for message inclusion, the desired outcome is that the k1 comments are formatted as free-form text appropriate for the specific message type.
💻 Technical Criteria
Given K1 comments are available and message type has been determined
When The system formats the K1 comments for message inclusion
Then The K1 comments are formatted as free-form text appropriate for the specific message type
R-GCX016-cbl-01367 Append to Message Body
Process Rules
📊 Business Logic Narrative
When the process 'Append to Message Body' is invoked, and assuming that k1 comments have been formatted as free-form text, when the system prepares the final message for transmission, the desired outcome is that the formatted k1 comments are appended to the message body.
💻 Technical Criteria
Given K1 comments have been formatted as free-form text
When The system prepares the final message for transmission
Then The formatted K1 comments are appended to the message body
R-GCX016-cbl-01389 Validate Status Description Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Status Description Format' is invoked, and assuming that a status description has been generated for integration service mapping, when the system validates the status description format, the desired outcome is that the system ensures the status description meets integration service format requirements and standards.
💻 Technical Criteria
Given A status description has been generated for integration service mapping
When The system validates the status description format
Then The system ensures the status description meets integration service format requirements and standards
R-GCX016-cbl-01392 Retrieve BK Table Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve BK Table Record' is invoked, and assuming that a valid broker code is available, when the system performs bk table lookup using the broker code, the desired outcome is that the system retrieves the corresponding broker master record from bk table.
💻 Technical Criteria
Given A valid broker code is available
When The system performs BK table lookup using the broker code
Then The system retrieves the corresponding broker master record from BK table
R-GCX016-cbl-01393 BK Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'BK Record Found?' is invoked, and assuming that bk table lookup has been performed with broker code, when the system checks if a matching bk record was found, the desired outcome is that the system proceeds to extract broker short name if record found, otherwise returns broker not found error.
💻 Technical Criteria
Given BK table lookup has been performed with broker code
When The system checks if a matching BK record was found
Then The system proceeds to extract broker short name if record found, otherwise returns broker not found error
R-GCX016-cbl-01394 Extract Broker Short Name
Action Rules
📊 Business Logic Narrative
When the process 'Extract Broker Short Name' is invoked, and assuming that a valid bk table record has been found, when the system processes the bk record, the desired outcome is that the system extracts and stores the broker short name from the bk record.
💻 Technical Criteria
Given A valid BK table record has been found
When The system processes the BK record
Then The system extracts and stores the broker short name from the BK record
R-GCX016-cbl-01395 Retrieve B1 Table Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve B1 Table Record' is invoked, and assuming that broker short name has been extracted from bk table, when the system performs b1 table lookup using the broker code, the desired outcome is that the system retrieves the corresponding broker detail record from b1 table.
💻 Technical Criteria
Given Broker short name has been extracted from BK table
When The system performs B1 table lookup using the broker code
Then The system retrieves the corresponding broker detail record from B1 table
R-GCX016-cbl-01397 Extract Broker Contact Details
Action Rules
📊 Business Logic Narrative
When the process 'Extract Broker Contact Details' is invoked, and assuming that a valid b1 table record has been found, when the system processes the b1 record, the desired outcome is that the system extracts and stores broker contact details from the b1 record.
💻 Technical Criteria
Given A valid B1 table record has been found
When The system processes the B1 record
Then The system extracts and stores broker contact details from the B1 record
R-GCX016-cbl-01398 Extract Email Preferences
Action Rules
📊 Business Logic Narrative
When the process 'Extract Email Preferences' is invoked, and assuming that broker contact details have been extracted from b1 record, when the system processes email preference fields, the desired outcome is that the system extracts and stores broker email preferences for notification purposes.
💻 Technical Criteria
Given Broker contact details have been extracted from B1 record
When The system processes email preference fields
Then The system extracts and stores broker email preferences for notification purposes
R-GCX016-cbl-01399 Extract Notification Settings
Action Rules
📊 Business Logic Narrative
When the process 'Extract Notification Settings' is invoked, and assuming that email preferences have been extracted from b1 record, when the system processes notification setting fields, the desired outcome is that the system extracts and stores broker notification settings for message routing.
💻 Technical Criteria
Given Email preferences have been extracted from B1 record
When The system processes notification setting fields
Then The system extracts and stores broker notification settings for message routing
R-GCX016-cbl-01400 Payer of Freight Entity?
Decision Rules
📊 Business Logic Narrative
When the process 'Payer of Freight Entity?' is invoked, and assuming that notification settings have been extracted from broker record, when the system checks if this is a payer of freight entity lookup, the desired outcome is that the system applies pf= prefix lookup if payer of freight entity, otherwise proceeds to validate broker information.
💻 Technical Criteria
Given Notification settings have been extracted from broker record
When The system checks if this is a payer of freight entity lookup
Then The system applies PF= prefix lookup if payer of freight entity, otherwise proceeds to validate broker information
R-GCX016-cbl-01407 Broker Lookup Complete
Process Rules
📊 Business Logic Narrative
When the process 'Broker Lookup Complete' is invoked, and assuming that broker information has been stored successfully, when the system completes the broker lookup process, the desired outcome is that the system returns success status with complete broker information available for use.
💻 Technical Criteria
Given Broker information has been stored successfully
When The system completes the broker lookup process
Then The system returns success status with complete broker information available for use
R-GCX016-cbl-01408 Broker Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Broker Not Found Error', assuming that broker code is not available or broker records are not found in bk table, when the system encounters broker lookup failure, the desired outcome is that the system returns broker not found error status and terminates lookup process.
💻 Technical Criteria
EXCLUDING Broker code is not available or broker records are not found in BK table
When The system encounters broker lookup failure
Then The system returns broker not found error status and terminates lookup process
R-GCX016-cbl-01413 Set Email Keywords for Categorization
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Keywords for Categorization' is invoked, and assuming that email message has been formatted for delivery, when the system prepares email routing parameters, the desired outcome is that the system sets appropriate keywords and categories based on message type and content for email gateway processing.
💻 Technical Criteria
Given Email message has been formatted for delivery
When The system prepares email routing parameters
Then The system sets appropriate keywords and categories based on message type and content for email gateway processing
R-GCX016-cbl-01416 Send via Email Gateway
Action Rules
📊 Business Logic Narrative
When the process 'Send via Email Gateway' is invoked, and assuming that email message is formatted with proper keywords and categorization, when the system initiates email transmission, the desired outcome is that the system sends the notification through the email gateway to the broker's configured email address.
💻 Technical Criteria
Given Email message is formatted with proper keywords and categorization
When The system initiates email transmission
Then The system sends the notification through the email gateway to the broker's configured email address
R-GCX016-cbl-01417 Send via Merlin Gateway
Action Rules
📊 Business Logic Narrative
When the process 'Send via Merlin Gateway' is invoked, and assuming that merlin message is formatted with proper user codes and routing parameters, when the system initiates merlin transmission, the desired outcome is that the system sends the notification through the merlin gateway to the broker's configured merlin user id.
💻 Technical Criteria
Given Merlin message is formatted with proper user codes and routing parameters
When The system initiates Merlin transmission
Then The system sends the notification through the Merlin gateway to the broker's configured Merlin user ID
R-GCX016-cbl-01418 Log Routing Decision
Process Rules
📊 Business Logic Narrative
When the process 'Log Routing Decision' is invoked, and assuming that notification has been transmitted via either email or merlin gateway, when the transmission is completed, the desired outcome is that the system logs the routing method used, broker information, message type, and transmission status for audit trail.
💻 Technical Criteria
Given Notification has been transmitted via either email or Merlin gateway
When The transmission is completed
Then The system logs the routing method used, broker information, message type, and transmission status for audit trail
R-GCX016-cbl-01419 Is Disposition Code Configured for Broker Notifications?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Disposition Code Configured for Broker Notifications?' is invoked, and assuming that a disposition code needs to be validated for broker notification eligibility, when the system checks the broker disposition code configuration in gcstbrt system tables, the desired outcome is that the system sets validation flag to true if the disposition code is found in configuration tables, otherwise sets validation flag to false.
💻 Technical Criteria
Given A disposition code needs to be validated for broker notification eligibility
When The system checks the broker disposition code configuration in GCSTBRT system tables
Then The system sets validation flag to TRUE if the disposition code is found in configuration tables, otherwise sets validation flag to FALSE
R-GCX016-cbl-01420 Continue with Broker Notification Process
Decision Rules
📊 Business Logic Narrative
When the process 'Continue with Broker Notification Process' is invoked, and assuming that a disposition code validation has been completed with a validation result, when the validation flag is true indicating the disposition code is configured for notifications, the desired outcome is that the system continues with the broker notification process.
💻 Technical Criteria
Given A disposition code validation has been completed with a validation result
When The validation flag is TRUE indicating the disposition code is configured for notifications
Then The system continues with the broker notification process
R-GCX016-cbl-01421 Skip Broker Notification Process
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Broker Notification Process', assuming that a disposition code validation has been completed with a validation result, when the validation flag is false indicating the disposition code is not configured for notifications, the desired outcome is that the system skips the broker notification process.
💻 Technical Criteria
EXCLUDING A disposition code validation has been completed with a validation result
When The validation flag is FALSE indicating the disposition code is not configured for notifications
Then The system skips the broker notification process
R-GCX016-cbl-01425 Read N101 Segments from Secondary Records
Action Rules
📊 Business Logic Narrative
When the process 'Read N101 Segments from Secondary Records' is invoked, and assuming that the secondary record search has been initialized, when the system reads n101 segments from secondary records, the desired outcome is that the system retrieves n101 segment data for entity identification processing.
💻 Technical Criteria
Given The secondary record search has been initialized
When The system reads N101 segments from secondary records
Then The system retrieves N101 segment data for entity identification processing
R-GCX016-cbl-01426 N101 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N101 Segment Found?' is invoked, and assuming that the system has attempted to read n101 segments, when the system checks for n101 segment existence, the desired outcome is that the system determines if n101 segments are found for qualifier processing or continues searching for additional records.
💻 Technical Criteria
Given The system has attempted to read N101 segments
When The system checks for N101 segment existence
Then The system determines if N101 segments are found for qualifier processing or continues searching for additional records
R-GCX016-cbl-01428 Qualifier = 'PF' Payer of Freight?
Decision Rules
📊 Business Logic Narrative
When the process 'Qualifier = 'PF' Payer of Freight?' is invoked, and assuming that the system has checked the n101-01 qualifier field, when the qualifier equals 'pf' indicating payer of freight, the desired outcome is that the system identifies this as payer of freight entity information and proceeds to extract the data.
💻 Technical Criteria
Given The system has checked the N101-01 qualifier field
When The qualifier equals 'PF' indicating payer of freight
Then The system identifies this as payer of freight entity information and proceeds to extract the data
R-GCX016-cbl-01429 Extract Payer of Freight Entity Information
Action Rules
📊 Business Logic Narrative
When the process 'Extract Payer of Freight Entity Information' is invoked, and assuming that the n101 segment has been identified as containing payer of freight information, when the system extracts payer of freight entity information, the desired outcome is that the system retrieves the payer entity identification data from the n101 segment.
💻 Technical Criteria
Given The N101 segment has been identified as containing payer of freight information
When The system extracts payer of freight entity information
Then The system retrieves the payer entity identification data from the N101 segment
R-GCX016-cbl-01430 Store Payer Entity ID in Working Storage
Action Rules
📊 Business Logic Narrative
When the process 'Store Payer Entity ID in Working Storage' is invoked, and assuming that payer of freight entity information has been extracted from n101 segment, when the system stores the payer entity id, the desired outcome is that the payer entity identification is saved in working storage for broker lookup processing.
💻 Technical Criteria
Given Payer of freight entity information has been extracted from N101 segment
When The system stores the payer entity ID
Then The payer entity identification is saved in working storage for broker lookup processing
R-GCX016-cbl-01431 Continue Search for Additional N101 Records
Process Rules
📊 Business Logic Narrative
When the process 'Continue Search for Additional N101 Records' is invoked, and assuming that the system has processed an n101 segment, when the system continues searching for additional n101 records, the desired outcome is that the system examines remaining secondary records for more n101 segments.
💻 Technical Criteria
Given The system has processed an N101 segment
When The system continues searching for additional N101 records
Then The system examines remaining secondary records for more N101 segments
R-GCX016-cbl-01432 More N101 Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More N101 Records?' is invoked, and assuming that the system has processed available n101 segments, when the system checks for more n101 records, the desired outcome is that the system determines if additional n101 records exist for processing or if the search should conclude.
💻 Technical Criteria
Given The system has processed available N101 segments
When The system checks for more N101 records
Then The system determines if additional N101 records exist for processing or if the search should conclude
R-GCX016-cbl-01433 Lookup Broker Short Name Using PF= Prefix
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Broker Short Name Using PF= Prefix' is invoked, and assuming that payer of freight entity id has been stored and no more n101 records exist, when the system looks up broker short name using pf= prefix, the desired outcome is that the system retrieves broker short name information from the broker table using the formatted payer entity id.
💻 Technical Criteria
Given Payer of freight entity ID has been stored and no more N101 records exist
When The system looks up broker short name using PF= prefix
Then The system retrieves broker short name information from the broker table using the formatted payer entity ID
R-GCX016-cbl-01434 Return Payer of Freight Information to Caller
Action Rules
📊 Business Logic Narrative
When the process 'Return Payer of Freight Information to Caller' is invoked, and assuming that broker short name has been successfully looked up, when the system returns payer of freight information to caller, the desired outcome is that the complete payer of freight information including broker details is provided to the calling process.
💻 Technical Criteria
Given Broker short name has been successfully looked up
When The system returns payer of freight information to caller
Then The complete payer of freight information including broker details is provided to the calling process
R-GCX016-cbl-01436 Debug Mode Active?
Decision Rules
📊 Business Logic Narrative
When the process 'Debug Mode Active?' is invoked, and assuming that a status array debugging request is received, when the system checks the debug mode status, the desired outcome is that if debug mode is active, proceed with debug display initialization, otherwise skip debug processing.
💻 Technical Criteria
Given A status array debugging request is received
When The system checks the debug mode status
Then If debug mode is active, proceed with debug display initialization, otherwise skip debug processing
R-GCX016-cbl-01437 Initialize Debug Display
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Debug Display' is invoked, and assuming that debug mode is active, when debug display initialization is triggered, the desired outcome is that set up debug display headers and prepare for array content display.
💻 Technical Criteria
Given Debug mode is active
When Debug display initialization is triggered
Then Set up debug display headers and prepare for array content display
R-GCX016-cbl-01438 Array Has Elements?
Validation Rules
📊 Business Logic Narrative
When the process 'Array Has Elements?' is invoked, and assuming that the s09a status array has been read, when the system checks for array elements, the desired outcome is that if array has elements, display array header information, otherwise skip to array summary display.
💻 Technical Criteria
Given The S09A status array has been read
When The system checks for array elements
Then If array has elements, display array header information, otherwise skip to array summary display
R-GCX016-cbl-01439 Display Array Header Information
Process Rules
📊 Business Logic Narrative
When the process 'Display Array Header Information' is invoked, and assuming that the status array contains elements, when array header display is initiated, the desired outcome is that display array identification and structural information.
💻 Technical Criteria
Given The status array contains elements
When Array header display is initiated
Then Display array identification and structural information
R-GCX016-cbl-01440 Loop Through Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Array Elements' is invoked, and assuming that the status array has elements to display, when element processing loop is initiated, the desired outcome is that process each array element sequentially for detailed display.
💻 Technical Criteria
Given The status array has elements to display
When Element processing loop is initiated
Then Process each array element sequentially for detailed display
R-GCX016-cbl-01443 Show Status Information
Process Rules
📊 Business Logic Narrative
When the process 'Show Status Information' is invoked, and assuming that a status array element is being displayed, when status information display is requested, the desired outcome is that show all status flags and related information for the current element.
💻 Technical Criteria
Given A status array element is being displayed
When Status information display is requested
Then Show all status flags and related information for the current element
R-GCX016-cbl-01447 Show Released Flag
Process Rules
📊 Business Logic Narrative
When the process 'Show Released Flag' is invoked, and assuming that a status array element is being displayed, when released flag display is requested, the desired outcome is that show the released status indicator for the current element.
💻 Technical Criteria
Given A status array element is being displayed
When Released flag display is requested
Then Show the released status indicator for the current element
R-GCX016-cbl-01448 More Elements?
Decision Rules
📊 Business Logic Narrative
When the process 'More Elements?' is invoked, and assuming that an array element has been processed and displayed, when the system checks for additional elements, the desired outcome is that if more elements exist, continue with the next element, otherwise proceed to array summary display.
💻 Technical Criteria
Given An array element has been processed and displayed
When The system checks for additional elements
Then If more elements exist, continue with the next element, otherwise proceed to array summary display
R-GCX016-cbl-01449 Display Array Summary
Process Rules
📊 Business Logic Narrative
When the process 'Display Array Summary' is invoked, and assuming that all array elements have been processed or no elements exist, when array summary display is initiated, the desired outcome is that display total element count and array capacity usage information.
💻 Technical Criteria
Given All array elements have been processed or no elements exist
When Array summary display is initiated
Then Display total element count and array capacity usage information
R-GCX016-cbl-01450 Show Total Element Count
Process Rules
📊 Business Logic Narrative
When the process 'Show Total Element Count' is invoked, and assuming that array summary display is being shown, when total element count display is requested, the desired outcome is that show the count of elements currently in the status array.
💻 Technical Criteria
Given Array summary display is being shown
When Total element count display is requested
Then Show the count of elements currently in the status array
R-GCX016-cbl-01451 Show Array Capacity Usage
Process Rules
📊 Business Logic Narrative
When the process 'Show Array Capacity Usage' is invoked, and assuming that array summary display is being shown, when array capacity usage display is requested, the desired outcome is that show the percentage or ratio of array capacity currently utilized.
💻 Technical Criteria
Given Array summary display is being shown
When Array capacity usage display is requested
Then Show the percentage or ratio of array capacity currently utilized
R-GCX016-cbl-01452 Log Debug Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Debug Information' is invoked, and assuming that debug display has been completed, when debug information logging is initiated, the desired outcome is that record all displayed debug information in the system log.
💻 Technical Criteria
Given Debug display has been completed
When Debug information logging is initiated
Then Record all displayed debug information in the system log
R-GCX016-cbl-01453 Skip Debug Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Debug Processing', assuming that a status array debugging request is received, when debug mode is not active, the desired outcome is that skip all debug display processing and proceed to completion.
💻 Technical Criteria
EXCLUDING A status array debugging request is received
When Debug mode is not active
Then Skip all debug display processing and proceed to completion
R-GCX016-cbl-01454 Debug Display Complete
Process Rules
📊 Business Logic Narrative
When the process 'Debug Display Complete' is invoked, and assuming that debug processing has been completed or skipped, when debug display completion is reached, the desired outcome is that finalize debug display and return control to the main processing flow.
💻 Technical Criteria
Given Debug processing has been completed or skipped
When Debug display completion is reached
Then Finalize debug display and return control to the main processing flow
R-GCX016-cbl-01485 Apply Message Categorization
Process Rules
📊 Business Logic Narrative
When the process 'Apply Message Categorization' is invoked, and assuming that a message has been formatted with subject line, when message categorization needs to be applied, the desired outcome is that the system should apply the appropriate message category based on message type and content.
💻 Technical Criteria
Given A message has been formatted with subject line
When Message categorization needs to be applied
Then The system should apply the appropriate message category based on message type and content
R-GCX016-cbl-01486 Prepare Final Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Final Email Message' is invoked, and assuming that a message has been categorized and formatted, when final email preparation is required, the desired outcome is that the system should prepare the complete email message with all necessary headers, content, and routing information.
💻 Technical Criteria
Given A message has been categorized and formatted
When Final email preparation is required
Then The system should prepare the complete email message with all necessary headers, content, and routing information
R-GCX016-cbl-01492 Identify Secondary Recipients
Process Rules
📊 Business Logic Narrative
When the process 'Identify Secondary Recipients' is invoked, and assuming that additional recipients have been determined to be required, when the system processes the secondary recipient identification logic, the desired outcome is that the system identifies all secondary recipients that should receive the error message.
💻 Technical Criteria
Given Additional recipients have been determined to be required
When The system processes the secondary recipient identification logic
Then The system identifies all secondary recipients that should receive the error message
R-GCX016-cbl-01493 Check Secondary User Validity
Validation Rules
📊 Business Logic Narrative
When the process 'Check Secondary User Validity' is invoked, and assuming that secondary recipients have been identified, when the system validates each secondary user's credentials and routing permissions, the desired outcome is that the system determines which secondary users are valid recipients.
💻 Technical Criteria
Given Secondary recipients have been identified
When The system validates each secondary user's credentials and routing permissions
Then The system determines which secondary users are valid recipients
R-GCX016-cbl-01496 Set Message Keywords for Categorization
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Keywords for Categorization' is invoked, and assuming that all valid recipients have been identified and added to the routing list, when the system processes message categorization requirements, the desired outcome is that appropriate keywords are set for message categorization and proper routing.
💻 Technical Criteria
Given All valid recipients have been identified and added to the routing list
When The system processes message categorization requirements
Then Appropriate keywords are set for message categorization and proper routing
R-GCX016-cbl-01509 Set Train Operation Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Operation Keywords' is invoked, and assuming that a message type is determined to be a train operation message, when the system processes messages related to train arrivals, train holds, or other train operational events, the desired outcome is that the system sets keywords 'train_arrival' and 'train_hold' to ensure train operation messages are properly categorized for train management systems.
💻 Technical Criteria
Given A message type is determined to be a train operation message
When The system processes messages related to train arrivals, train holds, or other train operational events
Then The system sets keywords 'TRAIN_ARRIVAL' and 'TRAIN_HOLD' to ensure train operation messages are properly categorized for train management systems
R-GCX016-cbl-01519 Release Message Subject
Process Rules
📊 Business Logic Narrative
When the process 'Release Message Subject' is invoked, and assuming that a message has been classified as a release type, when the message routing process is executed, the desired outcome is that the message is sent to station-specific merlin ids only with release-specific subject formatting.
💻 Technical Criteria
Given A message has been classified as a release type
When The message routing process is executed
Then The message is sent to station-specific Merlin IDs only with release-specific subject formatting
R-GCX016-cbl-01536 Message Type = INFO?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type = INFO?' is invoked, and assuming that a message is ready for distribution, when the system checks the message type, the desired outcome is that if message type equals info, proceed with info message distribution, otherwise skip info message processing.
💻 Technical Criteria
Given A message is ready for distribution
When The system checks the message type
Then If message type equals INFO, proceed with info message distribution, otherwise skip info message processing
R-GCX016-cbl-01537 Retrieve Configured User List
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Configured User List' is invoked, and assuming that message type is confirmed as info, when the system needs to identify message recipients, the desired outcome is that retrieve configured user list from gcstbrt user configuration table for info message distribution.
💻 Technical Criteria
Given Message type is confirmed as INFO
When The system needs to identify message recipients
Then Retrieve configured user list from GCSTBRT user configuration table for info message distribution
R-GCX016-cbl-01538 Set Message Keywords for Categorization
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Keywords for Categorization' is invoked, and assuming that configured user list has been retrieved, when the system prepares the message for distribution, the desired outcome is that set message keywords and categories based on message routing tables to enable proper message classification.
💻 Technical Criteria
Given Configured user list has been retrieved
When The system prepares the message for distribution
Then Set message keywords and categories based on message routing tables to enable proper message classification
R-GCX016-cbl-01539 Format Subject Line for Info Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Subject Line for Info Message' is invoked, and assuming that message keywords have been set for categorization, when the system prepares the message subject line, the desired outcome is that format subject line for info message according to business message formatting standards.
💻 Technical Criteria
Given Message keywords have been set for categorization
When The system prepares the message subject line
Then Format subject line for info message according to business message formatting standards
R-GCX016-cbl-01541 Send Message to Configured User
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Configured User' is invoked, and assuming that user has been validated as valid and active, when the system delivers the informational message, the desired outcome is that send message to the configured valid user.
💻 Technical Criteria
Given User has been validated as valid and active
When The system delivers the informational message
Then Send message to the configured valid user
R-GCX016-cbl-01544 Log Message Distribution
Process Rules
📊 Business Logic Narrative
When the process 'Log Message Distribution' is invoked, and assuming that all configured users have been processed for message delivery, when the system completes info message distribution, the desired outcome is that log message distribution details including recipients and delivery status.
💻 Technical Criteria
Given All configured users have been processed for message delivery
When The system completes info message distribution
Then Log message distribution details including recipients and delivery status
R-GCX016-cbl-01554 Add User Code to Routing
Process Rules
📊 Business Logic Narrative
When the process 'Add User Code to Routing' is invoked, and assuming that user routing has been determined (either specified or default user), when the system prepares routing information, the desired outcome is that the system adds the appropriate user code to the message routing configuration.
💻 Technical Criteria
Given User routing has been determined (either specified or default user)
When The system prepares routing information
Then The system adds the appropriate user code to the message routing configuration
R-GCX016-cbl-01555 Additional Users Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Additional Users Required?' is invoked, and assuming that primary user code has been added to routing, when the system evaluates additional user requirements, the desired outcome is that the system either adds secondary users or proceeds to set message priority based on requirements.
💻 Technical Criteria
Given Primary user code has been added to routing
When The system evaluates additional user requirements
Then The system either adds secondary users or proceeds to set message priority based on requirements
R-GCX016-cbl-01556 Add Secondary Users
Process Rules
📊 Business Logic Narrative
When the process 'Add Secondary Users' is invoked, and assuming that the system has determined additional users are required, when secondary users are identified, the desired outcome is that the system adds all required secondary users to the message routing.
💻 Technical Criteria
Given The system has determined additional users are required
When Secondary users are identified
Then The system adds all required secondary users to the message routing
R-GCX016-cbl-01557 Set Message Priority
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Priority' is invoked, and assuming that all required users have been added to routing, when the system configures message properties, the desired outcome is that the system sets the appropriate priority level for the unrelease message.
💻 Technical Criteria
Given All required users have been added to routing
When The system configures message properties
Then The system sets the appropriate priority level for the unrelease message
R-GCX016-cbl-01558 Format Subject Line for Unrelease
Process Rules
📊 Business Logic Narrative
When the process 'Format Subject Line for Unrelease' is invoked, and assuming that message priority has been set for the unrelease message, when the system prepares the message for delivery, the desired outcome is that the system formats the subject line with unrelease-specific information and identifiers.
💻 Technical Criteria
Given Message priority has been set for the unrelease message
When The system prepares the message for delivery
Then The system formats the subject line with unrelease-specific information and identifiers
R-GCX016-cbl-01565 User Configuration Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'User Configuration Valid?' is invoked, and assuming that target users have been identified for release notification, when the system checks user notification preferences and contact information, the desired outcome is that users with valid configurations are approved for notification while invalid configurations trigger default routing.
💻 Technical Criteria
Given Target users have been identified for release notification
When The system checks user notification preferences and contact information
Then Users with valid configurations are approved for notification while invalid configurations trigger default routing
R-GCX016-cbl-01568 Email or Merlin?
Decision Rules
📊 Business Logic Narrative
When the process 'Email or Merlin?' is invoked, and assuming that target users have been determined and routing decisions made, when the system evaluates user notification preferences and message characteristics, the desired outcome is that the appropriate delivery method (email or merlin) is selected for each recipient.
💻 Technical Criteria
Given Target users have been determined and routing decisions made
When The system evaluates user notification preferences and message characteristics
Then The appropriate delivery method (email or Merlin) is selected for each recipient
R-GCX016-cbl-01569 Prepare Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Email Message' is invoked, and assuming that email delivery method has been selected for release notification, when the system prepares the message for email transmission, the desired outcome is that email headers, subject line, and message body are formatted according to email standards.
💻 Technical Criteria
Given Email delivery method has been selected for release notification
When The system prepares the message for email transmission
Then Email headers, subject line, and message body are formatted according to email standards
R-GCX016-cbl-01576 Add K1 Comments
Process Rules
📊 Business Logic Narrative
When the process 'Add K1 Comments' is invoked, and assuming that quantity information has been added and k1 segment data is available, when the system processes k1 comments for message inclusion, the desired outcome is that k1 remarks and special comments are added to provide additional context and instructions.
💻 Technical Criteria
Given Quantity information has been added and K1 segment data is available
When The system processes K1 comments for message inclusion
Then K1 remarks and special comments are added to provide additional context and instructions
R-GCX016-cbl-01577 Send to Release Basket
Action Rules
📊 Business Logic Narrative
When the process 'Send to Release Basket' is invoked, and assuming that release message has been fully formatted with all required information, when the system processes the message for release basket distribution, the desired outcome is that message is sent to the release basket for general access and record keeping.
💻 Technical Criteria
Given Release message has been fully formatted with all required information
When The system processes the message for release basket distribution
Then Message is sent to the release basket for general access and record keeping
R-GCX016-cbl-01580 Log Message Distribution
Process Rules
📊 Business Logic Narrative
When the process 'Log Message Distribution' is invoked, and assuming that all release message distributions have been completed, when the system processes logging requirements for the distribution activity, the desired outcome is that distribution details including recipients, delivery methods, and timestamps are logged for audit purposes.
💻 Technical Criteria
Given All release message distributions have been completed
When The system processes logging requirements for the distribution activity
Then Distribution details including recipients, delivery methods, and timestamps are logged for audit purposes
R-GCX016-cbl-01581 Message Distribution Complete
Process Rules
📊 Business Logic Narrative
When the process 'Message Distribution Complete' is invoked, and assuming that all message distributions have been completed and logged, when the system finalizes the distribution process, the desired outcome is that distribution process is marked as complete and control returns to the calling process.
💻 Technical Criteria
Given All message distributions have been completed and logged
When The system finalizes the distribution process
Then Distribution process is marked as complete and control returns to the calling process
R-GCX016-cbl-01598 Update Message Routing History
Process Rules
📊 Business Logic Narrative
When the process 'Update Message Routing History' is invoked, and assuming that an invalid user notification has been logged, when the logging process is completed, the desired outcome is that the system updates the message routing history with the rerouting details.
💻 Technical Criteria
Given An invalid user notification has been logged
When The logging process is completed
Then The system updates the message routing history with the rerouting details
R-GCX016-cbl-01599 Send Notification to System Admin
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification to System Admin' is invoked, and assuming that the message routing history has been updated for an invalid user rerouting, when the routing history update is completed, the desired outcome is that a notification is sent to the system administrator about the invalid user incident.
💻 Technical Criteria
Given The message routing history has been updated for an invalid user rerouting
When The routing history update is completed
Then A notification is sent to the system administrator about the invalid user incident
R-GCX016-cbl-01607 Set Audit Trail Parameters
Policy Rules
📊 Business Logic Narrative
When the process 'Set Audit Trail Parameters' is invoked, and assuming that an audit log entry is being prepared, when audit trail parameters need to be configured, the desired outcome is that the system sets log classification, retention period, access controls, and regulatory compliance flags for the audit entry.
💻 Technical Criteria
Given An audit log entry is being prepared
When Audit trail parameters need to be configured
Then The system sets log classification, retention period, access controls, and regulatory compliance flags for the audit entry
R-GCX016-cbl-01608 Spawn GCT1051E Logging Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Logging Transaction' is invoked, and assuming that a complete audit log entry has been prepared, when the log entry needs to be persisted to the audit system, the desired outcome is that the system spawns gct1051e logging transaction with the prepared audit data and monitors execution status.
💻 Technical Criteria
Given A complete audit log entry has been prepared
When The log entry needs to be persisted to the audit system
Then The system spawns GCT1051E logging transaction with the prepared audit data and monitors execution status
R-GCX016-cbl-01609 Logging Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Logging Successful?' is invoked, and assuming that a logging transaction has been executed, when the system needs to verify logging completion status, the desired outcome is that the system checks transaction completion status and determines whether logging was successful or encountered errors.
💻 Technical Criteria
Given A logging transaction has been executed
When The system needs to verify logging completion status
Then The system checks transaction completion status and determines whether logging was successful or encountered errors
R-GCX016-cbl-01610 Log Entry Created Successfully
Process Rules
📊 Business Logic Narrative
When the process 'Log Entry Created Successfully' is invoked, and assuming that the logging transaction completed successfully, when confirmation of successful log creation is needed, the desired outcome is that the system confirms audit log entry was created successfully and updates processing status to reflect successful logging.
💻 Technical Criteria
Given The logging transaction completed successfully
When Confirmation of successful log creation is needed
Then The system confirms audit log entry was created successfully and updates processing status to reflect successful logging
R-GCX016-cbl-01611 Handle Logging Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Logging Error' is invoked, and assuming that the logging transaction encountered an error, when logging failure needs to be handled, the desired outcome is that the system captures error details, implements fallback logging mechanisms if available, and ensures main processing can continue despite logging failure.
💻 Technical Criteria
Given The logging transaction encountered an error
When Logging failure needs to be handled
Then The system captures error details, implements fallback logging mechanisms if available, and ensures main processing can continue despite logging failure
R-GCX016-cbl-01613 Gather Security Information
Process Rules
📊 Business Logic Narrative
When the process 'Gather Security Information' is invoked, and assuming that a log message preparation process is initiated, when security information needs to be gathered for audit purposes, the desired outcome is that the system collects user id, terminal id, and security level and includes them in the log message structure.
💻 Technical Criteria
Given A log message preparation process is initiated
When Security information needs to be gathered for audit purposes
Then The system collects user ID, terminal ID, and security level and includes them in the log message structure
R-GCX016-cbl-01614 Collect Transaction Details
Process Rules
📊 Business Logic Narrative
When the process 'Collect Transaction Details' is invoked, and assuming that a transaction is being processed that requires logging, when transaction details need to be collected for the log message, the desired outcome is that the system captures transaction type, processing mode, and message source and formats them for inclusion in the log.
💻 Technical Criteria
Given A transaction is being processed that requires logging
When Transaction details need to be collected for the log message
Then The system captures transaction type, processing mode, and message source and formats them for inclusion in the log
R-GCX016-cbl-01617 Add Timestamp Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Timestamp Information' is invoked, and assuming that a log message is being prepared, when timestamp information needs to be added to the log, the desired outcome is that the system adds processing date, processing time, and system timestamp to provide complete temporal context.
💻 Technical Criteria
Given A log message is being prepared
When Timestamp information needs to be added to the log
Then The system adds processing date, processing time, and system timestamp to provide complete temporal context
R-GCX016-cbl-01618 Set User and Terminal Context
Process Rules
📊 Business Logic Narrative
When the process 'Set User and Terminal Context' is invoked, and assuming that a transaction is being logged, when user and terminal context needs to be established, the desired outcome is that the system sets the user context and terminal context information in the log message structure.
💻 Technical Criteria
Given A transaction is being logged
When User and terminal context needs to be established
Then The system sets the user context and terminal context information in the log message structure
R-GCX016-cbl-01619 Prepare Audit Trail Data
Policy Rules
📊 Business Logic Narrative
When the process 'Prepare Audit Trail Data' is invoked, and assuming that a status change or transaction has occurred that requires audit tracking, when audit trail data needs to be prepared for the log, the desired outcome is that the system captures the before status, after status, and change reason to create a complete audit trail record.
💻 Technical Criteria
Given A status change or transaction has occurred that requires audit tracking
When Audit trail data needs to be prepared for the log
Then The system captures the before status, after status, and change reason to create a complete audit trail record
R-GCX016-cbl-01620 Format Log Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Format Log Message Structure' is invoked, and assuming that all log message components have been collected, when the log message structure needs to be formatted, the desired outcome is that the system formats all components into a standardized log message structure ready for transmission.
💻 Technical Criteria
Given All log message components have been collected
When The log message structure needs to be formatted
Then The system formats all components into a standardized log message structure ready for transmission
R-GCX016-cbl-01621 Validate Message Completeness
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Message Completeness' is invoked, and assuming that a log message has been formatted, when message completeness needs to be validated, the desired outcome is that the system validates that all required fields are populated and the message structure is complete before proceeding.
💻 Technical Criteria
Given A log message has been formatted
When Message completeness needs to be validated
Then The system validates that all required fields are populated and the message structure is complete before proceeding
R-GCX016-cbl-01622 Set Message Priority and Type
Decision Rules
📊 Business Logic Narrative
When the process 'Set Message Priority and Type' is invoked, and assuming that a log message has been validated for completeness, when message priority and type need to be assigned, the desired outcome is that the system sets the appropriate priority level and message type based on the transaction characteristics and business rules.
💻 Technical Criteria
Given A log message has been validated for completeness
When Message priority and type need to be assigned
Then The system sets the appropriate priority level and message type based on the transaction characteristics and business rules
R-GCX016-cbl-01623 Prepare for GCT1051E Spawn
Action Rules
📊 Business Logic Narrative
When the process 'Prepare for GCT1051E Spawn' is invoked, and assuming that a complete log message is ready for transmission, when the message needs to be prepared for gct1051e spawn, the desired outcome is that the system prepares the message for gct1051e transmission, excluding disposition codes 54 and 55 from the logging process.
💻 Technical Criteria
Given A complete log message is ready for transmission
When The message needs to be prepared for GCT1051E spawn
Then The system prepares the message for GCT1051E transmission, excluding disposition codes 54 and 55 from the logging process
R-GCX016-cbl-01624 Log Message Ready for Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Log Message Ready for Transmission' is invoked, and assuming that all log message preparation steps have been completed, when the message readiness needs to be confirmed, the desired outcome is that the system confirms the log message is complete, properly formatted, and ready for transmission to the logging system.
💻 Technical Criteria
Given All log message preparation steps have been completed
When The message readiness needs to be confirmed
Then The system confirms the log message is complete, properly formatted, and ready for transmission to the logging system
R-GCX016-cbl-01627 Set Security Information
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Information' is invoked, and assuming that an audit log message is being prepared, when the system sets security information including user context and access credentials, the desired outcome is that security information is properly assigned to the audit trail record.
💻 Technical Criteria
Given An audit log message is being prepared
When The system sets security information including user context and access credentials
Then Security information is properly assigned to the audit trail record
R-GCX016-cbl-01628 Set Transaction Details
Process Rules
📊 Business Logic Narrative
When the process 'Set Transaction Details' is invoked, and assuming that security information has been set for the audit record, when the system configures transaction details with processing type and business context, the desired outcome is that transaction details are properly configured in the audit trail record.
💻 Technical Criteria
Given Security information has been set for the audit record
When The system configures transaction details with processing type and business context
Then Transaction details are properly configured in the audit trail record
R-GCX016-cbl-01631 Add Processing Timestamps
Process Rules
📊 Business Logic Narrative
When the process 'Add Processing Timestamps' is invoked, and assuming that disposition code details have been included in the audit record, when the system adds processing timestamps including event time and processing duration, the desired outcome is that accurate timestamps are assigned to the audit trail record.
💻 Technical Criteria
Given Disposition code details have been included in the audit record
When The system adds processing timestamps including event time and processing duration
Then Accurate timestamps are assigned to the audit trail record
R-GCX016-cbl-01632 Set Audit Trail Parameters
Policy Rules
📊 Business Logic Narrative
When the process 'Set Audit Trail Parameters' is invoked, and assuming that processing timestamps have been added to the audit record, when the system sets audit trail parameters for retention and compliance, the desired outcome is that audit trail parameters are properly configured for regulatory compliance.
💻 Technical Criteria
Given Processing timestamps have been added to the audit record
When The system sets audit trail parameters for retention and compliance
Then Audit trail parameters are properly configured for regulatory compliance
R-GCX016-cbl-01633 Spawn GCT1051E Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Transaction' is invoked, and assuming that audit trail parameters have been configured, when the system spawns the gct1051e transaction with complete audit information, the desired outcome is that the logging transaction is initiated to create the audit trail record.
💻 Technical Criteria
Given Audit trail parameters have been configured
When The system spawns the GCT1051E transaction with complete audit information
Then The logging transaction is initiated to create the audit trail record
R-GCX016-cbl-01634 Spawn Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Spawn Successful?' is invoked, and assuming that the gct1051e transaction has been spawned, when the system checks if the spawn operation completed successfully, the desired outcome is that the system determines whether to proceed with normal processing or handle spawn errors.
💻 Technical Criteria
Given The GCT1051E transaction has been spawned
When The system checks if the spawn operation completed successfully
Then The system determines whether to proceed with normal processing or handle spawn errors
R-GCX016-cbl-01635 Log Transaction Created
Process Rules
📊 Business Logic Narrative
When the process 'Log Transaction Created' is invoked, and assuming that the gct1051e transaction spawn was successful, when the system confirms the log transaction has been created, the desired outcome is that the audit trail record is confirmed as created and processing continues normally.
💻 Technical Criteria
Given The GCT1051E transaction spawn was successful
When The system confirms the log transaction has been created
Then The audit trail record is confirmed as created and processing continues normally
R-GCX016-cbl-01636 Handle Spawn Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Spawn Error' is invoked, and assuming that the gct1051e transaction spawn failed, when the system handles the spawn error condition, the desired outcome is that error recovery procedures are initiated to address the logging failure.
💻 Technical Criteria
Given The GCT1051E transaction spawn failed
When The system handles the spawn error condition
Then Error recovery procedures are initiated to address the logging failure
R-GCX016-cbl-01637 Record Error Information
Policy Rules
📊 Business Logic Narrative
When the process 'Record Error Information' is invoked, and assuming that a spawn error has been handled, when the system records error information including failure details and context, the desired outcome is that complete error information is recorded for compliance and troubleshooting purposes.
💻 Technical Criteria
Given A spawn error has been handled
When The system records error information including failure details and context
Then Complete error information is recorded for compliance and troubleshooting purposes
R-GCX016-cbl-01656 Code Found in Table?
Validation Rules
📊 Business Logic Narrative
When the process 'Code Found in Table?' is invoked, and assuming that a disposition code lookup has been performed against dc table, when the system checks if the code exists in the table, the desired outcome is that a found or not found status is determined based on table lookup results.
💻 Technical Criteria
Given A disposition code lookup has been performed against DC table
When The system checks if the code exists in the table
Then A found or not found status is determined based on table lookup results
R-GCX016-cbl-01657 Get Code Description
Action Rules
📊 Business Logic Narrative
When the process 'Get Code Description' is invoked, and assuming that a disposition code exists in the dc table, when the system needs the code description, the desired outcome is that the description text is retrieved from the dc table entry.
💻 Technical Criteria
Given A disposition code exists in the DC table
When The system needs the code description
Then The description text is retrieved from the DC table entry
R-GCX016-cbl-01658 Use Default Description
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Default Description', assuming that a disposition code is not found in the dc table, when the system needs to display code information, the desired outcome is that a default description is used instead of table description.
💻 Technical Criteria
EXCLUDING A disposition code is not found in the DC table
When The system needs to display code information
Then A default description is used instead of table description
R-GCX016-cbl-01659 Log Code Not Found Warning
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Code Not Found Warning', assuming that a disposition code lookup fails in the dc table, when the code is not found in the reference data, the desired outcome is that a warning message is logged indicating the missing code.
💻 Technical Criteria
EXCLUDING A disposition code lookup fails in the DC table
When The code is not found in the reference data
Then A warning message is logged indicating the missing code
R-GCX016-cbl-01661 Format Code Description Text
Computation Rules
📊 Business Logic Narrative
When the process 'Format Code Description Text' is invoked, and assuming that a disposition code description is available from dc table or default, when the system prepares the description for display, the desired outcome is that the description text is formatted according to display standards.
💻 Technical Criteria
Given A disposition code description is available from DC table or default
When The system prepares the description for display
Then The description text is formatted according to display standards
R-GCX016-cbl-01662 Combine Code and Description
Computation Rules
📊 Business Logic Narrative
When the process 'Combine Code and Description' is invoked, and assuming that both formatted code number and description text are available, when the system creates the final display string, the desired outcome is that the code and description are combined into a single formatted string.
💻 Technical Criteria
Given Both formatted code number and description text are available
When The system creates the final display string
Then The code and description are combined into a single formatted string
R-GCX016-cbl-01663 Set Display Format
Process Rules
📊 Business Logic Narrative
When the process 'Set Display Format' is invoked, and assuming that a combined code and description string exists, when the system finalizes the display format, the desired outcome is that standard display formatting rules are applied to ensure consistent presentation.
💻 Technical Criteria
Given A combined code and description string exists
When The system finalizes the display format
Then Standard display formatting rules are applied to ensure consistent presentation
R-GCX016-cbl-01664 Return Formatted Display String
Action Rules
📊 Business Logic Narrative
When the process 'Return Formatted Display String' is invoked, and assuming that a fully formatted disposition code display string is ready, when the formatting process is complete, the desired outcome is that the formatted display string is returned to the requesting process.
💻 Technical Criteria
Given A fully formatted disposition code display string is ready
When The formatting process is complete
Then The formatted display string is returned to the requesting process
R-GCX016-cbl-01669 Combine Date and Time Stamp
Process Rules
📊 Business Logic Narrative
When the process 'Combine Date and Time Stamp' is invoked, and assuming that both system date and time have been captured and formatted, when a complete timestamp is required for processing records, the desired outcome is that the formatted date and time are combined into a single timestamp.
💻 Technical Criteria
Given Both system date and time have been captured and formatted
When A complete timestamp is required for processing records
Then The formatted date and time are combined into a single timestamp
R-GCX016-cbl-01672 Add Timestamp to Transaction Log
Process Rules
📊 Business Logic Narrative
When the process 'Add Timestamp to Transaction Log' is invoked, and assuming that a system processing event is occurring and timestamps have been created, when the event qualifies as a system processing event, the desired outcome is that the timestamp is added to the transaction log.
💻 Technical Criteria
Given A system processing event is occurring AND timestamps have been created
When The event qualifies as a system processing event
Then The timestamp is added to the transaction log
R-GCX016-cbl-01673 Add Timestamp to Audit Trail
Policy Rules
📊 Business Logic Narrative
When the process 'Add Timestamp to Audit Trail' is invoked, and assuming that system processing events are being logged in transaction logs, when audit trail records are being created, the desired outcome is that timestamps are added to the audit trail entries.
💻 Technical Criteria
Given System processing events are being logged in transaction logs
When Audit trail records are being created
Then Timestamps are added to the audit trail entries
R-GCX016-cbl-01675 Store Timestamp in Message Fields
Process Rules
📊 Business Logic Narrative
When the process 'Store Timestamp in Message Fields' is invoked, and assuming that formatted timestamps are available for display, when message processing requires timestamp information, the desired outcome is that timestamps are stored in the designated message fields.
💻 Technical Criteria
Given Formatted timestamps are available for display
When Message processing requires timestamp information
Then Timestamps are stored in the designated message fields
R-GCX016-cbl-01684 Format Quantity Difference for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Quantity Difference for Display' is invoked, and assuming that a quantity difference has been calculated and formatting is required, when mismatch information is being prepared for display, the desired outcome is that the quantity difference is formatted with appropriate sign indication and decimal places.
💻 Technical Criteria
Given A quantity difference has been calculated and formatting is required
When Mismatch information is being prepared for display
Then The quantity difference is formatted with appropriate sign indication and decimal places
R-GCX016-cbl-01690 Get Disposition Code Details from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Disposition Code Details from DC Table' is invoked, and assuming that a disposition code requires quantity processing, when the system looks up the disposition code in the dc table, the desired outcome is that the system should retrieve the quantity action type and processing parameters for the disposition code.
💻 Technical Criteria
Given A disposition code requires quantity processing
When The system looks up the disposition code in the DC table
Then The system should retrieve the quantity action type and processing parameters for the disposition code
R-GCX016-cbl-01692 Add Operation - Increase Release Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Add Operation - Increase Release Quantity' is invoked, and assuming that a disposition code specifies an add quantity action, when the system processes the quantity increase, the desired outcome is that the system should add the specified quantity to the current release quantity.
💻 Technical Criteria
Given A disposition code specifies an add quantity action
When The system processes the quantity increase
Then The system should add the specified quantity to the current release quantity
R-GCX016-cbl-01693 Subtract Operation - Decrease Release Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract Operation - Decrease Release Quantity' is invoked, and assuming that a disposition code specifies a subtract quantity action, when the system processes the quantity decrease, the desired outcome is that the system should subtract the specified quantity from the current release quantity.
💻 Technical Criteria
Given A disposition code specifies a subtract quantity action
When The system processes the quantity decrease
Then The system should subtract the specified quantity from the current release quantity
R-GCX016-cbl-01694 Would Result in Negative Quantity?
Validation Rules
📊 Business Logic Narrative
When the process 'Would Result in Negative Quantity?' is invoked, and assuming that a subtract operation is being performed on release quantity, when the calculated result would be less than zero, the desired outcome is that the system should prevent negative quantities and set release quantity to zero instead.
💻 Technical Criteria
Given A subtract operation is being performed on release quantity
When The calculated result would be less than zero
Then The system should prevent negative quantities and set release quantity to zero instead
R-GCX016-cbl-01701 Valid Date Format?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Date Format?' is invoked, and assuming that a gregorian date is provided for julian conversion, when the system checks the date format validity, the desired outcome is that the system either proceeds with conversion for valid dates or returns error status for invalid dates.
💻 Technical Criteria
Given A Gregorian date is provided for Julian conversion
When The system checks the date format validity
Then The system either proceeds with conversion for valid dates or returns error status for invalid dates
R-GCX016-cbl-01702 Extract Year Component
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Year Component' is invoked, and assuming that a valid gregorian date format has been confirmed, when the system processes the date for julian conversion, the desired outcome is that the year component is extracted and prepared for julian calculation.
💻 Technical Criteria
Given A valid Gregorian date format has been confirmed
When The system processes the date for Julian conversion
Then The year component is extracted and prepared for Julian calculation
R-GCX016-cbl-01703 Extract Month Component
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Month Component' is invoked, and assuming that the year component has been successfully extracted, when the system continues processing the gregorian date, the desired outcome is that the month component is extracted and prepared for day calculation.
💻 Technical Criteria
Given The year component has been successfully extracted
When The system continues processing the Gregorian date
Then The month component is extracted and prepared for day calculation
R-GCX016-cbl-01704 Extract Day Component
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Day Component' is invoked, and assuming that the year and month components have been successfully extracted, when the system continues processing the gregorian date, the desired outcome is that the day component is extracted and prepared for final julian calculation.
💻 Technical Criteria
Given The year and month components have been successfully extracted
When The system continues processing the Gregorian date
Then The day component is extracted and prepared for final Julian calculation
R-GCX016-cbl-01705 Calculate Days from Year Start
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Days from Year Start' is invoked, and assuming that year, month, and day components have been extracted from the gregorian date, when the system performs julian date calculation, the desired outcome is that the total days from january 1st to the current date is calculated.
💻 Technical Criteria
Given Year, month, and day components have been extracted from the Gregorian date
When The system performs Julian date calculation
Then The total days from January 1st to the current date is calculated
R-GCX016-cbl-01708 Format as Julian Date
Computation Rules
📊 Business Logic Narrative
When the process 'Format as Julian Date' is invoked, and assuming that the total days from year start have been calculated, when the system completes the julian conversion process, the desired outcome is that the result is formatted as a proper julian date (yyddd format).
💻 Technical Criteria
Given The total days from year start have been calculated
When The system completes the Julian conversion process
Then The result is formatted as a proper Julian date (YYDDD format)
R-GCX016-cbl-01709 Return Julian Date Result
Process Rules
📊 Business Logic Narrative
When the process 'Return Julian Date Result' is invoked, and assuming that julian date formatting has been completed successfully, when the conversion process finishes, the desired outcome is that the formatted julian date is returned to the requesting business process.
💻 Technical Criteria
Given Julian date formatting has been completed successfully
When The conversion process finishes
Then The formatted Julian date is returned to the requesting business process
R-GCX016-cbl-01710 Return Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Error Status' is invoked, and assuming that an invalid date format has been detected during validation, when the system cannot proceed with julian conversion, the desired outcome is that an error status is returned indicating the date conversion failure.
💻 Technical Criteria
Given An invalid date format has been detected during validation
When The system cannot proceed with Julian conversion
Then An error status is returned indicating the date conversion failure
R-GCX016-cbl-01711 Get Current System Date
Action Rules
📊 Business Logic Narrative
When the process 'Get Current System Date' is invoked, and assuming that a transaction processing session is initiated, when the system needs to establish the current processing date, the desired outcome is that the system retrieves the current machine date from the operating system.
💻 Technical Criteria
Given A transaction processing session is initiated
When The system needs to establish the current processing date
Then The system retrieves the current machine date from the operating system
R-GCX016-cbl-01714 Convert to Internal Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert to Internal Format' is invoked, and assuming that a valid system date in external format, when the date needs to be used for internal business processing, the desired outcome is that the system converts the date to the required internal format for business operations.
💻 Technical Criteria
Given A valid system date in external format
When The date needs to be used for internal business processing
Then The system converts the date to the required internal format for business operations
R-GCX016-cbl-01716 Update Transaction Timestamp
Process Rules
📊 Business Logic Narrative
When the process 'Update Transaction Timestamp' is invoked, and assuming that machine date fields have been set for business processing, when a transaction requires timestamp recording, the desired outcome is that the system updates the transaction timestamp with the current processing date and time.
💻 Technical Criteria
Given Machine date fields have been set for business processing
When A transaction requires timestamp recording
Then The system updates the transaction timestamp with the current processing date and time
R-GCX016-cbl-01720 Set Queue Name and Options
Process Rules
📊 Business Logic Narrative
When the process 'Set Queue Name and Options' is invoked, and assuming that mq connection parameters are initialized, when queue configuration is required, the desired outcome is that queue name and processing options are set according to business requirements.
💻 Technical Criteria
Given MQ connection parameters are initialized
When Queue configuration is required
Then Queue name and processing options are set according to business requirements
R-GCX016-cbl-01721 Open MQ Queue for Reading
Action Rules
📊 Business Logic Narrative
When the process 'Open MQ Queue for Reading' is invoked, and assuming that queue name and options are properly configured, when queue opening is attempted, the desired outcome is that mq queue is opened for reading with appropriate access permissions.
💻 Technical Criteria
Given Queue name and options are properly configured
When Queue opening is attempted
Then MQ queue is opened for reading with appropriate access permissions
R-GCX016-cbl-01722 Queue Open Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Queue Open Successful?' is invoked, and assuming that queue opening operation has been attempted, when queue open status is evaluated, the desired outcome is that if queue opened successfully, proceed to message reading; otherwise handle queue open error.
💻 Technical Criteria
Given Queue opening operation has been attempted
When Queue open status is evaluated
Then If queue opened successfully, proceed to message reading; otherwise handle queue open error
R-GCX016-cbl-01725 Calculate Message Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Message Length' is invoked, and assuming that a message is available and retrieved from the queue, when message length calculation is performed, the desired outcome is that message length is calculated and stored for subsequent processing steps.
💻 Technical Criteria
Given A message is available and retrieved from the queue
When Message length calculation is performed
Then Message length is calculated and stored for subsequent processing steps
R-GCX016-cbl-01726 Determine Entry Count
Computation Rules
📊 Business Logic Narrative
When the process 'Determine Entry Count' is invoked, and assuming that message length has been calculated, when entry count determination is required, the desired outcome is that number of entries in the message is calculated based on message structure and length.
💻 Technical Criteria
Given Message length has been calculated
When Entry count determination is required
Then Number of entries in the message is calculated based on message structure and length
R-GCX016-cbl-01727 Validate Message Structure
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Message Structure' is invoked, and assuming that message length and entry count have been determined, when message structure validation is performed, the desired outcome is that message structure is validated against expected format requirements.
💻 Technical Criteria
Given Message length and entry count have been determined
When Message structure validation is performed
Then Message structure is validated against expected format requirements
R-GCX016-cbl-01728 Message Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Valid?' is invoked, and assuming that message structure validation has been completed, when message validity is evaluated, the desired outcome is that if message is valid, store in array and update counter; if invalid, handle message error and continue to next message.
💻 Technical Criteria
Given Message structure validation has been completed
When Message validity is evaluated
Then If message is valid, store in array and update counter; if invalid, handle message error and continue to next message
R-GCX016-cbl-01729 Store Message in Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Message in Array' is invoked, and assuming that message has passed all validation checks, when message storage is required, the desired outcome is that valid message is stored in the message processing array.
💻 Technical Criteria
Given Message has passed all validation checks
When Message storage is required
Then Valid message is stored in the message processing array
R-GCX016-cbl-01730 Update Message Counter
Process Rules
📊 Business Logic Narrative
When the process 'Update Message Counter' is invoked, and assuming that valid message has been stored in processing array, when message counter update is required, the desired outcome is that message processing counter is incremented to reflect successful message storage.
💻 Technical Criteria
Given Valid message has been stored in processing array
When Message counter update is required
Then Message processing counter is incremented to reflect successful message storage
R-GCX016-cbl-01731 More Messages?
Decision Rules
📊 Business Logic Narrative
When the process 'More Messages?' is invoked, and assuming that current message has been processed (stored or error handled), when additional message check is performed, the desired outcome is that if more messages exist, continue reading from queue; if no more messages, proceed to close queue.
💻 Technical Criteria
Given Current message has been processed (stored or error handled)
When Additional message check is performed
Then If more messages exist, continue reading from queue; if no more messages, proceed to close queue
R-GCX016-cbl-01733 Set Processing Complete Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Complete Flag' is invoked, and assuming that mq queue has been closed after message processing, when processing completion status is required, the desired outcome is that processing complete flag is set to indicate successful completion of queue reading.
💻 Technical Criteria
Given MQ queue has been closed after message processing
When Processing completion status is required
Then Processing complete flag is set to indicate successful completion of queue reading
R-GCX016-cbl-01734 Handle Queue Open Error
Action Rules
📊 Business Logic Narrative
When the process 'Handle Queue Open Error' is invoked, and assuming that queue opening operation has failed, when queue open error handling is required, the desired outcome is that queue open error is handled and appropriate error logging is initiated.
💻 Technical Criteria
Given Queue opening operation has failed
When Queue open error handling is required
Then Queue open error is handled and appropriate error logging is initiated
R-GCX016-cbl-01736 Handle Message Error
Action Rules
📊 Business Logic Narrative
When the process 'Handle Message Error' is invoked, and assuming that message has failed validation checks, when message error handling is required, the desired outcome is that message error is handled and processing continues with next available message.
💻 Technical Criteria
Given Message has failed validation checks
When Message error handling is required
Then Message error is handled and processing continues with next available message
R-GCX016-cbl-01738 Calculate Message Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Message Length' is invoked, and assuming that an edi message has been read from mq queue, when the system needs to determine message structure for array initialization, the desired outcome is that the message length is calculated by subtracting 4 from the total message buffer length.
💻 Technical Criteria
Given An EDI message has been read from MQ queue
When The system needs to determine message structure for array initialization
Then The message length is calculated by subtracting 4 from the total message buffer length
R-GCX016-cbl-01739 Calculate Number of EDI Segment Entries
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Number of EDI Segment Entries' is invoked, and assuming that the edi message length has been calculated, when the system needs to initialize the message array structure, the desired outcome is that the number of edi segment entries is calculated by dividing message length by 80.
💻 Technical Criteria
Given The EDI message length has been calculated
When The system needs to initialize the message array structure
Then The number of EDI segment entries is calculated by dividing message length by 80
R-GCX016-cbl-01740 Set Array Entry Count
Process Rules
📊 Business Logic Narrative
When the process 'Set Array Entry Count' is invoked, and assuming that the number of edi segment entries has been calculated, when the message array structure needs to be configured, the desired outcome is that the array entry count is set to the calculated number of edi segment entries.
💻 Technical Criteria
Given The number of EDI segment entries has been calculated
When The message array structure needs to be configured
Then The array entry count is set to the calculated number of EDI segment entries
R-GCX016-cbl-01741 Validate Array Initialization
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Array Initialization' is invoked, and assuming that the message array structure has been configured with entry count, when the system needs to verify successful initialization, the desired outcome is that the array initialization is validated to ensure it is ready for edi segment processing.
💻 Technical Criteria
Given The message array structure has been configured with entry count
When The system needs to verify successful initialization
Then The array initialization is validated to ensure it is ready for EDI segment processing
R-GCX016-cbl-01744 Set Train Operation Flags
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Operation Flags' is invoked, and assuming that a train message requires processing, when the system prepares for train operations, the desired outcome is that the system sets appropriate train operation flags for the current processing session.
💻 Technical Criteria
Given A train message requires processing
When The system prepares for train operations
Then The system sets appropriate train operation flags for the current processing session
R-GCX016-cbl-01745 Load M10 Manifest Segment
Action Rules
📊 Business Logic Narrative
When the process 'Load M10 Manifest Segment' is invoked, and assuming that train operation flags are configured, when the system processes train manifest data, the desired outcome is that the system loads m10 segment with train identification and manifest details.
💻 Technical Criteria
Given Train operation flags are configured
When The system processes train manifest data
Then The system loads M10 segment with train identification and manifest details
R-GCX016-cbl-01746 Load V9 Event Detail Segment
Action Rules
📊 Business Logic Narrative
When the process 'Load V9 Event Detail Segment' is invoked, and assuming that m10 manifest segment is loaded, when the system processes train event data, the desired outcome is that the system loads v9 segment with event details and status change information.
💻 Technical Criteria
Given M10 manifest segment is loaded
When The system processes train event data
Then The system loads V9 segment with event details and status change information
R-GCX016-cbl-01750 Train Cancellation Message?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Train Cancellation Message?', assuming that the message is not a train arrival message and v9 event detail segment contains event codes, when the system evaluates the event type for cancellation indicators, the desired outcome is that the system identifies whether the message indicates a train cancellation event (coc code).
💻 Technical Criteria
EXCLUDING The message is not a train arrival message and V9 event detail segment contains event codes
When The system evaluates the event type for cancellation indicators
Then The system identifies whether the message indicates a train cancellation event (COC code)
R-GCX016-cbl-01751 Set Cancellation Processing Mode
Process Rules
📊 Business Logic Narrative
When the process 'Set Cancellation Processing Mode' is invoked, and assuming that a train cancellation message is detected, when the system prepares for cancellation processing, the desired outcome is that the system sets cancellation processing mode flags and configures cancellation-specific processing parameters.
💻 Technical Criteria
Given A train cancellation message is detected
When The system prepares for cancellation processing
Then The system sets cancellation processing mode flags and configures cancellation-specific processing parameters
R-GCX016-cbl-01753 Set Default Train Processing Mode
Process Rules
📊 Business Logic Narrative
When the process 'Set Default Train Processing Mode' is invoked, and assuming that the message is neither a train arrival nor cancellation message, when the system prepares for standard train processing, the desired outcome is that the system sets default train processing mode for standard train operations.
💻 Technical Criteria
Given The message is neither a train arrival nor cancellation message
When The system prepares for standard train processing
Then The system sets default train processing mode for standard train operations
R-GCX016-cbl-01756 Message Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Valid?' is invoked, and assuming that train message structure validation is completed, when the system evaluates validation results, the desired outcome is that the system determines whether the message structure is valid and contains all required data elements.
💻 Technical Criteria
Given Train message structure validation is completed
When The system evaluates validation results
Then The system determines whether the message structure is valid and contains all required data elements
R-GCX016-cbl-01757 Set Message Ready Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Ready Flag' is invoked, and assuming that train message structure validation is successful, when the system confirms message validity, the desired outcome is that the system sets message ready flag to indicate the train message is prepared for business processing.
💻 Technical Criteria
Given Train message structure validation is successful
When The system confirms message validity
Then The system sets message ready flag to indicate the train message is prepared for business processing
R-GCX016-cbl-01758 Log Train Message Initialization
Action Rules
📊 Business Logic Narrative
When the process 'Log Train Message Initialization' is invoked, and assuming that message ready flag is set for a valid train message, when the system completes train message initialization, the desired outcome is that the system logs the successful initialization with message details and processing mode information.
💻 Technical Criteria
Given Message ready flag is set for a valid train message
When The system completes train message initialization
Then The system logs the successful initialization with message details and processing mode information
R-GCX016-cbl-01759 Generate Error Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message', assuming that train message structure validation fails, when the system detects invalid message structure or missing required data, the desired outcome is that the system generates appropriate error message describing the validation failure.
💻 Technical Criteria
EXCLUDING Train message structure validation fails
When The system detects invalid message structure or missing required data
Then The system generates appropriate error message describing the validation failure
R-GCX016-cbl-01760 Set Error Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Error Flag' is invoked, and assuming that error message is generated for invalid train message, when the system handles validation failure, the desired outcome is that the system sets error flag to prevent further business processing of the invalid train message.
💻 Technical Criteria
Given Error message is generated for invalid train message
When The system handles validation failure
Then The system sets error flag to prevent further business processing of the invalid train message
R-GCX016-cbl-01762 Attempt MQ Connection
Action Rules
📊 Business Logic Narrative
When the process 'Attempt MQ Connection' is invoked, and assuming that mq connection parameters are initialized, when system attempts to connect to mq manager, the desired outcome is that connection attempt is made and result is evaluated.
💻 Technical Criteria
Given MQ connection parameters are initialized
When System attempts to connect to MQ manager
Then Connection attempt is made and result is evaluated
R-GCX016-cbl-01763 Connection Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Connection Successful?' is invoked, and assuming that mq connection attempt has been made, when connection completion code is evaluated, the desired outcome is that if completion code equals mqcc-ok then connection is successful, otherwise connection failed.
💻 Technical Criteria
Given MQ connection attempt has been made
When Connection completion code is evaluated
Then If completion code equals MQCC-OK then connection is successful, otherwise connection failed
R-GCX016-cbl-01764 Log Connection Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Connection Error', assuming that mq connection attempt failed, when connection completion code is not mqcc-ok, the desired outcome is that connection error is logged with error details.
💻 Technical Criteria
EXCLUDING MQ connection attempt failed
When Connection completion code is not MQCC-OK
Then Connection error is logged with error details
R-GCX016-cbl-01765 Set Error Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Error Status' is invoked, and assuming that mq connection has failed, when connection error is logged, the desired outcome is that error status flag is set to indicate connection failure.
💻 Technical Criteria
Given MQ connection has failed
When Connection error is logged
Then Error status flag is set to indicate connection failure
R-GCX016-cbl-01766 Open MQ Queue for Reading
Action Rules
📊 Business Logic Narrative
When the process 'Open MQ Queue for Reading' is invoked, and assuming that mq connection is successful, when system attempts to open queue for reading, the desired outcome is that queue open operation is performed.
💻 Technical Criteria
Given MQ connection is successful
When System attempts to open queue for reading
Then Queue open operation is performed
R-GCX016-cbl-01767 Queue Open Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Queue Open Successful?' is invoked, and assuming that queue open attempt has been made, when queue open completion code is evaluated, the desired outcome is that if completion code equals mqcc-ok then queue open is successful, otherwise queue open failed.
💻 Technical Criteria
Given Queue open attempt has been made
When Queue open completion code is evaluated
Then If completion code equals MQCC-OK then queue open is successful, otherwise queue open failed
R-GCX016-cbl-01768 Log Queue Open Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Queue Open Error', assuming that mq queue open attempt failed, when queue open completion code is not mqcc-ok, the desired outcome is that queue open error is logged with error details.
💻 Technical Criteria
EXCLUDING MQ queue open attempt failed
When Queue open completion code is not MQCC-OK
Then Queue open error is logged with error details
R-GCX016-cbl-01769 Set Queue Error Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Queue Error Status' is invoked, and assuming that mq queue opening has failed, when queue open error is logged, the desired outcome is that queue error status flag is set to indicate queue open failure.
💻 Technical Criteria
Given MQ queue opening has failed
When Queue open error is logged
Then Queue error status flag is set to indicate queue open failure
R-GCX016-cbl-01770 Validate Queue Availability
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Queue Availability' is invoked, and assuming that mq queue is successfully opened, when system checks queue availability for processing, the desired outcome is that queue availability status is determined.
💻 Technical Criteria
Given MQ queue is successfully opened
When System checks queue availability for processing
Then Queue availability status is determined
R-GCX016-cbl-01772 Set Connection Ready Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Connection Ready Status' is invoked, and assuming that mq queue is available for processing, when all mq setup operations are successful, the desired outcome is that connection ready status is set to indicate mq is operational.
💻 Technical Criteria
Given MQ queue is available for processing
When All MQ setup operations are successful
Then Connection ready status is set to indicate MQ is operational
R-GCX016-cbl-01773 Log Connection Success
Process Rules
📊 Business Logic Narrative
When the process 'Log Connection Success' is invoked, and assuming that mq connection is ready for processing, when connection ready status is set, the desired outcome is that successful connection is logged.
💻 Technical Criteria
Given MQ connection is ready for processing
When Connection ready status is set
Then Successful connection is logged
R-GCX016-cbl-01774 Retry Connection Logic
Process Rules
📊 Business Logic Narrative
When the process 'Retry Connection Logic' is invoked, and assuming that mq connection or queue operation has failed, when connection failure is handled, the desired outcome is that retry logic is initiated to attempt reconnection.
💻 Technical Criteria
Given MQ connection or queue operation has failed
When Connection failure is handled
Then Retry logic is initiated to attempt reconnection
R-GCX016-cbl-01775 Retry Attempts Remaining?
Decision Rules
📊 Business Logic Narrative
When the process 'Retry Attempts Remaining?' is invoked, and assuming that retry logic is active, when system checks remaining retry attempts, the desired outcome is that if retry attempts remain then retry connection, otherwise proceed to final failure.
💻 Technical Criteria
Given Retry logic is active
When System checks remaining retry attempts
Then If retry attempts remain then retry connection, otherwise proceed to final failure
R-GCX016-cbl-01776 Final Connection Failure
Action Rules
📊 Business Logic Narrative
When the process 'Final Connection Failure' is invoked, and assuming that all retry attempts have been exhausted, when no more retry attempts remain, the desired outcome is that final connection failure status is set.
💻 Technical Criteria
Given All retry attempts have been exhausted
When No more retry attempts remain
Then Final connection failure status is set
R-GCX016-cbl-01777 Terminate Processing
Action Rules
📊 Business Logic Narrative
When the process 'Terminate Processing' is invoked, and assuming that final mq connection failure has occurred, when mq connection is permanently unavailable, the desired outcome is that processing is terminated due to mq unavailability.
💻 Technical Criteria
Given Final MQ connection failure has occurred
When MQ connection is permanently unavailable
Then Processing is terminated due to MQ unavailability
R-GCX016-cbl-01778 Establish MQ Connection
Action Rules
📊 Business Logic Narrative
When the process 'Establish MQ Connection' is invoked, and assuming that system needs to process messages from message queue, when mq connection is initiated, the desired outcome is that connection is established and ready for queue operations.
💻 Technical Criteria
Given System needs to process messages from message queue
When MQ connection is initiated
Then Connection is established and ready for queue operations
R-GCX016-cbl-01779 Connection Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Connection Successful?' is invoked, and assuming that mq connection attempt has been made, when connection status is evaluated, the desired outcome is that if connection successful, proceed to open queue; if connection failed, handle connection error.
💻 Technical Criteria
Given MQ connection attempt has been made
When Connection status is evaluated
Then If connection successful, proceed to open queue; if connection failed, handle connection error
R-GCX016-cbl-01780 Open MQ Queue for Reading
Action Rules
📊 Business Logic Narrative
When the process 'Open MQ Queue for Reading' is invoked, and assuming that mq connection is established successfully, when queue open operation is initiated, the desired outcome is that queue is opened for reading messages.
💻 Technical Criteria
Given MQ connection is established successfully
When Queue open operation is initiated
Then Queue is opened for reading messages
R-GCX016-cbl-01781 Queue Open Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Queue Open Successful?' is invoked, and assuming that queue open operation has been attempted, when queue open status is evaluated, the desired outcome is that if queue opened successfully, proceed to get messages; if queue open failed, handle queue open error.
💻 Technical Criteria
Given Queue open operation has been attempted
When Queue open status is evaluated
Then If queue opened successfully, proceed to get messages; if queue open failed, handle queue open error
R-GCX016-cbl-01784 Calculate Message Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Message Length' is invoked, and assuming that message is available in queue, when message length calculation is performed, the desired outcome is that message length is determined for proper processing.
💻 Technical Criteria
Given Message is available in queue
When Message length calculation is performed
Then Message length is determined for proper processing
R-GCX016-cbl-01785 Calculate Entry Count
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Entry Count' is invoked, and assuming that message length has been calculated, when entry count calculation is performed, the desired outcome is that number of message entries is determined for array initialization.
💻 Technical Criteria
Given Message length has been calculated
When Entry count calculation is performed
Then Number of message entries is determined for array initialization
R-GCX016-cbl-01786 Initialize Message Array
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Array' is invoked, and assuming that entry count has been calculated, when message array initialization is performed, the desired outcome is that message array is prepared to store message entries.
💻 Technical Criteria
Given Entry count has been calculated
When Message array initialization is performed
Then Message array is prepared to store message entries
R-GCX016-cbl-01788 More Messages?
Decision Rules
📊 Business Logic Narrative
When the process 'More Messages?' is invoked, and assuming that current message has been processed, when additional message availability is checked, the desired outcome is that if more messages exist, continue message retrieval; if no more messages, close queue.
💻 Technical Criteria
Given Current message has been processed
When Additional message availability is checked
Then If more messages exist, continue message retrieval; if no more messages, close queue
R-GCX016-cbl-01789 Handle MQ Connection Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle MQ Connection Error' is invoked, and assuming that mq connection attempt has failed, when connection error handling is invoked, the desired outcome is that connection error is processed and operations are terminated.
💻 Technical Criteria
Given MQ connection attempt has failed
When Connection error handling is invoked
Then Connection error is processed and operations are terminated
R-GCX016-cbl-01790 Handle Queue Open Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Queue Open Error' is invoked, and assuming that queue open operation has failed, when queue open error handling is invoked, the desired outcome is that queue open error is processed and operations are terminated.
💻 Technical Criteria
Given Queue open operation has failed
When Queue open error handling is invoked
Then Queue open error is processed and operations are terminated
R-GCX016-cbl-01791 Handle Message Retrieval Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Message Retrieval Error' is invoked, and assuming that message retrieval operation has failed, when message retrieval error handling is invoked, the desired outcome is that message retrieval error is processed and operations are terminated.
💻 Technical Criteria
Given Message retrieval operation has failed
When Message retrieval error handling is invoked
Then Message retrieval error is processed and operations are terminated
R-GCX016-cbl-01793 Initialize Message Arrays for EDI 350
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Arrays for EDI 350' is invoked, and assuming that a message needs to be processed for edi 350 format, when the system begins message array initialization, the desired outcome is that message arrays are initialized with edi 350 parameters and processing structure is established.
💻 Technical Criteria
Given A message needs to be processed for EDI 350 format
When The system begins message array initialization
Then Message arrays are initialized with EDI 350 parameters and processing structure is established
R-GCX016-cbl-01795 Determine Number of EDI Segment Entries
Computation Rules
📊 Business Logic Narrative
When the process 'Determine Number of EDI Segment Entries' is invoked, and assuming that a message with known length and structure, when the system processes the message content, the desired outcome is that the number of edi segment entries is determined based on message structure and length.
💻 Technical Criteria
Given A message with known length and structure
When The system processes the message content
Then The number of EDI segment entries is determined based on message structure and length
R-GCX016-cbl-01799 Train Message Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Message Type?' is invoked, and assuming that a message ready for type classification, when the system evaluates message type indicators, the desired outcome is that train-specific processing is initiated if message is train-related, otherwise standard processing applies.
💻 Technical Criteria
Given A message ready for type classification
When The system evaluates message type indicators
Then Train-specific processing is initiated if message is train-related, otherwise standard processing applies
R-GCX016-cbl-01800 Initialize Arrays for Train Operations
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Arrays for Train Operations' is invoked, and assuming that a message identified as train-related, when the system initializes processing arrays, the desired outcome is that arrays are configured with train-specific parameters and processing capabilities.
💻 Technical Criteria
Given A message identified as train-related
When The system initializes processing arrays
Then Arrays are configured with train-specific parameters and processing capabilities
R-GCX016-cbl-01801 Set M10 and V9 Segment Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set M10 and V9 Segment Parameters' is invoked, and assuming that train message arrays are being initialized, when the system sets up segment-specific parameters, the desired outcome is that m10 manifest segment and v9 event segment parameters are properly configured for train operations.
💻 Technical Criteria
Given Train message arrays are being initialized
When The system sets up segment-specific parameters
Then M10 manifest segment and V9 event segment parameters are properly configured for train operations
R-GCX016-cbl-01804 Extract Next EDI Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Next EDI Segment' is invoked, and assuming that more entries are available for processing, when the system extracts the next segment, the desired outcome is that the next edi segment is retrieved and prepared for validation and processing.
💻 Technical Criteria
Given More entries are available for processing
When The system extracts the next segment
Then The next EDI segment is retrieved and prepared for validation and processing
R-GCX016-cbl-01805 Validate Segment Structure
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Segment Structure' is invoked, and assuming that an edi segment has been extracted, when the system validates segment structure, the desired outcome is that segment is confirmed as valid for processing or marked as invalid for error handling.
💻 Technical Criteria
Given An EDI segment has been extracted
When The system validates segment structure
Then Segment is confirmed as valid for processing or marked as invalid for error handling
R-GCX016-cbl-01806 Segment Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Segment Valid?' is invoked, and assuming that a segment has undergone structure validation, when the system evaluates segment validity, the desired outcome is that valid segments are queued for processing while invalid segments trigger error logging.
💻 Technical Criteria
Given A segment has undergone structure validation
When The system evaluates segment validity
Then Valid segments are queued for processing while invalid segments trigger error logging
R-GCX016-cbl-01807 Add Segment to Processing Queue
Process Rules
📊 Business Logic Narrative
When the process 'Add Segment to Processing Queue' is invoked, and assuming that a segment has been validated as structurally correct, when the system adds the segment to processing queue, the desired outcome is that segment is queued for business processing and made available for subsequent operations.
💻 Technical Criteria
Given A segment has been validated as structurally correct
When The system adds the segment to processing queue
Then Segment is queued for business processing and made available for subsequent operations
R-GCX016-cbl-01808 Log Invalid Segment Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Invalid Segment Error', assuming that a segment has failed validation checks, when the system processes the invalid segment, the desired outcome is that error information is logged with segment details and processing continues with next entry.
💻 Technical Criteria
EXCLUDING A segment has failed validation checks
When The system processes the invalid segment
Then Error information is logged with segment details and processing continues with next entry
R-GCX016-cbl-01810 Return Processed Message Data
Process Rules
📊 Business Logic Narrative
When the process 'Return Processed Message Data' is invoked, and assuming that message array processing has been completed, when the system returns processing results, the desired outcome is that processed message data and status information are returned to the calling process.
💻 Technical Criteria
Given Message array processing has been completed
When The system returns processing results
Then Processed message data and status information are returned to the calling process
R-GCX016-cbl-01811 Handle Array Processing Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Array Processing Error' is invoked, and assuming that an error condition has occurred during array processing, when the system handles the error condition, the desired outcome is that error information is captured and appropriate error response is returned to calling process.
💻 Technical Criteria
Given An error condition has occurred during array processing
When The system handles the error condition
Then Error information is captured and appropriate error response is returned to calling process
R-GCX016-cbl-01812 Message Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type?' is invoked, and assuming that a message is available for processing from the message queue, when the system evaluates the message type and processing requirements, the desired outcome is that the message is classified as multi-manifest, train operations, or standard processing based on message characteristics.
💻 Technical Criteria
Given A message is available for processing from the message queue
When The system evaluates the message type and processing requirements
Then The message is classified as multi-manifest, train operations, or standard processing based on message characteristics
R-GCX016-cbl-01813 Multi-manifest Processing Required
Process Rules
📊 Business Logic Narrative
When the process 'Multi-manifest Processing Required' is invoked, and assuming that a message has been classified for processing, when the message contains lead manifest information with associated follower manifests, the desired outcome is that the system initiates multi-manifest processing workflow.
💻 Technical Criteria
Given A message has been classified for processing
When The message contains lead manifest information with associated follower manifests
Then The system initiates multi-manifest processing workflow
R-GCX016-cbl-01817 Format EDI 350 Message for Each Follower
Computation Rules
📊 Business Logic Narrative
When the process 'Format EDI 350 Message for Each Follower' is invoked, and assuming that follower manifests have been identified for processing, when the system prepares transaction messages for each follower, the desired outcome is that each follower manifest gets an edi 350 message with action code '350', disposition code, quantity, and entry number from the x4 segment.
💻 Technical Criteria
Given Follower manifests have been identified for processing
When The system prepares transaction messages for each follower
Then Each follower manifest gets an EDI 350 message with action code '350', disposition code, quantity, and entry number from the X4 segment
R-GCX016-cbl-01818 Prepare Train Arrival/Cancellation Message
Computation Rules
📊 Business Logic Narrative
When the process 'Prepare Train Arrival/Cancellation Message' is invoked, and assuming that a train operations message requires processing, when the system prepares train arrival or cancellation parameters, the desired outcome is that train message parameters are formatted with vessel name, event codes, and timing information.
💻 Technical Criteria
Given A train operations message requires processing
When The system prepares train arrival or cancellation parameters
Then Train message parameters are formatted with vessel name, event codes, and timing information
R-GCX016-cbl-01819 Initialize Message Array Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Initialize Message Array Parameters' is invoked, and assuming that a message requires transaction spawning, when the system initializes message array parameters, the desired outcome is that message array is populated with message segments, processing flags, and transaction identifiers.
💻 Technical Criteria
Given A message requires transaction spawning
When The system initializes message array parameters
Then Message array is populated with message segments, processing flags, and transaction identifiers
R-GCX016-cbl-01820 Set Transaction Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Transaction Parameters' is invoked, and assuming that message processing parameters have been prepared, when the system sets transaction parameters for gct0161e spawning, the desired outcome is that transaction parameters are configured with message type, processing mode, and target transaction identifier.
💻 Technical Criteria
Given Message processing parameters have been prepared
When The system sets transaction parameters for GCT0161E spawning
Then Transaction parameters are configured with message type, processing mode, and target transaction identifier
R-GCX016-cbl-01821 Spawn GCT0161E Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT0161E Transaction' is invoked, and assuming that transaction parameters have been configured, when the system attempts to spawn gct0161e transaction, the desired outcome is that gct0161e transaction is spawned with the prepared message parameters and processing begins.
💻 Technical Criteria
Given Transaction parameters have been configured
When The system attempts to spawn GCT0161E transaction
Then GCT0161E transaction is spawned with the prepared message parameters and processing begins
R-GCX016-cbl-01822 Transaction Successfully Spawned
Validation Rules
📊 Business Logic Narrative
When the process 'Transaction Successfully Spawned' is invoked, and assuming that gct0161e transaction spawning has been attempted, when the transaction spawning completes successfully, the desired outcome is that the system confirms successful spawning and continues with next processing step.
💻 Technical Criteria
Given GCT0161E transaction spawning has been attempted
When The transaction spawning completes successfully
Then The system confirms successful spawning and continues with next processing step
R-GCX016-cbl-01823 More Manifests to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Manifests to Process?' is invoked, and assuming that a manifest has been successfully processed in multi-manifest mode, when the system checks for additional unprocessed follower manifests, the desired outcome is that if more manifests exist, processing continues; otherwise, multi-manifest processing completes.
💻 Technical Criteria
Given A manifest has been successfully processed in multi-manifest mode
When The system checks for additional unprocessed follower manifests
Then If more manifests exist, processing continues; otherwise, multi-manifest processing completes
R-GCX016-cbl-01825 Log Error and Continue
Action Rules
📊 Business Logic Narrative
When the process 'Log Error and Continue' is invoked, and assuming that a transaction spawning error has occurred, when the system processes the error condition, the desired outcome is that the error is logged with appropriate details and processing continues with the next message.
💻 Technical Criteria
Given A transaction spawning error has occurred
When The system processes the error condition
Then The error is logged with appropriate details and processing continues with the next message
R-GCX016-cbl-01827 Receive EDI Shipment Request
Process Rules
📊 Business Logic Narrative
When the process 'Receive EDI Shipment Request' is invoked, and assuming that an edi message is available in the message queue, when the system processes the message queue, the desired outcome is that the edi shipment request is received and made available for processing.
💻 Technical Criteria
Given An EDI message is available in the message queue
When The system processes the message queue
Then The EDI shipment request is received and made available for processing
R-GCX016-cbl-01828 Extract Shipment Root ID from EDI Message
Process Rules
📊 Business Logic Narrative
When the process 'Extract Shipment Root ID from EDI Message' is invoked, and assuming that an edi shipment request has been received, when the system processes the edi message content, the desired outcome is that the shipment root id is extracted from the message and made available for database lookup.
💻 Technical Criteria
Given An EDI shipment request has been received
When The system processes the EDI message content
Then The shipment root ID is extracted from the message and made available for database lookup
R-GCX016-cbl-01829 Query Shipment Database
Action Rules
📊 Business Logic Narrative
When the process 'Query Shipment Database' is invoked, and assuming that a shipment root id has been extracted from the edi message, when the system performs a database lookup, the desired outcome is that the system searches for the corresponding shipment root record in the database.
💻 Technical Criteria
Given A shipment root ID has been extracted from the EDI message
When The system performs a database lookup
Then The system searches for the corresponding shipment root record in the database
R-GCX016-cbl-01830 Shiproot Record Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Shiproot Record Exists?' is invoked, and assuming that a database query has been performed for the shipment root id, when the system evaluates the query results, the desired outcome is that the system determines if a valid shipment root record exists and proceeds with appropriate validation or rejection flow.
💻 Technical Criteria
Given A database query has been performed for the shipment root ID
When The system evaluates the query results
Then The system determines if a valid shipment root record exists and proceeds with appropriate validation or rejection flow
R-GCX016-cbl-01831 Validate Shiproot Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Shiproot Status' is invoked, and assuming that a shipment root record exists in the database, when the system checks the shipment root status, the desired outcome is that the system validates that the shiproot is active and eligible for edi processing.
💻 Technical Criteria
Given A shipment root record exists in the database
When The system checks the shipment root status
Then The system validates that the shiproot is active and eligible for EDI processing
R-GCX016-cbl-01832 Shiproot Active and Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Shiproot Active and Valid?' is invoked, and assuming that the shipment root status has been retrieved from the database, when the system evaluates the status and validation criteria, the desired outcome is that the system determines if the shiproot is active and valid, allowing edi processing to continue or triggering rejection.
💻 Technical Criteria
Given The shipment root status has been retrieved from the database
When The system evaluates the status and validation criteria
Then The system determines if the shiproot is active and valid, allowing EDI processing to continue or triggering rejection
R-GCX016-cbl-01833 Allow EDI Processing to Continue
Authorization Rules
📊 Business Logic Narrative
When the process 'Allow EDI Processing to Continue' is invoked, and assuming that the shipment root record exists and has active, valid status, when all validation checks pass successfully, the desired outcome is that the system allows edi processing to continue with the validated shipment root.
💻 Technical Criteria
Given The shipment root record exists and has active, valid status
When All validation checks pass successfully
Then The system allows EDI processing to continue with the validated shipment root
R-GCX016-cbl-01835 Log Shiproot Validation Success
Process Rules
📊 Business Logic Narrative
When the process 'Log Shiproot Validation Success' is invoked, and assuming that shipment root validation has completed successfully, when the u1 segment has been created, the desired outcome is that the system logs the successful validation event with appropriate details.
💻 Technical Criteria
Given Shipment root validation has completed successfully
When The U1 segment has been created
Then The system logs the successful validation event with appropriate details
R-GCX016-cbl-01836 Reject EDI Processing Request
Decision Rules
📊 Business Logic Narrative
When the process 'Reject EDI Processing Request' is invoked, and assuming that shipment root validation has failed due to non-existent record or invalid status, when the system determines the shipment cannot be processed, the desired outcome is that the edi processing request is rejected and error handling is initiated.
💻 Technical Criteria
Given Shipment root validation has failed due to non-existent record or invalid status
When The system determines the shipment cannot be processed
Then The EDI processing request is rejected and error handling is initiated
R-GCX016-cbl-01837 Generate Shiproot Not Found Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Shiproot Not Found Error', assuming that edi processing has been rejected due to validation failure, when the shipment root record does not exist or has invalid status, the desired outcome is that the system generates a shiproot not found error message with relevant details.
💻 Technical Criteria
EXCLUDING EDI processing has been rejected due to validation failure
When The shipment root record does not exist or has invalid status
Then The system generates a shiproot not found error message with relevant details
R-GCX016-cbl-01838 Log Validation Failure
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Validation Failure', assuming that a shiproot not found error has been generated, when the system processes the validation failure, the desired outcome is that the validation failure is logged with error details and shipment information.
💻 Technical Criteria
EXCLUDING A shiproot not found error has been generated
When The system processes the validation failure
Then The validation failure is logged with error details and shipment information
R-GCX016-cbl-01839 Send Error Notification
Process Rules
📊 Business Logic Narrative
When the process 'Send Error Notification' is invoked, and assuming that validation failure has been logged, when the system completes error processing, the desired outcome is that an error notification is sent to the appropriate recipients with failure details.
💻 Technical Criteria
Given Validation failure has been logged
When The system completes error processing
Then An error notification is sent to the appropriate recipients with failure details
R-GCX016-cbl-01840 Verify Shiproot Existence
Validation Rules
📊 Business Logic Narrative
When the process 'Verify Shiproot Existence' is invoked, and assuming that a shipminu segment requires processing, when the system attempts to verify shiproot existence, the desired outcome is that the system should validate shiproot record exists and is accessible for processing.
💻 Technical Criteria
Given A SHIPMINU segment requires processing
When The system attempts to verify shiproot existence
Then The system should validate shiproot record exists and is accessible for processing
R-GCX016-cbl-01847 Update Shipment Record
Process Rules
📊 Business Logic Narrative
When the process 'Update Shipment Record' is invoked, and assuming that u1 segment has been successfully stored in database, when the system updates the shipment record, the desired outcome is that the system should update shipment record status to indicate u1 segment processing completion.
💻 Technical Criteria
Given U1 segment has been successfully stored in database
When The system updates the shipment record
Then The system should update shipment record status to indicate U1 segment processing completion
R-GCX016-cbl-01848 Log Segment Processing
Process Rules
📊 Business Logic Narrative
When the process 'Log Segment Processing' is invoked, and assuming that u1 segment processing and shipment record update are complete, when the system logs segment processing, the desired outcome is that the system should create audit log entry documenting successful shipminu segment processing with relevant details.
💻 Technical Criteria
Given U1 segment processing and shipment record update are complete
When The system logs segment processing
Then The system should create audit log entry documenting successful SHIPMINU segment processing with relevant details
R-GCX016-cbl-01849 Handle Shiproot Error
Action Rules
📊 Business Logic Narrative
When the process 'Handle Shiproot Error' is invoked, and assuming that shiproot validation has failed, when the system handles shiproot error, the desired outcome is that the system should log error condition, set appropriate error status, and terminate shipminu processing gracefully.
💻 Technical Criteria
Given Shiproot validation has failed
When The system handles shiproot error
Then The system should log error condition, set appropriate error status, and terminate SHIPMINU processing gracefully
R-GCX016-cbl-01855 Log Successful Conversion
Process Rules
📊 Business Logic Narrative
When the process 'Log Successful Conversion' is invoked, and assuming that cprail code has been successfully converted to edi 309 format, when the conversion process completes successfully, the desired outcome is that a success log entry is created documenting the conversion.
💻 Technical Criteria
Given CPRAIL code has been successfully converted to EDI 309 format
When The conversion process completes successfully
Then A success log entry is created documenting the conversion
R-GCX016-cbl-01859 DS Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'DS Record Found?' is invoked, and assuming that ds table lookup has been performed, when the system checks the lookup result, the desired outcome is that if ds record is found, extract station name, otherwise attempt ks table lookup.
💻 Technical Criteria
Given DS table lookup has been performed
When The system checks the lookup result
Then If DS record is found, extract station name, otherwise attempt KS table lookup
R-GCX016-cbl-01869 Search for N9 Reference Segments
Process Rules
📊 Business Logic Narrative
When the process 'Search for N9 Reference Segments' is invoked, and assuming that gcsa2rt secondary records are accessed, when the system searches for n9 reference segments within the records, the desired outcome is that the system identifies and locates all n9 reference segments present in the secondary records.
💻 Technical Criteria
Given GCSA2RT secondary records are accessed
When The system searches for N9 reference segments within the records
Then The system identifies and locates all N9 reference segments present in the secondary records
R-GCX016-cbl-01870 N9 Segments Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N9 Segments Found?' is invoked, and assuming that a search for n9 reference segments has been completed, when the system evaluates the search results, the desired outcome is that the system proceeds to extract reference information if n9 segments are found, otherwise completes processing without references.
💻 Technical Criteria
Given A search for N9 reference segments has been completed
When The system evaluates the search results
Then The system proceeds to extract reference information if N9 segments are found, otherwise completes processing without references
R-GCX016-cbl-01872 Validate Reference Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Reference Data' is invoked, and assuming that reference information has been extracted from n9 segments, when the system validates the extracted reference data, the desired outcome is that the system verifies that the reference data meets required format and completeness criteria.
💻 Technical Criteria
Given Reference information has been extracted from N9 segments
When The system validates the extracted reference data
Then The system verifies that the reference data meets required format and completeness criteria
R-GCX016-cbl-01873 Reference Data Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Reference Data Valid?' is invoked, and assuming that reference data has been validated, when the system evaluates validation results, the desired outcome is that the system proceeds to store valid reference information or handles invalid data error.
💻 Technical Criteria
Given Reference data has been validated
When The system evaluates validation results
Then The system proceeds to store valid reference information or handles invalid data error
R-GCX016-cbl-01881 Status Segments - S09
Process Rules
📊 Business Logic Narrative
When the process 'Status Segments - S09' is invoked, and assuming that a database operation involves s09 status segments, when the system processes the s09 segment type, the desired outcome is that the system accesses the gcsuss09 database for status segment operations.
💻 Technical Criteria
Given A database operation involves S09 status segments
When The system processes the S09 segment type
Then The system accesses the GCSUSS09 database for status segment operations
R-GCX016-cbl-01883 Table Segments - GCSTBRT
Process Rules
📊 Business Logic Narrative
When the process 'Table Segments - GCSTBRT' is invoked, and assuming that a database operation involves table segments, when the system processes the gcstbrt segment type, the desired outcome is that the system accesses the gcstbrt database for table segment operations.
💻 Technical Criteria
Given A database operation involves table segments
When The system processes the GCSTBRT segment type
Then The system accesses the GCSTBRT database for table segment operations
R-GCX016-cbl-01884 Secondary Segments - GCSA2RT
Process Rules
📊 Business Logic Narrative
When the process 'Secondary Segments - GCSA2RT' is invoked, and assuming that a database operation involves secondary segments, when the system processes the gcsa2rt segment type, the desired outcome is that the system accesses the gcsa2rt database for secondary segment operations.
💻 Technical Criteria
Given A database operation involves secondary segments
When The system processes the GCSA2RT segment type
Then The system accesses the GCSA2RT database for secondary segment operations
R-GCX016-cbl-01885 Shipment Segments - U1
Process Rules
📊 Business Logic Narrative
When the process 'Shipment Segments - U1' is invoked, and assuming that a database operation involves u1 shipment segments, when the system processes the u1 segment type, the desired outcome is that the system accesses the appropriate database for shipment segment operations.
💻 Technical Criteria
Given A database operation involves U1 shipment segments
When The system processes the U1 segment type
Then The system accesses the appropriate database for shipment segment operations
R-GCX016-cbl-01886 Transmission Segments - A9RT/A9DP
Process Rules
📊 Business Logic Narrative
When the process 'Transmission Segments - A9RT/A9DP' is invoked, and assuming that a database operation involves transmission segments, when the system processes a9rt or a9dp segment types, the desired outcome is that the system accesses the a9rt/a9dp database for transmission segment operations.
💻 Technical Criteria
Given A database operation involves transmission segments
When The system processes A9RT or A9DP segment types
Then The system accesses the A9RT/A9DP database for transmission segment operations
R-GCX016-cbl-01887 Key Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Key Valid?' is invoked, and assuming that a database operation requires a segment key, when the system validates the segment key, the desired outcome is that the system proceeds with database operation if key is valid, otherwise handles database error.
💻 Technical Criteria
Given A database operation requires a segment key
When The system validates the segment key
Then The system proceeds with database operation if key is valid, otherwise handles database error
R-GCX016-cbl-01888 Operation Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Operation Successful?' is invoked, and assuming that a database operation has been executed, when the system checks the operation result, the desired outcome is that the system updates working storage and logs operation if successful, otherwise handles database error.
💻 Technical Criteria
Given A database operation has been executed
When The system checks the operation result
Then The system updates working storage and logs operation if successful, otherwise handles database error
R-GCX016-cbl-01891 Replace Existing Segment
Process Rules
📊 Business Logic Narrative
When the process 'Replace Existing Segment' is invoked, and assuming that a replace operation is being performed, when the system replaces an existing segment, the desired outcome is that the system executes the database call to update the existing segment.
💻 Technical Criteria
Given A replace operation is being performed
When The system replaces an existing segment
Then The system executes the database call to update the existing segment
R-GCX016-cbl-01892 Fetch Segment by Key
Process Rules
📊 Business Logic Narrative
When the process 'Fetch Segment by Key' is invoked, and assuming that a retrieve operation is being performed, when the system fetches a segment by key, the desired outcome is that the system loads the segment into working storage and validates retrieved data.
💻 Technical Criteria
Given A retrieve operation is being performed
When The system fetches a segment by key
Then The system loads the segment into working storage and validates retrieved data
R-GCX016-cbl-01893 Validate Retrieved Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Retrieved Data' is invoked, and assuming that data has been retrieved from the database, when the system validates the retrieved data, the desired outcome is that the system updates working storage if data is valid.
💻 Technical Criteria
Given Data has been retrieved from the database
When The system validates the retrieved data
Then The system updates working storage if data is valid
R-GCX016-cbl-01894 Handle Database Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Database Error' is invoked, and assuming that a database operation has failed or segment key is invalid, when the system handles the database error, the desired outcome is that the system logs error details and returns error status.
💻 Technical Criteria
Given A database operation has failed or segment key is invalid
When The system handles the database error
Then The system logs error details and returns error status
R-GCX016-cbl-01895 Log Operation
Process Rules
📊 Business Logic Narrative
When the process 'Log Operation' is invoked, and assuming that a database operation has completed successfully and working storage is updated, when the system logs the operation, the desired outcome is that the system returns success status.
💻 Technical Criteria
Given A database operation has completed successfully and working storage is updated
When The system logs the operation
Then The system returns success status
R-GCX016-cbl-01928 Capture Current System Date
Action Rules
📊 Business Logic Narrative
When the process 'Capture Current System Date' is invoked, and assuming that a business transaction requires timestamping, when the system needs to capture the current date, the desired outcome is that the system date is retrieved and stored for transaction processing.
💻 Technical Criteria
Given A business transaction requires timestamping
When The system needs to capture the current date
Then The system date is retrieved and stored for transaction processing
R-GCX016-cbl-01929 Capture Current System Time
Action Rules
📊 Business Logic Narrative
When the process 'Capture Current System Time' is invoked, and assuming that a business transaction requires precise timing, when the system needs to capture the current time, the desired outcome is that the system time is retrieved and stored for transaction processing.
💻 Technical Criteria
Given A business transaction requires precise timing
When The system needs to capture the current time
Then The system time is retrieved and stored for transaction processing
R-GCX016-cbl-01931 Date Conversion Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Date Conversion Successful?' is invoked, and assuming that a date conversion to julian format has been attempted, when the system checks if the conversion was successful, the desired outcome is that if conversion is successful, proceed with timestamp formatting, otherwise handle the conversion error.
💻 Technical Criteria
Given A date conversion to Julian format has been attempted
When The system checks if the conversion was successful
Then If conversion is successful, proceed with timestamp formatting, otherwise handle the conversion error
R-GCX016-cbl-01932 Format Timestamp for Transaction
Process Rules
📊 Business Logic Narrative
When the process 'Format Timestamp for Transaction' is invoked, and assuming that system date and time have been successfully captured and date converted to julian format, when a formatted timestamp is required for transaction processing, the desired outcome is that the date and time are formatted into a standardized timestamp for business use.
💻 Technical Criteria
Given System date and time have been successfully captured and date converted to Julian format
When A formatted timestamp is required for transaction processing
Then The date and time are formatted into a standardized timestamp for business use
R-GCX016-cbl-01933 Apply Timestamp to Business Transaction
Process Rules
📊 Business Logic Narrative
When the process 'Apply Timestamp to Business Transaction' is invoked, and assuming that a formatted timestamp is available, when a business transaction is being processed, the desired outcome is that the timestamp is applied to the transaction for tracking and audit trail purposes.
💻 Technical Criteria
Given A formatted timestamp is available
When A business transaction is being processed
Then The timestamp is applied to the transaction for tracking and audit trail purposes
R-GCX016-cbl-01934 Store Timestamp in Transaction Log
Policy Rules
📊 Business Logic Narrative
When the process 'Store Timestamp in Transaction Log' is invoked, and assuming that a business transaction has been timestamped, when the transaction needs to be logged for audit purposes, the desired outcome is that the timestamp is stored in the transaction log for compliance and tracking.
💻 Technical Criteria
Given A business transaction has been timestamped
When The transaction needs to be logged for audit purposes
Then The timestamp is stored in the transaction log for compliance and tracking
R-GCX016-cbl-01935 Handle Date Conversion Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Date Conversion Error' is invoked, and assuming that a date conversion to julian format has failed, when the system detects the conversion error, the desired outcome is that the error is handled appropriately to allow transaction processing to continue.
💻 Technical Criteria
Given A date conversion to Julian format has failed
When The system detects the conversion error
Then The error is handled appropriately to allow transaction processing to continue
R-GCX016-cbl-01936 Timestamp Ready for Use
Process Rules
📊 Business Logic Narrative
When the process 'Timestamp Ready for Use' is invoked, and assuming that date and time processing has completed either successfully or with error handling, when the system needs to confirm timestamp availability, the desired outcome is that the timestamp is marked as ready for use in business transactions.
💻 Technical Criteria
Given Date and time processing has completed either successfully or with error handling
When The system needs to confirm timestamp availability
Then The timestamp is marked as ready for use in business transactions
R-GCX016-cbl-01938 Access Broker Tables
Action Rules
📊 Business Logic Narrative
When the process 'Access Broker Tables' is invoked, and assuming that kcsm processing is required, when the system needs to lookup broker information, the desired outcome is that the system should access the gcstbrt broker tables to retrieve broker data.
💻 Technical Criteria
Given KCSM processing is required
When The system needs to lookup broker information
Then The system should access the GCSTBRT broker tables to retrieve broker data
R-GCX016-cbl-01939 Retrieve Broker Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Broker Information' is invoked, and assuming that broker tables are accessible, when the system performs broker lookup, the desired outcome is that the system should retrieve broker information from bk table (broker master) and b1 table (broker details).
💻 Technical Criteria
Given Broker tables are accessible
When The system performs broker lookup
Then The system should retrieve broker information from BK Table (Broker Master) and B1 Table (Broker Details)
R-GCX016-cbl-01940 Broker Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Broker Found?' is invoked, and assuming that a broker lookup has been performed, when the system checks the lookup results, the desired outcome is that the system should determine if broker information was found and proceed accordingly.
💻 Technical Criteria
Given A broker lookup has been performed
When The system checks the lookup results
Then The system should determine if broker information was found and proceed accordingly
R-GCX016-cbl-01941 Extract Broker Short Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Broker Short Name' is invoked, and assuming that broker information has been found in the lookup tables, when the system processes the broker data, the desired outcome is that the system should extract the broker short name for kcsm processing.
💻 Technical Criteria
Given Broker information has been found in the lookup tables
When The system processes the broker data
Then The system should extract the broker short name for KCSM processing
R-GCX016-cbl-01942 Format Broker Data for KCSM
Process Rules
📊 Business Logic Narrative
When the process 'Format Broker Data for KCSM' is invoked, and assuming that broker short name has been extracted, when the system prepares data for kcsm processing, the desired outcome is that the system should format the broker data according to kcsm specifications.
💻 Technical Criteria
Given Broker short name has been extracted
When The system prepares data for KCSM processing
Then The system should format the broker data according to KCSM specifications
R-GCX016-cbl-01943 Store Broker Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Broker Information' is invoked, and assuming that broker data has been formatted for kcsm, when the system needs to preserve broker information, the desired outcome is that the system should store the broker information for use in kcsm processing.
💻 Technical Criteria
Given Broker data has been formatted for KCSM
When The system needs to preserve broker information
Then The system should store the broker information for use in KCSM processing
R-GCX016-cbl-01944 Log Broker Not Found Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Broker Not Found Error' is invoked, and assuming that a broker lookup has been performed, when no broker information is found in the lookup tables, the desired outcome is that the system should log a broker not found error for tracking purposes.
💻 Technical Criteria
Given A broker lookup has been performed
When No broker information is found in the lookup tables
Then The system should log a broker not found error for tracking purposes
R-GCX016-cbl-01945 Use Default Broker Information
Process Rules
📊 Business Logic Narrative
When the process 'Use Default Broker Information' is invoked, and assuming that broker lookup has failed and error has been logged, when the system needs to continue processing, the desired outcome is that the system should use default broker information to allow processing to continue.
💻 Technical Criteria
Given Broker lookup has failed and error has been logged
When The system needs to continue processing
Then The system should use default broker information to allow processing to continue
R-GCX016-cbl-01946 Continue KCSM Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue KCSM Processing' is invoked, and assuming that broker information is available (either found or default), when all broker lookup processing is complete, the desired outcome is that the system should continue with the main kcsm processing workflow.
💻 Technical Criteria
Given Broker information is available (either found or default)
When All broker lookup processing is complete
Then The system should continue with the main KCSM processing workflow
R-GCX016-cbl-01948 Set EDI Message Tracking Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set EDI Message Tracking Information' is invoked, and assuming that transmission control parameters are initialized, when the system sets up edi message tracking, the desired outcome is that message tracking information is established with unique identifiers and control data.
💻 Technical Criteria
Given Transmission control parameters are initialized
When The system sets up EDI message tracking
Then Message tracking information is established with unique identifiers and control data
R-GCX016-cbl-01951 Establish Sender/Receiver Information
Validation Rules
📊 Business Logic Narrative
When the process 'Establish Sender/Receiver Information' is invoked, and assuming that message type and format are set, when the system establishes sender and receiver information, the desired outcome is that valid sender and receiver identifiers are set for message routing and delivery.
💻 Technical Criteria
Given Message type and format are set
When The system establishes sender and receiver information
Then Valid sender and receiver identifiers are set for message routing and delivery
R-GCX016-cbl-01952 Set Transmission Date and Time
Computation Rules
📊 Business Logic Narrative
When the process 'Set Transmission Date and Time' is invoked, and assuming that sender and receiver information is established, when the system sets transmission date and time, the desired outcome is that current system date and time are recorded as transmission timestamp.
💻 Technical Criteria
Given Sender and receiver information is established
When The system sets transmission date and time
Then Current system date and time are recorded as transmission timestamp
R-GCX016-cbl-01953 Create A9RT Transmission Root Segment
Action Rules
📊 Business Logic Narrative
When the process 'Create A9RT Transmission Root Segment' is invoked, and assuming that all transmission control data is prepared including date, time, sender, receiver, and sequence information, when the system creates a9rt transmission root segment, the desired outcome is that a9rt segment is created with complete transmission control information ready for database storage.
💻 Technical Criteria
Given All transmission control data is prepared including date, time, sender, receiver, and sequence information
When The system creates A9RT transmission root segment
Then A9RT segment is created with complete transmission control information ready for database storage
R-GCX016-cbl-01954 Validate Transmission Control Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Transmission Control Data' is invoked, and assuming that a9rt transmission root segment is created, when the system validates transmission control data, the desired outcome is that all required fields are validated for completeness, format, and business rule compliance.
💻 Technical Criteria
Given A9RT transmission root segment is created
When The system validates transmission control data
Then All required fields are validated for completeness, format, and business rule compliance
R-GCX016-cbl-01955 Store Root Segment to Database
Action Rules
📊 Business Logic Narrative
When the process 'Store Root Segment to Database' is invoked, and assuming that transmission control data validation is successful, when the system stores root segment to database, the desired outcome is that a9rt transmission root segment is successfully stored in the database with all control information.
💻 Technical Criteria
Given Transmission control data validation is successful
When The system stores root segment to database
Then A9RT transmission root segment is successfully stored in the database with all control information
R-GCX016-cbl-01956 Update Transmission Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Transmission Status' is invoked, and assuming that root segment is successfully stored to database, when the system updates transmission status, the desired outcome is that transmission status is updated to indicate successful root segment creation and storage.
💻 Technical Criteria
Given Root segment is successfully stored to database
When The system updates transmission status
Then Transmission status is updated to indicate successful root segment creation and storage
R-GCX016-cbl-01957 Log Transmission Creation
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Creation' is invoked, and assuming that transmission status is updated successfully, when the system logs transmission creation, the desired outcome is that transmission creation event is logged with relevant details for audit and monitoring purposes.
💻 Technical Criteria
Given Transmission status is updated successfully
When The system logs transmission creation
Then Transmission creation event is logged with relevant details for audit and monitoring purposes
R-GCX016-cbl-01958 Return Success Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Success Status' is invoked, and assuming that transmission creation is logged successfully, when the system returns success status, the desired outcome is that success status is returned to calling process indicating successful transmission root segment creation.
💻 Technical Criteria
Given Transmission creation is logged successfully
When The system returns success status
Then Success status is returned to calling process indicating successful transmission root segment creation
R-GCX016-cbl-01959 Handle Validation Error
Decision Rules
📊 Business Logic Narrative
When the process 'Handle Validation Error' is invoked, and assuming that transmission control data validation fails, when the system handles validation error, the desired outcome is that validation error is processed and appropriate error handling procedures are initiated.
💻 Technical Criteria
Given Transmission control data validation fails
When The system handles validation error
Then Validation error is processed and appropriate error handling procedures are initiated
R-GCX016-cbl-01960 Log Error Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Error Information' is invoked, and assuming that validation error is handled, when the system logs error information, the desired outcome is that detailed error information is logged including validation failure reasons and relevant data.
💻 Technical Criteria
Given Validation error is handled
When The system logs error information
Then Detailed error information is logged including validation failure reasons and relevant data
R-GCX016-cbl-01961 Return Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Error Status' is invoked, and assuming that error information is logged, when the system returns error status, the desired outcome is that error status is returned to calling process indicating failed transmission root segment creation with error details.
💻 Technical Criteria
Given Error information is logged
When The system returns error status
Then Error status is returned to calling process indicating failed transmission root segment creation with error details
R-GCX016-cbl-01963 Set Transmission Control Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Control Information' is invoked, and assuming that a dependent segment structure is initialized, when transmission control information needs to be established, the desired outcome is that the system must copy transmission control data including interchange control numbers and functional group identifiers to the dependent segment.
💻 Technical Criteria
Given A dependent segment structure is initialized
When Transmission control information needs to be established
Then The system must copy transmission control data including interchange control numbers and functional group identifiers to the dependent segment
R-GCX016-cbl-01964 Copy EDI 350 Message Data
Process Rules
📊 Business Logic Narrative
When the process 'Copy EDI 350 Message Data' is invoked, and assuming that transmission control information is set and edi 350 message data is available, when the system processes edi 350 message content, the desired outcome is that all relevant edi 350 message data must be copied to the dependent segment maintaining data integrity and format.
💻 Technical Criteria
Given Transmission control information is set and EDI 350 message data is available
When The system processes EDI 350 message content
Then All relevant EDI 350 message data must be copied to the dependent segment maintaining data integrity and format
R-GCX016-cbl-01965 Format Segment Header Information
Validation Rules
📊 Business Logic Narrative
When the process 'Format Segment Header Information' is invoked, and assuming that edi 350 message data is copied to the segment, when segment header formatting is required, the desired outcome is that the system must format segment header with proper segment identifier, element separator, and component separator according to edi standards.
💻 Technical Criteria
Given EDI 350 message data is copied to the segment
When Segment header formatting is required
Then The system must format segment header with proper segment identifier, element separator, and component separator according to EDI standards
R-GCX016-cbl-01966 Set Dependent Segment Key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Dependent Segment Key' is invoked, and assuming that segment header information is formatted, when a dependent segment key needs to be established, the desired outcome is that the system must generate and assign a unique key combining transmission control information and segment identifiers.
💻 Technical Criteria
Given Segment header information is formatted
When A dependent segment key needs to be established
Then The system must generate and assign a unique key combining transmission control information and segment identifiers
R-GCX016-cbl-01969 Set Segment Length Information
Computation Rules
📊 Business Logic Narrative
When the process 'Set Segment Length Information' is invoked, and assuming that message content is copied to the segment, when segment length calculation is required, the desired outcome is that the system must calculate and store the actual length of the message content in the segment length field.
💻 Technical Criteria
Given Message content is copied to the segment
When Segment length calculation is required
Then The system must calculate and store the actual length of the message content in the segment length field
R-GCX016-cbl-01970 Validate Segment Structure
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Segment Structure' is invoked, and assuming that segment length information is set, when segment structure validation is performed, the desired outcome is that the system must verify that all required fields are populated, segment length is valid, and structure conforms to edi standards.
💻 Technical Criteria
Given Segment length information is set
When Segment structure validation is performed
Then The system must verify that all required fields are populated, segment length is valid, and structure conforms to EDI standards
R-GCX016-cbl-01971 Write Dependent Segment to A9DP
Action Rules
📊 Business Logic Narrative
When the process 'Write Dependent Segment to A9DP' is invoked, and assuming that segment structure validation is successful, when the dependent segment is ready for storage, the desired outcome is that the system must write the dependent segment to the a9dp database with all populated fields and proper key structure.
💻 Technical Criteria
Given Segment structure validation is successful
When The dependent segment is ready for storage
Then The system must write the dependent segment to the A9DP database with all populated fields and proper key structure
R-GCX016-cbl-01972 Update Transmission Control Counters
Process Rules
📊 Business Logic Narrative
When the process 'Update Transmission Control Counters' is invoked, and assuming that a dependent segment is successfully written to a9dp, when transmission control counter update is required, the desired outcome is that the system must increment the segment count and update transmission control counters to reflect the new segment.
💻 Technical Criteria
Given A dependent segment is successfully written to A9DP
When Transmission control counter update is required
Then The system must increment the segment count and update transmission control counters to reflect the new segment
R-GCX016-cbl-01974 More EDI Data to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More EDI Data to Process?' is invoked, and assuming that segment sequence is incremented and more edi data may exist, when the system checks for additional edi data to process, the desired outcome is that if more edi data exists, the system must return to copy edi 350 message data step, otherwise proceed to completion.
💻 Technical Criteria
Given Segment sequence is incremented and more EDI data may exist
When The system checks for additional EDI data to process
Then If more EDI data exists, the system must return to copy EDI 350 message data step, otherwise proceed to completion
R-GCX016-cbl-01975 Handle Validation Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Validation Error' is invoked, and assuming that segment structure validation fails, when a validation error is detected, the desired outcome is that the system must handle the validation error by setting appropriate error flags and preparing error information for logging.
💻 Technical Criteria
Given Segment structure validation fails
When A validation error is detected
Then The system must handle the validation error by setting appropriate error flags and preparing error information for logging
R-GCX016-cbl-01976 Log Error Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Error Information' is invoked, and assuming that a validation error is handled, when error logging is required, the desired outcome is that the system must log detailed error information including segment data, validation failure reason, and transmission context.
💻 Technical Criteria
Given A validation error is handled
When Error logging is required
Then The system must log detailed error information including segment data, validation failure reason, and transmission context
R-GCX016-cbl-01977 Complete Dependent Segment Creation
Process Rules
📊 Business Logic Narrative
When the process 'Complete Dependent Segment Creation' is invoked, and assuming that all edi data is processed or an error is logged, when the dependent segment creation process reaches completion, the desired outcome is that the system must complete the process by setting final status indicators and returning control to the calling process.
💻 Technical Criteria
Given All EDI data is processed or an error is logged
When The dependent segment creation process reaches completion
Then The system must complete the process by setting final status indicators and returning control to the calling process
R-GCX016-cbl-01979 Retrieve KCSM Broker Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve KCSM Broker Information' is invoked, and assuming that kcsm edi transmission is required and broker identification is available, when the system needs to retrieve broker details for edi message formatting, the desired outcome is that the system should fetch broker information from gcstbrt broker tables and make it available for transmission setup.
💻 Technical Criteria
Given KCSM EDI transmission is required and broker identification is available
When The system needs to retrieve broker details for EDI message formatting
Then The system should fetch broker information from GCSTBRT broker tables and make it available for transmission setup
R-GCX016-cbl-01980 Create Transmission Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment' is invoked, and assuming that kcsm broker information has been retrieved successfully, when the system needs to establish the edi message structure foundation, the desired outcome is that the system should create an a9rt transmission root segment with proper identification and control parameters.
💻 Technical Criteria
Given KCSM broker information has been retrieved successfully
When The system needs to establish the EDI message structure foundation
Then The system should create an A9RT transmission root segment with proper identification and control parameters
R-GCX016-cbl-01986 Spawn GCT1091E Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1091E Transaction' is invoked, and assuming that kcsm transmission parameters have been configured and edi message is ready, when the system needs to initiate the actual edi transmission process, the desired outcome is that the system should spawn gct1091e transaction with the prepared edi message and transmission parameters.
💻 Technical Criteria
Given KCSM transmission parameters have been configured and EDI message is ready
When The system needs to initiate the actual EDI transmission process
Then The system should spawn GCT1091E transaction with the prepared EDI message and transmission parameters
R-GCX016-cbl-01987 Transaction Spawn Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Transaction Spawn Successful?' is invoked, and assuming that gct1091e transaction spawn has been attempted, when the system needs to verify the spawn operation result, the desired outcome is that the system should check the spawn status and determine whether to proceed with successful processing or handle spawn errors.
💻 Technical Criteria
Given GCT1091E transaction spawn has been attempted
When The system needs to verify the spawn operation result
Then The system should check the spawn status and determine whether to proceed with successful processing or handle spawn errors
R-GCX016-cbl-01988 Log Transmission Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Details' is invoked, and assuming that gct1091e transaction spawn was successful, when the system needs to record transmission activity, the desired outcome is that the system should log transmission details including message identifiers, timestamps, broker information, and processing status.
💻 Technical Criteria
Given GCT1091E transaction spawn was successful
When The system needs to record transmission activity
Then The system should log transmission details including message identifiers, timestamps, broker information, and processing status
R-GCX016-cbl-01989 Queue EDI Message for KCSM
Process Rules
📊 Business Logic Narrative
When the process 'Queue EDI Message for KCSM' is invoked, and assuming that transmission details have been logged successfully, when the system needs to queue the message for kcsm delivery, the desired outcome is that the system should place the edi message in the appropriate queue for kcsm system processing with proper routing and priority.
💻 Technical Criteria
Given Transmission details have been logged successfully
When The system needs to queue the message for KCSM delivery
Then The system should place the EDI message in the appropriate queue for KCSM system processing with proper routing and priority
R-GCX016-cbl-01990 Update Transaction Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Transaction Status' is invoked, and assuming that edi message has been queued for kcsm successfully, when the system needs to update processing status, the desired outcome is that the system should update transaction status to indicate successful kcsm edi integration completion.
💻 Technical Criteria
Given EDI message has been queued for KCSM successfully
When The system needs to update processing status
Then The system should update transaction status to indicate successful KCSM EDI integration completion
R-GCX016-cbl-01991 Handle Spawn Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Spawn Error' is invoked, and assuming that gct1091e transaction spawn has failed, when the system encounters a spawn error condition, the desired outcome is that the system should initiate error handling procedures to manage the failed spawn operation.
💻 Technical Criteria
Given GCT1091E transaction spawn has failed
When The system encounters a spawn error condition
Then The system should initiate error handling procedures to manage the failed spawn operation
R-GCX016-cbl-01992 Log Error Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Error Details' is invoked, and assuming that a transaction spawn error is being handled, when the system needs to record error information, the desired outcome is that the system should log detailed error information including error codes, failure reasons, message content, and system state for troubleshooting purposes.
💻 Technical Criteria
Given A transaction spawn error is being handled
When The system needs to record error information
Then The system should log detailed error information including error codes, failure reasons, message content, and system state for troubleshooting purposes
R-GCX016-cbl-01993 Validate KCSM Disposition Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate KCSM Disposition Code' is invoked, and assuming that a disposition code is provided for kcsm processing, when the system validates the disposition code against aecwrktb configuration table, the desired outcome is that the disposition code must be found in the kcsm authorized codes list to proceed with message queuing.
💻 Technical Criteria
Given A disposition code is provided for KCSM processing
When The system validates the disposition code against AECWRKTB configuration table
Then The disposition code must be found in the KCSM authorized codes list to proceed with message queuing
R-GCX016-cbl-01994 Copy EDI 350 Message Segments
Process Rules
📊 Business Logic Narrative
When the process 'Copy EDI 350 Message Segments' is invoked, and assuming that an edi 350 message exists with multiple segments, when the system prepares the message for kcsm transmission, the desired outcome is that all message segments must be copied to the transmission buffer maintaining segment structure and data integrity.
💻 Technical Criteria
Given An EDI 350 message exists with multiple segments
When The system prepares the message for KCSM transmission
Then All message segments must be copied to the transmission buffer maintaining segment structure and data integrity
R-GCX016-cbl-01995 Create Transmission Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment' is invoked, and assuming that a9rt transmission segment data is available, when the system creates the transmission root segment, the desired outcome is that the root segment must be formatted with proper transmission identifiers and control information from a9rt data.
💻 Technical Criteria
Given A9RT transmission segment data is available
When The system creates the transmission root segment
Then The root segment must be formatted with proper transmission identifiers and control information from A9RT data
R-GCX016-cbl-01996 Create Transmission Dependent Segments
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Dependent Segments' is invoked, and assuming that a9dp dependent segment data is available, when the system creates transmission dependent segments, the desired outcome is that all dependent segments must be created with proper sequencing and data from a9dp segments.
💻 Technical Criteria
Given A9DP dependent segment data is available
When The system creates transmission dependent segments
Then All dependent segments must be created with proper sequencing and data from A9DP segments
R-GCX016-cbl-01997 Format EDI Message for KCSM
Process Rules
📊 Business Logic Narrative
When the process 'Format EDI Message for KCSM' is invoked, and assuming that root and dependent segments are created, when the system formats the edi message for kcsm, the desired outcome is that the message must be formatted according to kcsm edi standards with proper segment delimiters and structure.
💻 Technical Criteria
Given Root and dependent segments are created
When The system formats the EDI message for KCSM
Then The message must be formatted according to KCSM EDI standards with proper segment delimiters and structure
R-GCX016-cbl-01998 Prepare Message Queue Entry
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Message Queue Entry' is invoked, and assuming that a formatted edi message is ready for transmission, when the system prepares the message queue entry, the desired outcome is that the queue entry must include message data, transmission parameters, and routing information.
💻 Technical Criteria
Given A formatted EDI message is ready for transmission
When The system prepares the message queue entry
Then The queue entry must include message data, transmission parameters, and routing information
R-GCX016-cbl-02000 Queue Operation Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Queue Operation Successful?' is invoked, and assuming that writmsgl has been called to queue a message, when the system checks the queue operation result, the desired outcome is that if the operation is successful, proceed to logging; if failed, initiate error handling.
💻 Technical Criteria
Given WRITMSGL has been called to queue a message
When The system checks the queue operation result
Then If the operation is successful, proceed to logging; if failed, initiate error handling
R-GCX016-cbl-02001 Log Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Parameters' is invoked, and assuming that a message has been successfully queued, when the system logs transmission parameters, the desired outcome is that transmission details including message id, timestamp, and routing information must be logged.
💻 Technical Criteria
Given A message has been successfully queued
When The system logs transmission parameters
Then Transmission details including message ID, timestamp, and routing information must be logged
R-GCX016-cbl-02002 Update Transmission Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Transmission Status' is invoked, and assuming that transmission parameters have been logged, when the system updates transmission status, the desired outcome is that the status must be updated to indicate successful queuing and readiness for transmission.
💻 Technical Criteria
Given Transmission parameters have been logged
When The system updates transmission status
Then The status must be updated to indicate successful queuing and readiness for transmission
R-GCX016-cbl-02003 Handle Queue Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Queue Error' is invoked, and assuming that a message queuing operation has failed, when the system handles the queue error, the desired outcome is that error details must be captured and retry logic must be initiated.
💻 Technical Criteria
Given A message queuing operation has failed
When The system handles the queue error
Then Error details must be captured and retry logic must be initiated
R-GCX016-cbl-02004 Retry Queue Operation
Process Rules
📊 Business Logic Narrative
When the process 'Retry Queue Operation' is invoked, and assuming that a queue error has been handled, when the system retries the queue operation, the desired outcome is that the same message must be resubmitted to the queue with identical parameters.
💻 Technical Criteria
Given A queue error has been handled
When The system retries the queue operation
Then The same message must be resubmitted to the queue with identical parameters
R-GCX016-cbl-02005 Retry Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Retry Successful?' is invoked, and assuming that a queue operation has been retried, when the system checks the retry operation result, the desired outcome is that if retry is successful, proceed to logging; if retry fails, log the failure and continue processing.
💻 Technical Criteria
Given A queue operation has been retried
When The system checks the retry operation result
Then If retry is successful, proceed to logging; if retry fails, log the failure and continue processing
R-GCX016-cbl-02006 Log Queue Failure
Process Rules
📊 Business Logic Narrative
When the process 'Log Queue Failure' is invoked, and assuming that a queue retry operation has failed, when the system logs the queue failure, the desired outcome is that failure details including error codes, message data, and retry attempts must be logged for troubleshooting.
💻 Technical Criteria
Given A queue retry operation has failed
When The system logs the queue failure
Then Failure details including error codes, message data, and retry attempts must be logged for troubleshooting
R-GCX016-cbl-02008 Retrieve KCSM Broker Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve KCSM Broker Information' is invoked, and assuming that kcsm processing is required for a transaction, when the system needs broker information for transmission setup, the desired outcome is that broker kcsm configuration data is retrieved from broker master records.
💻 Technical Criteria
Given KCSM processing is required for a transaction
When The system needs broker information for transmission setup
Then Broker KCSM configuration data is retrieved from broker master records
R-GCX016-cbl-02009 Create Transmission Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment' is invoked, and assuming that kcsm broker information has been retrieved, when a transmission root segment needs to be created, the desired outcome is that a9rt transmission root segment is created with transmission id, broker id, and timestamp.
💻 Technical Criteria
Given KCSM broker information has been retrieved
When A transmission root segment needs to be created
Then A9RT transmission root segment is created with transmission ID, broker ID, and timestamp
R-GCX016-cbl-02010 Log Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Parameters' is invoked, and assuming that a transmission root segment has been created, when transmission parameters need to be logged, the desired outcome is that transmission parameters including broker configuration, message type, and processing flags are recorded in a9rt segment.
💻 Technical Criteria
Given A transmission root segment has been created
When Transmission parameters need to be logged
Then Transmission parameters including broker configuration, message type, and processing flags are recorded in A9RT segment
R-GCX016-cbl-02013 Prepare GCT1091E Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Prepare GCT1091E Transaction' is invoked, and assuming that edi message details have been logged, when kcsm transmission transaction needs to be prepared, the desired outcome is that gct1091e transaction is prepared with transmission segments, broker information, and message data.
💻 Technical Criteria
Given EDI message details have been logged
When KCSM transmission transaction needs to be prepared
Then GCT1091E transaction is prepared with transmission segments, broker information, and message data
R-GCX016-cbl-02014 Log Transaction Spawn Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Log Transaction Spawn Parameters' is invoked, and assuming that gct1091e transaction has been prepared, when transaction spawn parameters need to be logged, the desired outcome is that spawn parameters including transaction id, broker id, and message parameters are recorded in aecwrktb work table.
💻 Technical Criteria
Given GCT1091E transaction has been prepared
When Transaction spawn parameters need to be logged
Then Spawn parameters including transaction ID, broker ID, and message parameters are recorded in AECWRKTB work table
R-GCX016-cbl-02015 Execute KCSM Transaction Spawn
Action Rules
📊 Business Logic Narrative
When the process 'Execute KCSM Transaction Spawn' is invoked, and assuming that transaction spawn parameters have been logged, when kcsm transaction needs to be executed, the desired outcome is that gct1091e transaction is spawned to process kcsm transmission.
💻 Technical Criteria
Given Transaction spawn parameters have been logged
When KCSM transaction needs to be executed
Then GCT1091E transaction is spawned to process KCSM transmission
R-GCX016-cbl-02016 Transaction Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Transaction Successful?' is invoked, and assuming that kcsm transaction has been executed, when transaction completion status needs to be evaluated, the desired outcome is that transaction is successful if return code indicates normal completion without errors.
💻 Technical Criteria
Given KCSM transaction has been executed
When Transaction completion status needs to be evaluated
Then Transaction is successful if return code indicates normal completion without errors
R-GCX016-cbl-02017 Log Success Status
Process Rules
📊 Business Logic Narrative
When the process 'Log Success Status' is invoked, and assuming that kcsm transaction completed successfully, when success status needs to be logged, the desired outcome is that success status and completion timestamp are recorded in transmission records.
💻 Technical Criteria
Given KCSM transaction completed successfully
When Success status needs to be logged
Then Success status and completion timestamp are recorded in transmission records
R-GCX016-cbl-02018 Log Error Status and Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Error Status and Details' is invoked, and assuming that kcsm transaction failed to complete successfully, when error status and details need to be logged, the desired outcome is that error status, error codes, and failure details are recorded in transmission records.
💻 Technical Criteria
Given KCSM transaction failed to complete successfully
When Error status and details need to be logged
Then Error status, error codes, and failure details are recorded in transmission records
R-GCX016-cbl-02019 Update Transmission Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Transmission Status' is invoked, and assuming that transaction completion status has been logged, when transmission status needs to be updated, the desired outcome is that overall transmission status is updated to reflect success or failure in a9rt and a9dp segments.
💻 Technical Criteria
Given Transaction completion status has been logged
When Transmission status needs to be updated
Then Overall transmission status is updated to reflect success or failure in A9RT and A9DP segments
R-GCX016-cbl-02020 Log Final Transmission Status
Process Rules
📊 Business Logic Narrative
When the process 'Log Final Transmission Status' is invoked, and assuming that transmission status has been updated, when final transmission status needs to be logged, the desired outcome is that final status, completion timestamp, and summary information are recorded for audit trail.
💻 Technical Criteria
Given Transmission status has been updated
When Final transmission status needs to be logged
Then Final status, completion timestamp, and summary information are recorded for audit trail
R-GCX016-cbl-02021 Database Transaction Control - Manage IMS database transaction purging for cleanup operations
Process Rules
📊 Business Logic Narrative
When the process 'Database Transaction Control - Manage IMS database transaction purging for cleanup operations' is invoked, and assuming that the system requires database transaction control for ims database transaction purging cleanup operations, when business process 162 is referenced or called, the desired outcome is that the system indicates that no source code is available for this functionality in the provided program summary.
💻 Technical Criteria
Given The system requires database transaction control for IMS database transaction purging cleanup operations
When Business process 162 is referenced or called
Then The system indicates that no source code is available for this functionality in the provided program summary
R-GCX016-cbl-02030 More VID Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More VID Segments?' is invoked, and assuming that current vid segment has been processed (either held or skipped), when the system checks for remaining vid segments, the desired outcome is that if more vid segments exist, continue processing next segment, otherwise proceed to update train hold status.
💻 Technical Criteria
Given Current VID segment has been processed (either held or skipped)
When The system checks for remaining VID segments
Then If more VID segments exist, continue processing next segment, otherwise proceed to update train hold status
R-GCX016-cbl-02042 Train Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Found?' is invoked, and assuming that a train record lookup has been performed, when the system checks the lookup result, the desired outcome is that processing continues if train is found or error is logged if train is not found.
💻 Technical Criteria
Given A train record lookup has been performed
When The system checks the lookup result
Then Processing continues if train is found or error is logged if train is not found
R-GCX016-cbl-02052 Log Train Not Found Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Train Not Found Error' is invoked, and assuming that train record lookup fails, when the system cannot find the train in the database, the desired outcome is that train not found error is logged and processing continues with next vid segment.
💻 Technical Criteria
Given Train record lookup fails
When The system cannot find the train in the database
Then Train not found error is logged and processing continues with next VID segment
R-GCX016-cbl-02062 More VID Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More VID Segments?' is invoked, and assuming that the system has checked for additional vid segments, when the system evaluates vid segment availability, the desired outcome is that if more vid segments exist, continue processing them, otherwise proceed to update overall train seizure status.
💻 Technical Criteria
Given The system has checked for additional VID segments
When The system evaluates VID segment availability
Then If more VID segments exist, continue processing them, otherwise proceed to update overall train seizure status
R-GCX016-cbl-02078 Update Train Seizure Status in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Seizure Status in Database' is invoked, and assuming that train's overall seizure status has been determined, when the system updates the database, the desired outcome is that update the train seizure status in the database to reflect current seizure state.
💻 Technical Criteria
Given Train's overall seizure status has been determined
When The system updates the database
Then Update the train seizure status in the database to reflect current seizure state
R-GCX016-cbl-02092 Update Train Hold Status in Database
Process Rules
📊 Business Logic Narrative
When the process 'Update Train Hold Status in Database' is invoked, and assuming that the train status has been determined as held or released, when the system updates the database, the desired outcome is that the train hold status is updated in the gcwtl-train-list database and the train status database.
💻 Technical Criteria
Given The train status has been determined as HELD or RELEASED
When The system updates the database
Then The train hold status is updated in the GCWTL-TRAIN-LIST database AND the train status database
R-GCX016-cbl-02118 Check Train Existence in GCWTL-TRAIN-LIST
Validation Rules
📊 Business Logic Narrative
When the process 'Check Train Existence in GCWTL-TRAIN-LIST' is invoked, and assuming that train information has been validated from the m10 segment, when the system searches the gcwtl-train-list table using the train identifier, the desired outcome is that the system confirms whether the train exists in the master train registry.
💻 Technical Criteria
Given Train information has been validated from the M10 segment
When The system searches the GCWTL-TRAIN-LIST table using the train identifier
Then The system confirms whether the train exists in the master train registry
R-GCX016-cbl-02121 Update Train Status to Pre-arrived
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Pre-arrived' is invoked, and assuming that a train has been assigned pre-arrival status, when the system updates the train status record, the desired outcome is that the train status is changed to 'pre-arrived' in the train status records.
💻 Technical Criteria
Given A train has been assigned pre-arrival status
When The system updates the train status record
Then The train status is changed to 'Pre-arrived' in the train status records
R-GCX016-cbl-02127 Prepare for Arrival Processing
Process Rules
📊 Business Logic Narrative
When the process 'Prepare for Arrival Processing' is invoked, and assuming that a train has been successfully set to pre-arrival status and logged, when the system prepares for the next processing phase, the desired outcome is that the system sets up the train record with necessary flags and data for arrival processing.
💻 Technical Criteria
Given A train has been successfully set to pre-arrival status and logged
When The system prepares for the next processing phase
Then The system sets up the train record with necessary flags and data for arrival processing
R-GCX016-cbl-02128 Send Train Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Train Not Found Error', assuming that a train search in gcwtl-train-list returns no results, when the system processes the train not found condition, the desired outcome is that the system generates and sends an error message indicating the train was not found in the system.
💻 Technical Criteria
EXCLUDING A train search in GCWTL-TRAIN-LIST returns no results
When The system processes the train not found condition
Then The system generates and sends an error message indicating the train was not found in the system
R-GCX016-cbl-02142 Set Train Arrival Date and Time
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Arrival Date and Time' is invoked, and assuming that train status has been updated to arrived, when the system processes the arrival timestamp, the desired outcome is that set the train arrival date and time from the v9 segment or system timestamp.
💻 Technical Criteria
Given Train status has been updated to arrived
When The system processes the arrival timestamp
Then Set the train arrival date and time from the V9 segment or system timestamp
R-GCX016-cbl-02144 Remove Train Lock Status
Action Rules
📊 Business Logic Narrative
When the process 'Remove Train Lock Status' is invoked, and assuming that train arrival status has been updated and auto-unlock is configured, when the system evaluates auto-unlock requirements, the desired outcome is that remove the train lock status to allow normal operations.
💻 Technical Criteria
Given Train arrival status has been updated and auto-unlock is configured
When The system evaluates auto-unlock requirements
Then Remove the train lock status to allow normal operations
R-GCX016-cbl-02145 Generate AEI Arrival Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate AEI Arrival Notification' is invoked, and assuming that train arrival processing is complete and train lock has been removed if required, when the system prepares external notifications, the desired outcome is that generate aei arrival notification message for transmission to external systems.
💻 Technical Criteria
Given Train arrival processing is complete and train lock has been removed if required
When The system prepares external notifications
Then Generate AEI arrival notification message for transmission to external systems
R-GCX016-cbl-02150 Send Arrival Confirmation Message
Action Rules
📊 Business Logic Narrative
When the process 'Send Arrival Confirmation Message' is invoked, and assuming that train arrival transaction has been logged, when the system prepares confirmation notifications, the desired outcome is that send arrival confirmation message to appropriate stakeholders and systems.
💻 Technical Criteria
Given Train arrival transaction has been logged
When The system prepares confirmation notifications
Then Send arrival confirmation message to appropriate stakeholders and systems
R-GCX016-cbl-02159 Send Train Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Train Not Found Error', assuming that a train arrival event (pod or aad) is being processed, when the train validation fails because the train is not found in the train list database, the desired outcome is that the system generates a train not found error message and terminates aei processing for this arrival event.
💻 Technical Criteria
EXCLUDING A train arrival event (POD or AAD) is being processed
When The train validation fails because the train is not found in the train list database
Then The system generates a train not found error message and terminates AEI processing for this arrival event
R-GCX016-cbl-02162 POD - Proof of Delivery
Decision Rules
📊 Business Logic Narrative
When the process 'POD - Proof of Delivery' is invoked, and assuming that a v9 segment has disposition code 'pod', when the pod event is processed, the desired outcome is that the system initiates train arrival processing workflow.
💻 Technical Criteria
Given A V9 segment has disposition code 'POD'
When The POD event is processed
Then The system initiates train arrival processing workflow
R-GCX016-cbl-02165 Train Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Found?' is invoked, and assuming that train existence validation has been performed, when the validation result is evaluated, the desired outcome is that if train is found, proceed with arrival processing; if not found, generate error.
💻 Technical Criteria
Given Train existence validation has been performed
When The validation result is evaluated
Then If train is found, proceed with arrival processing; if not found, generate error
R-GCX016-cbl-02166 Update Train Status to Arrived
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Arrived' is invoked, and assuming that a valid train has been found in the system for arrival processing, when the train status is updated, the desired outcome is that the train status is set to 'arrived' and arrival timestamp is recorded.
💻 Technical Criteria
Given A valid train has been found in the system for arrival processing
When The train status is updated
Then The train status is set to 'Arrived' and arrival timestamp is recorded
R-GCX016-cbl-02167 Check Current Train Lock Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check Current Train Lock Status' is invoked, and assuming that a train has arrived and status has been updated to arrived, when the system checks the current lock status of the train, the desired outcome is that the system retrieves the current lock status from train records.
💻 Technical Criteria
Given A train has arrived and status has been updated to arrived
When The system checks the current lock status of the train
Then The system retrieves the current lock status from train records
R-GCX016-cbl-02168 Train Currently Locked?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Currently Locked?' is invoked, and assuming that train lock status has been retrieved, when the lock status is evaluated, the desired outcome is that if train is locked, proceed with automatic unlock; if not locked, skip unlock process.
💻 Technical Criteria
Given Train lock status has been retrieved
When The lock status is evaluated
Then If train is locked, proceed with automatic unlock; if not locked, skip unlock process
R-GCX016-cbl-02170 Update Train Lock Status to Unlocked
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Lock Status to Unlocked' is invoked, and assuming that a train has been automatically unlocked upon arrival, when the lock status is updated in the system, the desired outcome is that the train lock status is set to 'unlocked' and timestamp is recorded.
💻 Technical Criteria
Given A train has been automatically unlocked upon arrival
When The lock status is updated in the system
Then The train lock status is set to 'Unlocked' and timestamp is recorded
R-GCX016-cbl-02171 Log Train Unlock Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Train Unlock Action' is invoked, and assuming that a train has been automatically unlocked upon arrival, when the unlock action is logged, the desired outcome is that the system records the unlock event with timestamp, train id, and reason code.
💻 Technical Criteria
Given A train has been automatically unlocked upon arrival
When The unlock action is logged
Then The system records the unlock event with timestamp, train ID, and reason code
R-GCX016-cbl-02172 Send Arrival Notification
Action Rules
📊 Business Logic Narrative
When the process 'Send Arrival Notification' is invoked, and assuming that a train has successfully arrived and any required unlock processing is complete, when arrival notifications are sent, the desired outcome is that the system sends arrival messages to relevant stakeholders and systems.
💻 Technical Criteria
Given A train has successfully arrived and any required unlock processing is complete
When Arrival notifications are sent
Then The system sends arrival messages to relevant stakeholders and systems
R-GCX016-cbl-02173 Generate Train Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Found Error', assuming that a train arrival event references a train that does not exist in the system, when train validation fails, the desired outcome is that the system generates a 'train not found' error with relevant train identifier.
💻 Technical Criteria
EXCLUDING A train arrival event references a train that does not exist in the system
When Train validation fails
Then The system generates a 'Train Not Found' error with relevant train identifier
R-GCX016-cbl-02174 Send Error Notification
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Error Notification', assuming that a train not found error has been generated, when error notifications are sent, the desired outcome is that the system sends error messages to relevant stakeholders with details about the failed train lookup.
💻 Technical Criteria
EXCLUDING A train not found error has been generated
When Error notifications are sent
Then The system sends error messages to relevant stakeholders with details about the failed train lookup
R-GCX016-cbl-02177 Disposition Code Found in KCSM Table?
Decision Rules
📊 Business Logic Narrative
When the process 'Disposition Code Found in KCSM Table?' is invoked, and assuming that aecwrktb table lookup has been performed for the disposition code, when the disposition code lookup result is evaluated, the desired outcome is that if disposition code is found in kcsm table, proceed to create transmission file, otherwise skip kcsm processing.
💻 Technical Criteria
Given AECWRKTB table lookup has been performed for the disposition code
When The disposition code lookup result is evaluated
Then If disposition code is found in KCSM table, proceed to create transmission file, otherwise skip KCSM processing
R-GCX016-cbl-02178 BBFB0: Copy EDI 350 to Transmission File
Action Rules
📊 Business Logic Narrative
When the process 'BBFB0: Copy EDI 350 to Transmission File' is invoked, and assuming that disposition code is found in kcsm table and requires kcsm processing, when system initiates transmission file creation process, the desired outcome is that copy the complete edi 350 message content to the transmission file.
💻 Technical Criteria
Given Disposition code is found in KCSM table and requires KCSM processing
When System initiates transmission file creation process
Then Copy the complete EDI 350 message content to the transmission file
R-GCX016-cbl-02179 Create Transmission Root Segment A9RT
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment A9RT' is invoked, and assuming that edi 350 message has been copied to transmission file, when system creates transmission control structures, the desired outcome is that generate a9rt transmission root segment with appropriate control information.
💻 Technical Criteria
Given EDI 350 message has been copied to transmission file
When System creates transmission control structures
Then Generate A9RT transmission root segment with appropriate control information
R-GCX016-cbl-02180 Create Transmission Dependent Segment A9DP
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Dependent Segment A9DP' is invoked, and assuming that a9rt transmission root segment has been created, when system creates dependent transmission segments, the desired outcome is that generate a9dp transmission dependent segment with edi message content.
💻 Technical Criteria
Given A9RT transmission root segment has been created
When System creates dependent transmission segments
Then Generate A9DP transmission dependent segment with EDI message content
R-GCX016-cbl-02181 Set KCSM Processing Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set KCSM Processing Flag' is invoked, and assuming that transmission segments a9rt and a9dp have been successfully created, when system completes kcsm transmission file preparation, the desired outcome is that set kcsm processing flag to indicate successful kcsm integration completion.
💻 Technical Criteria
Given Transmission segments A9RT and A9DP have been successfully created
When System completes KCSM transmission file preparation
Then Set KCSM processing flag to indicate successful KCSM integration completion
R-GCX016-cbl-04145 Query AECWRKTB DB2 Table
Decision Rules
📊 Business Logic Narrative
When the process 'Query AECWRKTB DB2 Table' is invoked, and assuming that a disposition code is received from x4 segment, when the system searches aecwrktb table for the disposition code configuration, the desired outcome is that the system returns whether kcsm processing is required for this disposition code.
💻 Technical Criteria
Given A disposition code is received from X4 segment
When The system searches AECWRKTB table for the disposition code configuration
Then The system returns whether KCSM processing is required for this disposition code
R-GCX016-cbl-04146 Set KCSM Processing Flag = YES
Action Rules
📊 Business Logic Narrative
When the process 'Set KCSM Processing Flag = YES' is invoked, and assuming that a disposition code search is performed in aecwrktb table, when the disposition code is found in the aecwrktb configuration table, the desired outcome is that the kcsm processing flag is set to yes to enable special kcsm processing.
💻 Technical Criteria
Given A disposition code search is performed in AECWRKTB table
When The disposition code is found in the AECWRKTB configuration table
Then The KCSM processing flag is set to YES to enable special KCSM processing
R-GCX016-cbl-04147 Set KCSM Processing Flag = NO
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set KCSM Processing Flag = NO', assuming that a disposition code search is performed in aecwrktb table, when the disposition code is not found in the aecwrktb configuration table, the desired outcome is that the kcsm processing flag is set to no to disable kcsm processing.
💻 Technical Criteria
EXCLUDING A disposition code search is performed in AECWRKTB table
When The disposition code is not found in the AECWRKTB configuration table
Then The KCSM processing flag is set to NO to disable KCSM processing
R-GCX016-cbl-04148 Format Search Key with Disposition Code
Process Rules
📊 Business Logic Narrative
When the process 'Format Search Key with Disposition Code' is invoked, and assuming that a disposition code is received from x4 segment, when the system prepares to search aecwrktb table, the desired outcome is that the disposition code is formatted into the proper search key structure for table lookup.
💻 Technical Criteria
Given A disposition code is received from X4 segment
When The system prepares to search AECWRKTB table
Then The disposition code is formatted into the proper search key structure for table lookup
R-GCX016-cbl-04149 Check if KCSM Processing Required
Decision Rules
📊 Business Logic Narrative
When the process 'Check if KCSM Processing Required' is invoked, and assuming that an edi 350 message with a disposition code is being processed, when the system checks the aecwrktb kcsm configuration table for the disposition code, the desired outcome is that the system determines if kcsm processing is required based on the configuration entry.
💻 Technical Criteria
Given An EDI 350 message with a disposition code is being processed
When The system checks the AECWRKTB KCSM configuration table for the disposition code
Then The system determines if KCSM processing is required based on the configuration entry
R-GCX016-cbl-04150 Disposition Code Configured for KCSM?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Configured for KCSM?' is invoked, and assuming that a disposition code from the edi 350 message, when the system looks up the disposition code in the kcsm configuration table, the desired outcome is that if the disposition code is found and marked for kcsm processing, proceed with edi message copy creation, otherwise skip kcsm processing.
💻 Technical Criteria
Given A disposition code from the EDI 350 message
When The system looks up the disposition code in the KCSM configuration table
Then If the disposition code is found and marked for KCSM processing, proceed with EDI message copy creation, otherwise skip KCSM processing
R-GCX016-cbl-04153 Process ST Transaction Set Header
Process Rules
📊 Business Logic Narrative
When the process 'Process ST Transaction Set Header' is invoked, and assuming that an edi 350 message with st transaction set header segment, when the system processes the message for kcsm transmission, the desired outcome is that the st segment is copied to the transmission file with proper formatting and sequence control.
💻 Technical Criteria
Given An EDI 350 message with ST transaction set header segment
When The system processes the message for KCSM transmission
Then The ST segment is copied to the transmission file with proper formatting and sequence control
R-GCX016-cbl-04154 Copy M10 Manifest Information Segment
Process Rules
📊 Business Logic Narrative
When the process 'Copy M10 Manifest Information Segment' is invoked, and assuming that an edi 350 message with m10 manifest information segment, when the system creates kcsm transmission copy, the desired outcome is that the m10 segment with all manifest information is copied to the transmission file.
💻 Technical Criteria
Given An EDI 350 message with M10 manifest information segment
When The system creates KCSM transmission copy
Then The M10 segment with all manifest information is copied to the transmission file
R-GCX016-cbl-04156 Copy V9 Event Detail Segment
Process Rules
📊 Business Logic Narrative
When the process 'Copy V9 Event Detail Segment' is invoked, and assuming that an edi 350 message with v9 event detail segment, when the system creates kcsm transmission copy, the desired outcome is that the v9 segment with all event detail information is copied to the transmission file.
💻 Technical Criteria
Given An EDI 350 message with V9 event detail segment
When The system creates KCSM transmission copy
Then The V9 segment with all event detail information is copied to the transmission file
R-GCX016-cbl-04159 Copy K1 Remarks Segments
Process Rules
📊 Business Logic Narrative
When the process 'Copy K1 Remarks Segments' is invoked, and assuming that an edi 350 message with k1 remarks segments, when the system creates kcsm transmission copy, the desired outcome is that all k1 remarks segments with their associated information are copied to the transmission file.
💻 Technical Criteria
Given An EDI 350 message with K1 remarks segments
When The system creates KCSM transmission copy
Then All K1 remarks segments with their associated information are copied to the transmission file
R-GCX016-cbl-04163 Format Message for KCSM Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Format Message for KCSM Transmission' is invoked, and assuming that all edi message segments have been copied for kcsm transmission, when the system formats the message for kcsm transmission, the desired outcome is that the message is formatted according to kcsm specifications with proper delimiters, segment terminators, and transmission structure.
💻 Technical Criteria
Given All EDI message segments have been copied for KCSM transmission
When The system formats the message for KCSM transmission
Then The message is formatted according to KCSM specifications with proper delimiters, segment terminators, and transmission structure
R-GCX016-cbl-04165 Create Transmission Dependent Segments
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Dependent Segments' is invoked, and assuming that a transmission root segment and formatted edi message data, when the system creates transmission dependent segments, the desired outcome is that transmission dependent segments (a9dp) are created containing the edi message data with proper linkage to the root segment.
💻 Technical Criteria
Given A transmission root segment and formatted EDI message data
When The system creates transmission dependent segments
Then Transmission dependent segments (A9DP) are created containing the EDI message data with proper linkage to the root segment
R-GCX016-cbl-04166 Store EDI Copy in Transmission File
Action Rules
📊 Business Logic Narrative
When the process 'Store EDI Copy in Transmission File' is invoked, and assuming that complete transmission root and dependent segments for kcsm message, when the system stores the edi copy in the transmission file, the desired outcome is that the edi message copy is stored in the transmission file with proper indexing and control information for kcsm retrieval.
💻 Technical Criteria
Given Complete transmission root and dependent segments for KCSM message
When The system stores the EDI copy in the transmission file
Then The EDI message copy is stored in the transmission file with proper indexing and control information for KCSM retrieval
R-GCX016-cbl-04167 Mark Message Ready for KCSM Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Mark Message Ready for KCSM Transmission' is invoked, and assuming that an edi message copy stored in the transmission file, when the system completes the kcsm copy creation process, the desired outcome is that the message is marked with appropriate status indicators showing it is ready for kcsm transmission.
💻 Technical Criteria
Given An EDI message copy stored in the transmission file
When The system completes the KCSM copy creation process
Then The message is marked with appropriate status indicators showing it is ready for KCSM transmission
R-GCX016-cbl-04168 Skip KCSM Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip KCSM Processing', assuming that an edi 350 message with a disposition code not configured for kcsm processing, when the system checks kcsm configuration requirements, the desired outcome is that kcsm processing is skipped and the system continues with normal message processing without creating transmission copies.
💻 Technical Criteria
EXCLUDING An EDI 350 message with a disposition code not configured for KCSM processing
When The system checks KCSM configuration requirements
Then KCSM processing is skipped and the system continues with normal message processing without creating transmission copies
R-GCX016-cbl-02182 Check Disposition Code for KCSM Processing
Validation Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code for KCSM Processing' is invoked, and assuming that an edi 350 message with a disposition code is received for processing, when the system checks if the disposition code requires kcsm transmission, the desired outcome is that the system validates the disposition code against the kcsm configuration table to determine processing requirements.
💻 Technical Criteria
Given An EDI 350 message with a disposition code is received for processing
When The system checks if the disposition code requires KCSM transmission
Then The system validates the disposition code against the KCSM configuration table to determine processing requirements
R-GCX016-cbl-02183 Validate Disposition Code in KCSM Table
Decision Rules
📊 Business Logic Narrative
When the process 'Validate Disposition Code in KCSM Table' is invoked, and assuming that a disposition code needs to be validated for kcsm processing, when the system performs a lookup in the aecwrktb kcsm configuration table, the desired outcome is that the system determines if the disposition code is configured for kcsm transmission.
💻 Technical Criteria
Given A disposition code needs to be validated for KCSM processing
When The system performs a lookup in the AECWRKTB KCSM configuration table
Then The system determines if the disposition code is configured for KCSM transmission
R-GCX016-cbl-02184 Code Configured for KCSM?
Decision Rules
📊 Business Logic Narrative
When the process 'Code Configured for KCSM?' is invoked, and assuming that the disposition code has been validated against the kcsm configuration table, when the system evaluates if the code is configured for kcsm processing, the desired outcome is that if configured, proceed with kcsm message copying; if not configured, skip kcsm processing.
💻 Technical Criteria
Given The disposition code has been validated against the KCSM configuration table
When The system evaluates if the code is configured for KCSM processing
Then If configured, proceed with KCSM message copying; if not configured, skip KCSM processing
R-GCX016-cbl-02185 Skip KCSM Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip KCSM Processing', assuming that the disposition code is not configured for kcsm processing in the configuration table, when the system determines kcsm processing is not required, the desired outcome is that the system skips all kcsm message copying activities and continues with normal processing.
💻 Technical Criteria
EXCLUDING The disposition code is not configured for KCSM processing in the configuration table
When The system determines KCSM processing is not required
Then The system skips all KCSM message copying activities and continues with normal processing
R-GCX016-cbl-02186 Initialize EDI Message Copy Process
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EDI Message Copy Process' is invoked, and assuming that the disposition code is configured for kcsm processing, when the system begins the kcsm message copying process, the desired outcome is that the system initializes all necessary structures and variables for edi message duplication.
💻 Technical Criteria
Given The disposition code is configured for KCSM processing
When The system begins the KCSM message copying process
Then The system initializes all necessary structures and variables for EDI message duplication
R-GCX016-cbl-02187 Copy Original EDI 350 Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Copy Original EDI 350 Message Structure' is invoked, and assuming that the kcsm message copy process has been initialized, when the system begins copying the original edi 350 message, the desired outcome is that the system creates an exact structural copy of the original message for kcsm processing.
💻 Technical Criteria
Given The KCSM message copy process has been initialized
When The system begins copying the original EDI 350 message
Then The system creates an exact structural copy of the original message for KCSM processing
R-GCX016-cbl-02188 Create Transmission Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment' is invoked, and assuming that the edi message structure has been copied, when the system creates the transmission control structure, the desired outcome is that the system generates a transmission root segment using a9rt data for kcsm message identification and control.
💻 Technical Criteria
Given The EDI message structure has been copied
When The system creates the transmission control structure
Then The system generates a transmission root segment using A9RT data for KCSM message identification and control
R-GCX016-cbl-02189 Create Transmission Dependent Segments
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Dependent Segments' is invoked, and assuming that the transmission root segment has been created, when the system creates dependent transmission segments, the desired outcome is that the system generates transmission dependent segments using a9dp data for proper kcsm message structure.
💻 Technical Criteria
Given The transmission root segment has been created
When The system creates dependent transmission segments
Then The system generates transmission dependent segments using A9DP data for proper KCSM message structure
R-GCX016-cbl-02190 Copy ST Transaction Header
Process Rules
📊 Business Logic Narrative
When the process 'Copy ST Transaction Header' is invoked, and assuming that the transmission segments have been created, when the system copies edi transaction segments, the desired outcome is that the system copies the st transaction header segment maintaining all original data for kcsm transmission.
💻 Technical Criteria
Given The transmission segments have been created
When The system copies EDI transaction segments
Then The system copies the ST transaction header segment maintaining all original data for KCSM transmission
R-GCX016-cbl-02191 Copy M10 Manifest Information
Process Rules
📊 Business Logic Narrative
When the process 'Copy M10 Manifest Information' is invoked, and assuming that the st transaction header has been copied, when the system copies manifest data segments, the desired outcome is that the system copies the m10 manifest information segment preserving all manifest details for kcsm transmission.
💻 Technical Criteria
Given The ST transaction header has been copied
When The system copies manifest data segments
Then The system copies the M10 manifest information segment preserving all manifest details for KCSM transmission
R-GCX016-cbl-02198 Format Message for KCSM Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Format Message for KCSM Transmission' is invoked, and assuming that all edi segments have been copied to the kcsm message structure, when the system formats the message for kcsm transmission, the desired outcome is that the system applies kcsm-specific formatting rules and transmission standards to the copied message.
💻 Technical Criteria
Given All EDI segments have been copied to the KCSM message structure
When The system formats the message for KCSM transmission
Then The system applies KCSM-specific formatting rules and transmission standards to the copied message
R-GCX016-cbl-02199 Queue Message for KCSM System
Action Rules
📊 Business Logic Narrative
When the process 'Queue Message for KCSM System' is invoked, and assuming that the edi message has been formatted for kcsm transmission, when the system queues the message for kcsm delivery, the desired outcome is that the system places the formatted message in the kcsm transmission queue for delivery to the kcsm system.
💻 Technical Criteria
Given The EDI message has been formatted for KCSM transmission
When The system queues the message for KCSM delivery
Then The system places the formatted message in the KCSM transmission queue for delivery to the KCSM system
R-GCX016-cbl-02200 Log KCSM Transmission Details
Process Rules
📊 Business Logic Narrative
When the process 'Log KCSM Transmission Details' is invoked, and assuming that the message has been queued for kcsm transmission, when the system logs the transmission activity, the desired outcome is that the system records kcsm transmission details including message identification, timestamp, and disposition code for audit tracking.
💻 Technical Criteria
Given The message has been queued for KCSM transmission
When The system logs the transmission activity
Then The system records KCSM transmission details including message identification, timestamp, and disposition code for audit tracking
R-GCX016-cbl-02201 Complete KCSM Message Copy
Process Rules
📊 Business Logic Narrative
When the process 'Complete KCSM Message Copy' is invoked, and assuming that the kcsm transmission has been logged, when the system completes the kcsm message copying process, the desired outcome is that the system finalizes all kcsm processing activities and returns control to the main edi 350 message processing workflow.
💻 Technical Criteria
Given The KCSM transmission has been logged
When The system completes the KCSM message copying process
Then The system finalizes all KCSM processing activities and returns control to the main EDI 350 message processing workflow
R-GCX016-cbl-02207 Retrieve Disposition Code from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Disposition Code from DC Table' is invoked, and assuming that a disposition code needs to be processed, when the system looks up the disposition code in the dc table, the desired outcome is that the system retrieves disposition code details including kcsm processing requirements and merlin message configuration.
💻 Technical Criteria
Given A disposition code needs to be processed
When The system looks up the disposition code in the DC table
Then The system retrieves disposition code details including KCSM processing requirements and Merlin message configuration
R-GCX016-cbl-02210 Create Transmission Root Segment A9RT
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment A9RT' is invoked, and assuming that kcsm processing is required for the disposition code, when the system creates the transmission file structure, the desired outcome is that the system creates an a9rt root segment with transmission control information and unique identifiers.
💻 Technical Criteria
Given KCSM processing is required for the disposition code
When The system creates the transmission file structure
Then The system creates an A9RT root segment with transmission control information and unique identifiers
R-GCX016-cbl-02212 Initialize Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Transmission Parameters' is invoked, and assuming that transmission control information has been established, when the system initializes transmission parameters, the desired outcome is that the system sets up edi message parameters, transmission dates, and processing configuration for kcsm integration.
💻 Technical Criteria
Given Transmission control information has been established
When The system initializes transmission parameters
Then The system sets up EDI message parameters, transmission dates, and processing configuration for KCSM integration
R-GCX016-cbl-02213 Copy EDI 350 Message Segments
Process Rules
📊 Business Logic Narrative
When the process 'Copy EDI 350 Message Segments' is invoked, and assuming that transmission parameters have been initialized, when the system processes the original edi 350 message, the desired outcome is that the system copies relevant message segments including x4, n7, and other required segments to the kcsm transmission structure.
💻 Technical Criteria
Given Transmission parameters have been initialized
When The system processes the original EDI 350 message
Then The system copies relevant message segments including X4, N7, and other required segments to the KCSM transmission structure
R-GCX016-cbl-02214 Create Transmission Dependent Segment A9DP
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Dependent Segment A9DP' is invoked, and assuming that edi 350 message segments have been copied, when the system creates transmission dependent segments, the desired outcome is that the system creates a9dp segments containing the copied edi segment data with proper sequencing and linkage to the root segment.
💻 Technical Criteria
Given EDI 350 message segments have been copied
When The system creates transmission dependent segments
Then The system creates A9DP segments containing the copied EDI segment data with proper sequencing and linkage to the root segment
R-GCX016-cbl-02216 Set Transmission File Properties
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission File Properties' is invoked, and assuming that edi segment data has been stored in transmission segments, when the system sets transmission file properties, the desired outcome is that the system configures file status, creation timestamps, processing indicators, and other metadata required for kcsm integration.
💻 Technical Criteria
Given EDI segment data has been stored in transmission segments
When The system sets transmission file properties
Then The system configures file status, creation timestamps, processing indicators, and other metadata required for KCSM integration
R-GCX016-cbl-02217 Write Transmission Segments to Database
Action Rules
📊 Business Logic Narrative
When the process 'Write Transmission Segments to Database' is invoked, and assuming that transmission file properties have been configured, when the system writes transmission segments to the database, the desired outcome is that the system stores the a9rt root segment and all a9dp dependent segments to the database with proper relationships and indexing.
💻 Technical Criteria
Given Transmission file properties have been configured
When The system writes transmission segments to the database
Then The system stores the A9RT root segment and all A9DP dependent segments to the database with proper relationships and indexing
R-GCX016-cbl-02218 Prepare KCSM Integration Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare KCSM Integration Message' is invoked, and assuming that transmission segments have been written to the database, when the system prepares kcsm integration message, the desired outcome is that the system creates notification message containing transmission file identifiers and processing instructions for kcsm system.
💻 Technical Criteria
Given Transmission segments have been written to the database
When The system prepares KCSM integration message
Then The system creates notification message containing transmission file identifiers and processing instructions for KCSM system
R-GCX016-cbl-02219 Queue Message for KCSM System
Action Rules
📊 Business Logic Narrative
When the process 'Queue Message for KCSM System' is invoked, and assuming that kcsm integration message has been prepared, when the system queues the message for kcsm system, the desired outcome is that the system places the message in the appropriate queue for kcsm system processing with proper priority and routing.
💻 Technical Criteria
Given KCSM integration message has been prepared
When The system queues the message for KCSM system
Then The system places the message in the appropriate queue for KCSM system processing with proper priority and routing
R-GCX016-cbl-02220 Log Transmission Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Details' is invoked, and assuming that message has been queued for kcsm system, when the system logs transmission details, the desired outcome is that the system records transmission file creation details including timestamps, segment counts, and processing status for audit trail.
💻 Technical Criteria
Given Message has been queued for KCSM system
When The system logs transmission details
Then The system records transmission file creation details including timestamps, segment counts, and processing status for audit trail
R-GCX016-cbl-02222 Train Context Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Context Available?' is invoked, and assuming that a k1 segment is received for train operations, when the system checks for available train context, the desired outcome is that processing continues if train context exists, otherwise an error is logged.
💻 Technical Criteria
Given A K1 segment is received for train operations
When The system checks for available train context
Then Processing continues if train context exists, otherwise an error is logged
R-GCX016-cbl-02226 Associate Comment with Train ID
Process Rules
📊 Business Logic Narrative
When the process 'Associate Comment with Train ID' is invoked, and assuming that a valid k1 comment has been validated, when the system processes the comment for train operations, the desired outcome is that the comment is associated with the current train id.
💻 Technical Criteria
Given A valid K1 comment has been validated
When The system processes the comment for train operations
Then The comment is associated with the current train ID
R-GCX016-cbl-02227 Log K1 Remark with Train Information
Process Rules
📊 Business Logic Narrative
When the process 'Log K1 Remark with Train Information' is invoked, and assuming that k1 comment has been associated with train id, when the system logs the remark, the desired outcome is that the k1 remark is logged with complete train information.
💻 Technical Criteria
Given K1 comment has been associated with train ID
When The system logs the remark
Then The K1 remark is logged with complete train information
R-GCX016-cbl-02228 Store Train-level Comment in System
Action Rules
📊 Business Logic Narrative
When the process 'Store Train-level Comment in System' is invoked, and assuming that k1 remark has been logged with train information, when the system stores the comment, the desired outcome is that the comment is stored as a train-level remark in the system.
💻 Technical Criteria
Given K1 remark has been logged with train information
When The system stores the comment
Then The comment is stored as a train-level remark in the system
R-GCX016-cbl-02230 Skip Invalid K1 Segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Invalid K1 Segment', assuming that a k1 comment has failed validation checks, when the system determines the comment is invalid, the desired outcome is that the invalid k1 segment is skipped and processing continues.
💻 Technical Criteria
EXCLUDING A K1 comment has failed validation checks
When The system determines the comment is invalid
Then The invalid K1 segment is skipped and processing continues
R-GCX016-cbl-02231 Log Error - No Train Context
Process Rules
📊 Business Logic Narrative
When the process 'Log Error - No Train Context' is invoked, and assuming that a k1 segment is received for train operations, when no train context is available, the desired outcome is that an error is logged indicating missing train context.
💻 Technical Criteria
Given A K1 segment is received for train operations
When No train context is available
Then An error is logged indicating missing train context
R-GCX016-cbl-02233 K1 Format Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'K1 Format Valid?' is invoked, and assuming that a k1 remarks segment associated with an x4 segment, when the system validates the k1 segment format and structure, the desired outcome is that the k1 segment is accepted for comment extraction if format is valid, otherwise it is rejected with invalid format error.
💻 Technical Criteria
Given A K1 remarks segment associated with an X4 segment
When The system validates the K1 segment format and structure
Then The K1 segment is accepted for comment extraction if format is valid, otherwise it is rejected with invalid format error
R-GCX016-cbl-02241 Log K1 Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'Log K1 Processing Complete' is invoked, and assuming that k1 segment processing has completed (successfully or with errors), when the system logs the completion of k1 processing, the desired outcome is that a log entry is created indicating the completion status of k1 remarks processing.
💻 Technical Criteria
Given K1 segment processing has completed (successfully or with errors)
When The system logs the completion of K1 processing
Then A log entry is created indicating the completion status of K1 remarks processing
R-GCX016-cbl-02246 Log KCSM Validation Result
Process Rules
📊 Business Logic Narrative
When the process 'Log KCSM Validation Result' is invoked, and assuming that the kcsm validation process has completed either with kcsm integration enabled or standard processing continuation, when the system completes the kcsm validation workflow, the desired outcome is that the system logs the kcsm validation result indicating whether kcsm integration was enabled or standard processing was selected.
💻 Technical Criteria
Given The KCSM validation process has completed either with KCSM integration enabled or standard processing continuation
When The system completes the KCSM validation workflow
Then The system logs the KCSM validation result indicating whether KCSM integration was enabled or standard processing was selected
R-GCX016-cbl-02247 Check Disposition Code in AECWRKTB Table
Validation Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code in AECWRKTB Table' is invoked, and assuming that an x4 segment with a disposition code is received, when the system checks the disposition code configuration in aecwrktb table, the desired outcome is that the system determines if the disposition code is configured for kcsm transmission.
💻 Technical Criteria
Given An X4 segment with a disposition code is received
When The system checks the disposition code configuration in AECWRKTB table
Then The system determines if the disposition code is configured for KCSM transmission
R-GCX016-cbl-02250 Create Transmission Root Segment A9RT
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment A9RT' is invoked, and assuming that edi 350 message data has been copied to transmission file, when the system creates transmission control structures, the desired outcome is that an a9rt transmission root segment is created with appropriate control information.
💻 Technical Criteria
Given EDI 350 message data has been copied to transmission file
When The system creates transmission control structures
Then An A9RT transmission root segment is created with appropriate control information
R-GCX016-cbl-02251 Set Transmission Control Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Control Information' is invoked, and assuming that a9rt transmission root segment has been created, when the system configures transmission parameters, the desired outcome is that transmission control information including identifiers and parameters are set.
💻 Technical Criteria
Given A9RT transmission root segment has been created
When The system configures transmission parameters
Then Transmission control information including identifiers and parameters are set
R-GCX016-cbl-02252 Create Transmission Dependent Segment A9DP
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Dependent Segment A9DP' is invoked, and assuming that transmission control information has been set, when the system creates dependent data structures, the desired outcome is that an a9dp transmission dependent segment is created to contain edi segment data.
💻 Technical Criteria
Given Transmission control information has been set
When The system creates dependent data structures
Then An A9DP transmission dependent segment is created to contain EDI segment data
R-GCX016-cbl-02253 Copy EDI Segment Data to A9DP
Process Rules
📊 Business Logic Narrative
When the process 'Copy EDI Segment Data to A9DP' is invoked, and assuming that a9dp transmission dependent segment has been created, when the system populates the segment with message data, the desired outcome is that edi segment data is copied into the a9dp segment for transmission.
💻 Technical Criteria
Given A9DP transmission dependent segment has been created
When The system populates the segment with message data
Then EDI segment data is copied into the A9DP segment for transmission
R-GCX016-cbl-02254 Lookup KCSM Broker Information
Action Rules
📊 Business Logic Narrative
When the process 'Lookup KCSM Broker Information' is invoked, and assuming that edi segment data has been copied to a9dp segment, when the system requires broker information for transmission, the desired outcome is that kcsm broker information is retrieved from gcstbrt broker tables.
💻 Technical Criteria
Given EDI segment data has been copied to A9DP segment
When The system requires broker information for transmission
Then KCSM broker information is retrieved from GCSTBRT broker tables
R-GCX016-cbl-02255 Set Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Parameters' is invoked, and assuming that kcsm broker information has been retrieved, when the system configures transmission settings, the desired outcome is that transmission parameters are set according to kcsm processing requirements.
💻 Technical Criteria
Given KCSM broker information has been retrieved
When The system configures transmission settings
Then Transmission parameters are set according to KCSM processing requirements
R-GCX016-cbl-02256 Spawn GCT1091E Transaction for KCSM
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1091E Transaction for KCSM' is invoked, and assuming that transmission parameters have been configured, when the system initiates kcsm processing transaction, the desired outcome is that gct1091e transaction is spawned for kcsm message transmission.
💻 Technical Criteria
Given Transmission parameters have been configured
When The system initiates KCSM processing transaction
Then GCT1091E transaction is spawned for KCSM message transmission
R-GCX016-cbl-02257 Queue Message for KCSM Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Queue Message for KCSM Transmission' is invoked, and assuming that gct1091e transaction has been spawned, when the system queues the message for transmission, the desired outcome is that the message is queued for kcsm transmission processing.
💻 Technical Criteria
Given GCT1091E transaction has been spawned
When The system queues the message for transmission
Then The message is queued for KCSM transmission processing
R-GCX016-cbl-02258 Log Transmission Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Details' is invoked, and assuming that message has been queued for kcsm transmission, when the system completes transmission setup, the desired outcome is that transmission details are logged for audit and tracking purposes.
💻 Technical Criteria
Given Message has been queued for KCSM transmission
When The system completes transmission setup
Then Transmission details are logged for audit and tracking purposes
R-GCX016-cbl-02260 Set KCSM System Identifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Set KCSM System Identifier' is invoked, and assuming that transmission parameters are initialized, when the system sets the kcsm system identifier, the desired outcome is that the transmission is tagged with the correct kcsm system identifier for message processing.
💻 Technical Criteria
Given Transmission parameters are initialized
When The system sets the KCSM system identifier
Then The transmission is tagged with the correct KCSM system identifier for message processing
R-GCX016-cbl-02261 Generate Transmission Control Number
Computation Rules
📊 Business Logic Narrative
When the process 'Generate Transmission Control Number' is invoked, and assuming that kcsm system identifier is set, when the system generates a transmission control number, the desired outcome is that a unique transmission control number is created and assigned to the transmission.
💻 Technical Criteria
Given KCSM system identifier is set
When The system generates a transmission control number
Then A unique transmission control number is created and assigned to the transmission
R-GCX016-cbl-02262 Create A9RT Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create A9RT Root Segment' is invoked, and assuming that transmission control number is generated, when the system creates the a9rt root segment, the desired outcome is that a properly formatted a9rt root segment is created with all required fields.
💻 Technical Criteria
Given Transmission control number is generated
When The system creates the A9RT root segment
Then A properly formatted A9RT root segment is created with all required fields
R-GCX016-cbl-02263 Set Transmission Date/Time
Computation Rules
📊 Business Logic Narrative
When the process 'Set Transmission Date/Time' is invoked, and assuming that a9rt root segment is created, when the system sets transmission date and time, the desired outcome is that current system date and time are recorded in the transmission segment.
💻 Technical Criteria
Given A9RT root segment is created
When The system sets transmission date and time
Then Current system date and time are recorded in the transmission segment
R-GCX016-cbl-02264 Set Source System Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Source System Information' is invoked, and assuming that transmission date and time are set, when the system configures source system information, the desired outcome is that source system identifier and related information are properly set in the transmission segment.
💻 Technical Criteria
Given Transmission date and time are set
When The system configures source system information
Then Source system identifier and related information are properly set in the transmission segment
R-GCX016-cbl-02267 Validate Transmission Parameters
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Transmission Parameters' is invoked, and assuming that message type and version are set, when the system validates transmission parameters, the desired outcome is that all required transmission parameters are verified for completeness and correctness.
💻 Technical Criteria
Given Message type and version are set
When The system validates transmission parameters
Then All required transmission parameters are verified for completeness and correctness
R-GCX016-cbl-02268 Store Root Segment to Database
Action Rules
📊 Business Logic Narrative
When the process 'Store Root Segment to Database' is invoked, and assuming that transmission parameters validation is successful, when the system stores the root segment to database, the desired outcome is that the a9rt transmission segment is successfully stored in the aecwrktb database table.
💻 Technical Criteria
Given Transmission parameters validation is successful
When The system stores the root segment to database
Then The A9RT transmission segment is successfully stored in the AECWRKTB database table
R-GCX016-cbl-02269 Log Transmission Creation
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Creation' is invoked, and assuming that root segment is stored to database successfully, when the system logs transmission creation, the desired outcome is that transmission creation event is recorded in system logs with relevant details.
💻 Technical Criteria
Given Root segment is stored to database successfully
When The system logs transmission creation
Then Transmission creation event is recorded in system logs with relevant details
R-GCX016-cbl-02270 Return Success Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Success Status' is invoked, and assuming that transmission creation is logged successfully, when the system completes the transmission creation process, the desired outcome is that success status is returned to the calling process.
💻 Technical Criteria
Given Transmission creation is logged successfully
When The system completes the transmission creation process
Then Success status is returned to the calling process
R-GCX016-cbl-02271 Log Validation Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Validation Error' is invoked, and assuming that transmission parameters validation fails, when the system encounters validation errors, the desired outcome is that validation error details are logged for troubleshooting and audit purposes.
💻 Technical Criteria
Given Transmission parameters validation fails
When The system encounters validation errors
Then Validation error details are logged for troubleshooting and audit purposes
R-GCX016-cbl-02272 Return Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Error Status' is invoked, and assuming that validation errors are logged, when the system cannot create valid transmission root segment, the desired outcome is that error status is returned to the calling process indicating transmission creation failure.
💻 Technical Criteria
Given Validation errors are logged
When The system cannot create valid transmission root segment
Then Error status is returned to the calling process indicating transmission creation failure
R-GCX016-cbl-02273 Retrieve EDI 350 Message Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve EDI 350 Message Data' is invoked, and assuming that a message queue contains edi 350 messages for processing, when the system initiates kcsm transmission dependent segment creation, the desired outcome is that the system retrieves edi 350 message data from the message queue and loads it into the message array for processing.
💻 Technical Criteria
Given A message queue contains EDI 350 messages for processing
When The system initiates KCSM transmission dependent segment creation
Then The system retrieves EDI 350 message data from the message queue and loads it into the message array for processing
R-GCX016-cbl-02275 Extract Transaction Set Header ST
Process Rules
📊 Business Logic Narrative
When the process 'Extract Transaction Set Header ST' is invoked, and assuming that edi 350 message contains st segment data, when the system processes message segments sequentially, the desired outcome is that the system extracts st segment information and sets header found flag for subsequent processing.
💻 Technical Criteria
Given EDI 350 message contains ST segment data
When The system processes message segments sequentially
Then The system extracts ST segment information and sets header found flag for subsequent processing
R-GCX016-cbl-02276 Extract Manifest Information M10
Validation Rules
📊 Business Logic Narrative
When the process 'Extract Manifest Information M10' is invoked, and assuming that edi 350 message contains m10 segment with manifest information, when the system encounters m10 segment during processing, the desired outcome is that the system extracts manifest information, validates train name, and performs train lookup if vessel name does not start with 'train'.
💻 Technical Criteria
Given EDI 350 message contains M10 segment with manifest information
When The system encounters M10 segment during processing
Then The system extracts manifest information, validates train name, and performs train lookup if vessel name does not start with 'TRAIN'
R-GCX016-cbl-02281 Extract Remarks K1
Process Rules
📊 Business Logic Narrative
When the process 'Extract Remarks K1' is invoked, and assuming that edi 350 message contains k1 segment with remarks, when the system encounters k1 segment during processing, the desired outcome is that the system extracts remarks information, processes broker data, and includes remarks in merlin messages when applicable.
💻 Technical Criteria
Given EDI 350 message contains K1 segment with remarks
When The system encounters K1 segment during processing
Then The system extracts remarks information, processes broker data, and includes remarks in Merlin messages when applicable
R-GCX016-cbl-02282 Format Dependent Segment Data
Process Rules
📊 Business Logic Narrative
When the process 'Format Dependent Segment Data' is invoked, and assuming that edi segment data has been extracted from all applicable segments, when the system prepares to create dependent segments, the desired outcome is that the system formats the extracted data according to a9dp dependent segment specifications and ensures proper data structure.
💻 Technical Criteria
Given EDI segment data has been extracted from all applicable segments
When The system prepares to create dependent segments
Then The system formats the extracted data according to A9DP dependent segment specifications and ensures proper data structure
R-GCX016-cbl-02284 Create A9DP Dependent Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create A9DP Dependent Segment' is invoked, and assuming that segment length and type have been configured, when the system finalizes dependent segment creation, the desired outcome is that the system creates the a9dp dependent segment structure with all formatted edi data and proper segment identifiers.
💻 Technical Criteria
Given Segment length and type have been configured
When The system finalizes dependent segment creation
Then The system creates the A9DP dependent segment structure with all formatted EDI data and proper segment identifiers
R-GCX016-cbl-02285 Link to Transmission Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Link to Transmission Root Segment' is invoked, and assuming that a9dp dependent segment has been created, when the system establishes segment relationships, the desired outcome is that the system links the dependent segment to the corresponding a9rt transmission root segment to maintain proper hierarchical structure.
💻 Technical Criteria
Given A9DP dependent segment has been created
When The system establishes segment relationships
Then The system links the dependent segment to the corresponding A9RT transmission root segment to maintain proper hierarchical structure
R-GCX016-cbl-02286 Store Dependent Segment in Database
Action Rules
📊 Business Logic Narrative
When the process 'Store Dependent Segment in Database' is invoked, and assuming that dependent segment has been linked to transmission root segment, when the system persists segment data, the desired outcome is that the system stores the a9dp dependent segment in the database with proper key relationships and data integrity.
💻 Technical Criteria
Given Dependent segment has been linked to transmission root segment
When The system persists segment data
Then The system stores the A9DP dependent segment in the database with proper key relationships and data integrity
R-GCX016-cbl-02287 More EDI Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More EDI Segments?' is invoked, and assuming that one edi segment has been processed and stored, when the system checks for additional segments in the message array, the desired outcome is that if more edi segments exist, the system continues processing from segment extraction; otherwise, it proceeds to validation.
💻 Technical Criteria
Given One EDI segment has been processed and stored
When The system checks for additional segments in the message array
Then If more EDI segments exist, the system continues processing from segment extraction; otherwise, it proceeds to validation
R-GCX016-cbl-02288 Validate Segment Creation
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Segment Creation' is invoked, and assuming that all edi segments have been processed and stored, when the system performs final validation, the desired outcome is that the system verifies that all required dependent segments have been created with proper data integrity and linkages.
💻 Technical Criteria
Given All EDI segments have been processed and stored
When The system performs final validation
Then The system verifies that all required dependent segments have been created with proper data integrity and linkages
R-GCX016-cbl-02289 Update Transmission Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Transmission Status' is invoked, and assuming that dependent segment creation has been validated successfully, when the system finalizes the transmission process, the desired outcome is that the system updates the transmission status to indicate successful completion of dependent segment creation for kcsm transmission.
💻 Technical Criteria
Given Dependent segment creation has been validated successfully
When The system finalizes the transmission process
Then The system updates the transmission status to indicate successful completion of dependent segment creation for KCSM transmission
R-GCX016-cbl-02302 Skip KCSM Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip KCSM Processing', assuming that kcsm processing requirement check has been completed, when kcsm processing is determined as not required, the desired outcome is that system skips kcsm processing and proceeds to completion.
💻 Technical Criteria
EXCLUDING KCSM processing requirement check has been completed
When KCSM processing is determined as not required
Then System skips KCSM processing and proceeds to completion
R-GCX016-cbl-02385 Manifest Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Manifest Type Check' is invoked, and assuming that a manifest is detected for special processing, when the system evaluates the manifest type, the desired outcome is that the system identifies the manifest as either a detour manifest requiring lead manifest identification or a special manifest requiring direct special processing.
💻 Technical Criteria
Given A manifest is detected for special processing
When The system evaluates the manifest type
Then The system identifies the manifest as either a detour manifest requiring lead manifest identification OR a special manifest requiring direct special processing
R-GCX016-cbl-02440 Extract FDA Reference Number
Action Rules
📊 Business Logic Narrative
When the process 'Extract FDA Reference Number' is invoked, and assuming that an n9 segment has been identified as containing fda reference information, when the system processes the n9 reference number field, the desired outcome is that the fda reference number is extracted and prepared for validation.
💻 Technical Criteria
Given An N9 segment has been identified as containing FDA reference information
When The system processes the N9 reference number field
Then The FDA reference number is extracted and prepared for validation
R-GCX016-cbl-02445 Process FDA Compliance Requirements
Policy Rules
📊 Business Logic Narrative
When the process 'Process FDA Compliance Requirements' is invoked, and assuming that a1 or a3 disposition codes are present with fda reference information, when the system processes fda compliance requirements, the desired outcome is that special fda compliance processing is initiated including notifications and status updates.
💻 Technical Criteria
Given A1 or A3 disposition codes are present with FDA reference information
When The system processes FDA compliance requirements
Then Special FDA compliance processing is initiated including notifications and status updates
R-GCX016-cbl-02448 Log FDA Reference Processing
Action Rules
📊 Business Logic Narrative
When the process 'Log FDA Reference Processing' is invoked, and assuming that fda reference processing has been completed, when the system performs logging operations, the desired outcome is that all fda reference processing activities are logged including reference numbers, status changes, and compliance actions.
💻 Technical Criteria
Given FDA reference processing has been completed
When The system performs logging operations
Then All FDA reference processing activities are logged including reference numbers, status changes, and compliance actions
R-GCX016-cbl-02449 Skip Non-FDA Reference
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Non-FDA Reference', assuming that an n9 segment is received with a reference qualifier, when the qualifier does not indicate fda-related reference information, the desired outcome is that the system skips fda processing and continues to the next n9 segment.
💻 Technical Criteria
EXCLUDING An N9 segment is received with a reference qualifier
When The qualifier does not indicate FDA-related reference information
Then The system skips FDA processing and continues to the next N9 segment
R-GCX016-cbl-02450 FDA Processing Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'FDA Processing Error', assuming that an error occurs during fda reference processing, when the system encounters invalid fda reference formats or processing failures, the desired outcome is that the error is logged and processing continues to the next n9 segment without stopping the entire transaction.
💻 Technical Criteria
EXCLUDING An error occurs during FDA reference processing
When The system encounters invalid FDA reference formats or processing failures
Then The error is logged and processing continues to the next N9 segment without stopping the entire transaction
R-GCX016-cbl-02498 Initialize Follower Processing
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Processing' is invoked, and assuming that follower manifests are found for a lead manifest, when the system initiates follower processing, the desired outcome is that the follower end-of-database flag is reset and processing begins.
💻 Technical Criteria
Given Follower manifests are found for a lead manifest
When The system initiates follower processing
Then The follower end-of-database flag is reset and processing begins
R-GCX016-cbl-02499 More Followers to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Followers to Process?' is invoked, and assuming that follower manifest processing is in progress, when the system checks the follower end-of-database flag, the desired outcome is that processing continues if more followers exist or terminates if all followers are processed.
💻 Technical Criteria
Given Follower manifest processing is in progress
When The system checks the follower end-of-database flag
Then Processing continues if more followers exist or terminates if all followers are processed
R-GCX016-cbl-02500 Prepare EDI 350 Message for Follower
Process Rules
📊 Business Logic Narrative
When the process 'Prepare EDI 350 Message for Follower' is invoked, and assuming that a follower manifest is selected for processing, when the system prepares the edi message, the desired outcome is that the special action code is set to '350', disposition code is copied from x4 segment, quantity is transferred, and entry number is populated.
💻 Technical Criteria
Given A follower manifest is selected for processing
When The system prepares the EDI message
Then The special action code is set to '350', disposition code is copied from X4 segment, quantity is transferred, and entry number is populated
R-GCX016-cbl-02502 Processing Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Processing Successful?' is invoked, and assuming that a follower manifest has been submitted for processing via gct0161e, when the processing transaction completes, the desired outcome is that the system determines if the processing was successful or encountered errors.
💻 Technical Criteria
Given A follower manifest has been submitted for processing via GCT0161E
When The processing transaction completes
Then The system determines if the processing was successful or encountered errors
R-GCX016-cbl-02504 Complete Multi-manifest Processing
Process Rules
📊 Business Logic Narrative
When the process 'Complete Multi-manifest Processing' is invoked, and assuming that all follower manifests associated with a lead manifest have been processed, when no more followers remain in the processing queue, the desired outcome is that the multi-manifest processing operation is marked as complete and control returns to the main processing flow.
💻 Technical Criteria
Given All follower manifests associated with a lead manifest have been processed
When No more followers remain in the processing queue
Then The multi-manifest processing operation is marked as complete and control returns to the main processing flow
R-GCX016-cbl-02508 Disposition Code Duplicate Prevention
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Duplicate Prevention' is invoked, and assuming that a new disposition code to be added to the status array, when the system checks if the disposition code already exists in the array, the desired outcome is that if the code already exists, skip adding it; if not, add the new code to the array.
💻 Technical Criteria
Given A new disposition code to be added to the status array
When The system checks if the disposition code already exists in the array
Then If the code already exists, skip adding it; if not, add the new code to the array
R-GCX016-cbl-02510 Status Array Overflow Protection
Validation Rules
📊 Business Logic Narrative
When the process 'Status Array Overflow Protection' is invoked, and assuming that a status array that is approaching or at maximum capacity, when the system attempts to add additional disposition codes, the desired outcome is that the system prevents array overflow and maintains data integrity by rejecting additional entries.
💻 Technical Criteria
Given A status array that is approaching or at maximum capacity
When The system attempts to add additional disposition codes
Then The system prevents array overflow and maintains data integrity by rejecting additional entries
R-GCX016-cbl-02511 Status Array Persistence
Process Rules
📊 Business Logic Narrative
When the process 'Status Array Persistence' is invoked, and assuming that a populated s09a status array with disposition codes and status information, when the system needs to persist the status information to the database, the desired outcome is that the array data is moved to s09 segments with proper sequencing and key structure.
💻 Technical Criteria
Given A populated S09A status array with disposition codes and status information
When The system needs to persist the status information to the database
Then The array data is moved to S09 segments with proper sequencing and key structure
R-GCX016-cbl-02580 Logging Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Logging Successful?' is invoked, and assuming that the gct1051e logging transaction has been invoked, when the logging transaction completes execution, the desired outcome is that the system shall verify if logging was successful and branch to appropriate processing path based on the result.
💻 Technical Criteria
Given The GCT1051E logging transaction has been invoked
When The logging transaction completes execution
Then The system shall verify if logging was successful and branch to appropriate processing path based on the result
R-GCX016-cbl-02581 Update Audit Trail
Process Rules
📊 Business Logic Narrative
When the process 'Update Audit Trail' is invoked, and assuming that the gct1051e logging transaction completed successfully, when the system receives successful completion confirmation, the desired outcome is that the system shall update internal audit trail records and continue with normal processing flow.
💻 Technical Criteria
Given The GCT1051E logging transaction completed successfully
When The system receives successful completion confirmation
Then The system shall update internal audit trail records and continue with normal processing flow
R-GCX016-cbl-02582 Log Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Log Error Message' is invoked, and assuming that the gct1051e logging transaction failed to complete successfully, when the system receives failure notification, the desired outcome is that the system shall record error information about the logging failure and continue processing.
💻 Technical Criteria
Given The GCT1051E logging transaction failed to complete successfully
When The system receives failure notification
Then The system shall record error information about the logging failure and continue processing
R-GCX016-cbl-02586 Comment Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Comment Valid?' is invoked, and assuming that a k1 comment has undergone length validation, when the system evaluates comment validity based on length and content criteria, the desired outcome is that the comment is marked as valid for storage or invalid for rejection.
💻 Technical Criteria
Given A K1 comment has undergone length validation
When The system evaluates comment validity based on length and content criteria
Then The comment is marked as valid for storage or invalid for rejection
R-GCX016-cbl-02588 More K1 Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More K1 Segments?' is invoked, and assuming that a k1 segment has been processed and stored, when the system checks for additional k1 segments in the message, the desired outcome is that processing continues with next k1 segment if more exist, or proceeds to comment count validation if no more segments.
💻 Technical Criteria
Given A K1 segment has been processed and stored
When The system checks for additional K1 segments in the message
Then Processing continues with next K1 segment if more exist, or proceeds to comment count validation if no more segments
R-GCX016-cbl-02596 Log Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Log Error Message' is invoked, and assuming that a k1 comment has been rejected due to validation failure, when the system processes the rejection, the desired outcome is that an error message is logged documenting the k1 comment validation failure for audit purposes.
💻 Technical Criteria
Given A K1 comment has been rejected due to validation failure
When The system processes the rejection
Then An error message is logged documenting the K1 comment validation failure for audit purposes
R-GCX016-cbl-02607 Check Train Status in System
Validation Rules
📊 Business Logic Narrative
When the process 'Check Train Status in System' is invoked, and assuming that a train processing request is received with train identification information, when the system checks the train status in the uscs database, the desired outcome is that the system determines if the train is properly arrived or not arrived and sets appropriate processing flags.
💻 Technical Criteria
Given A train processing request is received with train identification information
When The system checks the train status in the USCS database
Then The system determines if the train is properly arrived or not arrived and sets appropriate processing flags
R-GCX016-cbl-02608 Generate Train Not Arrived Warning Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Train Not Arrived Warning Message', assuming that a train is found to be not arrived in the uscs system, when the system needs to generate a warning notification, the desired outcome is that the system creates a warning message stating 're-arrive train or contact uscs' with train identification details.
💻 Technical Criteria
EXCLUDING A train is found to be not arrived in the USCS system
When The system needs to generate a warning notification
Then The system creates a warning message stating 'Re-arrive train or contact USCS' with train identification details
R-GCX016-cbl-02609 Format Warning with Train Details
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Format Warning with Train Details', assuming that a train not arrived warning needs to be generated, when the system formats the warning message, the desired outcome is that the message includes train vessel name, manifest information, and disposition code details in a structured format.
💻 Technical Criteria
EXCLUDING A train not arrived warning needs to be generated
When The system formats the warning message
Then The message includes train vessel name, manifest information, and disposition code details in a structured format
R-GCX016-cbl-02613 Train Arrival Cancellation Request Received
Process Rules
📊 Business Logic Narrative
When the process 'Train Arrival Cancellation Request Received' is invoked, and assuming that a train arrival cancellation request is received with event code 'coc', when the system processes the v9 segment with cancellation event code, the desired outcome is that the system initiates train arrival cancellation processing workflow.
💻 Technical Criteria
Given A train arrival cancellation request is received with event code 'COC'
When The system processes the V9 segment with cancellation event code
Then The system initiates train arrival cancellation processing workflow
R-GCX016-cbl-02614 Is Train Found in System?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Train Found in System?' is invoked, and assuming that a train arrival cancellation request is being processed, when the system searches for the train using the vessel name from the manifest, the desired outcome is that the system determines if the train exists and sets appropriate processing flags.
💻 Technical Criteria
Given A train arrival cancellation request is being processed
When The system searches for the train using the vessel name from the manifest
Then The system determines if the train exists and sets appropriate processing flags
R-GCX016-cbl-02615 Retrieve Train Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Train Information' is invoked, and assuming that a train exists in the system for the cancellation request, when the system retrieves train information using the vessel name, the desired outcome is that the system loads train details including current status and arrival information.
💻 Technical Criteria
Given A train exists in the system for the cancellation request
When The system retrieves train information using the vessel name
Then The system loads train details including current status and arrival information
R-GCX016-cbl-02616 Check Current Train Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Current Train Status' is invoked, and assuming that train information has been retrieved from the system, when the system examines the train's current operational status, the desired outcome is that the system determines the train's arrival status for cancellation processing.
💻 Technical Criteria
Given Train information has been retrieved from the system
When The system examines the train's current operational status
Then The system determines the train's arrival status for cancellation processing
R-GCX016-cbl-02617 Is Train Currently Arrived?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Train Currently Arrived?' is invoked, and assuming that the train's current status has been assessed, when the system checks if the train status indicates arrival has occurred, the desired outcome is that the system determines whether cancellation processing should proceed or complete.
💻 Technical Criteria
Given The train's current status has been assessed
When The system checks if the train status indicates arrival has occurred
Then The system determines whether cancellation processing should proceed or complete
R-GCX016-cbl-02618 Generate Cancellation Warning Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Cancellation Warning Message' is invoked, and assuming that a train is currently in arrived status and cancellation is requested, when the system processes the cancellation for an arrived train, the desired outcome is that the system generates a cancellation warning message with appropriate details.
💻 Technical Criteria
Given A train is currently in arrived status and cancellation is requested
When The system processes the cancellation for an arrived train
Then The system generates a cancellation warning message with appropriate details
R-GCX016-cbl-02619 Format Warning with Train Details
Process Rules
📊 Business Logic Narrative
When the process 'Format Warning with Train Details' is invoked, and assuming that a cancellation warning message needs to be generated, when the system formats the warning message, the desired outcome is that the message includes train identification, arrival details, and cancellation context.
💻 Technical Criteria
Given A cancellation warning message needs to be generated
When The system formats the warning message
Then The message includes train identification, arrival details, and cancellation context
R-GCX016-cbl-02620 Include Cancellation Reason Code
Process Rules
📊 Business Logic Narrative
When the process 'Include Cancellation Reason Code' is invoked, and assuming that a warning message is being formatted for train arrival cancellation, when the system includes the cancellation reason code, the desired outcome is that the message contains the specific reason code that triggered the cancellation.
💻 Technical Criteria
Given A warning message is being formatted for train arrival cancellation
When The system includes the cancellation reason code
Then The message contains the specific reason code that triggered the cancellation
R-GCX016-cbl-02621 Add CBP Reference Information
Process Rules
📊 Business Logic Narrative
When the process 'Add CBP Reference Information' is invoked, and assuming that a cancellation warning message is being prepared, when the system adds cbp reference information, the desired outcome is that the message includes instructions to contact cbp and relevant reference numbers.
💻 Technical Criteria
Given A cancellation warning message is being prepared
When The system adds CBP reference information
Then The message includes instructions to contact CBP and relevant reference numbers
R-GCX016-cbl-02623 Send Notification to Manifest Control
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification to Manifest Control' is invoked, and assuming that the operations team has been notified of the cancellation, when the system sends notification to manifest control, the desired outcome is that manifest control receives details of the cancelled train arrival for processing.
💻 Technical Criteria
Given The operations team has been notified of the cancellation
When The system sends notification to manifest control
Then Manifest control receives details of the cancelled train arrival for processing
R-GCX016-cbl-02624 Update Train Status to Cancelled
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Cancelled' is invoked, and assuming that all notifications have been sent for the train arrival cancellation, when the system updates the train status, the desired outcome is that the train status is changed to cancelled and arrival information is cleared.
💻 Technical Criteria
Given All notifications have been sent for the train arrival cancellation
When The system updates the train status
Then The train status is changed to cancelled and arrival information is cleared
R-GCX016-cbl-02625 Log Cancellation Event
Process Rules
📊 Business Logic Narrative
When the process 'Log Cancellation Event' is invoked, and assuming that the train status has been updated to cancelled, when the system logs the cancellation event, the desired outcome is that a complete audit record is created with cancellation details, timestamp, and reason code.
💻 Technical Criteria
Given The train status has been updated to cancelled
When The system logs the cancellation event
Then A complete audit record is created with cancellation details, timestamp, and reason code
R-GCX016-cbl-02626 Generate Error Message - Train Not Found
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error Message - Train Not Found' is invoked, and assuming that a train arrival cancellation request is received for a non-existent train, when the system cannot locate the train in the database, the desired outcome is that an error message is generated indicating the train was not found.
💻 Technical Criteria
Given A train arrival cancellation request is received for a non-existent train
When The system cannot locate the train in the database
Then An error message is generated indicating the train was not found
R-GCX016-cbl-02632 Allocate S09A Status Array Memory
Process Rules
📊 Business Logic Narrative
When the process 'Allocate S09A Status Array Memory' is invoked, and assuming that a status array structure needs to be created, when the system allocates memory for status tracking, the desired outcome is that s09a status array memory is allocated with proper structure.
💻 Technical Criteria
Given A status array structure needs to be created
When The system allocates memory for status tracking
Then S09A status array memory is allocated with proper structure
R-GCX016-cbl-02633 Set Default Array Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Default Array Parameters' is invoked, and assuming that a new status array has been allocated, when the system configures the array for use, the desired outcome is that default array parameters are set according to system standards.
💻 Technical Criteria
Given A new status array has been allocated
When The system configures the array for use
Then Default array parameters are set according to system standards
R-GCX016-cbl-02635 Prepare Array for Disposition Code Processing
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Array for Disposition Code Processing' is invoked, and assuming that a status array has been created and marked as new, when the system prepares for disposition code processing, the desired outcome is that the array is configured to accept and process disposition codes.
💻 Technical Criteria
Given A status array has been created and marked as new
When The system prepares for disposition code processing
Then The array is configured to accept and process disposition codes
R-GCX016-cbl-02638 Initialize S09 Segment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize S09 Segment Counter' is invoked, and assuming that the status array contains valid data elements to process, when beginning the status array replacement process, the desired outcome is that set the s09 segment counter to zero to start tracking segment creation.
💻 Technical Criteria
Given The status array contains valid data elements to process
When Beginning the status array replacement process
Then Set the S09 segment counter to zero to start tracking segment creation
R-GCX016-cbl-02641 Set Disposition Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Disposition Code' is invoked, and assuming that a status array element contains a disposition code, when building the s09 segment, the desired outcome is that copy the disposition code from the array element to the s09 segment disposition code field.
💻 Technical Criteria
Given A status array element contains a disposition code
When Building the S09 segment
Then Copy the disposition code from the array element to the S09 segment disposition code field
R-GCX016-cbl-02642 Set Entry Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entry Number' is invoked, and assuming that a status array element contains entry number information, when building the s09 segment, the desired outcome is that copy the entry number from the array element to the s09 segment entry number field.
💻 Technical Criteria
Given A status array element contains entry number information
When Building the S09 segment
Then Copy the entry number from the array element to the S09 segment entry number field
R-GCX016-cbl-02644 Set Release Status Flag
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Release Status Flag' is invoked, and assuming that a status array element contains release status information, when building the s09 segment, the desired outcome is that copy the release status flag from the array element to the s09 segment release flag field.
💻 Technical Criteria
Given A status array element contains release status information
When Building the S09 segment
Then Copy the release status flag from the array element to the S09 segment release flag field
R-GCX016-cbl-02646 Set Date/Time Stamps
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Date/Time Stamps' is invoked, and assuming that a status array element contains date and time information, when building the s09 segment, the desired outcome is that copy the date and time stamps from the array element to the s09 segment date/time fields.
💻 Technical Criteria
Given A status array element contains date and time information
When Building the S09 segment
Then Copy the date and time stamps from the array element to the S09 segment date/time fields
R-GCX016-cbl-02647 Insert S09 Segment to Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert S09 Segment to Database' is invoked, and assuming that a complete s09 segment has been constructed from status array data, when inserting the s09 segment into the database, the desired outcome is that write the s09 segment to the gcsuss09 status segments database.
💻 Technical Criteria
Given A complete S09 segment has been constructed from status array data
When Inserting the S09 segment into the database
Then Write the S09 segment to the GCSUSS09 status segments database
R-GCX016-cbl-02648 Increment Segment Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Segment Counter' is invoked, and assuming that an s09 segment has been successfully created and inserted, when tracking the number of segments created, the desired outcome is that increment the segment counter by one to reflect the new segment.
💻 Technical Criteria
Given An S09 segment has been successfully created and inserted
When Tracking the number of segments created
Then Increment the segment counter by one to reflect the new segment
R-GCX016-cbl-02649 Move to Next Array Element
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Array Element' is invoked, and assuming that the current status array element has been processed, when continuing array processing, the desired outcome is that move the array pointer to the next element for subsequent processing.
💻 Technical Criteria
Given The current status array element has been processed
When Continuing array processing
Then Move the array pointer to the next element for subsequent processing
R-GCX016-cbl-02654 Handle Database Error
Action Rules
📊 Business Logic Narrative
When the process 'Handle Database Error' is invoked, and assuming that a database update operation has failed, when processing the database error, the desired outcome is that execute appropriate error handling procedures and complete the operation with error status.
💻 Technical Criteria
Given A database update operation has failed
When Processing the database error
Then Execute appropriate error handling procedures and complete the operation with error status
R-GCX016-cbl-02655 Is Lead Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Lead Manifest?' is invoked, and assuming that a manifest record is being processed, when the system evaluates the manifest type, the desired outcome is that the system identifies whether it is a lead manifest with associated followers or a single manifest.
💻 Technical Criteria
Given A manifest record is being processed
When The system evaluates the manifest type
Then The system identifies whether it is a lead manifest with associated followers or a single manifest
R-GCX016-cbl-02659 Format EDI 350 Message for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Format EDI 350 Message for Follower' is invoked, and assuming that a follower manifest has been selected for processing, when the system needs to create an edi message for the follower, the desired outcome is that the system formats an edi 350 message with follower-specific data and parameters.
💻 Technical Criteria
Given A follower manifest has been selected for processing
When The system needs to create an EDI message for the follower
Then The system formats an EDI 350 message with follower-specific data and parameters
R-GCX016-cbl-02660 Prepare Message Array for Follower
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Message Array for Follower' is invoked, and assuming that an edi 350 message has been formatted for a follower manifest, when the system needs to prepare the message for transaction spawning, the desired outcome is that the system populates the edi message array with the formatted follower manifest data.
💻 Technical Criteria
Given An EDI 350 message has been formatted for a follower manifest
When The system needs to prepare the message for transaction spawning
Then The system populates the EDI message array with the formatted follower manifest data
R-GCX016-cbl-02662 Spawn GCT0161E Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT0161E Transaction' is invoked, and assuming that follower manifest parameters have been configured, when the system is ready to process the follower manifest, the desired outcome is that the system spawns a gct0161e transaction with the prepared message array and parameters.
💻 Technical Criteria
Given Follower manifest parameters have been configured
When The system is ready to process the follower manifest
Then The system spawns a GCT0161E transaction with the prepared message array and parameters
R-GCX016-cbl-02663 Transaction Spawn Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Transaction Spawn Successful?' is invoked, and assuming that a gct0161e transaction has been attempted for a follower manifest, when the system receives the spawn response, the desired outcome is that the system determines if the transaction spawn was successful or failed.
💻 Technical Criteria
Given A GCT0161E transaction has been attempted for a follower manifest
When The system receives the spawn response
Then The system determines if the transaction spawn was successful or failed
R-GCX016-cbl-02664 Log Follower Processing Success
Process Rules
📊 Business Logic Narrative
When the process 'Log Follower Processing Success' is invoked, and assuming that a gct0161e transaction was successfully spawned for a follower manifest, when the system confirms successful transaction spawn, the desired outcome is that the system logs the successful follower manifest processing to the transaction log.
💻 Technical Criteria
Given A GCT0161E transaction was successfully spawned for a follower manifest
When The system confirms successful transaction spawn
Then The system logs the successful follower manifest processing to the transaction log
R-GCX016-cbl-02665 Log Spawn Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Spawn Error' is invoked, and assuming that a gct0161e transaction spawn failed for a follower manifest, when the system detects the spawn failure, the desired outcome is that the system logs the spawn error details to the transaction log for troubleshooting.
💻 Technical Criteria
Given A GCT0161E transaction spawn failed for a follower manifest
When The system detects the spawn failure
Then The system logs the spawn error details to the transaction log for troubleshooting
R-GCX016-cbl-02667 Continue with Next Follower
Process Rules
📊 Business Logic Narrative
When the process 'Continue with Next Follower' is invoked, and assuming that a transaction spawn error has been logged for a follower manifest, when the system needs to continue processing remaining followers, the desired outcome is that the system continues with the next follower manifest without stopping the entire process.
💻 Technical Criteria
Given A transaction spawn error has been logged for a follower manifest
When The system needs to continue processing remaining followers
Then The system continues with the next follower manifest without stopping the entire process
R-GCX016-cbl-02669 Update Lead Manifest Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Lead Manifest Status' is invoked, and assuming that all follower manifests have been processed, when the system needs to finalize the lead manifest processing, the desired outcome is that the system updates the lead manifest status to reflect completion of follower processing.
💻 Technical Criteria
Given All follower manifests have been processed
When The system needs to finalize the lead manifest processing
Then The system updates the lead manifest status to reflect completion of follower processing
R-GCX016-cbl-02670 Complete Multi-manifest Processing
Process Rules
📊 Business Logic Narrative
When the process 'Complete Multi-manifest Processing' is invoked, and assuming that the lead manifest status has been updated after follower processing, when all multi-manifest processing tasks are complete, the desired outcome is that the system completes the multi-manifest processing workflow and returns control.
💻 Technical Criteria
Given The lead manifest status has been updated after follower processing
When All multi-manifest processing tasks are complete
Then The system completes the multi-manifest processing workflow and returns control
R-GCX016-cbl-02671 Skip - Single Manifest Only
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip - Single Manifest Only', assuming that a manifest is not identified as a lead manifest, when the system evaluates the manifest for multi-manifest processing, the desired outcome is that the system skips follower processing and proceeds directly to completion.
💻 Technical Criteria
EXCLUDING A manifest is not identified as a lead manifest
When The system evaluates the manifest for multi-manifest processing
Then The system skips follower processing and proceeds directly to completion
R-GCX016-cbl-02676 Allocate Array Memory Structure
Process Rules
📊 Business Logic Narrative
When the process 'Allocate Array Memory Structure' is invoked, and assuming that the status array element count has been set to zero, when the system prepares the array for status processing operations, the desired outcome is that the system allocates the required memory structure for the status array.
💻 Technical Criteria
Given The status array element count has been set to zero
When The system prepares the array for status processing operations
Then The system allocates the required memory structure for the status array
R-GCX016-cbl-02678 Mark Array as Newly Created
Definitional Rules
📊 Business Logic Narrative
When the process 'Mark Array as Newly Created' is invoked, and assuming that the status array has been initialized with default properties, when the system needs to track the origin of the status array, the desired outcome is that the system marks the array as newly created for processing identification.
💻 Technical Criteria
Given The status array has been initialized with default properties
When The system needs to track the origin of the status array
Then The system marks the array as newly created for processing identification
R-GCX016-cbl-02682 S09 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'S09 Segment Found?' is invoked, and assuming that a request has been made to retrieve an s09 status segment, when the database call completes, the desired outcome is that the system determines if a valid s09 segment was found and proceeds accordingly.
💻 Technical Criteria
Given A request has been made to retrieve an S09 status segment
When The database call completes
Then The system determines if a valid S09 segment was found and proceeds accordingly
R-GCX016-cbl-02685 Increment Array Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Array Counter' is invoked, and assuming that an s09a array element has been successfully populated with status information, when the element population is complete, the desired outcome is that the system increments the array counter by one to point to the next available array position.
💻 Technical Criteria
Given An S09A array element has been successfully populated with status information
When The element population is complete
Then The system increments the array counter by one to point to the next available array position
R-GCX016-cbl-02686 Array Counter < Maximum Limit?
Validation Rules
📊 Business Logic Narrative
When the process 'Array Counter < Maximum Limit?' is invoked, and assuming that the array counter has been incremented after populating an element, when the system needs to determine if more elements can be added, the desired outcome is that the system checks if the array counter is less than the maximum limit and determines the next action.
💻 Technical Criteria
Given The array counter has been incremented after populating an element
When The system needs to determine if more elements can be added
Then The system checks if the array counter is less than the maximum limit and determines the next action
R-GCX016-cbl-02688 Set Total Array Count
Process Rules
📊 Business Logic Narrative
When the process 'Set Total Array Count' is invoked, and assuming that all available s09 segments have been processed or no segments were found, when the status array population process is complete, the desired outcome is that the system sets the total array count to reflect the number of elements populated.
💻 Technical Criteria
Given All available S09 segments have been processed or no segments were found
When The status array population process is complete
Then The system sets the total array count to reflect the number of elements populated
R-GCX016-cbl-02689 Array Overflow - Log Warning
Validation Rules
📊 Business Logic Narrative
When the process 'Array Overflow - Log Warning' is invoked, and assuming that the array counter has reached or exceeded the maximum allowed limit, when additional s09 segments are available but cannot be processed, the desired outcome is that the system logs a warning about array overflow and stops further population.
💻 Technical Criteria
Given The array counter has reached or exceeded the maximum allowed limit
When Additional S09 segments are available but cannot be processed
Then The system logs a warning about array overflow and stops further population
R-GCX016-cbl-02690 Status Array Population Complete
Process Rules
📊 Business Logic Narrative
When the process 'Status Array Population Complete' is invoked, and assuming that all available s09 segments have been processed or array limits have been reached, when the population process concludes, the desired outcome is that the system marks the status array population as complete and the array is ready for use.
💻 Technical Criteria
Given All available S09 segments have been processed or array limits have been reached
When The population process concludes
Then The system marks the status array population as complete and the array is ready for use
R-GCX016-cbl-02691 Status Array Modified?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Array Modified?' is invoked, and assuming that status array processing has been completed, when the system checks if any modifications were made to the status array, the desired outcome is that if modifications exist, proceed with database update preparation, otherwise skip to next processing step.
💻 Technical Criteria
Given Status array processing has been completed
When The system checks if any modifications were made to the status array
Then If modifications exist, proceed with database update preparation, otherwise skip to next processing step
R-GCX016-cbl-02692 Prepare S09 Segment Update
Process Rules
📊 Business Logic Narrative
When the process 'Prepare S09 Segment Update' is invoked, and assuming that status array has been modified during processing, when the system prepares to update the s09 segment, the desired outcome is that initialize s09 segment structure and prepare for data movement from status array.
💻 Technical Criteria
Given Status array has been modified during processing
When The system prepares to update the S09 segment
Then Initialize S09 segment structure and prepare for data movement from status array
R-GCX016-cbl-02693 Move S09A Array Data to Database Format
Action Rules
📊 Business Logic Narrative
When the process 'Move S09A Array Data to Database Format' is invoked, and assuming that s09 segment update has been prepared, when the system moves data from s09a array to database format, the desired outcome is that convert all status entries from array format to s09 segment structure maintaining proper sequence and occurrence numbers.
💻 Technical Criteria
Given S09 segment update has been prepared
When The system moves data from S09A array to database format
Then Convert all status entries from array format to S09 segment structure maintaining proper sequence and occurrence numbers
R-GCX016-cbl-02694 Calculate Number of Status Entries
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Number of Status Entries' is invoked, and assuming that status array data has been moved to database format, when the system calculates the number of status entries, the desired outcome is that count all non-blank status entries in the array and set the total count for database operations.
💻 Technical Criteria
Given Status array data has been moved to database format
When The system calculates the number of status entries
Then Count all non-blank status entries in the array and set the total count for database operations
R-GCX016-cbl-02700 Log Status Array Changes
Process Rules
📊 Business Logic Narrative
When the process 'Log Status Array Changes' is invoked, and assuming that database update has been successful, when the system logs status array changes, the desired outcome is that record all status modifications, timestamps, and processing details in the audit log.
💻 Technical Criteria
Given Database update has been successful
When The system logs status array changes
Then Record all status modifications, timestamps, and processing details in the audit log
R-GCX016-cbl-02701 Handle Database Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Database Error' is invoked, and assuming that database update has failed, when the system handles the database error, the desired outcome is that log error details, determine if retry is appropriate, and implement error recovery procedures.
💻 Technical Criteria
Given Database update has failed
When The system handles the database error
Then Log error details, determine if retry is appropriate, and implement error recovery procedures
R-GCX016-cbl-02702 Retry Database Operation
Process Rules
📊 Business Logic Narrative
When the process 'Retry Database Operation' is invoked, and assuming that database error has been handled, when the system retries the database operation, the desired outcome is that attempt the database update again with appropriate retry logic and error handling.
💻 Technical Criteria
Given Database error has been handled
When The system retries the database operation
Then Attempt the database update again with appropriate retry logic and error handling
R-GCX016-cbl-02703 Extract Disposition Code from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Disposition Code from X4 Segment' is invoked, and assuming that an x4 segment is available for processing, when the system needs to process disposition code information, the desired outcome is that the disposition code is extracted from the x4 segment and stored in working storage.
💻 Technical Criteria
Given An X4 segment is available for processing
When The system needs to process disposition code information
Then The disposition code is extracted from the X4 segment and stored in working storage
R-GCX016-cbl-02704 Call GCCTBIO to Access DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Access DC Table' is invoked, and assuming that a disposition code needs to be validated and processed, when the system calls gcctbio to access the dc table, the desired outcome is that the dc table is accessed and made available for disposition code lookup.
💻 Technical Criteria
Given A disposition code needs to be validated and processed
When The system calls GCCTBIO to access the DC table
Then The DC table is accessed and made available for disposition code lookup
R-GCX016-cbl-02705 Disposition Code Found in DC Table?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Found in DC Table?' is invoked, and assuming that a disposition code has been extracted from the x4 segment, when the system searches for the disposition code in the dc table, the desired outcome is that the system determines if the disposition code exists and sets appropriate processing flags.
💻 Technical Criteria
Given A disposition code has been extracted from the X4 segment
When The system searches for the disposition code in the DC table
Then The system determines if the disposition code exists and sets appropriate processing flags
R-GCX016-cbl-02706 Retrieve Disposition Code Information
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Disposition Code Information' is invoked, and assuming that the disposition code exists in the dc table, when the system processes the found disposition code record, the desired outcome is that all disposition code information including counterpart codes, processing instructions, quantity actions, removal flags, and status information flags are extracted.
💻 Technical Criteria
Given The disposition code exists in the DC table
When The system processes the found disposition code record
Then All disposition code information including counterpart codes, processing instructions, quantity actions, removal flags, and status information flags are extracted
R-GCX016-cbl-02707 Extract Counterpart Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Counterpart Code' is invoked, and assuming that disposition code information is available from the dc table, when the system processes the disposition code record, the desired outcome is that the counterpart code is extracted and stored for subsequent processing operations.
💻 Technical Criteria
Given Disposition code information is available from the DC table
When The system processes the disposition code record
Then The counterpart code is extracted and stored for subsequent processing operations
R-GCX016-cbl-02708 Extract Processing Instructions
Process Rules
📊 Business Logic Narrative
When the process 'Extract Processing Instructions' is invoked, and assuming that disposition code record is retrieved from the dc table, when the system processes the disposition code information, the desired outcome is that processing instructions are extracted and made available for disposition code handling logic.
💻 Technical Criteria
Given Disposition code record is retrieved from the DC table
When The system processes the disposition code information
Then Processing instructions are extracted and made available for disposition code handling logic
R-GCX016-cbl-02709 Extract Quantity Action Flag
Process Rules
📊 Business Logic Narrative
When the process 'Extract Quantity Action Flag' is invoked, and assuming that disposition code information is being processed, when the system extracts quantity-related flags from the dc table record, the desired outcome is that the quantity action flag is extracted to determine whether release quantities will be added, subtracted, or remain unchanged.
💻 Technical Criteria
Given Disposition code information is being processed
When The system extracts quantity-related flags from the DC table record
Then The quantity action flag is extracted to determine whether release quantities will be added, subtracted, or remain unchanged
R-GCX016-cbl-02711 Extract Status Information Flag
Process Rules
📊 Business Logic Narrative
When the process 'Extract Status Information Flag' is invoked, and assuming that disposition code information is being extracted from the dc table, when the system processes status-related flags, the desired outcome is that the status information flag is extracted to determine whether the disposition code represents informational status or actionable processing.
💻 Technical Criteria
Given Disposition code information is being extracted from the DC table
When The system processes status-related flags
Then The status information flag is extracted to determine whether the disposition code represents informational status or actionable processing
R-GCX016-cbl-02712 Store DC Information in Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Store DC Information in Working Storage' is invoked, and assuming that all disposition code information has been extracted from the dc table, when the system needs to store the information for subsequent processing, the desired outcome is that all dc information including counterpart codes, processing instructions, and flags are stored in working storage variables.
💻 Technical Criteria
Given All disposition code information has been extracted from the DC table
When The system needs to store the information for subsequent processing
Then All DC information including counterpart codes, processing instructions, and flags are stored in working storage variables
R-GCX016-cbl-02713 Set Found Flag to True
Process Rules
📊 Business Logic Narrative
When the process 'Set Found Flag to True' is invoked, and assuming that disposition code has been successfully found in the dc table and all information extracted, when the system completes the disposition code lookup process, the desired outcome is that the found flag is set to true to indicate successful disposition code processing.
💻 Technical Criteria
Given Disposition code has been successfully found in the DC table and all information extracted
When The system completes the disposition code lookup process
Then The found flag is set to true to indicate successful disposition code processing
R-GCX016-cbl-02714 Log Disposition Code Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Disposition Code Not Found Error', assuming that a disposition code has been searched in the dc table, when the disposition code is not found in the dc table, the desired outcome is that an error is logged indicating the disposition code was not found and appropriate error handling is initiated.
💻 Technical Criteria
EXCLUDING A disposition code has been searched in the DC table
When The disposition code is not found in the DC table
Then An error is logged indicating the disposition code was not found and appropriate error handling is initiated
R-GCX016-cbl-02715 Set Found Flag to False
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Found Flag to False', assuming that disposition code lookup has failed due to code not being found in dc table, when the system needs to indicate lookup failure, the desired outcome is that the found flag is set to false to indicate unsuccessful disposition code processing.
💻 Technical Criteria
EXCLUDING Disposition code lookup has failed due to code not being found in DC table
When The system needs to indicate lookup failure
Then The found flag is set to false to indicate unsuccessful disposition code processing
R-GCX016-cbl-02716 Check Disposition Code Table for Counterpart Info
Validation Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Table for Counterpart Info' is invoked, and assuming that a new disposition code is received for processing, when the system checks the disposition code table for counterpart information, the desired outcome is that the system identifies if the disposition code has a counterpart code defined.
💻 Technical Criteria
Given A new disposition code is received for processing
When The system checks the disposition code table for counterpart information
Then The system identifies if the disposition code has a counterpart code defined
R-GCX016-cbl-02717 Has Counterpart Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Counterpart Code?' is invoked, and assuming that the disposition code table has been checked for counterpart information, when the system evaluates if a counterpart code exists for the current disposition code, the desired outcome is that the system either proceeds to search for counterpart codes in the status array or continues with normal processing.
💻 Technical Criteria
Given The disposition code table has been checked for counterpart information
When The system evaluates if a counterpart code exists for the current disposition code
Then The system either proceeds to search for counterpart codes in the status array or continues with normal processing
R-GCX016-cbl-02719 Counterpart Found in Array?
Decision Rules
📊 Business Logic Narrative
When the process 'Counterpart Found in Array?' is invoked, and assuming that the status array has been searched for counterpart codes, when the system evaluates the search results, the desired outcome is that the system either proceeds to validate matching criteria or continues without counterpart removal.
💻 Technical Criteria
Given The status array has been searched for counterpart codes
When The system evaluates the search results
Then The system either proceeds to validate matching criteria or continues without counterpart removal
R-GCX016-cbl-02720 Status Info Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Info Match?' is invoked, and assuming that a counterpart code has been found in the status array, when the system compares the status information flags of the counterpart code with the removal criteria, the desired outcome is that the system either removes the counterpart code immediately or checks additional matching criteria.
💻 Technical Criteria
Given A counterpart code has been found in the status array
When The system compares the status information flags of the counterpart code with the removal criteria
Then The system either removes the counterpart code immediately or checks additional matching criteria
R-GCX016-cbl-02721 Entry Number Match?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entry Number Match?', assuming that the status information flags do not match for counterpart removal, when the system compares the entry numbers of the counterpart code with the removal criteria, the desired outcome is that the system either removes the counterpart code or checks quantity matching criteria.
💻 Technical Criteria
EXCLUDING The status information flags do not match for counterpart removal
When The system compares the entry numbers of the counterpart code with the removal criteria
Then The system either removes the counterpart code or checks quantity matching criteria
R-GCX016-cbl-02724 Remove Counterpart Code from Array
Action Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Code from Array' is invoked, and assuming that a counterpart code has been validated for removal based on matching criteria, when the system removes the counterpart code from the status array, the desired outcome is that the counterpart code entry is marked for deletion from the array.
💻 Technical Criteria
Given A counterpart code has been validated for removal based on matching criteria
When The system removes the counterpart code from the status array
Then The counterpart code entry is marked for deletion from the array
R-GCX016-cbl-02726 Update Array Count
Computation Rules
📊 Business Logic Narrative
When the process 'Update Array Count' is invoked, and assuming that the status array has been compacted after counterpart code removal, when the system recalculates the number of active entries in the array, the desired outcome is that the array count is updated to reflect the current number of valid status entries.
💻 Technical Criteria
Given The status array has been compacted after counterpart code removal
When The system recalculates the number of active entries in the array
Then The array count is updated to reflect the current number of valid status entries
R-GCX016-cbl-02728 Check Disposition Code Type
Validation Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Type' is invoked, and assuming that a disposition code has been received for processing, when the system checks the disposition code type against the dc table, the desired outcome is that the system should determine if the code is a valid status information code and proceed accordingly.
💻 Technical Criteria
Given A disposition code has been received for processing
When The system checks the disposition code type against the DC table
Then The system should determine if the code is a valid status information code and proceed accordingly
R-GCX016-cbl-02729 Retrieve DC Table Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve DC Table Information' is invoked, and assuming that a disposition code needs to be processed, when the system retrieves information from the gcstbrt dc table, the desired outcome is that the system should obtain the disposition code details including status information flags and processing instructions.
💻 Technical Criteria
Given A disposition code needs to be processed
When The system retrieves information from the GCSTBRT DC table
Then The system should obtain the disposition code details including status information flags and processing instructions
R-GCX016-cbl-02731 Has Counterpart Removal?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Counterpart Removal?' is invoked, and assuming that a status information code is being processed, when the system checks if counterpart codes exist in the status array that should be removed, the desired outcome is that the system should identify any counterpart codes that conflict with the new status information and remove them first.
💻 Technical Criteria
Given A status information code is being processed
When The system checks if counterpart codes exist in the status array that should be removed
Then The system should identify any counterpart codes that conflict with the new status information and remove them first
R-GCX016-cbl-02732 Remove Counterpart Codes First
Process Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Codes First' is invoked, and assuming that counterpart codes exist in the status array that conflict with the new status information code, when the system removes counterpart codes from the s09a status array, the desired outcome is that the system should successfully remove all conflicting counterpart codes and prepare the array for the new status information.
💻 Technical Criteria
Given Counterpart codes exist in the status array that conflict with the new status information code
When The system removes counterpart codes from the S09A status array
Then The system should successfully remove all conflicting counterpart codes and prepare the array for the new status information
R-GCX016-cbl-02733 Check for Duplicate in Status Array
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Duplicate in Status Array' is invoked, and assuming that a status information code is ready to be added to the status array, when the system searches the s09a status array for existing instances of the same code, the desired outcome is that the system should identify if the status code already exists and prevent duplicate entries.
💻 Technical Criteria
Given A status information code is ready to be added to the status array
When The system searches the S09A status array for existing instances of the same code
Then The system should identify if the status code already exists and prevent duplicate entries
R-GCX016-cbl-02734 Already Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Already Exists?' is invoked, and assuming that the system has checked for duplicate status codes in the array, when a duplicate status information code is found, the desired outcome is that the system should skip processing to avoid duplicate entries and continue to the next code.
💻 Technical Criteria
Given The system has checked for duplicate status codes in the array
When A duplicate status information code is found
Then The system should skip processing to avoid duplicate entries and continue to the next code
R-GCX016-cbl-02741 Continue to Next Code Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Code Processing' is invoked, and assuming that status information code processing has been completed, when the system continues to the next disposition code in the sequence, the desired outcome is that the system should move to the next code processing step and maintain the processing flow.
💻 Technical Criteria
Given Status information code processing has been completed
When The system continues to the next disposition code in the sequence
Then The system should move to the next code processing step and maintain the processing flow
R-GCX016-cbl-02742 Search Array for Existing Code
Validation Rules
📊 Business Logic Narrative
When the process 'Search Array for Existing Code' is invoked, and assuming that a new disposition code needs to be added to the s09a status array and the array contains existing disposition code entries, when the system searches the status array for an existing entry that matches the new disposition code and entry number and quantity, the desired outcome is that if an exact match is found then skip processing the duplicate code and log the duplicate prevention action else add the new disposition code to the array and update the array element count.
💻 Technical Criteria
Given A new disposition code needs to be added to the S09A status array AND the array contains existing disposition code entries
When The system searches the status array for an existing entry that matches the new disposition code AND entry number AND quantity
Then IF an exact match is found THEN skip processing the duplicate code AND log the duplicate prevention action ELSE add the new disposition code to the array AND update the array element count
R-GCX016-cbl-02747 Add New Disposition Code to Array
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add New Disposition Code to Array', assuming that a new disposition code that does not match any existing entries in the status array, when the duplicate validation process confirms no exact match exists, the desired outcome is that add the new disposition code entry to the next available position in the status array.
💻 Technical Criteria
EXCLUDING A new disposition code that does not match any existing entries in the status array
When The duplicate validation process confirms no exact match exists
Then Add the new disposition code entry to the next available position in the status array
R-GCX016-cbl-02748 Update Array Element Count
Process Rules
📊 Business Logic Narrative
When the process 'Update Array Element Count' is invoked, and assuming that a new disposition code entry has been successfully added to the status array, when the array modification is complete, the desired outcome is that increment the array element count by one to reflect the new entry.
💻 Technical Criteria
Given A new disposition code entry has been successfully added to the status array
When The array modification is complete
Then Increment the array element count by one to reflect the new entry
R-GCX016-cbl-02749 Log Duplicate Prevention Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Duplicate Prevention Action' is invoked, and assuming that a duplicate disposition code entry was detected and prevented from being added to the status array, when the duplicate prevention process is completed, the desired outcome is that create a log entry documenting the duplicate prevention action for audit purposes.
💻 Technical Criteria
Given A duplicate disposition code entry was detected and prevented from being added to the status array
When The duplicate prevention process is completed
Then Create a log entry documenting the duplicate prevention action for audit purposes
R-GCX016-cbl-02750 Lookup Disposition Code in DC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup Disposition Code in DC Table' is invoked, and assuming that a disposition code is received for processing, when the system looks up the disposition code in the dc table, the desired outcome is that the system determines if the code exists and retrieves its processing attributes.
💻 Technical Criteria
Given A disposition code is received for processing
When The system looks up the disposition code in the DC table
Then The system determines if the code exists and retrieves its processing attributes
R-GCX016-cbl-02751 Is Release Code with Removal?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Release Code with Removal?' is invoked, and assuming that a disposition code has been found in the dc table, when the system evaluates the code type and actions, the desired outcome is that the system identifies if this is a release code with removal processing type.
💻 Technical Criteria
Given A disposition code has been found in the DC table
When The system evaluates the code type and actions
Then The system identifies if this is a release code with removal processing type
R-GCX016-cbl-02752 Search Status Array for Counterpart Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Counterpart Codes' is invoked, and assuming that a release code with removal type has been identified, when the system searches the status array for counterpart codes, the desired outcome is that the system identifies all matching counterpart codes that exist in the current status.
💻 Technical Criteria
Given A release code with removal type has been identified
When The system searches the status array for counterpart codes
Then The system identifies all matching counterpart codes that exist in the current status
R-GCX016-cbl-02753 Remove Matching Counterpart Codes from Array
Action Rules
📊 Business Logic Narrative
When the process 'Remove Matching Counterpart Codes from Array' is invoked, and assuming that counterpart codes have been found in the status array, when the system processes the removal of counterpart codes, the desired outcome is that all matching counterpart codes are removed from the status array.
💻 Technical Criteria
Given Counterpart codes have been found in the status array
When The system processes the removal of counterpart codes
Then All matching counterpart codes are removed from the status array
R-GCX016-cbl-02755 Add New Release Status Code to Array
Action Rules
📊 Business Logic Narrative
When the process 'Add New Release Status Code to Array' is invoked, and assuming that counterpart codes have been removed and the array has been compacted, when the system adds the new release status code, the desired outcome is that the release disposition code is added to the status array with appropriate sequencing.
💻 Technical Criteria
Given Counterpart codes have been removed and the array has been compacted
When The system adds the new release status code
Then The release disposition code is added to the status array with appropriate sequencing
R-GCX016-cbl-02759 Update Status Array in Memory
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array in Memory' is invoked, and assuming that all release code processing has been completed, when the system updates the status array in memory, the desired outcome is that all changes to the status array are committed and available for further processing.
💻 Technical Criteria
Given All release code processing has been completed
When The system updates the status array in memory
Then All changes to the status array are committed and available for further processing
R-GCX016-cbl-02760 Log Disposition Code Processing
Process Rules
📊 Business Logic Narrative
When the process 'Log Disposition Code Processing' is invoked, and assuming that status array has been updated in memory, when the system logs the disposition code processing, the desired outcome is that processing details are recorded for audit trail and system tracking.
💻 Technical Criteria
Given Status array has been updated in memory
When The system logs the disposition code processing
Then Processing details are recorded for audit trail and system tracking
R-GCX016-cbl-02761 Generate Error - Code Not Found
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error - Code Not Found', assuming that a disposition code has been submitted for processing, when the disposition code is not found in the dc table, the desired outcome is that an error is generated indicating the code is not valid for processing.
💻 Technical Criteria
EXCLUDING A disposition code has been submitted for processing
When The disposition code is not found in the DC table
Then An error is generated indicating the code is not valid for processing
R-GCX016-cbl-02762 Skip Processing - Not Release with Removal
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Processing - Not Release with Removal', assuming that a disposition code has been found in the dc table, when the code is not a release code with removal type, the desired outcome is that the system skips release with removal processing and continues to next processing step.
💻 Technical Criteria
EXCLUDING A disposition code has been found in the DC table
When The code is not a release code with removal type
Then The system skips release with removal processing and continues to next processing step
R-GCX016-cbl-02763 Information Code with Removal Processing Start
Decision Rules
📊 Business Logic Narrative
When the process 'Information Code with Removal Processing Start' is invoked, and assuming that a disposition code is received for processing, when the disposition code is classified as an information code with removal type, the desired outcome is that the system should identify it as requiring information code with removal processing.
💻 Technical Criteria
Given A disposition code is received for processing
When The disposition code is classified as an information code with removal type
Then The system should identify it as requiring information code with removal processing
R-GCX016-cbl-02765 Compact Status Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Status Array Elements' is invoked, and assuming that counterpart codes have been removed from the status array, when the array contains gaps where codes were removed, the desired outcome is that the system should compact the array by moving remaining elements to fill gaps and maintain sequential order.
💻 Technical Criteria
Given Counterpart codes have been removed from the status array
When The array contains gaps where codes were removed
Then The system should compact the array by moving remaining elements to fill gaps and maintain sequential order
R-GCX016-cbl-02766 Add New Informational Status Code
Action Rules
📊 Business Logic Narrative
When the process 'Add New Informational Status Code' is invoked, and assuming that counterpart codes have been processed and the status array has been compacted, when adding the new informational status code to the array, the desired outcome is that the system should insert the information code with appropriate status information flag set.
💻 Technical Criteria
Given Counterpart codes have been processed AND the status array has been compacted
When Adding the new informational status code to the array
Then The system should insert the information code with appropriate status information flag set
R-GCX016-cbl-02768 Set Status Information Flag
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Information Flag' is invoked, and assuming that an informational disposition code is being added to the status array, when the code is inserted into the array, the desired outcome is that the system should set the status information flag to indicate this is informational only and not an actionable status.
💻 Technical Criteria
Given An informational disposition code is being added to the status array
When The code is inserted into the array
Then The system should set the status information flag to indicate this is informational only and not an actionable status
R-GCX016-cbl-02773 Hold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Code?' is invoked, and assuming that a disposition code is being evaluated from the status array, when the code is checked against hold code criteria, the desired outcome is that the system determines if the code represents a hold condition and sets the hold status flag accordingly.
💻 Technical Criteria
Given A disposition code is being evaluated from the status array
When The code is checked against hold code criteria
Then The system determines if the code represents a hold condition and sets the hold status flag accordingly
R-GCX016-cbl-02777 Release Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Release Code?' is invoked, and assuming that a disposition code is being evaluated from the status array, when the code is checked against release code criteria, the desired outcome is that the system determines if the code represents a release condition and sets the release status flag accordingly.
💻 Technical Criteria
Given A disposition code is being evaluated from the status array
When The code is checked against release code criteria
Then The system determines if the code represents a release condition and sets the release status flag accordingly
R-GCX016-cbl-02778 Set Release Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Status Flag' is invoked, and assuming that a release disposition code has been identified, when the release status is processed, the desired outcome is that the release status flag is set to true and the released quantity is added to the total released quantity counter.
💻 Technical Criteria
Given A release disposition code has been identified
When The release status is processed
Then The release status flag is set to true and the released quantity is added to the total released quantity counter
R-GCX016-cbl-02779 PTT Code?
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Code?' is invoked, and assuming that a disposition code is being evaluated from the status array, when the code is checked against ptt code criteria, the desired outcome is that the system determines if the code represents a ptt condition and sets the ptt status flag accordingly.
💻 Technical Criteria
Given A disposition code is being evaluated from the status array
When The code is checked against PTT code criteria
Then The system determines if the code represents a PTT condition and sets the PTT status flag accordingly
R-GCX016-cbl-02781 Proceed Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed Code?' is invoked, and assuming that a disposition code is being evaluated from the status array, when the code is checked against proceed code criteria, the desired outcome is that the system determines if the code represents a proceed condition and sets the proceed status flag accordingly.
💻 Technical Criteria
Given A disposition code is being evaluated from the status array
When The code is checked against proceed code criteria
Then The system determines if the code represents a proceed condition and sets the proceed status flag accordingly
R-GCX016-cbl-02783 Arrival Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Arrival Code?' is invoked, and assuming that a disposition code is being evaluated from the status array, when the code is checked against arrival code criteria, the desired outcome is that the system determines if the code represents an arrival condition and sets the arrival status flag accordingly.
💻 Technical Criteria
Given A disposition code is being evaluated from the status array
When The code is checked against arrival code criteria
Then The system determines if the code represents an arrival condition and sets the arrival status flag accordingly
R-GCX016-cbl-02787 FDA Hold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold Code?' is invoked, and assuming that a disposition code is being evaluated from the status array, when the code is checked against fda hold code criteria, the desired outcome is that the system determines if the code represents an fda hold condition and sets the fda hold status flag accordingly.
💻 Technical Criteria
Given A disposition code is being evaluated from the status array
When The code is checked against FDA hold code criteria
Then The system determines if the code represents an FDA hold condition and sets the FDA hold status flag accordingly
R-GCX016-cbl-04170 MRL Manual Release Code
Decision Rules
📊 Business Logic Narrative
When the process 'MRL Manual Release Code' is invoked, and assuming that a disposition code of type mrl (manual release) is being processed, when the system evaluates the disposition code type, the desired outcome is that the manual release flag is set and cprs manual release processing is initiated.
💻 Technical Criteria
Given A disposition code of type MRL (Manual Release) is being processed
When The system evaluates the disposition code type
Then The manual release flag is set and CPRS manual release processing is initiated
R-GCX016-cbl-04171 Removal Code Type
Process Rules
📊 Business Logic Narrative
When the process 'Removal Code Type' is invoked, and assuming that a disposition code of removal type is being processed, when the system evaluates the disposition code type, the desired outcome is that the removal flag is set, counterpart codes are removed from the status array, and the code is added to the status array.
💻 Technical Criteria
Given A disposition code of removal type is being processed
When The system evaluates the disposition code type
Then The removal flag is set, counterpart codes are removed from the status array, and the code is added to the status array
R-GCX016-cbl-04173 Release Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Release Code Type' is invoked, and assuming that a disposition code of release type is being processed, when the system evaluates the disposition code type, the desired outcome is that the release flag is set, released status is applied, and the code is added to the status array.
💻 Technical Criteria
Given A disposition code of release type is being processed
When The system evaluates the disposition code type
Then The release flag is set, released status is applied, and the code is added to the status array
R-GCX016-cbl-04174 Status Information Code
Process Rules
📊 Business Logic Narrative
When the process 'Status Information Code' is invoked, and assuming that a disposition code of status information type is being processed, when the system evaluates the disposition code type, the desired outcome is that the information flag is set, status information is added, and the code is added to the status array.
💻 Technical Criteria
Given A disposition code of status information type is being processed
When The system evaluates the disposition code type
Then The information flag is set, status information is added, and the code is added to the status array
R-GCX016-cbl-04175 Standard Disposition Code
Process Rules
📊 Business Logic Narrative
When the process 'Standard Disposition Code' is invoked, and assuming that a standard disposition code is being processed, when the system evaluates the disposition code type, the desired outcome is that the code is added directly to the status array without additional flag setting or special processing.
💻 Technical Criteria
Given A standard disposition code is being processed
When The system evaluates the disposition code type
Then The code is added directly to the status array without additional flag setting or special processing
R-GCX016-cbl-04176 Array Full?
Validation Rules
📊 Business Logic Narrative
When the process 'Array Full?' is invoked, and assuming that a disposition code needs to be added to the status array, when the system checks the array capacity, the desired outcome is that if the array is full, the addition is skipped; if not full, the code is added to the array.
💻 Technical Criteria
Given A disposition code needs to be added to the status array
When The system checks the array capacity
Then If the array is full, the addition is skipped; if not full, the code is added to the array
R-GCX016-cbl-02803 Maintain Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Maintain Hold Status' is invoked, and assuming that a hold disposition code has higher priority than a release code, when the system processes the hold priority condition, the desired outcome is that the existing hold flags remain unchanged and hold status is maintained.
💻 Technical Criteria
Given A hold disposition code has higher priority than a release code
When The system processes the hold priority condition
Then The existing hold flags remain unchanged and hold status is maintained
R-GCX016-cbl-02812 Add Quantity to Release Amount
Computation Rules
📊 Business Logic Narrative
When the process 'Add Quantity to Release Amount' is invoked, and assuming that current release quantity and disposition code quantity with add_quantity action, when the quantity action type is determined to be addition, the desired outcome is that the system adds the disposition code quantity to the current release quantity.
💻 Technical Criteria
Given Current release quantity and disposition code quantity with ADD_QUANTITY action
When The quantity action type is determined to be addition
Then The system adds the disposition code quantity to the current release quantity
R-GCX016-cbl-02813 Subtract Quantity from Release Amount
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract Quantity from Release Amount' is invoked, and assuming that current release quantity and disposition code quantity with subtract_quantity action, when the quantity action type is determined to be subtraction, the desired outcome is that the system subtracts the disposition code quantity from the current release quantity.
💻 Technical Criteria
Given Current release quantity and disposition code quantity with SUBTRACT_QUANTITY action
When The quantity action type is determined to be subtraction
Then The system subtracts the disposition code quantity from the current release quantity
R-GCX016-cbl-02814 Result Would Be Negative?
Validation Rules
📊 Business Logic Narrative
When the process 'Result Would Be Negative?' is invoked, and assuming that a subtraction operation has been performed on release quantity, when the result of the subtraction would be negative, the desired outcome is that the system identifies that the result would be negative and requires correction.
💻 Technical Criteria
Given A subtraction operation has been performed on release quantity
When The result of the subtraction would be negative
Then The system identifies that the result would be negative and requires correction
R-GCX016-cbl-02821 End Release Quantity Calculation
Process Rules
📊 Business Logic Narrative
When the process 'End Release Quantity Calculation' is invoked, and assuming that all release quantity calculations and validations are complete, when the release quantity has been successfully stored in the status array, the desired outcome is that the system completes the release quantity calculation process.
💻 Technical Criteria
Given All release quantity calculations and validations are complete
When The release quantity has been successfully stored in the status array
Then The system completes the release quantity calculation process
R-GCX016-cbl-02836 Lookup Disposition Code in DC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup Disposition Code in DC Table' is invoked, and assuming that a disposition code is extracted from x4 segment, when the system looks up the disposition code in the dc table, the desired outcome is that the system retrieves disposition code details and sets found flag if code exists in table.
💻 Technical Criteria
Given A disposition code is extracted from X4 segment
When The system looks up the disposition code in the DC table
Then The system retrieves disposition code details and sets found flag if code exists in table
R-GCX016-cbl-02837 Disposition Code Found in System Tables?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Disposition Code Found in System Tables?', assuming that a disposition code lookup has been performed against the dc table, when the disposition code is not found in the system tables, the desired outcome is that the system sets error flag indicating code not found and prepares for error handling.
💻 Technical Criteria
EXCLUDING A disposition code lookup has been performed against the DC table
When The disposition code is not found in the system tables
Then The system sets error flag indicating code not found and prepares for error handling
R-GCX016-cbl-02838 Proceed with Valid Disposition Code
Process Rules
📊 Business Logic Narrative
When the process 'Proceed with Valid Disposition Code' is invoked, and assuming that a disposition code has been found in the dc table, when the system validates the disposition code successfully, the desired outcome is that the system retrieves counterpart code information and processing instructions for normal processing flow.
💻 Technical Criteria
Given A disposition code has been found in the DC table
When The system validates the disposition code successfully
Then The system retrieves counterpart code information and processing instructions for normal processing flow
R-GCX016-cbl-02840 Log Disposition Code Error Details
Action Rules
📊 Business Logic Narrative
When the process 'Log Disposition Code Error Details' is invoked, and assuming that an invalid disposition code error has been detected and message generated, when the system needs to record the error for audit purposes, the desired outcome is that the system logs the disposition code error details including the invalid code and context information.
💻 Technical Criteria
Given An invalid disposition code error has been detected and message generated
When The system needs to record the error for audit purposes
Then The system logs the disposition code error details including the invalid code and context information
R-GCX016-cbl-02841 Continue Processing with Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing with Error Status' is invoked, and assuming that a disposition code error has been logged and flagged, when the system needs to continue with the overall processing workflow, the desired outcome is that the system continues processing while maintaining the error status for downstream handling.
💻 Technical Criteria
Given A disposition code error has been logged and flagged
When The system needs to continue with the overall processing workflow
Then The system continues processing while maintaining the error status for downstream handling
R-GCX016-cbl-02842 Check Current Array Count
Validation Rules
📊 Business Logic Narrative
When the process 'Check Current Array Count' is invoked, and assuming that a new disposition code needs to be added to the status array, when the system checks the current array count, the desired outcome is that the current number of status entries in the array is determined and validated.
💻 Technical Criteria
Given A new disposition code needs to be added to the status array
When The system checks the current array count
Then The current number of status entries in the array is determined and validated
R-GCX016-cbl-02843 Array Count < Maximum Limit?
Validation Rules
📊 Business Logic Narrative
When the process 'Array Count < Maximum Limit?' is invoked, and assuming that the current array count has been determined, when the array count is compared against the maximum allowed limit, the desired outcome is that if array count is less than maximum limit, proceed to space calculation, otherwise trigger overflow protection.
💻 Technical Criteria
Given The current array count has been determined
When The array count is compared against the maximum allowed limit
Then If array count is less than maximum limit, proceed to space calculation, otherwise trigger overflow protection
R-GCX016-cbl-02844 Calculate Available Space
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Available Space' is invoked, and assuming that the array count is below maximum limit, when the system calculates available space for new disposition code entry, the desired outcome is that the remaining capacity is determined based on maximum limit minus current count.
💻 Technical Criteria
Given The array count is below maximum limit
When The system calculates available space for new disposition code entry
Then The remaining capacity is determined based on maximum limit minus current count
R-GCX016-cbl-02845 Space Available for New Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Space Available for New Code?' is invoked, and assuming that available space has been calculated, when the system checks if space is available for the new disposition code, the desired outcome is that if space is available, proceed to add code, otherwise trigger overflow warning.
💻 Technical Criteria
Given Available space has been calculated
When The system checks if space is available for the new disposition code
Then If space is available, proceed to add code, otherwise trigger overflow warning
R-GCX016-cbl-02846 Add Disposition Code to Array
Action Rules
📊 Business Logic Narrative
When the process 'Add Disposition Code to Array' is invoked, and assuming that space is available in the status array, when a new disposition code is added to the array, the desired outcome is that the disposition code is stored in the next available array position.
💻 Technical Criteria
Given Space is available in the status array
When A new disposition code is added to the array
Then The disposition code is stored in the next available array position
R-GCX016-cbl-02847 Update Array Count
Action Rules
📊 Business Logic Narrative
When the process 'Update Array Count' is invoked, and assuming that a disposition code has been successfully added to the array, when the array count is updated, the desired outcome is that the count is incremented by one to reflect the new entry.
💻 Technical Criteria
Given A disposition code has been successfully added to the array
When The array count is updated
Then The count is incremented by one to reflect the new entry
R-GCX016-cbl-02848 Log Array Overflow Warning
Action Rules
📊 Business Logic Narrative
When the process 'Log Array Overflow Warning' is invoked, and assuming that the status array has reached maximum capacity or insufficient space exists, when an overflow condition is detected, the desired outcome is that a warning message is logged indicating array overflow condition.
💻 Technical Criteria
Given The status array has reached maximum capacity or insufficient space exists
When An overflow condition is detected
Then A warning message is logged indicating array overflow condition
R-GCX016-cbl-02849 Skip Adding New Code
Process Rules
📊 Business Logic Narrative
When the process 'Skip Adding New Code' is invoked, and assuming that array overflow warning has been logged, when the system attempts to add a new disposition code, the desired outcome is that the addition operation is skipped to prevent array corruption.
💻 Technical Criteria
Given Array overflow warning has been logged
When The system attempts to add a new disposition code
Then The addition operation is skipped to prevent array corruption
R-GCX016-cbl-02850 Generate Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Error Message' is invoked, and assuming that new code addition has been skipped due to overflow, when an error message is generated, the desired outcome is that the message indicates that disposition code could not be added due to array capacity limits.
💻 Technical Criteria
Given New code addition has been skipped due to overflow
When An error message is generated
Then The message indicates that disposition code could not be added due to array capacity limits
R-GCX016-cbl-02851 Set Overflow Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Overflow Flag' is invoked, and assuming that an error message has been generated for array overflow, when the overflow flag is set, the desired outcome is that the flag indicates that subsequent processing should handle overflow condition.
💻 Technical Criteria
Given An error message has been generated for array overflow
When The overflow flag is set
Then The flag indicates that subsequent processing should handle overflow condition
R-GCX016-cbl-02852 Continue with Existing Codes
Process Rules
📊 Business Logic Narrative
When the process 'Continue with Existing Codes' is invoked, and assuming that overflow flag has been set and new code addition was skipped, when processing continues, the desired outcome is that the system proceeds using only the existing disposition codes in the array.
💻 Technical Criteria
Given Overflow flag has been set and new code addition was skipped
When Processing continues
Then The system proceeds using only the existing disposition codes in the array
R-GCX016-cbl-02854 Code Already Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Code Already Exists?' is invoked, and assuming that a disposition code to be processed and a populated status array, when the system iterates through each element in the status array, the desired outcome is that compare the incoming disposition code with each existing code in the array to determine if it already exists.
💻 Technical Criteria
Given A disposition code to be processed and a populated status array
When The system iterates through each element in the status array
Then Compare the incoming disposition code with each existing code in the array to determine if it already exists
R-GCX016-cbl-02855 Entry Numbers Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Numbers Match?' is invoked, and assuming that a disposition code that already exists in the status array, when the system finds a matching disposition code, the desired outcome is that compare the entry numbers between the incoming code and existing code to verify they match.
💻 Technical Criteria
Given A disposition code that already exists in the status array
When The system finds a matching disposition code
Then Compare the entry numbers between the incoming code and existing code to verify they match
R-GCX016-cbl-02856 Quantities Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Quantities Match?' is invoked, and assuming that a disposition code and entry number that match an existing array element, when the system has confirmed disposition code and entry number matches, the desired outcome is that compare the quantities between the incoming code and existing code to determine if this is a complete duplicate.
💻 Technical Criteria
Given A disposition code and entry number that match an existing array element
When The system has confirmed disposition code and entry number matches
Then Compare the quantities between the incoming code and existing code to determine if this is a complete duplicate
R-GCX016-cbl-02857 Skip Processing - Prevent Duplicate
Process Rules
📊 Business Logic Narrative
When the process 'Skip Processing - Prevent Duplicate' is invoked, and assuming that a disposition code that completely matches an existing array element (code, entry number, and quantity), when the system has confirmed all matching criteria are met, the desired outcome is that skip processing of the disposition code to prevent duplicate entries and maintain data integrity.
💻 Technical Criteria
Given A disposition code that completely matches an existing array element (code, entry number, and quantity)
When The system has confirmed all matching criteria are met
Then Skip processing of the disposition code to prevent duplicate entries and maintain data integrity
R-GCX016-cbl-02858 Add New Code to Array
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add New Code to Array', assuming that a disposition code that does not exist in the status array or does not completely match existing entries, when the system has completed duplicate detection without finding a complete match, the desired outcome is that add the new disposition code with its associated entry number and quantity to the status array.
💻 Technical Criteria
EXCLUDING A disposition code that does not exist in the status array or does not completely match existing entries
When The system has completed duplicate detection without finding a complete match
Then Add the new disposition code with its associated entry number and quantity to the status array
R-GCX016-cbl-02859 Update Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Update Status Array' is invoked, and assuming that a new disposition code has been added to the status array, when the system has successfully added the new code, the desired outcome is that update the status array structure and maintain proper indexing for future processing.
💻 Technical Criteria
Given A new disposition code has been added to the status array
When The system has successfully added the new code
Then Update the status array structure and maintain proper indexing for future processing
R-GCX016-cbl-02860 Get Counterpart Code from DC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Get Counterpart Code from DC Table' is invoked, and assuming that a disposition code is being processed for counterpart removal, when the system looks up the counterpart code in the dc table, the desired outcome is that if counterpart code exists in dc table, proceed with counterpart processing, otherwise skip counterpart removal.
💻 Technical Criteria
Given A disposition code is being processed for counterpart removal
When The system looks up the counterpart code in the DC table
Then If counterpart code exists in DC table, proceed with counterpart processing, otherwise skip counterpart removal
R-GCX016-cbl-02861 Search Status Array for Matching Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Matching Codes' is invoked, and assuming that a valid counterpart code exists from the dc table, when the system searches the status array for matching disposition codes, the desired outcome is that if matching codes are found in the status array, proceed with match validation, otherwise no action is required.
💻 Technical Criteria
Given A valid counterpart code exists from the DC table
When The system searches the status array for matching disposition codes
Then If matching codes are found in the status array, proceed with match validation, otherwise no action is required
R-GCX016-cbl-02862 Check Entry Number Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entry Number Match' is invoked, and assuming that a counterpart code match is found in the status array, when the system compares entry numbers between current disposition and counterpart code, the desired outcome is that if entry numbers match, proceed to quantity validation, otherwise check status info match.
💻 Technical Criteria
Given A counterpart code match is found in the status array
When The system compares entry numbers between current disposition and counterpart code
Then If entry numbers match, proceed to quantity validation, otherwise check status info match
R-GCX016-cbl-02863 Check Quantity Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Quantity Match' is invoked, and assuming that entry numbers match between current disposition and counterpart code, when the system compares quantities between current disposition and counterpart code, the desired outcome is that if quantities match, remove the counterpart code from array, otherwise check status info match.
💻 Technical Criteria
Given Entry numbers match between current disposition and counterpart code
When The system compares quantities between current disposition and counterpart code
Then If quantities match, remove the counterpart code from array, otherwise check status info match
R-GCX016-cbl-02864 Check Status Info Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Status Info Match' is invoked, and assuming that either entry numbers don't match or quantities don't match between current disposition and counterpart code, when the system compares status info between current disposition and counterpart code, the desired outcome is that if status info matches, remove the counterpart code from array, otherwise continue searching for more matches.
💻 Technical Criteria
Given Either entry numbers don't match or quantities don't match between current disposition and counterpart code
When The system compares status info between current disposition and counterpart code
Then If status info matches, remove the counterpart code from array, otherwise continue searching for more matches
R-GCX016-cbl-02865 Remove Counterpart Code from Array
Action Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Code from Array' is invoked, and assuming that a counterpart code meets removal criteria (matching entry number and quantity, or matching status info), when the system removes the counterpart code from the status array, the desired outcome is that the counterpart code is deleted from the array and array elements are compacted.
💻 Technical Criteria
Given A counterpart code meets removal criteria (matching entry number and quantity, or matching status info)
When The system removes the counterpart code from the status array
Then The counterpart code is deleted from the array and array elements are compacted
R-GCX016-cbl-02866 Compact Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Array Elements' is invoked, and assuming that a counterpart code has been removed from the status array, when the system compacts the array elements, the desired outcome is that all remaining array elements are shifted to eliminate gaps and maintain array integrity.
💻 Technical Criteria
Given A counterpart code has been removed from the status array
When The system compacts the array elements
Then All remaining array elements are shifted to eliminate gaps and maintain array integrity
R-GCX016-cbl-02867 Continue Search for More Matches
Process Rules
📊 Business Logic Narrative
When the process 'Continue Search for More Matches' is invoked, and assuming that a counterpart code has been processed (either removed or skipped), when the system checks if more elements exist in the status array, the desired outcome is that if more elements exist, continue searching for additional counterpart matches, otherwise update array element count.
💻 Technical Criteria
Given A counterpart code has been processed (either removed or skipped)
When The system checks if more elements exist in the status array
Then If more elements exist, continue searching for additional counterpart matches, otherwise update array element count
R-GCX016-cbl-02868 Update Array Element Count
Process Rules
📊 Business Logic Narrative
When the process 'Update Array Element Count' is invoked, and assuming that all counterpart code processing is complete for the status array, when the system updates the array element count, the desired outcome is that the array element count reflects the current number of valid elements after removals.
💻 Technical Criteria
Given All counterpart code processing is complete for the status array
When The system updates the array element count
Then The array element count reflects the current number of valid elements after removals
R-GCX016-cbl-02869 Validate ARL Disposition Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate ARL Disposition Code' is invoked, and assuming that an arl auto release request is received with a disposition code, when the system validates the disposition code against the dc disposition code table, the desired outcome is that if the code is found and marked as arl type, continue processing, otherwise skip auto release processing.
💻 Technical Criteria
Given An ARL auto release request is received with a disposition code
When The system validates the disposition code against the DC disposition code table
Then If the code is found and marked as ARL type, continue processing, otherwise skip auto release processing
R-GCX016-cbl-02872 Re-analyze Existing Disposition Codes
Decision Rules
📊 Business Logic Narrative
When the process 'Re-analyze Existing Disposition Codes' is invoked, and assuming that the current array state has been preserved, when the system re-analyzes existing disposition codes in the s09a array, the desired outcome is that evaluate each existing disposition code for hold, release, and status conditions without inserting new arl codes.
💻 Technical Criteria
Given The current array state has been preserved
When The system re-analyzes existing disposition codes in the S09A array
Then Evaluate each existing disposition code for hold, release, and status conditions without inserting new ARL codes
R-GCX016-cbl-02877 All Release Conditions Met?
Decision Rules
📊 Business Logic Narrative
When the process 'All Release Conditions Met?' is invoked, and assuming that all individual release conditions have been evaluated (holds, ptt, quantities), when the system determines overall auto release eligibility, the desired outcome is that if no holds exist and ptt status is valid and quantities are appropriate, approve auto release, otherwise deny auto release.
💻 Technical Criteria
Given All individual release conditions have been evaluated (holds, PTT, quantities)
When The system determines overall auto release eligibility
Then If no holds exist AND PTT status is valid AND quantities are appropriate, approve auto release, otherwise deny auto release
R-GCX016-cbl-02881 Log Auto Release Decision
Process Rules
📊 Business Logic Narrative
When the process 'Log Auto Release Decision' is invoked, and assuming that release processing has been triggered, when the system logs the auto release decision, the desired outcome is that record auto release approval with timestamp, conditions evaluated, and decision rationale in system logs.
💻 Technical Criteria
Given Release processing has been triggered
When The system logs the auto release decision
Then Record auto release approval with timestamp, conditions evaluated, and decision rationale in system logs
R-GCX016-cbl-02882 Maintain Current Hold Status
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Maintain Current Hold Status', assuming that auto release conditions are not met (holds exist, ptt invalid, or quantity issues), when the system maintains current hold status, the desired outcome is that preserve existing hold conditions and status array without modification, preventing auto release.
💻 Technical Criteria
EXCLUDING Auto release conditions are not met (holds exist, PTT invalid, or quantity issues)
When The system maintains current hold status
Then Preserve existing hold conditions and status array without modification, preventing auto release
R-GCX016-cbl-02883 Log Auto Release Denial
Process Rules
📊 Business Logic Narrative
When the process 'Log Auto Release Denial' is invoked, and assuming that auto release has been denied due to unmet conditions, when the system logs the auto release denial, the desired outcome is that record auto release denial with timestamp, specific blocking conditions (holds, ptt, quantities), and maintain audit trail.
💻 Technical Criteria
Given Auto release has been denied due to unmet conditions
When The system logs the auto release denial
Then Record auto release denial with timestamp, specific blocking conditions (holds, PTT, quantities), and maintain audit trail
R-GCX016-cbl-02899 Update Array Element Count
Validation Rules
📊 Business Logic Narrative
When the process 'Update Array Element Count' is invoked, and assuming that disposition codes have been removed from the status array, when the array compaction is complete, the desired outcome is that the system updates the array element count to reflect the current number of active status entries.
💻 Technical Criteria
Given Disposition codes have been removed from the status array
When The array compaction is complete
Then The system updates the array element count to reflect the current number of active status entries
R-GCX016-cbl-02900 Identify Counterpart Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Identify Counterpart Codes' is invoked, and assuming that a disposition code removal request is being processed, when the system needs to identify related codes for removal, the desired outcome is that the system identifies counterpart codes based on the disposition code table configuration.
💻 Technical Criteria
Given A disposition code removal request is being processed
When The system needs to identify related codes for removal
Then The system identifies counterpart codes based on the disposition code table configuration
R-GCX016-cbl-02901 Matches Entry Number?
Validation Rules
📊 Business Logic Narrative
When the process 'Matches Entry Number?' is invoked, and assuming that a disposition code is found in the status array and entry number matching is required, when the system compares the entry numbers, the desired outcome is that the code is eligible for removal if the entry numbers match or no entry number validation is required.
💻 Technical Criteria
Given A disposition code is found in the status array AND entry number matching is required
When The system compares the entry numbers
Then The code is eligible for removal IF the entry numbers match OR no entry number validation is required
R-GCX016-cbl-02902 Matches Quantity?
Validation Rules
📊 Business Logic Narrative
When the process 'Matches Quantity?' is invoked, and assuming that a disposition code is found in the status array and quantity matching is required, when the system compares the quantities, the desired outcome is that the code is eligible for removal if the quantities match or no quantity validation is required.
💻 Technical Criteria
Given A disposition code is found in the status array AND quantity matching is required
When The system compares the quantities
Then The code is eligible for removal IF the quantities match OR no quantity validation is required
R-GCX016-cbl-02903 Matches Status Info?
Validation Rules
📊 Business Logic Narrative
When the process 'Matches Status Info?' is invoked, and assuming that a disposition code is found in the status array and status information matching is required, when the system compares the status information, the desired outcome is that the code is eligible for removal if the status information matches or no status information validation is required.
💻 Technical Criteria
Given A disposition code is found in the status array AND status information matching is required
When The system compares the status information
Then The code is eligible for removal IF the status information matches OR no status information validation is required
R-GCX016-cbl-02904 Replace S09 Segments in Database
Action Rules
📊 Business Logic Narrative
When the process 'Replace S09 Segments in Database' is invoked, and assuming that disposition codes have been removed from the status array and the array has been compacted, when the system needs to persist the changes, the desired outcome is that the system replaces the s09 segments in the database with the updated status array information.
💻 Technical Criteria
Given Disposition codes have been removed from the status array AND the array has been compacted
When The system needs to persist the changes
Then The system replaces the S09 segments in the database with the updated status array information
R-GCX016-cbl-02909 Counterpart Code Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Counterpart Code Found?' is invoked, and assuming that the system has searched the status array for counterpart codes, when the search process completes, the desired outcome is that the system determines whether any counterpart codes were found that require removal.
💻 Technical Criteria
Given The system has searched the status array for counterpart codes
When The search process completes
Then The system determines whether any counterpart codes were found that require removal
R-GCX016-cbl-02910 Remove Counterpart Code from Array
Action Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Code from Array' is invoked, and assuming that counterpart disposition codes have been found in the status array, when the system processes the removal request, the desired outcome is that the system removes the counterpart codes from the status array and marks the positions for compaction.
💻 Technical Criteria
Given Counterpart disposition codes have been found in the status array
When The system processes the removal request
Then The system removes the counterpart codes from the status array and marks the positions for compaction
R-GCX016-cbl-02911 Compact Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Compact Status Array' is invoked, and assuming that counterpart codes have been removed from the status array creating gaps, when the system performs array compaction, the desired outcome is that the system shifts remaining status entries to fill gaps and maintains proper array structure.
💻 Technical Criteria
Given Counterpart codes have been removed from the status array creating gaps
When The system performs array compaction
Then The system shifts remaining status entries to fill gaps and maintains proper array structure
R-GCX016-cbl-02912 More Counterpart Codes?
Decision Rules
📊 Business Logic Narrative
When the process 'More Counterpart Codes?' is invoked, and assuming that one or more counterpart codes have been processed for removal, when the system checks for remaining counterpart codes in the array, the desired outcome is that the system determines whether additional counterpart codes exist that need to be removed.
💻 Technical Criteria
Given One or more counterpart codes have been processed for removal
When The system checks for remaining counterpart codes in the array
Then The system determines whether additional counterpart codes exist that need to be removed
R-GCX016-cbl-02913 Add Release Status Code
Action Rules
📊 Business Logic Narrative
When the process 'Add Release Status Code' is invoked, and assuming that counterpart codes have been removed or no counterpart removal was required, when the system adds the release status code, the desired outcome is that the system inserts the new disposition code into the next available position in the status array.
💻 Technical Criteria
Given Counterpart codes have been removed or no counterpart removal was required
When The system adds the release status code
Then The system inserts the new disposition code into the next available position in the status array
R-GCX016-cbl-02914 Release Affects Quantities?
Decision Rules
📊 Business Logic Narrative
When the process 'Release Affects Quantities?' is invoked, and assuming that a release disposition code has been added to the status array, when the system evaluates the quantity impact configuration for the disposition code, the desired outcome is that the system determines whether release quantities should be updated based on the disposition code type.
💻 Technical Criteria
Given A release disposition code has been added to the status array
When The system evaluates the quantity impact configuration for the disposition code
Then The system determines whether release quantities should be updated based on the disposition code type
R-GCX016-cbl-02915 Update Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Update Release Quantities' is invoked, and assuming that a release disposition code affects quantities and quantity information is available, when the system processes the quantity update, the desired outcome is that the system adds or subtracts the specified quantity from the current release quantity ensuring the result is not negative.
💻 Technical Criteria
Given A release disposition code affects quantities and quantity information is available
When The system processes the quantity update
Then The system adds or subtracts the specified quantity from the current release quantity ensuring the result is not negative
R-GCX016-cbl-02916 Set Released Flag in Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Set Released Flag in Status Array' is invoked, and assuming that a release disposition code has been added to the status array, when the system sets the release flags, the desired outcome is that the system marks the status entry with released flag and any additional release indicators required by the disposition code.
💻 Technical Criteria
Given A release disposition code has been added to the status array
When The system sets the release flags
Then The system marks the status entry with released flag and any additional release indicators required by the disposition code
R-GCX016-cbl-02918 Skip Counterpart Removal
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Counterpart Removal', assuming that a disposition code does not require counterpart removal, when the system processes the release request, the desired outcome is that the system proceeds directly to adding the release status code without searching for or removing counterpart codes.
💻 Technical Criteria
EXCLUDING A disposition code does not require counterpart removal
When The system processes the release request
Then The system proceeds directly to adding the release status code without searching for or removing counterpart codes
R-GCX016-cbl-02919 Status Array Updated Successfully
Validation Rules
📊 Business Logic Narrative
When the process 'Status Array Updated Successfully' is invoked, and assuming that all required status array modifications have been completed, when the system finalizes the update process, the desired outcome is that the system confirms successful completion and the status array reflects the new release status with any counterpart codes removed.
💻 Technical Criteria
Given All required status array modifications have been completed
When The system finalizes the update process
Then The system confirms successful completion and the status array reflects the new release status with any counterpart codes removed
R-GCX016-cbl-02920 Check Disposition Code Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code Type' is invoked, and assuming that a disposition code is received for processing, when the system checks the disposition code type in the dc table, the desired outcome is that the system identifies if it is an information code with removal flag set.
💻 Technical Criteria
Given A disposition code is received for processing
When The system checks the disposition code type in the DC table
Then The system identifies if it is an information code with removal flag set
R-GCX016-cbl-02928 Check Current Array Size
Validation Rules
📊 Business Logic Narrative
When the process 'Check Current Array Size' is invoked, and assuming that a status array processing request is received and the system needs to add a new disposition code, when the system checks the current array size against processing requirements, the desired outcome is that the current array size is determined and made available for capacity validation.
💻 Technical Criteria
Given A status array processing request is received and the system needs to add a new disposition code
When The system checks the current array size against processing requirements
Then The current array size is determined and made available for capacity validation
R-GCX016-cbl-02929 Get Maximum Array Limit
Policy Rules
📊 Business Logic Narrative
When the process 'Get Maximum Array Limit' is invoked, and assuming that the system is processing status array operations, when a capacity check is required for the status array, the desired outcome is that the maximum allowable array limit is retrieved and used for validation.
💻 Technical Criteria
Given The system is processing status array operations
When A capacity check is required for the status array
Then The maximum allowable array limit is retrieved and used for validation
R-GCX016-cbl-02930 Array Size < Maximum?
Decision Rules
📊 Business Logic Narrative
When the process 'Array Size < Maximum?' is invoked, and assuming that the current array size and maximum array limit are known, when the system evaluates if there is capacity for additional status entries, the desired outcome is that if current array size is less than maximum limit, allow new code addition, otherwise prevent array overflow.
💻 Technical Criteria
Given The current array size and maximum array limit are known
When The system evaluates if there is capacity for additional status entries
Then If current array size is less than maximum limit, allow new code addition, otherwise prevent array overflow
R-GCX016-cbl-02931 Allow New Code Addition
Authorization Rules
📊 Business Logic Narrative
When the process 'Allow New Code Addition' is invoked, and assuming that the status array has capacity available (current size is less than maximum limit), when a new disposition code needs to be added to the array, the desired outcome is that the system allows the disposition code to be processed and added to the status array.
💻 Technical Criteria
Given The status array has capacity available (current size is less than maximum limit)
When A new disposition code needs to be added to the array
Then The system allows the disposition code to be processed and added to the status array
R-GCX016-cbl-02932 Prevent Array Overflow
Validation Rules
📊 Business Logic Narrative
When the process 'Prevent Array Overflow' is invoked, and assuming that the status array has reached its maximum capacity (current size equals or exceeds maximum limit), when a request is made to add a new disposition code, the desired outcome is that the system prevents the addition to avoid array overflow conditions.
💻 Technical Criteria
Given The status array has reached its maximum capacity (current size equals or exceeds maximum limit)
When A request is made to add a new disposition code
Then The system prevents the addition to avoid array overflow conditions
R-GCX016-cbl-02933 Log Overflow Warning
Process Rules
📊 Business Logic Narrative
When the process 'Log Overflow Warning' is invoked, and assuming that an array overflow condition has been prevented, when the system needs to notify operators of the capacity issue, the desired outcome is that a warning message is logged indicating the status array overflow condition.
💻 Technical Criteria
Given An array overflow condition has been prevented
When The system needs to notify operators of the capacity issue
Then A warning message is logged indicating the status array overflow condition
R-GCX016-cbl-02934 Return Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Error Status' is invoked, and assuming that an array overflow warning has been logged, when the system needs to respond to the original processing request, the desired outcome is that an error status is returned indicating the processing could not be completed due to capacity constraints.
💻 Technical Criteria
Given An array overflow warning has been logged
When The system needs to respond to the original processing request
Then An error status is returned indicating the processing could not be completed due to capacity constraints
R-GCX016-cbl-02936 Update Array Counter
Process Rules
📊 Business Logic Narrative
When the process 'Update Array Counter' is invoked, and assuming that a disposition code has been successfully processed and added to the status array, when the array counter needs to be updated, the desired outcome is that the array counter is incremented to reflect the new entry count.
💻 Technical Criteria
Given A disposition code has been successfully processed and added to the status array
When The array counter needs to be updated
Then The array counter is incremented to reflect the new entry count
R-GCX016-cbl-02937 Reject Code Addition
Authorization Rules
📊 Business Logic Narrative
When the process 'Reject Code Addition' is invoked, and assuming that an error status has been returned due to array overflow conditions, when the disposition code addition request is finalized, the desired outcome is that the code addition is rejected and no changes are made to the status array.
💻 Technical Criteria
Given An error status has been returned due to array overflow conditions
When The disposition code addition request is finalized
Then The code addition is rejected and no changes are made to the status array
R-GCX016-cbl-02943 Format Quantity Action Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Quantity Action Display' is invoked, and assuming that a completed quantity action with updated release quantities, when the system prepares user notification messages, the desired outcome is that the system formats the quantity action details for clear display showing before and after quantities.
💻 Technical Criteria
Given A completed quantity action with updated release quantities
When The system prepares user notification messages
Then The system formats the quantity action details for clear display showing before and after quantities
R-GCX016-cbl-02952 Include Disposition Code Details
Process Rules
📊 Business Logic Narrative
When the process 'Include Disposition Code Details' is invoked, and assuming that hold message formatting is in progress, when the system adds disposition code details to the message, the desired outcome is that disposition code and its description are included in the hold message.
💻 Technical Criteria
Given Hold message formatting is in progress
When The system adds disposition code details to the message
Then Disposition code and its description are included in the hold message
R-GCX016-cbl-02965 Hold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Code?' is invoked, and assuming that a disposition code is being analyzed, when the system checks if the code indicates a hold status, the desired outcome is that if the code represents a hold condition, set hold status flag to true.
💻 Technical Criteria
Given A disposition code is being analyzed
When The system checks if the code indicates a hold status
Then If the code represents a hold condition, set hold status flag to true
R-GCX016-cbl-02966 Set Hold Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Status Flag' is invoked, and assuming that a hold disposition code has been identified, when the system processes the hold code, the desired outcome is that the hold status flag is set to true and hold processing continues.
💻 Technical Criteria
Given A hold disposition code has been identified
When The system processes the hold code
Then The hold status flag is set to true and hold processing continues
R-GCX016-cbl-02970 Release Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Release Code?' is invoked, and assuming that a disposition code is being analyzed, when the system checks if the code indicates a release status, the desired outcome is that if the code represents a release condition, proceed with release processing.
💻 Technical Criteria
Given A disposition code is being analyzed
When The system checks if the code indicates a release status
Then If the code represents a release condition, proceed with release processing
R-GCX016-cbl-02971 Set Release Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Status Flag' is invoked, and assuming that a release disposition code has been identified, when the system processes the release code, the desired outcome is that the release status flag is set to true.
💻 Technical Criteria
Given A release disposition code has been identified
When The system processes the release code
Then The release status flag is set to true
R-GCX016-cbl-02972 Calculate Released Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Released Quantity' is invoked, and assuming that a release status code with associated quantity exists, when the system processes the release quantity, the desired outcome is that the released quantity is added to the total released quantity counter.
💻 Technical Criteria
Given A release status code with associated quantity exists
When The system processes the release quantity
Then The released quantity is added to the total released quantity counter
R-GCX016-cbl-02973 PTT Code?
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Code?' is invoked, and assuming that a disposition code is being analyzed, when the system checks if the code indicates ptt status, the desired outcome is that if the code represents ptt condition, proceed with ptt processing.
💻 Technical Criteria
Given A disposition code is being analyzed
When The system checks if the code indicates PTT status
Then If the code represents PTT condition, proceed with PTT processing
R-GCX016-cbl-02974 Set PTT Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set PTT Flag' is invoked, and assuming that a ptt disposition code has been identified, when the system processes the ptt code, the desired outcome is that the ptt flag is set to true.
💻 Technical Criteria
Given A PTT disposition code has been identified
When The system processes the PTT code
Then The PTT flag is set to true
R-GCX016-cbl-02975 Validate PTT Quantity
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PTT Quantity' is invoked, and assuming that a ptt status code with associated quantity exists, when the system validates ptt quantity requirements, the desired outcome is that the ptt quantity is verified against business rules and thresholds.
💻 Technical Criteria
Given A PTT status code with associated quantity exists
When The system validates PTT quantity requirements
Then The PTT quantity is verified against business rules and thresholds
R-GCX016-cbl-02976 Proceed Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed Code?' is invoked, and assuming that a disposition code is being analyzed, when the system checks if the code indicates proceed status, the desired outcome is that if the code represents proceed condition, proceed with proceed processing.
💻 Technical Criteria
Given A disposition code is being analyzed
When The system checks if the code indicates proceed status
Then If the code represents proceed condition, proceed with proceed processing
R-GCX016-cbl-02977 Set Proceed Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Proceed Flag' is invoked, and assuming that a proceed disposition code has been identified, when the system processes the proceed code, the desired outcome is that the proceed flag is set to true.
💻 Technical Criteria
Given A proceed disposition code has been identified
When The system processes the proceed code
Then The proceed flag is set to true
R-GCX016-cbl-02979 Arrival Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Arrival Code?' is invoked, and assuming that a disposition code is being analyzed, when the system checks if the code indicates arrival status, the desired outcome is that if the code represents arrival condition, proceed with arrival processing.
💻 Technical Criteria
Given A disposition code is being analyzed
When The system checks if the code indicates arrival status
Then If the code represents arrival condition, proceed with arrival processing
R-GCX016-cbl-02980 Set Arrival Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Arrival Flag' is invoked, and assuming that an arrival disposition code has been identified, when the system processes the arrival code, the desired outcome is that the arrival flag is set to true.
💻 Technical Criteria
Given An arrival disposition code has been identified
When The system processes the arrival code
Then The arrival flag is set to true
R-GCX016-cbl-02983 FDA Hold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold Code?' is invoked, and assuming that a disposition code is being analyzed, when the system checks if the code indicates fda hold status, the desired outcome is that if the code represents fda hold condition, proceed with fda hold processing.
💻 Technical Criteria
Given A disposition code is being analyzed
When The system checks if the code indicates FDA hold status
Then If the code represents FDA hold condition, proceed with FDA hold processing
R-GCX016-cbl-02986 More Array Elements?
Decision Rules
📊 Business Logic Narrative
When the process 'More Array Elements?' is invoked, and assuming that current array element has been processed, when the system checks for remaining elements, the desired outcome is that if more elements exist, continue scanning, otherwise proceed to final status determination.
💻 Technical Criteria
Given Current array element has been processed
When The system checks for remaining elements
Then If more elements exist, continue scanning, otherwise proceed to final status determination
R-GCX016-cbl-02989 Set Manual Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Manual Release Flag' is invoked, and assuming that manual release conditions have been identified, when the system processes manual release requirements, the desired outcome is that the manual release flag is set to true.
💻 Technical Criteria
Given Manual release conditions have been identified
When The system processes manual release requirements
Then The manual release flag is set to true
R-GCX016-cbl-02990 Partial Release?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Release?' is invoked, and assuming that release quantities and total quantities are available, when the system compares released quantity to total quantity, the desired outcome is that if released quantity is less than total quantity, partial release status is identified.
💻 Technical Criteria
Given Release quantities and total quantities are available
When The system compares released quantity to total quantity
Then If released quantity is less than total quantity, partial release status is identified
R-GCX016-cbl-02992 Full Release?
Decision Rules
📊 Business Logic Narrative
When the process 'Full Release?' is invoked, and assuming that release quantities and total quantities are available, when the system compares released quantity to total quantity, the desired outcome is that if released quantity equals or exceeds total quantity, full release status is identified.
💻 Technical Criteria
Given Release quantities and total quantities are available
When The system compares released quantity to total quantity
Then If released quantity equals or exceeds total quantity, full release status is identified
R-GCX016-cbl-02995 Set Unrelease Notification Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Unrelease Notification Flag' is invoked, and assuming that unrelease condition has been detected, when the system processes unrelease conditions, the desired outcome is that the unrelease notification flag is set to trigger appropriate notifications.
💻 Technical Criteria
Given Unrelease condition has been detected
When The system processes unrelease conditions
Then The unrelease notification flag is set to trigger appropriate notifications
R-GCX016-cbl-03000 Status Transition Analysis Complete
Process Rules
📊 Business Logic Narrative
When the process 'Status Transition Analysis Complete' is invoked, and assuming that all status analysis steps have been completed, when the system finalizes status transition analysis, the desired outcome is that the analysis is marked complete and results are available for further processing.
💻 Technical Criteria
Given All status analysis steps have been completed
When The system finalizes status transition analysis
Then The analysis is marked complete and results are available for further processing
R-GCX016-cbl-03043 Log Partial Release Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Log Partial Release Transaction' is invoked, and assuming that partial release processing has been completed with notifications sent, when the system logs the transaction, the desired outcome is that transaction log entries are created with partial release details, quantities, status changes, and processing timestamps.
💻 Technical Criteria
Given Partial release processing has been completed with notifications sent
When The system logs the transaction
Then Transaction log entries are created with partial release details, quantities, status changes, and processing timestamps
R-GCX016-cbl-03046 Analyze Disposition Codes
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Disposition Codes' is invoked, and assuming that a disposition code is received in an x4 segment message, when the system looks up the disposition code in the dc table to determine its action type, the desired outcome is that the system identifies whether the code requires removal of release status, addition of hold status, or other status changes.
💻 Technical Criteria
Given A disposition code is received in an X4 segment message
When The system looks up the disposition code in the DC table to determine its action type
Then The system identifies whether the code requires removal of release status, addition of hold status, or other status changes
R-GCX016-cbl-03091 Get Counterpart Code from DC Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Counterpart Code from DC Table' is invoked, and assuming that a disposition code is being processed, when the system looks up the disposition code in the dc table, the desired outcome is that the counterpart code is retrieved from the dc table if it exists.
💻 Technical Criteria
Given A disposition code is being processed
When The system looks up the disposition code in the DC table
Then The counterpart code is retrieved from the DC table if it exists
R-GCX016-cbl-03093 Search Status Array for Matching Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Matching Codes' is invoked, and assuming that a counterpart code exists and status array contains disposition codes, when the system iterates through each element in the status array, the desired outcome is that each status array element is evaluated against the counterpart code for potential matching.
💻 Technical Criteria
Given A counterpart code exists and status array contains disposition codes
When The system iterates through each element in the status array
Then Each status array element is evaluated against the counterpart code for potential matching
R-GCX016-cbl-03094 Match Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Match Found?' is invoked, and assuming that a status array element is being evaluated against a counterpart code, when the system compares the disposition codes, the desired outcome is that a match is identified if the codes are identical, triggering further matching criteria validation.
💻 Technical Criteria
Given A status array element is being evaluated against a counterpart code
When The system compares the disposition codes
Then A match is identified if the codes are identical, triggering further matching criteria validation
R-GCX016-cbl-03095 Check Matching Criteria
Decision Rules
📊 Business Logic Narrative
When the process 'Check Matching Criteria' is invoked, and assuming that a potential counterpart code match has been found in the status array, when the system evaluates additional matching criteria including status info, entry number, quantity, and special code patterns, the desired outcome is that the counterpart code is marked for removal only if all applicable matching criteria are satisfied.
💻 Technical Criteria
Given A potential counterpart code match has been found in the status array
When The system evaluates additional matching criteria including status info, entry number, quantity, and special code patterns
Then The counterpart code is marked for removal only if all applicable matching criteria are satisfied
R-GCX016-cbl-03096 Status Info Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Info Match?' is invoked, and assuming that a counterpart code match candidate exists in the status array, when the system compares status information codes between the counterpart and array element, the desired outcome is that the match is confirmed if status info codes are identical, otherwise additional criteria are evaluated.
💻 Technical Criteria
Given A counterpart code match candidate exists in the status array
When The system compares status information codes between the counterpart and array element
Then The match is confirmed if status info codes are identical, otherwise additional criteria are evaluated
R-GCX016-cbl-03097 Entry Number Match?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entry Number Match?', assuming that status info codes do not match for a counterpart code candidate, when the system compares entry numbers between the counterpart and array element, the desired outcome is that the match is confirmed if entry numbers are identical, otherwise quantity matching is evaluated.
💻 Technical Criteria
EXCLUDING Status info codes do not match for a counterpart code candidate
When The system compares entry numbers between the counterpart and array element
Then The match is confirmed if entry numbers are identical, otherwise quantity matching is evaluated
R-GCX016-cbl-03099 Special Code Pattern Match?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Special Code Pattern Match?', assuming that standard matching criteria (status info, entry number, quantity) do not match for a counterpart code candidate, when the system evaluates special code patterns and business-specific matching rules, the desired outcome is that the match is confirmed if special pattern criteria are satisfied, otherwise the element is not removed.
💻 Technical Criteria
EXCLUDING Standard matching criteria (status info, entry number, quantity) do not match for a counterpart code candidate
When The system evaluates special code patterns and business-specific matching rules
Then The match is confirmed if special pattern criteria are satisfied, otherwise the element is not removed
R-GCX016-cbl-03100 Remove Counterpart Code from Array
Action Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Code from Array' is invoked, and assuming that a counterpart code match has been confirmed based on matching criteria, when the system processes the removal of the counterpart code, the desired outcome is that the matched element is marked for removal from the status array.
💻 Technical Criteria
Given A counterpart code match has been confirmed based on matching criteria
When The system processes the removal of the counterpart code
Then The matched element is marked for removal from the status array
R-GCX016-cbl-03102 Update Array Count
Computation Rules
📊 Business Logic Narrative
When the process 'Update Array Count' is invoked, and assuming that the status array has been compacted after counterpart code removal, when the system updates the array metadata, the desired outcome is that the total element count is decremented to reflect the number of removed counterpart codes.
💻 Technical Criteria
Given The status array has been compacted after counterpart code removal
When The system updates the array metadata
Then The total element count is decremented to reflect the number of removed counterpart codes
R-GCX016-cbl-03103 Continue to Next Array Element
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Array Element' is invoked, and assuming that an array element has been processed for counterpart matching, when the system moves to the next element in the status array, the desired outcome is that processing continues with the next array element until all elements have been evaluated.
💻 Technical Criteria
Given An array element has been processed for counterpart matching
When The system moves to the next element in the status array
Then Processing continues with the next array element until all elements have been evaluated
R-GCX016-cbl-03104 No Counterpart Processing Needed
Decision Rules
📊 Business Logic Narrative
When the process 'No Counterpart Processing Needed' is invoked, and assuming that a disposition code has been looked up in the dc table, when no counterpart code exists for the disposition code, the desired outcome is that counterpart processing is bypassed and the system proceeds to complete processing.
💻 Technical Criteria
Given A disposition code has been looked up in the DC table
When No counterpart code exists for the disposition code
Then Counterpart processing is bypassed and the system proceeds to complete processing
R-GCX016-cbl-03113 Preserve Current Release Quantities
Action Rules
📊 Business Logic Narrative
When the process 'Preserve Current Release Quantities' is invoked, and assuming that fda-specific status description has been applied, when the system preserves current release quantities, the desired outcome is that existing release quantities remain unchanged during fda hold application.
💻 Technical Criteria
Given FDA-specific status description has been applied
When The system preserves current release quantities
Then Existing release quantities remain unchanged during FDA hold application
R-GCX016-cbl-03114 Update Status Array with FDA Code
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array with FDA Code' is invoked, and assuming that current release quantities have been preserved, when the system updates status array with fda code, the desired outcome is that the status array contains the fda hold code entry.
💻 Technical Criteria
Given Current release quantities have been preserved
When The system updates status array with FDA code
Then The status array contains the FDA hold code entry
R-GCX016-cbl-03164 Element Found in Array?
Decision Rules
📊 Business Logic Narrative
When the process 'Element Found in Array?' is invoked, and assuming that a status array contains multiple elements and a specific element needs to be removed, when the system searches through the array to find matching elements, the desired outcome is that the system identifies whether the target element exists in the array and marks its position for removal.
💻 Technical Criteria
Given A status array contains multiple elements and a specific element needs to be removed
When The system searches through the array to find matching elements
Then The system identifies whether the target element exists in the array and marks its position for removal
R-GCX016-cbl-03166 Mark Element for Removal
Process Rules
📊 Business Logic Narrative
When the process 'Mark Element for Removal' is invoked, and assuming that an element position has been identified in the status array, when the element needs to be removed from the array, the desired outcome is that the system marks the element for removal while preserving array structure temporarily.
💻 Technical Criteria
Given An element position has been identified in the status array
When The element needs to be removed from the array
Then The system marks the element for removal while preserving array structure temporarily
R-GCX016-cbl-03167 More Elements to Check?
Decision Rules
📊 Business Logic Narrative
When the process 'More Elements to Check?' is invoked, and assuming that the system is processing elements in the status array for removal, when an element has been processed, the desired outcome is that the system checks if there are more elements remaining to be evaluated and continues processing if elements remain.
💻 Technical Criteria
Given The system is processing elements in the status array for removal
When An element has been processed
Then The system checks if there are more elements remaining to be evaluated and continues processing if elements remain
R-GCX016-cbl-03168 Shift Remaining Elements Up
Process Rules
📊 Business Logic Narrative
When the process 'Shift Remaining Elements Up' is invoked, and assuming that elements have been marked for removal from the status array, when array compaction is required, the desired outcome is that the system shifts all remaining elements upward to eliminate gaps and maintain array continuity.
💻 Technical Criteria
Given Elements have been marked for removal from the status array
When Array compaction is required
Then The system shifts all remaining elements upward to eliminate gaps and maintain array continuity
R-GCX016-cbl-03169 Decrement Array Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Decrement Array Counter' is invoked, and assuming that elements have been removed from the status array, when array counter needs to be updated, the desired outcome is that the system decrements the array counter by the number of elements removed.
💻 Technical Criteria
Given Elements have been removed from the status array
When Array counter needs to be updated
Then The system decrements the array counter by the number of elements removed
R-GCX016-cbl-03172 Update Array Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Array Status' is invoked, and assuming that array compaction has been completed successfully, when final status update is required, the desired outcome is that the system updates array metadata and status indicators to reflect the current state.
💻 Technical Criteria
Given Array compaction has been completed successfully
When Final status update is required
Then The system updates array metadata and status indicators to reflect the current state
R-GCX016-cbl-03173 No Elements Found to Remove
Decision Rules
📊 Business Logic Narrative
When the process 'No Elements Found to Remove' is invoked, and assuming that a request to remove elements from the status array has been made, when no matching elements are found in the array, the desired outcome is that the system completes the operation without making changes and indicates no elements were removed.
💻 Technical Criteria
Given A request to remove elements from the status array has been made
When No matching elements are found in the array
Then The system completes the operation without making changes and indicates no elements were removed
R-GCX016-cbl-03174 Release Code Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Release Code Processing' is invoked, and assuming that a status array element is being processed, when the disposition code type is a release code, the desired outcome is that the released flag must be set to 'y' in the status array element.
💻 Technical Criteria
Given A status array element is being processed
When The disposition code type is a release code
Then The released flag must be set to 'Y' in the status array element
R-GCX016-cbl-03175 Hold Code Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Code Processing' is invoked, and assuming that a status array element is being processed, when the disposition code type is a hold code, the desired outcome is that the released flag must be set to 'n' in the status array element.
💻 Technical Criteria
Given A status array element is being processed
When The disposition code type is a hold code
Then The released flag must be set to 'N' in the status array element
R-GCX016-cbl-03178 Remove Counterpart Codes
Process Rules
📊 Business Logic Narrative
When the process 'Remove Counterpart Codes' is invoked, and assuming that a new disposition code is being added to the status array, when counterpart code removal is required, the desired outcome is that all existing counterpart codes must be removed from the status array before adding the new code.
💻 Technical Criteria
Given A new disposition code is being added to the status array
When Counterpart code removal is required
Then All existing counterpart codes must be removed from the status array before adding the new code
R-GCX016-cbl-03180 Validate Flag Consistency
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Flag Consistency' is invoked, and assuming that a status array element has been processed with flag changes, when flag validation is performed, the desired outcome is that all flags must be in a consistent and valid state, otherwise an error condition is raised.
💻 Technical Criteria
Given A status array element has been processed with flag changes
When Flag validation is performed
Then All flags must be in a consistent and valid state, otherwise an error condition is raised
R-GCX016-cbl-03182 Log Flag Change
Process Rules
📊 Business Logic Narrative
When the process 'Log Flag Change' is invoked, and assuming that a status array element has been successfully updated, when flag changes have been applied, the desired outcome is that all flag changes must be logged with appropriate audit information.
💻 Technical Criteria
Given A status array element has been successfully updated
When Flag changes have been applied
Then All flag changes must be logged with appropriate audit information
R-GCX016-cbl-03183 Error - Invalid Flag State
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Error - Invalid Flag State', assuming that flag validation is performed on a status array element, when the validation fails due to invalid flag state, the desired outcome is that an error condition must be raised and appropriate error handling must be invoked.
💻 Technical Criteria
EXCLUDING Flag validation is performed on a status array element
When The validation fails due to invalid flag state
Then An error condition must be raised and appropriate error handling must be invoked
R-GCX016-cbl-03187 Already Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Already Exists?' is invoked, and assuming that the system has checked for duplicate status information in the s09a array, when the duplicate check result indicates whether the status information already exists, the desired outcome is that the system either skips processing to prevent duplication or proceeds with adding the new status information.
💻 Technical Criteria
Given The system has checked for duplicate status information in the S09A array
When The duplicate check result indicates whether the status information already exists
Then The system either skips processing to prevent duplication or proceeds with adding the new status information
R-GCX016-cbl-03188 Skip Processing - Prevent Duplicate
Process Rules
📊 Business Logic Narrative
When the process 'Skip Processing - Prevent Duplicate' is invoked, and assuming that a status information code already exists in the s09a array, when the system attempts to add the same status information again, the desired outcome is that the system skips the processing to prevent duplicate entries and continues to the next disposition code.
💻 Technical Criteria
Given A status information code already exists in the S09A array
When The system attempts to add the same status information again
Then The system skips the processing to prevent duplicate entries and continues to the next disposition code
R-GCX016-cbl-03189 Add Status Info to S09A Array
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Status Info to S09A Array', assuming that a valid status information code does not exist in the s09a array, when the system processes the status information for addition, the desired outcome is that the system adds the status information to the next available position in the s09a array.
💻 Technical Criteria
EXCLUDING A valid status information code does not exist in the S09A array
When The system processes the status information for addition
Then The system adds the status information to the next available position in the S09A array
R-GCX016-cbl-03190 Set Status Information Fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Status Information Fields' is invoked, and assuming that a status information entry is being added to the s09a array, when the system sets the status information fields, the desired outcome is that the system populates the disposition code, description, and informational flags for the status entry.
💻 Technical Criteria
Given A status information entry is being added to the S09A array
When The system sets the status information fields
Then The system populates the disposition code, description, and informational flags for the status entry
R-GCX016-cbl-03192 Set DC-STATUS-INFO-DESC
Action Rules
📊 Business Logic Narrative
When the process 'Set DC-STATUS-INFO-DESC' is invoked, and assuming that a status information entry is being populated in the s09a array, when the system sets the dc-status-info-desc field, the desired outcome is that the system assigns the disposition code description to the status information description field.
💻 Technical Criteria
Given A status information entry is being populated in the S09A array
When The system sets the DC-STATUS-INFO-DESC field
Then The system assigns the disposition code description to the status information description field
R-GCX016-cbl-03195 Update Array Element Count
Action Rules
📊 Business Logic Narrative
When the process 'Update Array Element Count' is invoked, and assuming that a status information entry has been successfully added to the s09a array, when the system updates the array management counters, the desired outcome is that the system increments the array element count to reflect the new entry.
💻 Technical Criteria
Given A status information entry has been successfully added to the S09A array
When The system updates the array management counters
Then The system increments the array element count to reflect the new entry
R-GCX016-cbl-04740 Retry Search?
Decision Rules
📊 Business Logic Narrative
When the process 'Retry Search?' is invoked, and assuming that a database error has occurred or no initial match was found, when the system evaluates retry conditions, the desired outcome is that the system decides whether to attempt an alternate search method or terminate the search.
💻 Technical Criteria
Given A database error has occurred or no initial match was found
When The system evaluates retry conditions
Then The system decides whether to attempt an alternate search method or terminate the search
R-GCX016-cbl-04227 Validate PTT Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PTT Quantities' is invoked, and assuming that ptt status information has been saved, when the system validates ptt quantities against business thresholds, the desired outcome is that the system confirms ptt quantities are valid for continued processing or flags invalid quantities for correction.
💻 Technical Criteria
Given PTT status information has been saved
When The system validates PTT quantities against business thresholds
Then The system confirms PTT quantities are valid for continued processing or flags invalid quantities for correction
R-GCX016-cbl-04228 Released Quantity < Total Quantity?
Decision Rules
📊 Business Logic Narrative
When the process 'Released Quantity < Total Quantity?' is invoked, and assuming that ptt quantities have been validated, when the system compares released quantity to total quantity, the desired outcome is that if released quantity is less than total quantity, maintain ptt status for partial release, otherwise proceed with full release processing.
💻 Technical Criteria
Given PTT quantities have been validated
When The system compares released quantity to total quantity
Then If released quantity is less than total quantity, maintain PTT status for partial release, otherwise proceed with full release processing
R-GCX016-cbl-04229 Maintain PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Maintain PTT Status' is invoked, and assuming that released quantity is less than total quantity indicating partial release, when the system processes ptt status maintenance, the desired outcome is that the system preserves ptt status and calculates remaining ptt quantities for future processing.
💻 Technical Criteria
Given Released quantity is less than total quantity indicating partial release
When The system processes PTT status maintenance
Then The system preserves PTT status and calculates remaining PTT quantities for future processing
R-GCX016-cbl-04230 Calculate Remaining PTT Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Remaining PTT Quantity' is invoked, and assuming that ptt status is being maintained for partial release, when the system calculates remaining ptt quantity by subtracting released quantity from total quantity, the desired outcome is that the system determines the exact remaining quantity that requires continued ptt processing.
💻 Technical Criteria
Given PTT status is being maintained for partial release
When The system calculates remaining PTT quantity by subtracting released quantity from total quantity
Then The system determines the exact remaining quantity that requires continued PTT processing
R-GCX016-cbl-04231 PTT Quantity Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'PTT Quantity Valid?' is invoked, and assuming that remaining ptt quantity has been calculated, when the system validates the calculated ptt quantity against business rules, the desired outcome is that if ptt quantity is valid, update status array, otherwise restore previous ptt status.
💻 Technical Criteria
Given Remaining PTT quantity has been calculated
When The system validates the calculated PTT quantity against business rules
Then If PTT quantity is valid, update status array, otherwise restore previous PTT status
R-GCX016-cbl-04232 Update PTT Status in Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Update PTT Status in Status Array' is invoked, and assuming that ptt quantity has been validated as acceptable, when the system updates the status array with ptt information, the desired outcome is that the status array contains current ptt status with accurate remaining quantities for continued processing.
💻 Technical Criteria
Given PTT quantity has been validated as acceptable
When The system updates the status array with PTT information
Then The status array contains current PTT status with accurate remaining quantities for continued processing
R-GCX016-cbl-04234 Restore Previous PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Restore Previous PTT Status' is invoked, and assuming that ptt quantity validation has failed or processing errors occurred, when the system initiates ptt status restoration, the desired outcome is that the system restores the previously saved ptt status information to maintain data integrity.
💻 Technical Criteria
Given PTT quantity validation has failed or processing errors occurred
When The system initiates PTT status restoration
Then The system restores the previously saved PTT status information to maintain data integrity
R-GCX016-cbl-04236 Log PTT Status Change
Action Rules
📊 Business Logic Narrative
When the process 'Log PTT Status Change' is invoked, and assuming that ptt status change has been identified as required, when the system logs the ptt status change, the desired outcome is that the system creates an audit record of the ptt status change with relevant details for compliance and tracking.
💻 Technical Criteria
Given PTT status change has been identified as required
When The system logs the PTT status change
Then The system creates an audit record of the PTT status change with relevant details for compliance and tracking
R-GCX016-cbl-04744 Remaining Quantity >= 0?
Validation Rules
📊 Business Logic Narrative
When the process 'Remaining Quantity >= 0?' is invoked, and assuming that a remaining quantity has been calculated from total and released quantities, when the calculated remaining quantity is less than zero, the desired outcome is that the system logs a quantity validation error and sets remaining quantity to zero.
💻 Technical Criteria
Given A remaining quantity has been calculated from total and released quantities
When The calculated remaining quantity is less than zero
Then The system logs a quantity validation error and sets remaining quantity to zero
R-GCX016-cbl-03221 Update Canadian Manifest Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Canadian Manifest Status' is invoked, and assuming that canadian manifest records found and log message generated, when the system processes the canadian manifest coordination, the desired outcome is that canadian manifest status is updated to reflect the manual release action.
💻 Technical Criteria
Given Canadian manifest records found and log message generated
When The system processes the Canadian manifest coordination
Then Canadian manifest status is updated to reflect the manual release action
R-GCX016-cbl-03235 Status Code Validation
Validation Rules
📊 Business Logic Narrative
When the process 'Status Code Validation' is invoked, and assuming that status description has been updated, when the system validates the status code, the desired outcome is that if status code is valid, apply fda-specific status code, otherwise continue with other status processing.
💻 Technical Criteria
Given Status description has been updated
When The system validates the status code
Then If status code is valid, apply FDA-specific status code, otherwise continue with other status processing
R-GCX016-cbl-03240 FDA Hold Status Set Complete
Process Rules
📊 Business Logic Narrative
When the process 'FDA Hold Status Set Complete' is invoked, and assuming that fda hold action has been logged, when the system completes fda hold status processing, the desired outcome is that fda hold status processing is marked as complete.
💻 Technical Criteria
Given FDA hold action has been logged
When The system completes FDA hold status processing
Then FDA hold status processing is marked as complete
R-GCX016-cbl-03244 PTT Code Found?
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Code Found?' is invoked, and assuming that the status array has been analyzed for ptt codes, when the system checks for ptt code existence, the desired outcome is that if ptt codes are found, proceed with ptt quantity extraction, otherwise restore previous status.
💻 Technical Criteria
Given The status array has been analyzed for PTT codes
When The system checks for PTT code existence
Then If PTT codes are found, proceed with PTT quantity extraction, otherwise restore previous status
R-GCX016-cbl-03246 Validate PTT Quantity vs Released Quantity
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PTT Quantity vs Released Quantity' is invoked, and assuming that ptt quantity information has been extracted from status array, when the system validates ptt quantities against released quantities, the desired outcome is that ptt quantities must be within acceptable ranges relative to released quantities.
💻 Technical Criteria
Given PTT quantity information has been extracted from status array
When The system validates PTT quantities against released quantities
Then PTT quantities must be within acceptable ranges relative to released quantities
R-GCX016-cbl-03247 Quantity Validation Passed?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Validation Passed?' is invoked, and assuming that ptt quantity validation has been performed, when the system evaluates validation results, the desired outcome is that if validation passes, set ptt status flag, otherwise generate ptt validation error.
💻 Technical Criteria
Given PTT quantity validation has been performed
When The system evaluates validation results
Then If validation passes, set PTT status flag, otherwise generate PTT validation error
R-GCX016-cbl-03253 Restore Previous PTT Status if Needed
Action Rules
📊 Business Logic Narrative
When the process 'Restore Previous PTT Status if Needed' is invoked, and assuming that ptt processing cannot be completed or no ptt codes were found, when the system needs to restore previous state, the desired outcome is that the previously saved ptt status and quantity information is restored.
💻 Technical Criteria
Given PTT processing cannot be completed or no PTT codes were found
When The system needs to restore previous state
Then The previously saved PTT status and quantity information is restored
R-GCX016-cbl-03255 Update Status Array with PTT Information
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array with PTT Information' is invoked, and assuming that status array changes have been determined to be required, when the system updates the status array, the desired outcome is that the status array is updated with final ptt status and quantity information.
💻 Technical Criteria
Given Status array changes have been determined to be required
When The system updates the status array
Then The status array is updated with final PTT status and quantity information
R-GCX016-cbl-03257 PTT Validation Error
Action Rules
📊 Business Logic Narrative
When the process 'PTT Validation Error' is invoked, and assuming that ptt quantity validation has failed, when the system processes the validation error, the desired outcome is that an appropriate ptt validation error condition is set and processing continues to completion.
💻 Technical Criteria
Given PTT quantity validation has failed
When The system processes the validation error
Then An appropriate PTT validation error condition is set and processing continues to completion
R-GCX016-cbl-03283 Analyze Current Disposition Codes
Validation Rules
📊 Business Logic Narrative
When the process 'Analyze Current Disposition Codes' is invoked, and assuming that current disposition codes are available from the x4 segment, when the system processes disposition codes against the dc table, the desired outcome is that the system determines if current codes indicate an unrelease action.
💻 Technical Criteria
Given Current disposition codes are available from the X4 segment
When The system processes disposition codes against the DC table
Then The system determines if current codes indicate an unrelease action
R-GCX016-cbl-03307 Convert Current Date to Julian Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Current Date to Julian Format' is invoked, and assuming that the current system date has been retrieved, when age calculation requires julian date format for comparison, the desired outcome is that the current date is converted to julian format using date conversion utilities.
💻 Technical Criteria
Given The current system date has been retrieved
When Age calculation requires Julian date format for comparison
Then The current date is converted to Julian format using date conversion utilities
R-GCX016-cbl-03314 Log Age Calculation Error
Action Rules
📊 Business Logic Narrative
When the process 'Log Age Calculation Error' is invoked, and assuming that age calculation has failed due to invalid data or calculation error, when error handling is required, the desired outcome is that error information is logged and default age processing is initiated.
💻 Technical Criteria
Given Age calculation has failed due to invalid data or calculation error
When Error handling is required
Then Error information is logged and default age processing is initiated
R-GCX016-cbl-03324 Call GCCIIS Integration Service
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCIIS Integration Service' is invoked, and assuming that a prepared notification message for hold, release, or status change, when the system calls gcciis integration service with the notification message, the desired outcome is that integration service processes the notification and returns success or failure status.
💻 Technical Criteria
Given A prepared notification message for hold, release, or status change
When The system calls GCCIIS integration service with the notification message
Then Integration service processes the notification and returns success or failure status
R-GCX016-cbl-03325 Integration Call Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Integration Call Successful?' is invoked, and assuming that a completed gcciis integration service call with return status, when the system checks the integration service call return status, the desired outcome is that success logging is triggered if call succeeded, error logging if call failed.
💻 Technical Criteria
Given A completed GCCIIS integration service call with return status
When The system checks the integration service call return status
Then Success logging is triggered if call succeeded, error logging if call failed
R-GCX016-cbl-03348 K1 Comments Available?
Decision Rules
📊 Business Logic Narrative
When the process 'K1 Comments Available?' is invoked, and assuming that a message processing transaction may contain k1 comment segments, when the system checks for k1 comment availability, the desired outcome is that the system determines if k1 comment segments exist and are available for inclusion in the release message.
💻 Technical Criteria
Given A message processing transaction may contain K1 comment segments
When The system checks for K1 comment availability
Then The system determines if K1 comment segments exist and are available for inclusion in the release message
R-GCX016-cbl-03349 Include Up to 4 K1 Comment Segments
Process Rules
📊 Business Logic Narrative
When the process 'Include Up to 4 K1 Comment Segments' is invoked, and assuming that k1 comment segments are available for inclusion in release message, when the system includes k1 comment segments in the message, the desired outcome is that the system adds up to four k1 comment segments to the release message content, respecting the maximum limit.
💻 Technical Criteria
Given K1 comment segments are available for inclusion in release message
When The system includes K1 comment segments in the message
Then The system adds up to four K1 comment segments to the release message content, respecting the maximum limit
R-GCX016-cbl-03356 Format Complete Release Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Complete Release Message' is invoked, and assuming that all individual message components have been formatted and prepared, when the system formats the complete release message, the desired outcome is that the system assembles all components into a properly structured, complete release message ready for transmission.
💻 Technical Criteria
Given All individual message components have been formatted and prepared
When The system formats the complete release message
Then The system assembles all components into a properly structured, complete release message ready for transmission
R-GCX016-cbl-03368 Format USCS Cancellation Message
Process Rules
📊 Business Logic Narrative
When the process 'Format USCS Cancellation Message' is invoked, and assuming that cancellation message content has been prepared with reason information, when the system formats the cancellation message for uscs transmission, the desired outcome is that the system creates a properly formatted uscs cancellation message with all required fields and structure.
💻 Technical Criteria
Given Cancellation message content has been prepared with reason information
When The system formats the cancellation message for USCS transmission
Then The system creates a properly formatted USCS cancellation message with all required fields and structure
R-GCX016-cbl-03376 Set Arrival Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Set Arrival Message Type' is invoked, and assuming that an arrival message processing request is initiated, when the system evaluates the message type for arrival processing, the desired outcome is that the system sets the arrival message type flag to indicate standard arrival message generation.
💻 Technical Criteria
Given An arrival message processing request is initiated
When The system evaluates the message type for arrival processing
Then The system sets the arrival message type flag to indicate standard arrival message generation
R-GCX016-cbl-03377 Set Cancellation Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Set Cancellation Message Type' is invoked, and assuming that an arrival cancellation processing request is initiated, when the system evaluates the message type for cancellation processing, the desired outcome is that the system sets the cancellation message type flag to indicate arrival cancellation message generation.
💻 Technical Criteria
Given An arrival cancellation processing request is initiated
When The system evaluates the message type for cancellation processing
Then The system sets the cancellation message type flag to indicate arrival cancellation message generation
R-GCX016-cbl-03378 Call Z110-PREP-EMCSEND for Message Preparation
Action Rules
📊 Business Logic Narrative
When the process 'Call Z110-PREP-EMCSEND for Message Preparation' is invoked, and assuming that a message type has been determined for arrival or cancellation processing, when the system needs to prepare the message for transmission, the desired outcome is that the system calls z110-prep-emcsend service to handle message preparation and routing.
💻 Technical Criteria
Given A message type has been determined for arrival or cancellation processing
When The system needs to prepare the message for transmission
Then The system calls Z110-PREP-EMCSEND service to handle message preparation and routing
R-GCX016-cbl-03380 Format Cancellation Message with Reason
Process Rules
📊 Business Logic Narrative
When the process 'Format Cancellation Message with Reason' is invoked, and assuming that a cancellation message type has been set and cancellation reason is available, when the system formats the cancellation message, the desired outcome is that the system includes cancellation reason, original arrival details, and instructions for re-arrival in the message format.
💻 Technical Criteria
Given A cancellation message type has been set and cancellation reason is available
When The system formats the cancellation message
Then The system includes cancellation reason, original arrival details, and instructions for re-arrival in the message format
R-GCX016-cbl-03387 Send to Configured Users
Process Rules
📊 Business Logic Narrative
When the process 'Send to Configured Users' is invoked, and assuming that valid configured users have been identified for message delivery, when the system sends the message, the desired outcome is that the system delivers the message to all configured users with delivery confirmation and tracking.
💻 Technical Criteria
Given Valid configured users have been identified for message delivery
When The system sends the message
Then The system delivers the message to all configured users with delivery confirmation and tracking
R-GCX016-cbl-03478 Process Disposition Code Changes
Process Rules
📊 Business Logic Narrative
When the process 'Process Disposition Code Changes' is invoked, and assuming that a disposition code change request is received, when the disposition code is processed against the current status array, the desired outcome is that status changes are applied based on disposition code type (hold, release, remove, info).
💻 Technical Criteria
Given A disposition code change request is received
When The disposition code is processed against the current status array
Then Status changes are applied based on disposition code type (hold, release, remove, info)
R-GCX016-cbl-03480 Analyze New Status Requirements
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze New Status Requirements' is invoked, and assuming that status transition is required, when the system analyzes the updated status array, the desired outcome is that new status requirements are determined based on hold conditions, release quantities, and ptt eligibility.
💻 Technical Criteria
Given Status transition is required
When The system analyzes the updated status array
Then New status requirements are determined based on hold conditions, release quantities, and PTT eligibility
R-GCX016-cbl-03483 Apply New Status Changes
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Apply New Status Changes', assuming that status preservation is not required, when new status changes are ready to be applied, the desired outcome is that the status array is updated with new disposition codes and status information.
💻 Technical Criteria
EXCLUDING Status preservation is not required
When New status changes are ready to be applied
Then The status array is updated with new disposition codes and status information
R-GCX016-cbl-03485 Complex Status Logic?
Decision Rules
📊 Business Logic Narrative
When the process 'Complex Status Logic?' is invoked, and assuming that status flags have been updated, when the system evaluates complexity requirements, the desired outcome is that if complex logic is needed, ptt status and hold information are preserved, otherwise status validation proceeds.
💻 Technical Criteria
Given Status flags have been updated
When The system evaluates complexity requirements
Then If complex logic is needed, PTT status and hold information are preserved, otherwise status validation proceeds
R-GCX016-cbl-03486 Save PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Save PTT Status' is invoked, and assuming that complex status logic is required, when ptt status needs to be preserved, the desired outcome is that current ptt status flags and related information are saved to working storage.
💻 Technical Criteria
Given Complex status logic is required
When PTT status needs to be preserved
Then Current PTT status flags and related information are saved to working storage
R-GCX016-cbl-03493 Restore Release Quantities
Process Rules
📊 Business Logic Narrative
When the process 'Restore Release Quantities' is invoked, and assuming that hold information has been restored, when release quantity restoration is executed, the desired outcome is that preserved release quantities and total quantities are restored to maintain data consistency.
💻 Technical Criteria
Given Hold information has been restored
When Release quantity restoration is executed
Then Preserved release quantities and total quantities are restored to maintain data consistency
R-GCX016-cbl-03494 Validate Status Consistency
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Status Consistency' is invoked, and assuming that status processing and any required restoration has been completed, when status consistency validation is performed, the desired outcome is that the final status array is validated for logical consistency and business rule compliance.
💻 Technical Criteria
Given Status processing and any required restoration has been completed
When Status consistency validation is performed
Then The final status array is validated for logical consistency and business rule compliance
R-GCX016-cbl-03495 Update Final Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Update Final Status Array' is invoked, and assuming that status consistency has been validated, when final status array update is performed, the desired outcome is that the s09a status array is updated with all processed status changes and redistributed across s09 sequences.
💻 Technical Criteria
Given Status consistency has been validated
When Final status array update is performed
Then The S09A status array is updated with all processed status changes and redistributed across S09 sequences
R-GCX016-cbl-03518 All Required Fields Present?
Validation Rules
📊 Business Logic Narrative
When the process 'All Required Fields Present?' is invoked, and assuming that m10 manifest segment data has been extracted, when the system validates the extracted data elements, the desired outcome is that if all required fields are present, processing continues; otherwise, an error is logged and integration is skipped.
💻 Technical Criteria
Given M10 manifest segment data has been extracted
When The system validates the extracted data elements
Then If all required fields are present, processing continues; otherwise, an error is logged and integration is skipped
R-GCX016-cbl-03519 Build Manifest Information Block
Process Rules
📊 Business Logic Narrative
When the process 'Build Manifest Information Block' is invoked, and assuming that all required m10 manifest data elements have been validated, when the system builds the manifest information block, the desired outcome is that a complete manifest information structure is created with all extracted data elements.
💻 Technical Criteria
Given All required M10 manifest data elements have been validated
When The system builds the manifest information block
Then A complete manifest information structure is created with all extracted data elements
R-GCX016-cbl-03532 Skip Manifest Integration
Decision Rules
📊 Business Logic Narrative
When the process 'Skip Manifest Integration' is invoked, and assuming that manifest data validation has failed due to missing required fields, when the system determines that integration cannot proceed, the desired outcome is that the manifest integration process is skipped and processing continues with the next segment.
💻 Technical Criteria
Given Manifest data validation has failed due to missing required fields
When The system determines that integration cannot proceed
Then The manifest integration process is skipped and processing continues with the next segment
R-GCX016-cbl-03536 Lookup DS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup DS Table' is invoked, and assuming that no matching record was found in the sd table, when the system continues the hierarchical lookup process, the desired outcome is that the system searches the ds table in gcstbrt database for matching station records.
💻 Technical Criteria
Given No matching record was found in the SD table
When The system continues the hierarchical lookup process
Then The system searches the DS table in GCSTBRT database for matching station records
R-GCX016-cbl-03538 Lookup KS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup KS Table' is invoked, and assuming that no matching records were found in both sd and ds tables, when the system continues the hierarchical lookup process, the desired outcome is that the system searches the ks table in gcstbrt database for matching station records.
💻 Technical Criteria
Given No matching records were found in both SD and DS tables
When The system continues the hierarchical lookup process
Then The system searches the KS table in GCSTBRT database for matching station records
R-GCX016-cbl-03548 Extract Payer of Freight Entity Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Payer of Freight Entity Information' is invoked, and assuming that n101 payer of freight record exists, when the system extracts payer of freight entity information, the desired outcome is that entity details are available for broker type validation.
💻 Technical Criteria
Given N101 payer of freight record exists
When The system extracts payer of freight entity information
Then Entity details are available for broker type validation
R-GCX016-cbl-03549 Check if Entity is Broker Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Entity is Broker Type' is invoked, and assuming that payer of freight entity information has been extracted, when the system checks if entity is classified as broker type, the desired outcome is that entity is classified as broker or non-broker for appropriate processing path.
💻 Technical Criteria
Given Payer of freight entity information has been extracted
When The system checks if entity is classified as broker type
Then Entity is classified as broker or non-broker for appropriate processing path
R-GCX016-cbl-03555 Complete Payer of Freight Resolution
Process Rules
📊 Business Logic Narrative
When the process 'Complete Payer of Freight Resolution' is invoked, and assuming that payer of freight name has been determined (either broker short name or original entity name), when the system completes payer of freight resolution, the desired outcome is that payer of freight name resolution process is finalized.
💻 Technical Criteria
Given Payer of freight name has been determined (either broker short name or original entity name)
When The system completes payer of freight resolution
Then Payer of freight name resolution process is finalized
R-GCX016-cbl-03556 Log Resolution Results
Process Rules
📊 Business Logic Narrative
When the process 'Log Resolution Results' is invoked, and assuming that payer of freight resolution process has been completed, when the system logs resolution results, the desired outcome is that resolution results are recorded for audit and tracking purposes.
💻 Technical Criteria
Given Payer of freight resolution process has been completed
When The system logs resolution results
Then Resolution results are recorded for audit and tracking purposes
R-GCX016-cbl-03564 Add Additional K1 Comments Up to 4 Total
Process Rules
📊 Business Logic Narrative
When the process 'Add Additional K1 Comments Up to 4 Total' is invoked, and assuming that multiple k1 comment segments are available and the first k1 comment has been added, when additional k1 comment segments exist and the total count is less than 4, the desired outcome is that add the next available k1 comment segment to the message and continue checking for more comments until maximum of 4 is reached.
💻 Technical Criteria
Given Multiple K1 comment segments are available and the first K1 comment has been added
When Additional K1 comment segments exist AND the total count is less than 4
Then Add the next available K1 comment segment to the message and continue checking for more comments until maximum of 4 is reached
R-GCX016-cbl-03575 Disposition Code Has Quantity Action?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Has Quantity Action?' is invoked, and assuming that a disposition code is being processed for quantity action message formatting, when the system checks if the disposition code has quantity action requirements, the desired outcome is that the system determines whether to proceed with quantity action formatting or skip quantity processing.
💻 Technical Criteria
Given A disposition code is being processed for quantity action message formatting
When The system checks if the disposition code has quantity action requirements
Then The system determines whether to proceed with quantity action formatting or skip quantity processing
R-GCX016-cbl-03576 Retrieve Disposition Code Details
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Disposition Code Details' is invoked, and assuming that a disposition code requires quantity action processing, when the system needs disposition code details for message formatting, the desired outcome is that the system retrieves disposition code information including action type and description from the dc table.
💻 Technical Criteria
Given A disposition code requires quantity action processing
When The system needs disposition code details for message formatting
Then The system retrieves disposition code information including action type and description from the DC table
R-GCX016-cbl-03577 Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Action Type?' is invoked, and assuming that disposition code details have been retrieved with quantity action requirements, when the system evaluates the action type for quantity processing, the desired outcome is that the system classifies the action as either add operation or subtract operation based on disposition code configuration.
💻 Technical Criteria
Given Disposition code details have been retrieved with quantity action requirements
When The system evaluates the action type for quantity processing
Then The system classifies the action as either ADD operation or SUBTRACT operation based on disposition code configuration
R-GCX016-cbl-03578 Format ADD Operation Message
Process Rules
📊 Business Logic Narrative
When the process 'Format ADD Operation Message' is invoked, and assuming that a disposition code has been classified as add operation type, when the system formats the quantity action message, the desired outcome is that the system creates an add operation message showing the quantity increase to release amounts.
💻 Technical Criteria
Given A disposition code has been classified as ADD operation type
When The system formats the quantity action message
Then The system creates an ADD operation message showing the quantity increase to release amounts
R-GCX016-cbl-03579 Format SUBTRACT Operation Message
Process Rules
📊 Business Logic Narrative
When the process 'Format SUBTRACT Operation Message' is invoked, and assuming that a disposition code has been classified as subtract operation type, when the system formats the quantity action message, the desired outcome is that the system creates a subtract operation message showing the quantity decrease from release amounts.
💻 Technical Criteria
Given A disposition code has been classified as SUBTRACT operation type
When The system formats the quantity action message
Then The system creates a SUBTRACT operation message showing the quantity decrease from release amounts
R-GCX016-cbl-03581 Calculate New Quantity After Action
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate New Quantity After Action' is invoked, and assuming that current release quantity has been retrieved and action type is determined, when the system calculates the new quantity after applying the disposition code action, the desired outcome is that the system computes the resulting quantity by adding or subtracting the disposition code quantity from current release quantity.
💻 Technical Criteria
Given Current release quantity has been retrieved and action type is determined
When The system calculates the new quantity after applying the disposition code action
Then The system computes the resulting quantity by adding or subtracting the disposition code quantity from current release quantity
R-GCX016-cbl-03582 Quantity Change Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Quantity Change Valid?' is invoked, and assuming that a new quantity has been calculated after applying disposition code action, when the system validates the quantity change, the desired outcome is that the system verifies the quantity change is valid (non-negative for subtractions and within business limits for additions).
💻 Technical Criteria
Given A new quantity has been calculated after applying disposition code action
When The system validates the quantity change
Then The system verifies the quantity change is valid (non-negative for subtractions and within business limits for additions)
R-GCX016-cbl-03583 Format Quantity Change Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Quantity Change Display' is invoked, and assuming that a valid quantity change has been calculated, when the system formats the quantity change for display, the desired outcome is that the system creates a formatted display showing current quantity, action amount, and resulting quantity.
💻 Technical Criteria
Given A valid quantity change has been calculated
When The system formats the quantity change for display
Then The system creates a formatted display showing current quantity, action amount, and resulting quantity
R-GCX016-cbl-03584 Add Quantity Action to Message
Process Rules
📊 Business Logic Narrative
When the process 'Add Quantity Action to Message' is invoked, and assuming that quantity change display has been formatted, when the system adds quantity action to the message, the desired outcome is that the system incorporates the quantity action information into the message structure for transmission.
💻 Technical Criteria
Given Quantity change display has been formatted
When The system adds quantity action to the message
Then The system incorporates the quantity action information into the message structure for transmission
R-GCX016-cbl-03585 Include Disposition Code Description
Process Rules
📊 Business Logic Narrative
When the process 'Include Disposition Code Description' is invoked, and assuming that quantity action has been added to the message, when the system includes disposition code description, the desired outcome is that the system adds the disposition code description to provide context for the quantity action in the message.
💻 Technical Criteria
Given Quantity action has been added to the message
When The system includes disposition code description
Then The system adds the disposition code description to provide context for the quantity action in the message
R-GCX016-cbl-03586 Format Complete Quantity Action Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Complete Quantity Action Message' is invoked, and assuming that disposition code description has been included in the message, when the system formats the complete quantity action message, the desired outcome is that the system assembles all message components including quantity action, disposition code description, and formatting into a complete message.
💻 Technical Criteria
Given Disposition code description has been included in the message
When The system formats the complete quantity action message
Then The system assembles all message components including quantity action, disposition code description, and formatting into a complete message
R-GCX016-cbl-03587 No Quantity Action Required
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No Quantity Action Required', assuming that a disposition code does not have quantity action requirements or quantity change validation fails, when the system determines no quantity action is required, the desired outcome is that the system bypasses quantity action message formatting and proceeds to message completion.
💻 Technical Criteria
EXCLUDING A disposition code does not have quantity action requirements OR quantity change validation fails
When The system determines no quantity action is required
Then The system bypasses quantity action message formatting and proceeds to message completion
R-GCX016-cbl-03600 Access System Configuration Tables
Action Rules
📊 Business Logic Narrative
When the process 'Access System Configuration Tables' is invoked, and assuming that a disposition code needs to be validated for broker notification configuration, when the system accesses the broker configuration tables to check if the disposition code exists, the desired outcome is that the system retrieves the configuration status from the system tables.
💻 Technical Criteria
Given A disposition code needs to be validated for broker notification configuration
When The system accesses the broker configuration tables to check if the disposition code exists
Then The system retrieves the configuration status from the system tables
R-GCX016-cbl-03601 Is Disposition Code Found in Broker Notification Table?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Disposition Code Found in Broker Notification Table?' is invoked, and assuming that a disposition code has been looked up in the broker notification configuration table, when the disposition code is found in the broker notification table, the desired outcome is that the broker notification flag is set to true.
💻 Technical Criteria
Given A disposition code has been looked up in the broker notification configuration table
When The disposition code is found in the broker notification table
Then The broker notification flag is set to TRUE
R-GCX016-cbl-03602 Is Disposition Code Found in Broker Notification Table?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Disposition Code Found in Broker Notification Table?', assuming that a disposition code has been looked up in the broker notification configuration table, when the disposition code is not found in the broker notification table, the desired outcome is that the broker notification flag is set to false.
💻 Technical Criteria
EXCLUDING A disposition code has been looked up in the broker notification configuration table
When The disposition code is not found in the broker notification table
Then The broker notification flag is set to FALSE
R-GCX016-cbl-03603 Return Validation Result
Process Rules
📊 Business Logic Narrative
When the process 'Return Validation Result' is invoked, and assuming that the broker notification flag has been set based on disposition code configuration lookup, when the validation process is complete, the desired outcome is that the system returns the validation result with the broker notification flag status.
💻 Technical Criteria
Given The broker notification flag has been set based on disposition code configuration lookup
When The validation process is complete
Then The system returns the validation result with the broker notification flag status
R-GCX016-cbl-03607 Extract Payer of Freight Entity Information
Action Rules
📊 Business Logic Narrative
When the process 'Extract Payer of Freight Entity Information' is invoked, and assuming that an n101 segment has qualifier 'pf' for payer of freight, when the system processes the payer of freight entity information, the desired outcome is that the system should extract the entity name from n101-02 field and store it in payer fields.
💻 Technical Criteria
Given An N101 segment has qualifier 'PF' for payer of freight
When The system processes the payer of freight entity information
Then The system should extract the entity name from N101-02 field and store it in payer fields
R-GCX016-cbl-03608 Check for Additional N101 Segments
Process Rules
📊 Business Logic Narrative
When the process 'Check for Additional N101 Segments' is invoked, and assuming that one n101 segment has been processed in a secondary record, when the system checks for additional n101 segments in the same record, the desired outcome is that the system should determine if more n101 segments exist for continued processing.
💻 Technical Criteria
Given One N101 segment has been processed in a secondary record
When The system checks for additional N101 segments in the same record
Then The system should determine if more N101 segments exist for continued processing
R-GCX016-cbl-03609 Extract Other Supplemental Information from N101
Action Rules
📊 Business Logic Narrative
When the process 'Extract Other Supplemental Information from N101' is invoked, and assuming that an n101 segment exists with a qualifier other than 'pf', when the system processes the non-pf n101 segment, the desired outcome is that the system should extract other supplemental information and store it in working storage.
💻 Technical Criteria
Given An N101 segment exists with a qualifier other than 'PF'
When The system processes the non-PF N101 segment
Then The system should extract other supplemental information and store it in working storage
R-GCX016-cbl-03610 Continue Processing Next Secondary Record
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Next Secondary Record' is invoked, and assuming that one secondary record has been processed completely, when the system checks for additional secondary records, the desired outcome is that the system should continue processing the next available secondary record if more exist.
💻 Technical Criteria
Given One secondary record has been processed completely
When The system checks for additional secondary records
Then The system should continue processing the next available secondary record if more exist
R-GCX016-cbl-03611 Complete Secondary Record Processing
Process Rules
📊 Business Logic Narrative
When the process 'Complete Secondary Record Processing' is invoked, and assuming that all available secondary records have been processed, when the system completes secondary record processing, the desired outcome is that the system should finalize the extraction of payer of freight and supplemental information for return to calling process.
💻 Technical Criteria
Given All available secondary records have been processed
When The system completes secondary record processing
Then The system should finalize the extraction of payer of freight and supplemental information for return to calling process
R-GCX016-cbl-03623 Format Subject Line
Process Rules
📊 Business Logic Narrative
When the process 'Format Subject Line' is invoked, and assuming that a message has keywords set and is ready for delivery formatting, when the system prepares the final message format, the desired outcome is that the system formats the subject line with relevant business information including message type and key identifiers.
💻 Technical Criteria
Given A message has keywords set and is ready for delivery formatting
When The system prepares the final message format
Then The system formats the subject line with relevant business information including message type and key identifiers
R-GCX016-cbl-03648 Log Transaction Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Log Transaction Successful?' is invoked, and assuming that a logging transaction has been attempted, when the transaction completion status is evaluated, the desired outcome is that system determines if logging was successful or if error handling is required.
💻 Technical Criteria
Given A logging transaction has been attempted
When The transaction completion status is evaluated
Then System determines if logging was successful or if error handling is required
R-GCX016-cbl-03660 Add Disposition Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Add Disposition Description' is invoked, and assuming that a formatted disposition code, when disposition code has an associated description, the desired outcome is that add disposition code description to the formatted output for clarity.
💻 Technical Criteria
Given A formatted disposition code
When Disposition code has an associated description
Then Add disposition code description to the formatted output for clarity
R-GCX016-cbl-03682 Valid Date Format?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Date Format?' is invoked, and assuming that a gregorian date is provided for julian conversion, when the system checks the date format validity, the desired outcome is that the system should validate the date format and either proceed with conversion or return an error for invalid dates.
💻 Technical Criteria
Given A Gregorian date is provided for Julian conversion
When The system checks the date format validity
Then The system should validate the date format and either proceed with conversion or return an error for invalid dates
R-GCX016-cbl-03683 Extract Year Component
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Year Component' is invoked, and assuming that a valid gregorian date format has been confirmed, when the system processes the date for julian conversion, the desired outcome is that the system should extract the year component from the input date.
💻 Technical Criteria
Given A valid Gregorian date format has been confirmed
When The system processes the date for Julian conversion
Then The system should extract the year component from the input date
R-GCX016-cbl-03686 Calculate Days from Year Start
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Days from Year Start' is invoked, and assuming that year, month, and day components have been extracted from the input date, when the system begins julian date calculation, the desired outcome is that the system should calculate the total days elapsed from january 1st to the beginning of the specified month.
💻 Technical Criteria
Given Year, month, and day components have been extracted from the input date
When The system begins Julian date calculation
Then The system should calculate the total days elapsed from January 1st to the beginning of the specified month
R-GCX016-cbl-03687 Add Month Days to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Month Days to Total' is invoked, and assuming that the days from year start have been calculated, when the system continues the julian date calculation process, the desired outcome is that the system should add the calculated month days to the running total.
💻 Technical Criteria
Given The days from year start have been calculated
When The system continues the Julian date calculation process
Then The system should add the calculated month days to the running total
R-GCX016-cbl-03688 Add Day Component
Computation Rules
📊 Business Logic Narrative
When the process 'Add Day Component' is invoked, and assuming that the month days have been added to the running total, when the system finalizes the julian date calculation, the desired outcome is that the system should add the day component to complete the total days calculation.
💻 Technical Criteria
Given The month days have been added to the running total
When The system finalizes the Julian date calculation
Then The system should add the day component to complete the total days calculation
R-GCX016-cbl-03689 Leap Year Check Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Leap Year Check Required?' is invoked, and assuming that the basic julian date calculation has been completed, when the system evaluates whether leap year adjustment is necessary, the desired outcome is that the system should determine if leap year check is required based on the year and whether the date falls after february 29th in a leap year.
💻 Technical Criteria
Given The basic Julian date calculation has been completed
When The system evaluates whether leap year adjustment is necessary
Then The system should determine if leap year check is required based on the year and whether the date falls after February 29th in a leap year
R-GCX016-cbl-03690 Apply Leap Year Adjustment
Computation Rules
📊 Business Logic Narrative
When the process 'Apply Leap Year Adjustment' is invoked, and assuming that the system has determined that leap year adjustment is required, when the leap year adjustment is applied, the desired outcome is that the system should adjust the julian date calculation to account for the extra day in leap years.
💻 Technical Criteria
Given The system has determined that leap year adjustment is required
When The leap year adjustment is applied
Then The system should adjust the Julian date calculation to account for the extra day in leap years
R-GCX016-cbl-03691 Format Julian Date Output
Computation Rules
📊 Business Logic Narrative
When the process 'Format Julian Date Output' is invoked, and assuming that the julian date calculation is complete with any necessary leap year adjustments, when the system prepares the final output, the desired outcome is that the system should format the julian date into the standard business format.
💻 Technical Criteria
Given The Julian date calculation is complete with any necessary leap year adjustments
When The system prepares the final output
Then The system should format the Julian date into the standard business format
R-GCX016-cbl-03692 Return Julian Date for Business Calculations
Action Rules
📊 Business Logic Narrative
When the process 'Return Julian Date for Business Calculations' is invoked, and assuming that the julian date has been successfully calculated and formatted, when the conversion process is complete, the desired outcome is that the system should return the julian date for use in business date calculations.
💻 Technical Criteria
Given The Julian date has been successfully calculated and formatted
When The conversion process is complete
Then The system should return the Julian date for use in business date calculations
R-GCX016-cbl-03693 Return Error for Invalid Date
Validation Rules
📊 Business Logic Narrative
When the process 'Return Error for Invalid Date' is invoked, and assuming that an invalid date format has been detected during validation, when the system cannot proceed with julian conversion, the desired outcome is that the system should return an error indicating the date format is invalid.
💻 Technical Criteria
Given An invalid date format has been detected during validation
When The system cannot proceed with Julian conversion
Then The system should return an error indicating the date format is invalid
R-GCX016-cbl-03711 Set Default Rerouting User
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Rerouting User' is invoked, and assuming that user code validation identifies invalid codes, when default rerouting is applied, the desired outcome is that system assigns default rerouting user for message delivery.
💻 Technical Criteria
Given User code validation identifies invalid codes
When Default rerouting is applied
Then System assigns default rerouting user for message delivery
R-GCX016-cbl-03712 Set Message Keywords
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Message Keywords' is invoked, and assuming that user code validation is complete, when message keyword assignment is performed, the desired outcome is that appropriate keywords are assigned based on message type and content.
💻 Technical Criteria
Given User code validation is complete
When Message keyword assignment is performed
Then Appropriate keywords are assigned based on message type and content
R-GCX016-cbl-03713 Set Subject Line Format
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Subject Line Format' is invoked, and assuming that message keywords are assigned, when subject line formatting is applied, the desired outcome is that subject line is formatted with standard message identification format.
💻 Technical Criteria
Given Message keywords are assigned
When Subject line formatting is applied
Then Subject line is formatted with standard message identification format
R-GCX016-cbl-03721 Initialize MQ Message Arrays
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MQ Message Arrays' is invoked, and assuming that a train operation requires message processing, when the system begins message queue initialization, the desired outcome is that message queue arrays are cleared and prepared for train segment processing.
💻 Technical Criteria
Given A train operation requires message processing
When The system begins message queue initialization
Then Message queue arrays are cleared and prepared for train segment processing
R-GCX016-cbl-03722 Set Train Operation Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Operation Parameters' is invoked, and assuming that message queue arrays are initialized, when train operation parameters need to be established, the desired outcome is that system sets appropriate flags and counters for train message processing.
💻 Technical Criteria
Given Message queue arrays are initialized
When Train operation parameters need to be established
Then System sets appropriate flags and counters for train message processing
R-GCX016-cbl-03725 Extract Train Information
Validation Rules
📊 Business Logic Narrative
When the process 'Extract Train Information' is invoked, and assuming that an m10 manifest segment is being processed, when train information extraction is required, the desired outcome is that system extracts vessel name, train identifier, and related manifest data for validation.
💻 Technical Criteria
Given An M10 manifest segment is being processed
When Train information extraction is required
Then System extracts vessel name, train identifier, and related manifest data for validation
R-GCX016-cbl-03726 Validate Train Existence
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Train Existence' is invoked, and assuming that train information has been extracted from manifest, when train validation is performed, the desired outcome is that system confirms train exists in database or generates appropriate error for non-existent trains.
💻 Technical Criteria
Given Train information has been extracted from manifest
When Train validation is performed
Then System confirms train exists in database or generates appropriate error for non-existent trains
R-GCX016-cbl-03727 Extract Disposition Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Disposition Code' is invoked, and assuming that a v9 event detail segment is being processed, when disposition code extraction is required, the desired outcome is that system extracts the disposition code that indicates the specific train operation type.
💻 Technical Criteria
Given A V9 event detail segment is being processed
When Disposition code extraction is required
Then System extracts the disposition code that indicates the specific train operation type
R-GCX016-cbl-03729 Set Train Cancellation Parameters
Decision Rules
📊 Business Logic Narrative
When the process 'Set Train Cancellation Parameters' is invoked, and assuming that a disposition code has been extracted from v9 segment, when the disposition code is coc (cancel on condition), the desired outcome is that system sets train cancellation processing parameters and flags.
💻 Technical Criteria
Given A disposition code has been extracted from V9 segment
When The disposition code is COC (Cancel on Condition)
Then System sets train cancellation processing parameters and flags
R-GCX016-cbl-03731 Calculate Array Entry Count
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Array Entry Count' is invoked, and assuming that message array entries are being added, when array entry count calculation is required, the desired outcome is that system increments entry count and maintains accurate array index.
💻 Technical Criteria
Given Message array entries are being added
When Array entry count calculation is required
Then System increments entry count and maintains accurate array index
R-GCX016-cbl-03733 More Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More Segments?' is invoked, and assuming that current segment has been processed and stored, when system checks for additional segments to process, the desired outcome is that system continues processing if more segments exist or proceeds to finalization if complete.
💻 Technical Criteria
Given Current segment has been processed and stored
When System checks for additional segments to process
Then System continues processing if more segments exist or proceeds to finalization if complete
R-GCX016-cbl-03734 Finalize Array Structure
Process Rules
📊 Business Logic Narrative
When the process 'Finalize Array Structure' is invoked, and assuming that all required segments have been processed and stored, when array structure finalization is required, the desired outcome is that system finalizes array structure and prepares for train operation execution.
💻 Technical Criteria
Given All required segments have been processed and stored
When Array structure finalization is required
Then System finalizes array structure and prepares for train operation execution
R-GCX016-cbl-03735 Set Processing Flags
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Flags' is invoked, and assuming that message array structure has been finalized, when processing control flags need to be set, the desired outcome is that system sets flags indicating successful initialization and readiness for train operation processing.
💻 Technical Criteria
Given Message array structure has been finalized
When Processing control flags need to be set
Then System sets flags indicating successful initialization and readiness for train operation processing
R-GCX016-cbl-03737 Set Queue Manager Name
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Queue Manager Name' is invoked, and assuming that mq connection parameters are being configured, when queue manager name is being set, the desired outcome is that queue manager name is assigned to connection configuration.
💻 Technical Criteria
Given MQ connection parameters are being configured
When queue manager name is being set
Then queue manager name is assigned to connection configuration
R-GCX016-cbl-03738 Set Connection Options
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Connection Options' is invoked, and assuming that queue manager name has been set, when connection options are being configured, the desired outcome is that connection options are set according to system requirements.
💻 Technical Criteria
Given queue manager name has been set
When connection options are being configured
Then connection options are set according to system requirements
R-GCX016-cbl-03739 Attempt MQ Connection
Action Rules
📊 Business Logic Narrative
When the process 'Attempt MQ Connection' is invoked, and assuming that all connection parameters and options are configured, when system attempts mq connection, the desired outcome is that connection attempt is made using mq connect operation.
💻 Technical Criteria
Given all connection parameters and options are configured
When system attempts MQ connection
Then connection attempt is made using MQ connect operation
R-GCX016-cbl-03740 Connection Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Connection Successful?' is invoked, and assuming that mq connection attempt has been made, when connection result is evaluated, the desired outcome is that system determines if connection was successful based on completion code.
💻 Technical Criteria
Given MQ connection attempt has been made
When connection result is evaluated
Then system determines if connection was successful based on completion code
R-GCX016-cbl-03741 Log Connection Success
Process Rules
📊 Business Logic Narrative
When the process 'Log Connection Success' is invoked, and assuming that mq connection was successful, when logging connection success, the desired outcome is that success message is recorded in system log.
💻 Technical Criteria
Given MQ connection was successful
When logging connection success
Then success message is recorded in system log
R-GCX016-cbl-03742 Set Connection Status Active
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Connection Status Active' is invoked, and assuming that mq connection was successful and logged, when setting connection status, the desired outcome is that connection status is set to active state.
💻 Technical Criteria
Given MQ connection was successful and logged
When setting connection status
Then connection status is set to active state
R-GCX016-cbl-03743 Connection Ready for Message Processing
Process Rules
📊 Business Logic Narrative
When the process 'Connection Ready for Message Processing' is invoked, and assuming that connection status is set to active, when confirming readiness for message processing, the desired outcome is that system indicates mq connection is ready for message operations.
💻 Technical Criteria
Given connection status is set to active
When confirming readiness for message processing
Then system indicates MQ connection is ready for message operations
R-GCX016-cbl-03744 Log Connection Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Connection Error' is invoked, and assuming that mq connection attempt failed, when logging connection error, the desired outcome is that error details are recorded in system log.
💻 Technical Criteria
Given MQ connection attempt failed
When logging connection error
Then error details are recorded in system log
R-GCX016-cbl-03745 Set Error Code and Message
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error Code and Message' is invoked, and assuming that connection error has been logged, when setting error information, the desired outcome is that error code and descriptive message are assigned based on failure reason.
💻 Technical Criteria
Given connection error has been logged
When setting error information
Then error code and descriptive message are assigned based on failure reason
R-GCX016-cbl-03746 Retry Connection?
Decision Rules
📊 Business Logic Narrative
When the process 'Retry Connection?' is invoked, and assuming that mq connection failed and error information is set, when evaluating retry decision, the desired outcome is that system determines if connection should be retried based on error type and retry policy.
💻 Technical Criteria
Given MQ connection failed and error information is set
When evaluating retry decision
Then system determines if connection should be retried based on error type and retry policy
R-GCX016-cbl-03747 Wait Before Retry
Process Rules
📊 Business Logic Narrative
When the process 'Wait Before Retry' is invoked, and assuming that retry decision is positive, when waiting before retry, the desired outcome is that system waits for configured retry interval.
💻 Technical Criteria
Given retry decision is positive
When waiting before retry
Then system waits for configured retry interval
R-GCX016-cbl-03748 Increment Retry Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Retry Counter' is invoked, and assuming that wait period before retry has completed, when incrementing retry counter, the desired outcome is that retry counter is increased by one.
💻 Technical Criteria
Given wait period before retry has completed
When incrementing retry counter
Then retry counter is increased by one
R-GCX016-cbl-03750 Set Connection Failed Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Connection Failed Status' is invoked, and assuming that maximum retries reached or retry decision is negative, when setting connection failed status, the desired outcome is that connection status is set to failed state.
💻 Technical Criteria
Given maximum retries reached or retry decision is negative
When setting connection failed status
Then connection status is set to failed state
R-GCX016-cbl-03751 Notify System Administrator
Action Rules
📊 Business Logic Narrative
When the process 'Notify System Administrator' is invoked, and assuming that connection status is set to failed, when notifying system administrator, the desired outcome is that administrator notification is sent with connection failure details.
💻 Technical Criteria
Given connection status is set to failed
When notifying system administrator
Then administrator notification is sent with connection failure details
R-GCX016-cbl-03752 Terminate Processing
Process Rules
📊 Business Logic Narrative
When the process 'Terminate Processing' is invoked, and assuming that administrator has been notified of connection failure, when terminating processing, the desired outcome is that system stops processing and exits with appropriate status.
💻 Technical Criteria
Given administrator has been notified of connection failure
When terminating processing
Then system stops processing and exits with appropriate status
R-GCX016-cbl-03753 Monitor Connection Health
Process Rules
📊 Business Logic Narrative
When the process 'Monitor Connection Health' is invoked, and assuming that mq connection is ready for message processing, when monitoring connection health, the desired outcome is that system checks connection status periodically.
💻 Technical Criteria
Given MQ connection is ready for message processing
When monitoring connection health
Then system checks connection status periodically
R-GCX016-cbl-03754 Connection Still Active?
Validation Rules
📊 Business Logic Narrative
When the process 'Connection Still Active?' is invoked, and assuming that connection health monitoring is active, when checking if connection is still active, the desired outcome is that system determines current connection status.
💻 Technical Criteria
Given connection health monitoring is active
When checking if connection is still active
Then system determines current connection status
R-GCX016-cbl-03755 Continue Normal Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue Normal Processing' is invoked, and assuming that connection is verified as still active, when continuing normal processing, the desired outcome is that system proceeds with regular message processing operations.
💻 Technical Criteria
Given connection is verified as still active
When continuing normal processing
Then system proceeds with regular message processing operations
R-GCX016-cbl-03756 Attempt Reconnection
Action Rules
📊 Business Logic Narrative
When the process 'Attempt Reconnection' is invoked, and assuming that connection is no longer active, when attempting reconnection, the desired outcome is that system initiates new connection attempt using existing parameters.
💻 Technical Criteria
Given connection is no longer active
When attempting reconnection
Then system initiates new connection attempt using existing parameters
R-GCX016-cbl-03757 Close MQ Connection
Process Rules
📊 Business Logic Narrative
When the process 'Close MQ Connection' is invoked, and assuming that message processing is complete or system is shutting down, when closing mq connection, the desired outcome is that connection is properly closed using mq disconnect operation.
💻 Technical Criteria
Given message processing is complete or system is shutting down
When closing MQ connection
Then connection is properly closed using MQ disconnect operation
R-GCX016-cbl-03758 Clean Up Resources
Process Rules
📊 Business Logic Narrative
When the process 'Clean Up Resources' is invoked, and assuming that mq connection has been closed, when cleaning up resources, the desired outcome is that all allocated mq resources are released and variables are reset.
💻 Technical Criteria
Given MQ connection has been closed
When cleaning up resources
Then all allocated MQ resources are released and variables are reset
R-GCX016-cbl-03759 Establish MQ Connection
Process Rules
📊 Business Logic Narrative
When the process 'Establish MQ Connection' is invoked, and assuming that mq connection parameters are initialized, when system attempts to establish mq connection, the desired outcome is that connection is established successfully or connection failure is handled.
💻 Technical Criteria
Given MQ connection parameters are initialized
When System attempts to establish MQ connection
Then Connection is established successfully or connection failure is handled
R-GCX016-cbl-03760 Open EDI Message Queue for Reading
Process Rules
📊 Business Logic Narrative
When the process 'Open EDI Message Queue for Reading' is invoked, and assuming that mq connection is established successfully, when system attempts to open edi message queue for reading, the desired outcome is that queue is opened successfully for message retrieval or queue access failure is handled.
💻 Technical Criteria
Given MQ connection is established successfully
When System attempts to open EDI message queue for reading
Then Queue is opened successfully for message retrieval or queue access failure is handled
R-GCX016-cbl-03761 Set Queue Ready Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Queue Ready Status' is invoked, and assuming that edi message queue is opened successfully, when queue open operation completes without errors, the desired outcome is that queue status is set to ready for message processing.
💻 Technical Criteria
Given EDI message queue is opened successfully
When Queue open operation completes without errors
Then Queue status is set to ready for message processing
R-GCX016-cbl-03762 Initialize Message Array Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Array Parameters' is invoked, and assuming that queue is ready for message processing, when system initializes message array parameters, the desired outcome is that message arrays are configured with proper parameters for edi message storage.
💻 Technical Criteria
Given Queue is ready for message processing
When System initializes message array parameters
Then Message arrays are configured with proper parameters for EDI message storage
R-GCX016-cbl-03764 Handle MQ Connection Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle MQ Connection Error' is invoked, and assuming that mq connection attempt is made, when mq connection fails, the desired outcome is that connection failure is logged and error status is set.
💻 Technical Criteria
Given MQ connection attempt is made
When MQ connection fails
Then Connection failure is logged and error status is set
R-GCX016-cbl-03765 Handle Queue Open Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Queue Open Error' is invoked, and assuming that queue open attempt is made, when queue open operation fails, the desired outcome is that queue access failure is logged and error status is set.
💻 Technical Criteria
Given Queue open attempt is made
When Queue open operation fails
Then Queue access failure is logged and error status is set
R-GCX016-cbl-03766 Initialize Message Arrays
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Arrays' is invoked, and assuming that mq message retrieval process is starting, when system begins message processing operations, the desired outcome is that message arrays are initialized and entry counters are reset to zero.
💻 Technical Criteria
Given MQ message retrieval process is starting
When system begins message processing operations
Then message arrays are initialized and entry counters are reset to zero
R-GCX016-cbl-03767 Open MQ Queue for Reading
Action Rules
📊 Business Logic Narrative
When the process 'Open MQ Queue for Reading' is invoked, and assuming that message arrays are initialized, when system attempts to open mq queue for reading, the desired outcome is that mq queue connection is established for message retrieval operations.
💻 Technical Criteria
Given message arrays are initialized
When system attempts to open MQ queue for reading
Then MQ queue connection is established for message retrieval operations
R-GCX016-cbl-03768 MQ Queue Available?
Validation Rules
📊 Business Logic Narrative
When the process 'MQ Queue Available?' is invoked, and assuming that system attempts to open mq queue, when mq queue connection status is evaluated, the desired outcome is that if queue is available, proceed to message retrieval, otherwise handle connection error.
💻 Technical Criteria
Given system attempts to open MQ queue
When MQ queue connection status is evaluated
Then if queue is available, proceed to message retrieval, otherwise handle connection error
R-GCX016-cbl-03770 Message Retrieved?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Retrieved?' is invoked, and assuming that system attempts to retrieve message from queue, when message retrieval operation completes, the desired outcome is that if message retrieved successfully, proceed to calculate length, otherwise check for more messages.
💻 Technical Criteria
Given system attempts to retrieve message from queue
When message retrieval operation completes
Then if message retrieved successfully, proceed to calculate length, otherwise check for more messages
R-GCX016-cbl-03771 Calculate Message Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Message Length' is invoked, and assuming that message is successfully retrieved from mq queue, when system processes the variable-length message, the desired outcome is that message length is calculated and stored for entry count determination.
💻 Technical Criteria
Given message is successfully retrieved from MQ queue
When system processes the variable-length message
Then message length is calculated and stored for entry count determination
R-GCX016-cbl-03773 Process Variable-Length Message Array
Process Rules
📊 Business Logic Narrative
When the process 'Process Variable-Length Message Array' is invoked, and assuming that entry count is determined from message structure, when system processes the variable-length message array, the desired outcome is that message array is processed and prepared for validation.
💻 Technical Criteria
Given entry count is determined from message structure
When system processes the variable-length message array
Then message array is processed and prepared for validation
R-GCX016-cbl-03775 Message Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Valid?' is invoked, and assuming that message completeness validation is performed, when system evaluates overall message validity, the desired outcome is that if message is valid, store in processing array, otherwise handle processing error.
💻 Technical Criteria
Given message completeness validation is performed
When system evaluates overall message validity
Then if message is valid, store in processing array, otherwise handle processing error
R-GCX016-cbl-03776 Store Message in Processing Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Message in Processing Array' is invoked, and assuming that message passes all validation checks, when system stores message for processing, the desired outcome is that message is stored in processing array and available for business logic processing.
💻 Technical Criteria
Given message passes all validation checks
When system stores message for processing
Then message is stored in processing array and available for business logic processing
R-GCX016-cbl-03777 Increment Message Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Message Counter' is invoked, and assuming that message is stored in processing array, when system updates message tracking counters, the desired outcome is that message counter is incremented to reflect successful message processing.
💻 Technical Criteria
Given message is stored in processing array
When system updates message tracking counters
Then message counter is incremented to reflect successful message processing
R-GCX016-cbl-03778 More Messages?
Decision Rules
📊 Business Logic Narrative
When the process 'More Messages?' is invoked, and assuming that current message processing is complete, when system checks for additional messages in queue, the desired outcome is that if more messages available, continue retrieval, otherwise close queue and return results.
💻 Technical Criteria
Given current message processing is complete
When system checks for additional messages in queue
Then if more messages available, continue retrieval, otherwise close queue and return results
R-GCX016-cbl-03779 Close MQ Queue
Process Rules
📊 Business Logic Narrative
When the process 'Close MQ Queue' is invoked, and assuming that no more messages are available in queue, when system completes message retrieval operations, the desired outcome is that mq queue connection is properly closed.
💻 Technical Criteria
Given no more messages are available in queue
When system completes message retrieval operations
Then MQ queue connection is properly closed
R-GCX016-cbl-03781 Handle MQ Connection Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Handle MQ Connection Error', assuming that mq queue is not available or connection fails, when system encounters mq connection error, the desired outcome is that error is logged and processing continues with error handling.
💻 Technical Criteria
EXCLUDING MQ queue is not available or connection fails
When system encounters MQ connection error
Then error is logged and processing continues with error handling
R-GCX016-cbl-03782 Handle Message Processing Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Message Processing Error' is invoked, and assuming that message fails validation or processing encounters error, when system detects message processing error, the desired outcome is that error is logged and processing continues with error handling.
💻 Technical Criteria
Given message fails validation or processing encounters error
When system detects message processing error
Then error is logged and processing continues with error handling
R-GCX016-cbl-03783 Log Error and Continue
Process Rules
📊 Business Logic Narrative
When the process 'Log Error and Continue' is invoked, and assuming that mq connection error or message processing error occurs, when system handles the error condition, the desired outcome is that error is logged and system continues to check for more messages.
💻 Technical Criteria
Given MQ connection error or message processing error occurs
When system handles the error condition
Then error is logged and system continues to check for more messages
R-GCX016-cbl-03784 Get Message Length
Process Rules
📊 Business Logic Narrative
When the process 'Get Message Length' is invoked, and assuming that an edi message has been received from the mq queue, when the system needs to determine the message processing requirements, the desired outcome is that the system retrieves and stores the total message length for subsequent processing.
💻 Technical Criteria
Given An EDI message has been received from the MQ queue
When The system needs to determine the message processing requirements
Then The system retrieves and stores the total message length for subsequent processing
R-GCX016-cbl-03785 Initialize Entry Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Entry Counter' is invoked, and assuming that the system is ready to parse an edi message, when message processing begins, the desired outcome is that the entry counter is set to zero to track the number of segments processed.
💻 Technical Criteria
Given The system is ready to parse an EDI message
When Message processing begins
Then The entry counter is set to zero to track the number of segments processed
R-GCX016-cbl-03786 Parse Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Parse Message Structure' is invoked, and assuming that an edi message with known length is available for processing, when the system begins message analysis, the desired outcome is that the message structure is parsed to identify individual edi segments.
💻 Technical Criteria
Given An EDI message with known length is available for processing
When The system begins message analysis
Then The message structure is parsed to identify individual EDI segments
R-GCX016-cbl-03787 More Segments to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Segments to Process?' is invoked, and assuming that the system is processing edi message segments, when a segment has been processed, the desired outcome is that the system checks if more segments exist in the message for continued processing.
💻 Technical Criteria
Given The system is processing EDI message segments
When A segment has been processed
Then The system checks if more segments exist in the message for continued processing
R-GCX016-cbl-03788 Identify Segment Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Identify Segment Type' is invoked, and assuming that an edi segment is available for processing, when the system encounters a new segment, the desired outcome is that the segment type is identified based on the segment identifier.
💻 Technical Criteria
Given An EDI segment is available for processing
When The system encounters a new segment
Then The segment type is identified based on the segment identifier
R-GCX016-cbl-03789 Calculate Segment Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Segment Length' is invoked, and assuming that an edi segment has been identified, when the system needs to process the segment, the desired outcome is that the segment length is calculated based on the segment structure and content.
💻 Technical Criteria
Given An EDI segment has been identified
When The system needs to process the segment
Then The segment length is calculated based on the segment structure and content
R-GCX016-cbl-03790 Increment Entry Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Entry Counter' is invoked, and assuming that an edi segment has been successfully processed, when the segment processing is complete, the desired outcome is that the entry counter is incremented by one to track the total number of processed segments.
💻 Technical Criteria
Given An EDI segment has been successfully processed
When The segment processing is complete
Then The entry counter is incremented by one to track the total number of processed segments
R-GCX016-cbl-03791 Move to Next Segment Position
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Segment Position' is invoked, and assuming that a segment has been processed and its length calculated, when the system needs to continue processing, the desired outcome is that the message position pointer is moved to the start of the next segment.
💻 Technical Criteria
Given A segment has been processed and its length calculated
When The system needs to continue processing
Then The message position pointer is moved to the start of the next segment
R-GCX016-cbl-03792 Validate Total Entries Against Message Length
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Total Entries Against Message Length' is invoked, and assuming that all segments in the edi message have been processed, when the system completes segment counting, the desired outcome is that the total entry count is validated against the expected count derived from message length.
💻 Technical Criteria
Given All segments in the EDI message have been processed
When The system completes segment counting
Then The total entry count is validated against the expected count derived from message length
R-GCX016-cbl-03794 Set Final Entry Count
Process Rules
📊 Business Logic Narrative
When the process 'Set Final Entry Count' is invoked, and assuming that the entry count has been validated as correct, when validation passes successfully, the desired outcome is that the final entry count is set for use in subsequent message processing.
💻 Technical Criteria
Given The entry count has been validated as correct
When Validation passes successfully
Then The final entry count is set for use in subsequent message processing
R-GCX016-cbl-03795 Log Entry Count Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Entry Count Error', assuming that the entry count validation has failed, when an invalid entry count is detected, the desired outcome is that an error is logged indicating the entry count validation failure.
💻 Technical Criteria
EXCLUDING The entry count validation has failed
When An invalid entry count is detected
Then An error is logged indicating the entry count validation failure
R-GCX016-cbl-03796 Set Error Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Error Flag' is invoked, and assuming that an entry count error has been logged, when entry count validation fails, the desired outcome is that an error flag is set to indicate processing failure.
💻 Technical Criteria
Given An entry count error has been logged
When Entry count validation fails
Then An error flag is set to indicate processing failure
R-GCX016-cbl-03797 Return Entry Count for Processing
Process Rules
📊 Business Logic Narrative
When the process 'Return Entry Count for Processing' is invoked, and assuming that entry count calculation is complete (either successful or with error), when the calling process requests the entry count, the desired outcome is that the calculated entry count is returned along with any error indicators for further processing.
💻 Technical Criteria
Given Entry count calculation is complete (either successful or with error)
When The calling process requests the entry count
Then The calculated entry count is returned along with any error indicators for further processing
R-GCX016-cbl-03798 Receive EDI Segment for Processing
Validation Rules
📊 Business Logic Narrative
When the process 'Receive EDI Segment for Processing' is invoked, and assuming that edi segments are available in the message queue, when the system processes messages from the queue, the desired outcome is that valid messages with backout count zero are accepted for processing and messages with non-zero backout count are skipped.
💻 Technical Criteria
Given EDI segments are available in the message queue
When the system processes messages from the queue
Then valid messages with backout count zero are accepted for processing and messages with non-zero backout count are skipped
R-GCX016-cbl-03809 Continue to Next EDI Segment
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next EDI Segment' is invoked, and assuming that current edi segment processing is complete, when more segments exist in the message queue, the desired outcome is that continue processing next available segment until end of queue is reached.
💻 Technical Criteria
Given current EDI segment processing is complete
When more segments exist in the message queue
Then continue processing next available segment until end of queue is reached
R-GCX016-cbl-03810 Validate Shipment Root Record
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Shipment Root Record' is invoked, and assuming that a request to create u1 segment for a shipment, when the system checks for shipment root record existence, the desired outcome is that the system should validate the shipment root record exists and proceed with u1 creation, or log an error if not found.
💻 Technical Criteria
Given A request to create U1 segment for a shipment
When The system checks for shipment root record existence
Then The system should validate the shipment root record exists and proceed with U1 creation, or log an error if not found
R-GCX016-cbl-03811 Log Shiproot Not Found Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Shiproot Not Found Error', assuming that a u1 segment creation request for a shipment, when the shipment root record does not exist in the system, the desired outcome is that the system should log a shiproot not found error and terminate the u1 creation process.
💻 Technical Criteria
EXCLUDING A U1 segment creation request for a shipment
When The shipment root record does not exist in the system
Then The system should log a shiproot not found error and terminate the U1 creation process
R-GCX016-cbl-03817 Database Operation Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Operation Successful?' is invoked, and assuming that a u1 segment insertion has been attempted, when the database operation completes, the desired outcome is that the system should check if the database operation was successful and proceed accordingly or log an error if failed.
💻 Technical Criteria
Given A U1 segment insertion has been attempted
When The database operation completes
Then The system should check if the database operation was successful and proceed accordingly or log an error if failed
R-GCX016-cbl-03818 U1 Segment Created Successfully
Process Rules
📊 Business Logic Narrative
When the process 'U1 Segment Created Successfully' is invoked, and assuming that u1 segment has been successfully inserted into the database, when the database operation returns success status, the desired outcome is that the system should confirm u1 segment creation was successful and complete the process.
💻 Technical Criteria
Given U1 segment has been successfully inserted into the database
When The database operation returns success status
Then The system should confirm U1 segment creation was successful and complete the process
R-GCX016-cbl-03819 Log Database Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Database Error' is invoked, and assuming that a u1 segment insertion has been attempted, when the database operation fails, the desired outcome is that the system should log the database error with relevant details and terminate the u1 creation process.
💻 Technical Criteria
Given A U1 segment insertion has been attempted
When The database operation fails
Then The system should log the database error with relevant details and terminate the U1 creation process
R-GCX016-cbl-03829 Validate Shiproot Existence
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Shiproot Existence' is invoked, and assuming that a u1 shipment segment needs to be processed, when the system checks for shipment root existence in the database, the desired outcome is that if shipment root does not exist, processing stops with error handling, otherwise processing continues.
💻 Technical Criteria
Given A U1 shipment segment needs to be processed
When The system checks for shipment root existence in the database
Then If shipment root does not exist, processing stops with error handling, otherwise processing continues
R-GCX016-cbl-03832 U1 Segment Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'U1 Segment Exists?' is invoked, and assuming that a u1 segment needs to be stored in the database, when the system checks if a u1 segment already exists for the shipment, the desired outcome is that if segment exists, perform replace operation, otherwise perform insert operation.
💻 Technical Criteria
Given A U1 segment needs to be stored in the database
When The system checks if a U1 segment already exists for the shipment
Then If segment exists, perform replace operation, otherwise perform insert operation
R-GCX016-cbl-03835 Operation Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Operation Successful?' is invoked, and assuming that a database operation has been performed on u1 segment, when the system checks the operation result status, the desired outcome is that if operation successful, log success and continue, otherwise handle database error.
💻 Technical Criteria
Given A database operation has been performed on U1 segment
When The system checks the operation result status
Then If operation successful, log success and continue, otherwise handle database error
R-GCX016-cbl-03836 Log Successful Update
Process Rules
📊 Business Logic Narrative
When the process 'Log Successful Update' is invoked, and assuming that u1 segment database operation completed successfully, when the system processes the successful operation, the desired outcome is that success information is logged for audit trail and processing continues.
💻 Technical Criteria
Given U1 segment database operation completed successfully
When The system processes the successful operation
Then Success information is logged for audit trail and processing continues
R-GCX016-cbl-03837 Handle Database Error
Action Rules
📊 Business Logic Narrative
When the process 'Handle Database Error' is invoked, and assuming that a database operation on u1 segment has failed, when the system detects the operation failure, the desired outcome is that error handling procedures are invoked and processing terminates with error status.
💻 Technical Criteria
Given A database operation on U1 segment has failed
When The system detects the operation failure
Then Error handling procedures are invoked and processing terminates with error status
R-GCX016-cbl-03855 Extract Reference Qualifiers
Process Rules
📊 Business Logic Narrative
When the process 'Extract Reference Qualifiers' is invoked, and assuming that reference numbers have been extracted from n9 segments, when the system processes the qualifier information in each n9 segment, the desired outcome is that reference qualifiers are extracted and associated with their corresponding reference numbers.
💻 Technical Criteria
Given Reference numbers have been extracted from N9 segments
When The system processes the qualifier information in each N9 segment
Then Reference qualifiers are extracted and associated with their corresponding reference numbers
R-GCX016-cbl-03857 Valid FDA References?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid FDA References?' is invoked, and assuming that fda reference validation has been performed, when the system evaluates the validation results, the desired outcome is that if references are valid for fda processing, store them for shipment use, otherwise skip n9 processing and continue.
💻 Technical Criteria
Given FDA reference validation has been performed
When The system evaluates the validation results
Then If references are valid for FDA processing, store them for shipment use, otherwise skip N9 processing and continue
R-GCX016-cbl-03858 Store Reference Information for Shipment
Process Rules
📊 Business Logic Narrative
When the process 'Store Reference Information for Shipment' is invoked, and assuming that n9 references have been validated as fda-compliant, when the system processes the valid references, the desired outcome is that reference information is stored in memory structures for shipment record updates.
💻 Technical Criteria
Given N9 references have been validated as FDA-compliant
When The system processes the valid references
Then Reference information is stored in memory structures for shipment record updates
R-GCX016-cbl-03859 Update Shipment Record with N9 Data
Action Rules
📊 Business Logic Narrative
When the process 'Update Shipment Record with N9 Data' is invoked, and assuming that valid n9 reference information has been stored, when the system updates the shipment record, the desired outcome is that shipment record is updated with n9 reference numbers and qualifiers for regulatory compliance.
💻 Technical Criteria
Given Valid N9 reference information has been stored
When The system updates the shipment record
Then Shipment record is updated with N9 reference numbers and qualifiers for regulatory compliance
R-GCX016-cbl-03860 Log Reference Processing
Process Rules
📊 Business Logic Narrative
When the process 'Log Reference Processing' is invoked, and assuming that n9 reference information has been processed and shipment record updated, when the system completes the reference processing, the desired outcome is that processing activity is logged with details of references processed and shipment updates made.
💻 Technical Criteria
Given N9 reference information has been processed and shipment record updated
When The system completes the reference processing
Then Processing activity is logged with details of references processed and shipment updates made
R-GCX016-cbl-03861 Skip N9 Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip N9 Processing', assuming that n9 references have been found but failed fda validation, when the system determines references are invalid, the desired outcome is that n9 processing is skipped and shipment processing continues without reference updates.
💻 Technical Criteria
EXCLUDING N9 references have been found but failed FDA validation
When The system determines references are invalid
Then N9 processing is skipped and shipment processing continues without reference updates
R-GCX016-cbl-03884 Log No Match Information
Action Rules
📊 Business Logic Narrative
When the process 'Log No Match Information' is invoked, and assuming that no canadian match has been found and marked, when the system logs the no-match event, the desired outcome is that information about unsuccessful matching is recorded in system logs.
💻 Technical Criteria
Given No Canadian match has been found and marked
When The system logs the no-match event
Then Information about unsuccessful matching is recorded in system logs
R-GCX016-cbl-03887 Broker Code Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Code Present?' is invoked, and assuming that a broker code validation check has been performed, when the system evaluates broker code presence, the desired outcome is that if broker code is present, proceed to bk table lookup, otherwise set broker name to spaces.
💻 Technical Criteria
Given a broker code validation check has been performed
When the system evaluates broker code presence
Then if broker code is present, proceed to BK table lookup, otherwise set broker name to spaces
R-GCX016-cbl-03888 Set Up BK Table Key with Broker Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Up BK Table Key with Broker Code' is invoked, and assuming that a valid broker code exists for kcsm processing, when the system prepares to lookup broker information, the desired outcome is that the bk table key is constructed using the broker code for table access.
💻 Technical Criteria
Given a valid broker code exists for KCSM processing
When the system prepares to lookup broker information
Then the BK table key is constructed using the broker code for table access
R-GCX016-cbl-03889 Call GCCTBIO to Read BK Table
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Read BK Table' is invoked, and assuming that a properly formatted bk table key with broker code, when the system calls gcctbio table service, the desired outcome is that the system attempts to read the broker record from the bk table.
💻 Technical Criteria
Given a properly formatted BK table key with broker code
When the system calls GCCTBIO table service
Then the system attempts to read the broker record from the BK table
R-GCX016-cbl-03890 BK Table Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'BK Table Record Found?' is invoked, and assuming that a bk table lookup has been performed using gcctbio, when the system evaluates the lookup results, the desired outcome is that if record is found, extract broker name, otherwise set broker name to spaces.
💻 Technical Criteria
Given a BK table lookup has been performed using GCCTBIO
When the system evaluates the lookup results
Then if record is found, extract broker name, otherwise set broker name to spaces
R-GCX016-cbl-03891 Extract Broker Short Name from BK Table
Process Rules
📊 Business Logic Narrative
When the process 'Extract Broker Short Name from BK Table' is invoked, and assuming that a broker record has been successfully found in the bk table, when the system processes the retrieved record, the desired outcome is that the broker short name is extracted from the bk table record.
💻 Technical Criteria
Given a broker record has been successfully found in the BK table
When the system processes the retrieved record
Then the broker short name is extracted from the BK table record
R-GCX016-cbl-03892 Store Broker Name for KCSM Processing
Process Rules
📊 Business Logic Narrative
When the process 'Store Broker Name for KCSM Processing' is invoked, and assuming that a broker short name has been extracted from the bk table record, when the system completes broker name extraction, the desired outcome is that the broker name is stored in the designated field for kcsm processing use.
💻 Technical Criteria
Given a broker short name has been extracted from the BK table record
When the system completes broker name extraction
Then the broker name is stored in the designated field for KCSM processing use
R-GCX016-cbl-03893 Set Broker Name to Spaces if Not Found
Process Rules
📊 Business Logic Narrative
When the process 'Set Broker Name to Spaces if Not Found' is invoked, and assuming that either no broker code exists or bk table lookup failed to find a record, when the system handles the missing broker information scenario, the desired outcome is that the broker name field is set to spaces to indicate no broker information available.
💻 Technical Criteria
Given either no broker code exists or BK table lookup failed to find a record
When the system handles the missing broker information scenario
Then the broker name field is set to spaces to indicate no broker information available
R-GCX016-cbl-03894 Initialize Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Transmission Parameters' is invoked, and assuming that edi transmission root segment creation is requested, when the system begins transmission parameter initialization, the desired outcome is that transmission parameters are loaded from aecwrktb work table.
💻 Technical Criteria
Given EDI transmission root segment creation is requested
When the system begins transmission parameter initialization
Then transmission parameters are loaded from AECWRKTB work table
R-GCX016-cbl-03895 Set Transmission Control Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Control Information' is invoked, and assuming that transmission parameters are initialized, when transmission control information is being set, the desired outcome is that control information is configured for message routing and tracking purposes.
💻 Technical Criteria
Given transmission parameters are initialized
When transmission control information is being set
Then control information is configured for message routing and tracking purposes
R-GCX016-cbl-03896 Generate Transmission ID
Computation Rules
📊 Business Logic Narrative
When the process 'Generate Transmission ID' is invoked, and assuming that transmission control information is set, when a transmission id is required, the desired outcome is that a unique transmission identifier is generated for message tracking.
💻 Technical Criteria
Given transmission control information is set
When a transmission ID is required
Then a unique transmission identifier is generated for message tracking
R-GCX016-cbl-03898 Create A9RT Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create A9RT Root Segment' is invoked, and assuming that message routing information is configured, when a9rt root segment creation is initiated, the desired outcome is that a9rt root segment is created with transmission control and routing information.
💻 Technical Criteria
Given message routing information is configured
When A9RT root segment creation is initiated
Then A9RT root segment is created with transmission control and routing information
R-GCX016-cbl-03899 Set Tracking Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Tracking Information' is invoked, and assuming that a9rt root segment is created, when tracking information is being set, the desired outcome is that tracking information is established for monitoring transmission status and progress.
💻 Technical Criteria
Given A9RT root segment is created
When tracking information is being set
Then tracking information is established for monitoring transmission status and progress
R-GCX016-cbl-03900 Validate Segment Structure
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Segment Structure' is invoked, and assuming that tracking information is set, when segment structure validation is performed, the desired outcome is that root segment structure is validated for data integrity and completeness.
💻 Technical Criteria
Given tracking information is set
When segment structure validation is performed
Then root segment structure is validated for data integrity and completeness
R-GCX016-cbl-03901 Validation Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Validation Successful?' is invoked, and assuming that segment structure validation is completed, when validation results are evaluated, the desired outcome is that system determines if validation was successful to proceed with storage or error handling.
💻 Technical Criteria
Given segment structure validation is completed
When validation results are evaluated
Then system determines if validation was successful to proceed with storage or error handling
R-GCX016-cbl-03902 Store Root Segment to Database
Action Rules
📊 Business Logic Narrative
When the process 'Store Root Segment to Database' is invoked, and assuming that segment validation is successful, when root segment storage is initiated, the desired outcome is that validated root segment is stored to a9rt transmission segment database.
💻 Technical Criteria
Given segment validation is successful
When root segment storage is initiated
Then validated root segment is stored to A9RT transmission segment database
R-GCX016-cbl-03903 Log Transmission Creation
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Creation' is invoked, and assuming that root segment is successfully stored to database, when transmission creation logging is performed, the desired outcome is that successful transmission creation is logged for audit and monitoring purposes.
💻 Technical Criteria
Given root segment is successfully stored to database
When transmission creation logging is performed
Then successful transmission creation is logged for audit and monitoring purposes
R-GCX016-cbl-03904 Return Success Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Success Status' is invoked, and assuming that transmission creation is logged successfully, when process completion status is returned, the desired outcome is that success status is returned to indicate successful root segment creation.
💻 Technical Criteria
Given transmission creation is logged successfully
When process completion status is returned
Then success status is returned to indicate successful root segment creation
R-GCX016-cbl-03905 Handle Creation Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Creation Error' is invoked, and assuming that segment validation fails, when creation error handling is initiated, the desired outcome is that system handles errors that occurred during root segment creation process.
💻 Technical Criteria
Given segment validation fails
When creation error handling is initiated
Then system handles errors that occurred during root segment creation process
R-GCX016-cbl-03906 Log Error Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Error Details' is invoked, and assuming that creation error handling is initiated, when error logging is performed, the desired outcome is that detailed error information is logged for troubleshooting and audit purposes.
💻 Technical Criteria
Given creation error handling is initiated
When error logging is performed
Then detailed error information is logged for troubleshooting and audit purposes
R-GCX016-cbl-03907 Return Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Error Status' is invoked, and assuming that error details are logged, when error status is returned, the desired outcome is that error status is returned to indicate failure in root segment creation process.
💻 Technical Criteria
Given error details are logged
When error status is returned
Then error status is returned to indicate failure in root segment creation process
R-GCX016-cbl-03908 Retrieve EDI 350 Message Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve EDI 350 Message Data' is invoked, and assuming that an edi transmission process is initiated, when the system needs to process edi 350 message data, the desired outcome is that the system retrieves the edi 350 message data from the message queue for further processing.
💻 Technical Criteria
Given An EDI transmission process is initiated
When The system needs to process EDI 350 message data
Then The system retrieves the EDI 350 message data from the message queue for further processing
R-GCX016-cbl-03911 Copy EDI Segment Data to A9DP
Process Rules
📊 Business Logic Narrative
When the process 'Copy EDI Segment Data to A9DP' is invoked, and assuming that transmission control information has been set in the a9dp segment, when edi segment data needs to be stored for transmission, the desired outcome is that the system copies the edi segment data from the 350 message into the a9dp dependent segment.
💻 Technical Criteria
Given Transmission control information has been set in the A9DP segment
When EDI segment data needs to be stored for transmission
Then The system copies the EDI segment data from the 350 message into the A9DP dependent segment
R-GCX016-cbl-03912 More EDI Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More EDI Segments?' is invoked, and assuming that edi segment data has been copied to an a9dp segment, when the system checks for additional segments to process, the desired outcome is that the system evaluates if more edi segments exist and continues processing if segments remain, or proceeds to transmission preparation if all segments are processed.
💻 Technical Criteria
Given EDI segment data has been copied to an A9DP segment
When The system checks for additional segments to process
Then The system evaluates if more EDI segments exist and continues processing if segments remain, or proceeds to transmission preparation if all segments are processed
R-GCX016-cbl-03913 Create Next A9DP Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Next A9DP Segment' is invoked, and assuming that more edi segments exist to be processed, when the system needs to create another dependent segment, the desired outcome is that the system creates a new a9dp dependent segment for the next edi segment data.
💻 Technical Criteria
Given More EDI segments exist to be processed
When The system needs to create another dependent segment
Then The system creates a new A9DP dependent segment for the next EDI segment data
R-GCX016-cbl-03916 Link to Transmission Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Link to Transmission Root Segment' is invoked, and assuming that edi data has been stored in the dependent segment, when the dependent segment needs to be associated with its transmission root, the desired outcome is that the system links the a9dp dependent segment to the a9rt transmission root segment.
💻 Technical Criteria
Given EDI data has been stored in the dependent segment
When The dependent segment needs to be associated with its transmission root
Then The system links the A9DP dependent segment to the A9RT transmission root segment
R-GCX016-cbl-03917 Insert A9DP Segment to Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert A9DP Segment to Database' is invoked, and assuming that the dependent segment has been linked to the transmission root segment, when the segment needs to be persisted for transmission, the desired outcome is that the system inserts the a9dp dependent segment into the database.
💻 Technical Criteria
Given The dependent segment has been linked to the transmission root segment
When The segment needs to be persisted for transmission
Then The system inserts the A9DP dependent segment into the database
R-GCX016-cbl-03918 Database Insert Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Insert Successful?' is invoked, and assuming that an a9dp segment has been inserted into the database, when the system needs to verify the insertion was successful, the desired outcome is that the system checks the database insert status and proceeds with logging if successful, or handles the error if unsuccessful.
💻 Technical Criteria
Given An A9DP segment has been inserted into the database
When The system needs to verify the insertion was successful
Then The system checks the database insert status and proceeds with logging if successful, or handles the error if unsuccessful
R-GCX016-cbl-03919 Log Transmission Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Details' is invoked, and assuming that the database insertion was successful, when the system needs to maintain an audit trail, the desired outcome is that the system logs transmission details including segment information and processing status.
💻 Technical Criteria
Given The database insertion was successful
When The system needs to maintain an audit trail
Then The system logs transmission details including segment information and processing status
R-GCX016-cbl-03920 Prepare for KCSM Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Prepare for KCSM Transmission' is invoked, and assuming that all edi segments have been processed and stored in dependent segments, when the system is ready for transmission, the desired outcome is that the system prepares the dependent segments for kcsm transmission processing.
💻 Technical Criteria
Given All EDI segments have been processed and stored in dependent segments
When The system is ready for transmission
Then The system prepares the dependent segments for KCSM transmission processing
R-GCX016-cbl-03921 Handle Database Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Database Error' is invoked, and assuming that a database insertion has failed, when the system encounters a database error, the desired outcome is that the system handles the database error through appropriate error recovery procedures.
💻 Technical Criteria
Given A database insertion has failed
When The system encounters a database error
Then The system handles the database error through appropriate error recovery procedures
R-GCX016-cbl-03922 Complete Dependent Segment Creation
Process Rules
📊 Business Logic Narrative
When the process 'Complete Dependent Segment Creation' is invoked, and assuming that all dependent segments have been processed or errors have been handled, when the dependent segment creation process needs to be finalized, the desired outcome is that the system completes the dependent segment creation process and finalizes edi transmission preparation.
💻 Technical Criteria
Given All dependent segments have been processed or errors have been handled
When The dependent segment creation process needs to be finalized
Then The system completes the dependent segment creation process and finalizes EDI transmission preparation
R-GCX016-cbl-03924 Broker Name Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Name Found?' is invoked, and assuming that the system has attempted to retrieve broker information for kcsm processing, when the broker lookup operation completes, the desired outcome is that if broker name is found, proceed to transmission creation; if broker name is not found, handle broker lookup error and complete kcsm integration.
💻 Technical Criteria
Given The system has attempted to retrieve broker information for KCSM processing
When The broker lookup operation completes
Then If broker name is found, proceed to transmission creation; if broker name is not found, handle broker lookup error and complete KCSM integration
R-GCX016-cbl-03925 Create Transmission Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Root Segment' is invoked, and assuming that a valid broker name has been retrieved for kcsm processing, when the system creates the transmission root segment, the desired outcome is that a9rt transmission root segment is created with proper structure for edi message transmission.
💻 Technical Criteria
Given A valid broker name has been retrieved for KCSM processing
When The system creates the transmission root segment
Then A9RT transmission root segment is created with proper structure for EDI message transmission
R-GCX016-cbl-03926 Set Transmission Control Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Control Information' is invoked, and assuming that a transmission root segment has been created, when the system sets transmission control information, the desired outcome is that transmission control parameters including routing, priority, and processing flags are established.
💻 Technical Criteria
Given A transmission root segment has been created
When The system sets transmission control information
Then Transmission control parameters including routing, priority, and processing flags are established
R-GCX016-cbl-03927 Create Dependent Segment with EDI Data
Process Rules
📊 Business Logic Narrative
When the process 'Create Dependent Segment with EDI Data' is invoked, and assuming that transmission control information has been set, when the system creates the dependent segment with edi data, the desired outcome is that a9dp dependent segment is created containing the formatted edi message data for transmission.
💻 Technical Criteria
Given Transmission control information has been set
When The system creates the dependent segment with EDI data
Then A9DP dependent segment is created containing the formatted EDI message data for transmission
R-GCX016-cbl-03928 Set Message Length and Entry Count
Computation Rules
📊 Business Logic Narrative
When the process 'Set Message Length and Entry Count' is invoked, and assuming that edi dependent segment has been created with message data, when the system calculates message parameters, the desired outcome is that message length and entry count are calculated and set for transmission validation.
💻 Technical Criteria
Given EDI dependent segment has been created with message data
When The system calculates message parameters
Then Message length and entry count are calculated and set for transmission validation
R-GCX016-cbl-03929 Transmission Created Successfully?
Decision Rules
📊 Business Logic Narrative
When the process 'Transmission Created Successfully?' is invoked, and assuming that message length and entry count have been set, when the system validates transmission creation, the desired outcome is that if transmission created successfully, spawn gct1091e transaction; if transmission creation failed, handle transmission creation error and complete kcsm integration.
💻 Technical Criteria
Given Message length and entry count have been set
When The system validates transmission creation
Then If transmission created successfully, spawn GCT1091E transaction; if transmission creation failed, handle transmission creation error and complete KCSM integration
R-GCX016-cbl-03930 Spawn GCT1091E Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1091E Transaction' is invoked, and assuming that transmission has been created successfully, when the system spawns gct1091e transaction, the desired outcome is that gct1091e transaction is initiated for kcsm system integration processing.
💻 Technical Criteria
Given Transmission has been created successfully
When The system spawns GCT1091E transaction
Then GCT1091E transaction is initiated for KCSM system integration processing
R-GCX016-cbl-03931 GCT1091E Spawn Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'GCT1091E Spawn Successful?' is invoked, and assuming that gct1091e transaction spawn has been attempted, when the system checks spawn operation status, the desired outcome is that if gct1091e spawn successful, pass transmission parameters; if spawn failed, handle spawn transaction error and complete kcsm integration.
💻 Technical Criteria
Given GCT1091E transaction spawn has been attempted
When The system checks spawn operation status
Then If GCT1091E spawn successful, pass transmission parameters; if spawn failed, handle spawn transaction error and complete KCSM integration
R-GCX016-cbl-03932 Pass Transmission Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Pass Transmission Parameters' is invoked, and assuming that gct1091e transaction has been spawned successfully, when the system passes transmission parameters, the desired outcome is that transmission parameters including root segment, dependent segment, and control information are passed to gct1091e.
💻 Technical Criteria
Given GCT1091E transaction has been spawned successfully
When The system passes transmission parameters
Then Transmission parameters including root segment, dependent segment, and control information are passed to GCT1091E
R-GCX016-cbl-03933 Log Transmission Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Transmission Details' is invoked, and assuming that transmission parameters have been passed to gct1091e, when the system logs transmission details, the desired outcome is that transmission details including broker information, message length, and timestamp are logged for audit purposes.
💻 Technical Criteria
Given Transmission parameters have been passed to GCT1091E
When The system logs transmission details
Then Transmission details including broker information, message length, and timestamp are logged for audit purposes
R-GCX016-cbl-03934 Queue EDI Message for Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Queue EDI Message for Transmission' is invoked, and assuming that transmission details have been logged, when the system queues edi message for transmission, the desired outcome is that edi message is placed in transmission queue for delivery to kcsm system.
💻 Technical Criteria
Given Transmission details have been logged
When The system queues EDI message for transmission
Then EDI message is placed in transmission queue for delivery to KCSM system
R-GCX016-cbl-03935 Update Transaction Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Transaction Status' is invoked, and assuming that edi message has been queued for transmission, when the system updates transaction status, the desired outcome is that aecwrktb work tables are updated with current transaction status and processing results.
💻 Technical Criteria
Given EDI message has been queued for transmission
When The system updates transaction status
Then AECWRKTB work tables are updated with current transaction status and processing results
R-GCX016-cbl-03936 Handle Broker Lookup Error
Action Rules
📊 Business Logic Narrative
When the process 'Handle Broker Lookup Error' is invoked, and assuming that broker name lookup has failed, when the system handles broker lookup error, the desired outcome is that error is logged and kcsm integration process is completed without transmission.
💻 Technical Criteria
Given Broker name lookup has failed
When The system handles broker lookup error
Then Error is logged and KCSM integration process is completed without transmission
R-GCX016-cbl-03937 Handle Transmission Creation Error
Action Rules
📊 Business Logic Narrative
When the process 'Handle Transmission Creation Error' is invoked, and assuming that transmission creation has failed, when the system handles transmission creation error, the desired outcome is that error is logged and kcsm integration process is completed without spawning transaction.
💻 Technical Criteria
Given Transmission creation has failed
When The system handles transmission creation error
Then Error is logged and KCSM integration process is completed without spawning transaction
R-GCX016-cbl-03938 Handle Spawn Transaction Error
Action Rules
📊 Business Logic Narrative
When the process 'Handle Spawn Transaction Error' is invoked, and assuming that gct1091e transaction spawn has failed, when the system handles spawn transaction error, the desired outcome is that error is logged and kcsm integration process is completed without parameter passing.
💻 Technical Criteria
Given GCT1091E transaction spawn has failed
When The system handles spawn transaction error
Then Error is logged and KCSM integration process is completed without parameter passing

🚂 Equipment & Cargo Specs 2217 logic blocks
R-GCX016-cbl-00004 2:EDI Transaction Set Processing
Action Rules
📊 Business Logic Narrative
When the process '2:EDI Transaction Set Processing' is invoked, and assuming that an edi message segment is received, when the segment type is evaluated, the desired outcome is that the system routes st segments to header processing, m10 to manifest processing, p4 to port processing, v9 to event processing, k1 to remarks processing, x4 to customs release processing, n7 to equipment processing, and se to trailer processing.
💻 Technical Criteria
Given An EDI message segment is received
When The segment type is evaluated
Then The system routes ST segments to header processing, M10 to manifest processing, P4 to port processing, V9 to event processing, K1 to remarks processing, X4 to customs release processing, N7 to equipment processing, and SE to trailer processing
R-GCX016-cbl-00009 24:Bond-based Cargo Processing
Process Rules
📊 Business Logic Narrative
When the process '24:Bond-based Cargo Processing' is invoked, and assuming that cargo processing by bond is selected, when multiple cargo records share the same bond number, the desired outcome is that the system processes all cargo records with the same bond number as a group.
💻 Technical Criteria
Given Cargo processing by bond is selected
When Multiple cargo records share the same bond number
Then The system processes all cargo records with the same bond number as a group
R-GCX016-cbl-00012 99:New Cargo Record Creation
Action Rules
📊 Business Logic Narrative
When the process '99:New Cargo Record Creation' is invoked, and assuming that cargo search has been performed, when no existing cargo record is found, the desired outcome is that the system creates a new cargo record with appropriate initial status.
💻 Technical Criteria
Given Cargo search has been performed
When No existing cargo record is found
Then The system creates a new cargo record with appropriate initial status
R-GCX016-cbl-00013 99:New Cargo Record Creation
Decision Rules
📊 Business Logic Narrative
When the process '99:New Cargo Record Creation' is invoked, and assuming that a new cargo record is being created, when the cargo is identified as cprs type, the desired outcome is that the system sets the cargo status to error with error description.
💻 Technical Criteria
Given A new cargo record is being created
When The cargo is identified as CPRS type
Then The system sets the cargo status to ERROR with ERROR description
R-GCX016-cbl-00014 99:New Cargo Record Creation
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '99:New Cargo Record Creation', assuming that a new cargo record is being created, when the cargo is not cprs type, the desired outcome is that the system sets the cargo status to sent with sent description.
💻 Technical Criteria
EXCLUDING A new cargo record is being created
When The cargo is not CPRS type
Then The system sets the cargo status to SENT with SENT description
R-GCX016-cbl-00015 99:New Cargo Record Creation
Decision Rules
📊 Business Logic Narrative
When the process '99:New Cargo Record Creation' is invoked, and assuming that a new cargo record is being created, when the disposition code is 1j, 69, or 55, the desired outcome is that the system sets master in-bond flag and processes entry type codes for different bond types.
💻 Technical Criteria
Given A new cargo record is being created
When The disposition code is 1J, 69, or 55
Then The system sets master in-bond flag and processes entry type codes for different bond types
R-GCX016-cbl-00016 99:New Cargo Record Creation
Definitional Rules
📊 Business Logic Narrative
When the process '99:New Cargo Record Creation' is invoked, and assuming that in-bond processing is triggered, when entry type code is evaluated, the desired outcome is that the system processes 61 as immediate transport, 62 as transport export, 63 as immediate export, 69 as us-canada-us movement, and 00 as default border processing.
💻 Technical Criteria
Given In-bond processing is triggered
When Entry type code is evaluated
Then The system processes 61 as immediate transport, 62 as transport export, 63 as immediate export, 69 as US-Canada-US movement, and 00 as default border processing
R-GCX016-cbl-00017 99:New Cargo Record Creation
Decision Rules
📊 Business Logic Narrative
When the process '99:New Cargo Record Creation' is invoked, and assuming that a new cargo record with entry number is being created, when the entry number starts with v prefix, the desired outcome is that the system places it in the entry number field, otherwise places it in the in-bond control number field.
💻 Technical Criteria
Given A new cargo record with entry number is being created
When The entry number starts with V prefix
Then The system places it in the entry number field, otherwise places it in the in-bond control number field
R-GCX016-cbl-00022 218:Disposition Code Table Lookup
Action Rules
📊 Business Logic Narrative
When the process '218:Disposition Code Table Lookup' is invoked, and assuming that a disposition code for hold or release is processed, when the disposition type is dc hold/release, the desired outcome is that the system adds hold or release status with location and quantity information to the cargo status.
💻 Technical Criteria
Given A disposition code for hold or release is processed
When The disposition type is DC Hold/Release
Then The system adds hold or release status with location and quantity information to the cargo status
R-GCX016-cbl-00025 257:Cargo Status Transition Management
Decision Rules
📊 Business Logic Narrative
When the process '257:Cargo Status Transition Management' is invoked, and assuming that cargo status analysis is performed, when multiple status conditions exist, the desired outcome is that the system applies priority logic with manual release as highest priority, followed by fda hold, ptt status, acknowledge status, proceed status, hold statuses, release status, and export/arrival statuses.
💻 Technical Criteria
Given Cargo status analysis is performed
When Multiple status conditions exist
Then The system applies priority logic with Manual Release as highest priority, followed by FDA Hold, PTT status, Acknowledge status, Proceed status, Hold statuses, Release status, and Export/Arrival statuses
R-GCX016-cbl-00026 257:Cargo Status Transition Management
Decision Rules
📊 Business Logic Narrative
When the process '257:Cargo Status Transition Management' is invoked, and assuming that cargo has ptt status, when status transition is evaluated based on quantity thresholds, the desired outcome is that the system preserves ptt status when quantity thresholds are met and logs changes for canadian manifest processing.
💻 Technical Criteria
Given Cargo has PTT status
When Status transition is evaluated based on quantity thresholds
Then The system preserves PTT status when quantity thresholds are met and logs changes for Canadian manifest processing
R-GCX016-cbl-00027 257:Cargo Status Transition Management
Validation Rules
📊 Business Logic Narrative
When the process '257:Cargo Status Transition Management' is invoked, and assuming that cargo release processing is performed, when release quantities are compared to total quantities, the desired outcome is that the system sets partial release status when released quantity is less than total quantity, and full release status when released quantity equals or exceeds total quantity.
💻 Technical Criteria
Given Cargo release processing is performed
When Release quantities are compared to total quantities
Then The system sets partial release status when released quantity is less than total quantity, and full release status when released quantity equals or exceeds total quantity
R-GCX016-cbl-00028 257:Cargo Status Transition Management
Computation Rules
📊 Business Logic Narrative
When the process '257:Cargo Status Transition Management' is invoked, and assuming that a disposition code with add_quantity action is processed, when the system updates release quantities, the desired outcome is that the system adds the specified quantity to the existing release quantity.
💻 Technical Criteria
Given A disposition code with ADD_QUANTITY action is processed
When The system updates release quantities
Then The system adds the specified quantity to the existing release quantity
R-GCX016-cbl-00029 257:Cargo Status Transition Management
Computation Rules
📊 Business Logic Narrative
When the process '257:Cargo Status Transition Management' is invoked, and assuming that a disposition code with subtract_quantity action is processed, when the system updates release quantities, the desired outcome is that the system subtracts the specified quantity from existing release quantity with minimum value of zero.
💻 Technical Criteria
Given A disposition code with SUBTRACT_QUANTITY action is processed
When The system updates release quantities
Then The system subtracts the specified quantity from existing release quantity with minimum value of zero
R-GCX016-cbl-00032 92:Merlin Release Message Generation
Action Rules
📊 Business Logic Narrative
When the process '92:Merlin Release Message Generation' is invoked, and assuming that cargo release processing is completed, when release message generation is required, the desired outcome is that the system creates release message with car information, date, time, and quantity details.
💻 Technical Criteria
Given Cargo release processing is completed
When Release message generation is required
Then The system creates release message with car information, date, time, and quantity details
R-GCX016-cbl-00035 89:Integration Service Calls
Decision Rules
📊 Business Logic Narrative
When the process '89:Integration Service Calls' is invoked, and assuming that cargo processing is completed, when iis integration is evaluated and cargo is held (not ptt status) and equipment type is container or trailer, the desired outcome is that the system calls iis integration services with appropriate status descriptions.
💻 Technical Criteria
Given Cargo processing is completed
When IIS integration is evaluated AND cargo is held (not PTT status) AND equipment type is container or trailer
Then The system calls IIS integration services with appropriate status descriptions
R-GCX016-cbl-00036 89:Integration Service Calls
Decision Rules
📊 Business Logic Narrative
When the process '89:Integration Service Calls' is invoked, and assuming that iis integration processing is performed, when disposition code is 4e and cargo has full release quantities, the desired outcome is that the system performs special 4e processing logic for release handling.
💻 Technical Criteria
Given IIS integration processing is performed
When Disposition code is 4E AND cargo has full release quantities
Then The system performs special 4E processing logic for release handling
R-GCX016-cbl-00037 97:Payer of Freight Identification
Process Rules
📊 Business Logic Narrative
When the process '97:Payer of Freight Identification' is invoked, and assuming that cargo processing requires payer information, when payer of freight search is performed in cargo sections, the desired outcome is that the system retrieves payer of freight information and gets broker short name if payer is found.
💻 Technical Criteria
Given Cargo processing requires payer information
When Payer of freight search is performed in cargo sections
Then The system retrieves payer of freight information and gets broker short name if payer is found
R-GCX016-cbl-00038 110:Broker Information Lookup
Decision Rules
📊 Business Logic Narrative
When the process '110:Broker Information Lookup' is invoked, and assuming that broker information lookup is required, when payer of freight broker is found, the desired outcome is that the system uses payer of freight broker, otherwise uses cargo broker.
💻 Technical Criteria
Given Broker information lookup is required
When Payer of freight broker is found
Then The system uses payer of freight broker, otherwise uses cargo broker
R-GCX016-cbl-00044 126:Cargo Information Logging
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '126:Cargo Information Logging', assuming that cargo processing is completed, when logging is performed and disposition code is not 54 or 55, the desired outcome is that the system logs cargo processing information via gct1051e transaction.
💻 Technical Criteria
EXCLUDING Cargo processing is completed
When Logging is performed AND disposition code is not 54 or 55
Then The system logs cargo processing information via GCT1051E transaction
R-GCX016-cbl-00045 92:Merlin Release Message Generation
Action Rules
📊 Business Logic Narrative
When the process '92:Merlin Release Message Generation' is invoked, and assuming that message routing is required, when message type is evaluated, the desired outcome is that the system routes error/arrcanl to in and userr destinations, info to in and station-specific merlin ids, unrlse to default and cancel-specific merlin ids, rlse to station-specific merlin ids only, and export with equipment type validation.
💻 Technical Criteria
Given Message routing is required
When Message type is evaluated
Then The system routes ERROR/ARRCANL to IN and USERR destinations, INFO to IN and station-specific Merlin IDs, UNRLSE to default and cancel-specific Merlin IDs, RLSE to station-specific Merlin IDs only, and EXPORT with equipment type validation
R-GCX016-cbl-00053 Establish Database Connections
Action Rules
📊 Business Logic Narrative
When the process 'Establish Database Connections' is invoked, and assuming that system tables have been loaded, when the system establishes database connections, the desired outcome is that connections to cargo database, train database, and reference data sources are established and verified.
💻 Technical Criteria
Given System tables have been loaded
When The system establishes database connections
Then Connections to cargo database, train database, and reference data sources are established and verified
R-GCX016-cbl-00055 Set Transaction Counters
Process Rules
📊 Business Logic Narrative
When the process 'Set Transaction Counters' is invoked, and assuming that error handling has been initialized, when the system sets transaction counters, the desired outcome is that all counters for processed messages, errors, warnings, and cargo records are set to zero.
💻 Technical Criteria
Given Error handling has been initialized
When The system sets transaction counters
Then All counters for processed messages, errors, warnings, and cargo records are set to zero
R-GCX016-cbl-00064 Extract Train Information from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract Train Information from M10' is invoked, and assuming that an m10 manifest segment is received with train information, when the system processes the m10 segment, the desired outcome is that the system extracts scac code from m10-02, equipment initial from m10-03, and equipment number from m10-04 to build the train identification key.
💻 Technical Criteria
Given An M10 manifest segment is received with train information
When The system processes the M10 segment
Then The system extracts SCAC code from M10-02, equipment initial from M10-03, and equipment number from M10-04 to build the train identification key
R-GCX016-cbl-00070 Format Error Message with Train Details
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Format Error Message with Train Details', assuming that a train not found error has been generated, when the system formats the error message, the desired outcome is that the system includes the scac code, equipment initial, equipment number, and other relevant train details in the error message using data from gcstbrt error tables.
💻 Technical Criteria
EXCLUDING A train not found error has been generated
When The system formats the error message
Then The system includes the SCAC code, equipment initial, equipment number, and other relevant train details in the error message using data from GCSTBRT error tables
R-GCX016-cbl-00076 HMI - Train Hold Operations
Decision Rules
📊 Business Logic Narrative
When the process 'HMI - Train Hold Operations' is invoked, and assuming that a v9 event detail segment is received with disposition code hmi, when the system processes the hmi disposition code, the desired outcome is that the train status is updated to held and vid segments are processed for equipment holds.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code HMI
When The system processes the HMI disposition code
Then The train status is updated to HELD and VID segments are processed for equipment holds
R-GCX016-cbl-00077 HRE - Train Release Operations
Decision Rules
📊 Business Logic Narrative
When the process 'HRE - Train Release Operations' is invoked, and assuming that a v9 event detail segment is received with disposition code hre, when the system processes the hre disposition code, the desired outcome is that the train status is updated to released and vid segments are processed for equipment releases.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code HRE
When The system processes the HRE disposition code
Then The train status is updated to RELEASED and VID segments are processed for equipment releases
R-GCX016-cbl-00085 SEI - Train Seizure by Customs
Policy Rules
📊 Business Logic Narrative
When the process 'SEI - Train Seizure by Customs' is invoked, and assuming that a v9 event detail segment is received with disposition code sei, when the system processes the sei disposition code, the desired outcome is that the train seizure status is set by customs, vid segments are processed for equipment seizure, and the train record is updated.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code SEI
When The system processes the SEI disposition code
Then The train seizure status is set by customs, VID segments are processed for equipment seizure, and the train record is updated
R-GCX016-cbl-00086 SER - Train Seizure Release
Policy Rules
📊 Business Logic Narrative
When the process 'SER - Train Seizure Release' is invoked, and assuming that a v9 event detail segment is received with disposition code ser, when the system processes the ser disposition code, the desired outcome is that the train seizure status is removed, vid segments are processed for equipment release from seizure, and the train record is updated.
💻 Technical Criteria
Given A V9 event detail segment is received with disposition code SER
When The system processes the SER disposition code
Then The train seizure status is removed, VID segments are processed for equipment release from seizure, and the train record is updated
R-GCX016-cbl-03946 VID Segment Following HMI Code Received
Process Rules
📊 Business Logic Narrative
When the process 'VID Segment Following HMI Code Received' is invoked, and assuming that a message contains hmi disposition code followed by vid segments, when the system processes the message segments in sequence, the desired outcome is that vid segment processing is initiated for equipment hold operations.
💻 Technical Criteria
Given A message contains HMI disposition code followed by VID segments
When The system processes the message segments in sequence
Then VID segment processing is initiated for equipment hold operations
R-GCX016-cbl-03947 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment is being processed for equipment hold, when the system reads the vid segment data, the desired outcome is that equipment id is extracted from the vid segment for further processing.
💻 Technical Criteria
Given A VID segment is being processed for equipment hold
When The system reads the VID segment data
Then Equipment ID is extracted from the VID segment for further processing
R-GCX016-cbl-03948 Validate Equipment ID Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment ID Format' is invoked, and assuming that an equipment id has been extracted from vid segment, when the system validates the equipment id format, the desired outcome is that equipment id format is checked against validation criteria.
💻 Technical Criteria
Given An equipment ID has been extracted from VID segment
When The system validates the equipment ID format
Then Equipment ID format is checked against validation criteria
R-GCX016-cbl-03949 Equipment ID Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that equipment id format validation has been performed, when the system evaluates validation results, the desired outcome is that system determines if equipment id is valid for hold processing or requires error handling.
💻 Technical Criteria
Given Equipment ID format validation has been performed
When The system evaluates validation results
Then System determines if equipment ID is valid for hold processing or requires error handling
R-GCX016-cbl-03950 Log Equipment ID Validation Error
Action Rules
📊 Business Logic Narrative
When the process 'Log Equipment ID Validation Error' is invoked, and assuming that equipment id validation has failed, when the system processes the validation failure, the desired outcome is that validation error is logged with equipment id details for audit purposes.
💻 Technical Criteria
Given Equipment ID validation has failed
When The system processes the validation failure
Then Validation error is logged with equipment ID details for audit purposes
R-GCX016-cbl-03951 Skip Invalid Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Skip Invalid Equipment' is invoked, and assuming that equipment id validation has failed and error has been logged, when the system continues vid segment processing, the desired outcome is that invalid equipment is skipped and processing continues with next vid segment.
💻 Technical Criteria
Given Equipment ID validation has failed and error has been logged
When The system continues VID segment processing
Then Invalid equipment is skipped and processing continues with next VID segment
R-GCX016-cbl-03952 Add Equipment to Train Hold List
Action Rules
📊 Business Logic Narrative
When the process 'Add Equipment to Train Hold List' is invoked, and assuming that equipment id has passed validation checks, when the system processes the valid equipment for hold, the desired outcome is that equipment is added to the train's hold list for tracking purposes.
💻 Technical Criteria
Given Equipment ID has passed validation checks
When The system processes the valid equipment for hold
Then Equipment is added to the train's hold list for tracking purposes
R-GCX016-cbl-03953 Increment Held Equipment Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Held Equipment Counter' is invoked, and assuming that equipment has been added to train hold list, when the system updates hold tracking counters, the desired outcome is that held equipment counter is incremented by one.
💻 Technical Criteria
Given Equipment has been added to train hold list
When The system updates hold tracking counters
Then Held equipment counter is incremented by one
R-GCX016-cbl-03954 Mark Equipment as Held in System
Action Rules
📊 Business Logic Narrative
When the process 'Mark Equipment as Held in System' is invoked, and assuming that equipment has been added to hold list and counter incremented, when the system updates equipment status, the desired outcome is that equipment record is marked as held in the system database.
💻 Technical Criteria
Given Equipment has been added to hold list and counter incremented
When The system updates equipment status
Then Equipment record is marked as held in the system database
R-GCX016-cbl-03955 Generate Equipment Hold Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Equipment Hold Notification' is invoked, and assuming that equipment has been marked as held in system, when the system processes hold notification requirements, the desired outcome is that hold notification is generated for the equipment.
💻 Technical Criteria
Given Equipment has been marked as held in system
When The system processes hold notification requirements
Then Hold notification is generated for the equipment
R-GCX016-cbl-03956 Update Equipment Hold Count on Train
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Hold Count on Train' is invoked, and assuming that equipment hold notification has been generated, when the system updates train-level hold information, the desired outcome is that train record is updated with current equipment hold count.
💻 Technical Criteria
Given Equipment hold notification has been generated
When The system updates train-level hold information
Then Train record is updated with current equipment hold count
R-GCX016-cbl-03957 Update Train Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Hold Status' is invoked, and assuming that equipment hold count has been updated on train, when the system evaluates train hold status, the desired outcome is that train hold status is updated to reflect current hold conditions.
💻 Technical Criteria
Given Equipment hold count has been updated on train
When The system evaluates train hold status
Then Train hold status is updated to reflect current hold conditions
R-GCX016-cbl-03959 Equipment Hold Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'Equipment Hold Processing Complete' is invoked, and assuming that all vid segments have been processed for equipment holds, when the system finalizes hold processing, the desired outcome is that equipment hold processing is marked as complete.
💻 Technical Criteria
Given All VID segments have been processed for equipment holds
When The system finalizes hold processing
Then Equipment hold processing is marked as complete
R-GCX016-cbl-03960 Read Next VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Read Next VID Segment' is invoked, and assuming that an hre train release disposition code has been processed, when the system reads the next vid segment in the message, the desired outcome is that the vid segment is retrieved and made available for equipment processing.
💻 Technical Criteria
Given An HRE train release disposition code has been processed
When The system reads the next VID segment in the message
Then The VID segment is retrieved and made available for equipment processing
R-GCX016-cbl-03961 VID Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'VID Segment Found?' is invoked, and assuming that the system is processing equipment release following hre disposition code, when the system checks for the presence of a vid segment, the desired outcome is that if vid segment is found, continue with equipment processing, otherwise complete equipment release processing.
💻 Technical Criteria
Given The system is processing equipment release following HRE disposition code
When The system checks for the presence of a VID segment
Then If VID segment is found, continue with equipment processing, otherwise complete equipment release processing
R-GCX016-cbl-03962 Extract Equipment ID from VID Segment
Action Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a valid vid segment has been found, when the system processes the vid segment content, the desired outcome is that the equipment id is extracted from the vid segment data.
💻 Technical Criteria
Given A valid VID segment has been found
When The system processes the VID segment content
Then The equipment ID is extracted from the VID segment data
R-GCX016-cbl-03963 Format Equipment ID using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM' is invoked, and assuming that an equipment id has been extracted from the vid segment, when the system calls gcccarfm formatting routine, the desired outcome is that the equipment id is formatted according to standard business rules for equipment identification.
💻 Technical Criteria
Given An equipment ID has been extracted from the VID segment
When The system calls GCCCARFM formatting routine
Then The equipment ID is formatted according to standard business rules for equipment identification
R-GCX016-cbl-03964 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been formatted using gcccarfm, when the system validates the formatted equipment id, the desired outcome is that if equipment id is valid, proceed with equipment lookup, otherwise log invalid equipment id error and continue to next vid segment.
💻 Technical Criteria
Given An equipment ID has been formatted using GCCCARFM
When The system validates the formatted equipment ID
Then If equipment ID is valid, proceed with equipment lookup, otherwise log invalid equipment ID error and continue to next VID segment
R-GCX016-cbl-03965 Find Equipment in Train Hold List
Action Rules
📊 Business Logic Narrative
When the process 'Find Equipment in Train Hold List' is invoked, and assuming that a valid equipment id has been formatted and validated, when the system searches the train hold list for the equipment, the desired outcome is that the equipment record is located in the train hold list if it exists.
💻 Technical Criteria
Given A valid equipment ID has been formatted and validated
When The system searches the train hold list for the equipment
Then The equipment record is located in the train hold list if it exists
R-GCX016-cbl-03966 Equipment Currently Held?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Currently Held?' is invoked, and assuming that equipment has been located in the train hold list, when the system checks the equipment's current hold status, the desired outcome is that if equipment is currently held, proceed with release processing, otherwise log equipment not found warning and continue to next vid segment.
💻 Technical Criteria
Given Equipment has been located in the train hold list
When The system checks the equipment's current hold status
Then If equipment is currently held, proceed with release processing, otherwise log equipment not found warning and continue to next VID segment
R-GCX016-cbl-03967 Remove Equipment from Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Remove Equipment from Hold Status' is invoked, and assuming that equipment is currently in hold status and eligible for release, when the system processes the equipment release request, the desired outcome is that the equipment is removed from hold status and marked as released.
💻 Technical Criteria
Given Equipment is currently in hold status and eligible for release
When The system processes the equipment release request
Then The equipment is removed from hold status and marked as released
R-GCX016-cbl-03968 Decrement Train Held Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Decrement Train Held Equipment Count' is invoked, and assuming that equipment has been successfully removed from hold status, when the system updates train statistics, the desired outcome is that the train's held equipment count is decremented by one.
💻 Technical Criteria
Given Equipment has been successfully removed from hold status
When The system updates train statistics
Then The train's held equipment count is decremented by one
R-GCX016-cbl-03969 Log Equipment Release Action
Action Rules
📊 Business Logic Narrative
When the process 'Log Equipment Release Action' is invoked, and assuming that equipment has been released from hold status and train count updated, when the system logs the release action, the desired outcome is that the equipment release action is recorded with equipment id, timestamp, and release details.
💻 Technical Criteria
Given Equipment has been released from hold status and train count updated
When The system logs the release action
Then The equipment release action is recorded with equipment ID, timestamp, and release details
R-GCX016-cbl-03970 More Equipment to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Equipment to Process?' is invoked, and assuming that current equipment has been processed (released or logged as error), when the system checks for additional vid segments in the message, the desired outcome is that if more vid segments exist, continue processing next vid segment, otherwise proceed to update train hold status.
💻 Technical Criteria
Given Current equipment has been processed (released or logged as error)
When The system checks for additional VID segments in the message
Then If more VID segments exist, continue processing next VID segment, otherwise proceed to update train hold status
R-GCX016-cbl-03971 Update Train Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Hold Status' is invoked, and assuming that all vid segments have been processed for equipment releases, when the system evaluates the train's overall hold status, the desired outcome is that the train hold status is updated based on remaining held equipment count.
💻 Technical Criteria
Given All VID segments have been processed for equipment releases
When The system evaluates the train's overall hold status
Then The train hold status is updated based on remaining held equipment count
R-GCX016-cbl-03972 Any Equipment Still Held?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Equipment Still Held?' is invoked, and assuming that train hold status has been updated after processing all equipment releases, when the system checks if any equipment is still held on the train, the desired outcome is that if equipment is still held, keep train in hold status, otherwise release train from hold status.
💻 Technical Criteria
Given Train hold status has been updated after processing all equipment releases
When The system checks if any equipment is still held on the train
Then If equipment is still held, keep train in hold status, otherwise release train from hold status
R-GCX016-cbl-03973 Keep Train in Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Keep Train in Hold Status' is invoked, and assuming that some equipment on the train is still in hold status after processing releases, when the system updates the train status, the desired outcome is that the train remains in hold status and equipment release processing is complete.
💻 Technical Criteria
Given Some equipment on the train is still in hold status after processing releases
When The system updates the train status
Then The train remains in hold status and equipment release processing is complete
R-GCX016-cbl-03974 Release Train from Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Release Train from Hold Status' is invoked, and assuming that no equipment on the train is in hold status after processing releases, when the system updates the train status, the desired outcome is that the train is released from hold status and equipment release processing is complete.
💻 Technical Criteria
Given No equipment on the train is in hold status after processing releases
When The system updates the train status
Then The train is released from hold status and equipment release processing is complete
R-GCX016-cbl-03975 Log Equipment Not Found Warning
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Equipment Not Found Warning', assuming that equipment id has been validated but equipment is not found in hold status, when the system processes the equipment not found condition, the desired outcome is that a warning is logged indicating equipment was not found in hold list and processing continues to next vid segment.
💻 Technical Criteria
EXCLUDING Equipment ID has been validated but equipment is not found in hold status
When The system processes the equipment not found condition
Then A warning is logged indicating equipment was not found in hold list and processing continues to next VID segment
R-GCX016-cbl-03976 Log Invalid Equipment ID Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Invalid Equipment ID Error', assuming that equipment id has been extracted and formatted but fails validation, when the system processes the invalid equipment id condition, the desired outcome is that an error is logged indicating invalid equipment id format and processing continues to next vid segment.
💻 Technical Criteria
EXCLUDING Equipment ID has been extracted and formatted but fails validation
When The system processes the invalid equipment ID condition
Then An error is logged indicating invalid equipment ID format and processing continues to next VID segment
R-GCX016-cbl-03977 Continue to Next VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next VID Segment' is invoked, and assuming that an error or warning has been logged for current equipment processing, when the system continues with vid segment processing, the desired outcome is that processing returns to read the next vid segment in the message.
💻 Technical Criteria
Given An error or warning has been logged for current equipment processing
When The system continues with VID segment processing
Then Processing returns to read the next VID segment in the message
R-GCX016-cbl-03978 Equipment Release Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'Equipment Release Processing Complete' is invoked, and assuming that all vid segments have been processed and train status has been updated, when the system finalizes equipment release processing, the desired outcome is that equipment release processing is marked as complete and control returns to main message processing.
💻 Technical Criteria
Given All VID segments have been processed and train status has been updated
When The system finalizes equipment release processing
Then Equipment release processing is marked as complete and control returns to main message processing
R-GCX016-cbl-03979 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment is received following an sei disposition code, when the system processes the vid segment, the desired outcome is that the equipment id is extracted from the vid segment for seizure processing.
💻 Technical Criteria
Given A VID segment is received following an SEI disposition code
When The system processes the VID segment
Then The equipment ID is extracted from the VID segment for seizure processing
R-GCX016-cbl-03980 Validate Equipment ID Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment ID Format' is invoked, and assuming that an equipment id has been extracted from a vid segment, when the system validates the equipment id format, the desired outcome is that the equipment id is confirmed as valid or invalid based on format requirements.
💻 Technical Criteria
Given An equipment ID has been extracted from a VID segment
When The system validates the equipment ID format
Then The equipment ID is confirmed as valid or invalid based on format requirements
R-GCX016-cbl-03981 Mark Equipment as Seized by Customs
Action Rules
📊 Business Logic Narrative
When the process 'Mark Equipment as Seized by Customs' is invoked, and assuming that a valid equipment id has been identified for seizure, when the system processes the seizure request, the desired outcome is that the equipment is marked as seized by customs in the system.
💻 Technical Criteria
Given A valid equipment ID has been identified for seizure
When The system processes the seizure request
Then The equipment is marked as seized by customs in the system
R-GCX016-cbl-03982 Update Equipment Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Seizure Status' is invoked, and assuming that equipment has been marked as seized by customs, when the system updates equipment records, the desired outcome is that the equipment seizure status is updated in the equipment record.
💻 Technical Criteria
Given Equipment has been marked as seized by customs
When The system updates equipment records
Then The equipment seizure status is updated in the equipment record
R-GCX016-cbl-03983 Increment Train Seizure Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Train Seizure Count' is invoked, and assuming that an equipment item on a train has been seized, when the system updates train seizure statistics, the desired outcome is that the train seizure count is incremented by one.
💻 Technical Criteria
Given An equipment item on a train has been seized
When The system updates train seizure statistics
Then The train seizure count is incremented by one
R-GCX016-cbl-03984 All Equipment on Train Seized?
Decision Rules
📊 Business Logic Narrative
When the process 'All Equipment on Train Seized?' is invoked, and assuming that equipment seizure count has been updated for a train, when the system evaluates total train seizure status, the desired outcome is that the system determines if all equipment on the train has been seized.
💻 Technical Criteria
Given Equipment seizure count has been updated for a train
When The system evaluates total train seizure status
Then The system determines if all equipment on the train has been seized
R-GCX016-cbl-03985 Set Train Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Seizure Status' is invoked, and assuming that all equipment on a train has been seized, when the system updates train status, the desired outcome is that the train seizure status is set to indicate complete train seizure.
💻 Technical Criteria
Given All equipment on a train has been seized
When The system updates train status
Then The train seizure status is set to indicate complete train seizure
R-GCX016-cbl-03986 Log Equipment Seizure Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Seizure Action' is invoked, and assuming that equipment seizure processing has been completed, when the system performs logging operations, the desired outcome is that the equipment seizure action is logged with relevant details.
💻 Technical Criteria
Given Equipment seizure processing has been completed
When The system performs logging operations
Then The equipment seizure action is logged with relevant details
R-GCX016-cbl-03987 Generate Seizure Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Seizure Notification' is invoked, and assuming that equipment seizure has been logged, when the system processes notifications, the desired outcome is that seizure notifications are generated for relevant stakeholders.
💻 Technical Criteria
Given Equipment seizure has been logged
When The system processes notifications
Then Seizure notifications are generated for relevant stakeholders
R-GCX016-cbl-03988 Update Train Equipment Records
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Equipment Records' is invoked, and assuming that seizure notifications have been generated, when the system updates train records, the desired outcome is that train equipment records are updated with current seizure information.
💻 Technical Criteria
Given Seizure notifications have been generated
When The system updates train records
Then Train equipment records are updated with current seizure information
R-GCX016-cbl-03989 Log Invalid Equipment ID Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Invalid Equipment ID Error' is invoked, and assuming that an equipment id fails format validation, when the system handles the validation error, the desired outcome is that an invalid equipment id error is logged for troubleshooting.
💻 Technical Criteria
Given An equipment ID fails format validation
When The system handles the validation error
Then An invalid equipment ID error is logged for troubleshooting
R-GCX016-cbl-03990 Skip Equipment Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Skip Equipment Processing' is invoked, and assuming that an invalid equipment id error has been logged, when the system continues processing, the desired outcome is that equipment seizure processing is skipped for the invalid equipment id.
💻 Technical Criteria
Given An invalid equipment ID error has been logged
When The system continues processing
Then Equipment seizure processing is skipped for the invalid equipment ID
R-GCX016-cbl-03991 Check if VID Segments Follow SER Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check if VID Segments Follow SER Code' is invoked, and assuming that a ser disposition code has been processed for a train, when the system checks for vid segments following the ser code, the desired outcome is that the system identifies whether vid segments are present for equipment processing.
💻 Technical Criteria
Given A SER disposition code has been processed for a train
When The system checks for VID segments following the SER code
Then The system identifies whether VID segments are present for equipment processing
R-GCX016-cbl-03992 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment is being processed for equipment seizure release, when the system processes the vid segment, the desired outcome is that the equipment id is extracted from the vid segment data.
💻 Technical Criteria
Given A VID segment is being processed for equipment seizure release
When The system processes the VID segment
Then The equipment ID is extracted from the VID segment data
R-GCX016-cbl-03993 Validate Equipment ID Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment ID Format' is invoked, and assuming that an equipment id has been extracted from a vid segment, when the system validates the equipment id format, the desired outcome is that the system determines if the equipment id format is valid or invalid.
💻 Technical Criteria
Given An equipment ID has been extracted from a VID segment
When The system validates the equipment ID format
Then The system determines if the equipment ID format is valid or invalid
R-GCX016-cbl-03994 Find Equipment on Train
Process Rules
📊 Business Logic Narrative
When the process 'Find Equipment on Train' is invoked, and assuming that a valid equipment id has been extracted from vid segment, when the system searches for the equipment on the train, the desired outcome is that the system determines if the equipment is found or not found on the train.
💻 Technical Criteria
Given A valid equipment ID has been extracted from VID segment
When The system searches for the equipment on the train
Then The system determines if the equipment is found or not found on the train
R-GCX016-cbl-03995 Check Current Equipment Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Current Equipment Status' is invoked, and assuming that equipment has been found on the train, when the system checks the current equipment status, the desired outcome is that the system determines if the equipment is currently seized or not seized.
💻 Technical Criteria
Given Equipment has been found on the train
When The system checks the current equipment status
Then The system determines if the equipment is currently seized or not seized
R-GCX016-cbl-03996 Release Equipment from Seizure
Action Rules
📊 Business Logic Narrative
When the process 'Release Equipment from Seizure' is invoked, and assuming that equipment is currently under seizure status, when the system processes the seizure release request, the desired outcome is that the equipment seizure status is removed.
💻 Technical Criteria
Given Equipment is currently under seizure status
When The system processes the seizure release request
Then The equipment seizure status is removed
R-GCX016-cbl-03997 Update Equipment Status to Normal
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Status to Normal' is invoked, and assuming that equipment seizure has been released, when the system updates the equipment status, the desired outcome is that the equipment status is set to normal operational status.
💻 Technical Criteria
Given Equipment seizure has been released
When The system updates the equipment status
Then The equipment status is set to normal operational status
R-GCX016-cbl-03998 Decrement Train Seized Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Decrement Train Seized Equipment Count' is invoked, and assuming that equipment has been released from seizure, when the system updates train seizure statistics, the desired outcome is that the train's seized equipment count is decremented by one.
💻 Technical Criteria
Given Equipment has been released from seizure
When The system updates train seizure statistics
Then The train's seized equipment count is decremented by one
R-GCX016-cbl-03999 Log Equipment Seizure Release
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Seizure Release' is invoked, and assuming that equipment seizure has been successfully released, when the system logs the seizure release activity, the desired outcome is that an audit log entry is created documenting the equipment seizure release.
💻 Technical Criteria
Given Equipment seizure has been successfully released
When The system logs the seizure release activity
Then An audit log entry is created documenting the equipment seizure release
R-GCX016-cbl-04000 Check Overall Train Seizure Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Overall Train Seizure Status' is invoked, and assuming that all vid segments have been processed for seizure release, when the system checks the overall train seizure status, the desired outcome is that the system determines if any equipment still remains seized on the train.
💻 Technical Criteria
Given All VID segments have been processed for seizure release
When The system checks the overall train seizure status
Then The system determines if any equipment still remains seized on the train
R-GCX016-cbl-04001 Remove Train Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Remove Train Seizure Status' is invoked, and assuming that no equipment remains seized on the train, when the system updates the train seizure status, the desired outcome is that the overall train seizure status is removed.
💻 Technical Criteria
Given No equipment remains seized on the train
When The system updates the train seizure status
Then The overall train seizure status is removed
R-GCX016-cbl-04002 Keep Train Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Keep Train Seizure Status' is invoked, and assuming that some equipment still remains seized on the train, when the system updates the train seizure status, the desired outcome is that the overall train seizure status is maintained.
💻 Technical Criteria
Given Some equipment still remains seized on the train
When The system updates the train seizure status
Then The overall train seizure status is maintained
R-GCX016-cbl-04004 Generate Equipment Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Equipment Release Notification' is invoked, and assuming that train status has been updated in the database, when the system generates release notifications, the desired outcome is that equipment release notification is created and sent to appropriate recipients.
💻 Technical Criteria
Given Train status has been updated in the database
When The system generates release notifications
Then Equipment release notification is created and sent to appropriate recipients
R-GCX016-cbl-04005 Log Equipment Not Found Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Equipment Not Found Error', assuming that equipment id is valid but equipment is not found on the train, when the system processes the equipment search result, the desired outcome is that an error is logged indicating equipment not found on train.
💻 Technical Criteria
EXCLUDING Equipment ID is valid but equipment is not found on the train
When The system processes the equipment search result
Then An error is logged indicating equipment not found on train
R-GCX016-cbl-04006 Log Invalid Equipment ID Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Invalid Equipment ID Error' is invoked, and assuming that equipment id has been extracted from vid segment, when the equipment id format validation fails, the desired outcome is that an error is logged indicating invalid equipment id format.
💻 Technical Criteria
Given Equipment ID has been extracted from VID segment
When The equipment ID format validation fails
Then An error is logged indicating invalid equipment ID format
R-GCX016-cbl-04007 Log Equipment Not Seized Warning
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Equipment Not Seized Warning', assuming that equipment is found on train but is not currently seized, when the system attempts to release equipment from seizure, the desired outcome is that a warning is logged indicating equipment is not currently seized.
💻 Technical Criteria
EXCLUDING Equipment is found on train but is not currently seized
When The system attempts to release equipment from seizure
Then A warning is logged indicating equipment is not currently seized
R-GCX016-cbl-00092 Initialize Equipment Hold Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Equipment Hold Counter' is invoked, and assuming that train hold status has been set successfully, when the system prepares to process equipment holds, the desired outcome is that the system initializes the equipment hold counter to zero.
💻 Technical Criteria
Given Train hold status has been set successfully
When The system prepares to process equipment holds
Then The system initializes the equipment hold counter to zero
R-GCX016-cbl-00093 VID Segments Follow?
Decision Rules
📊 Business Logic Narrative
When the process 'VID Segments Follow?' is invoked, and assuming that train hold processing is in progress and equipment hold counter is initialized, when the system checks for additional message segments, the desired outcome is that the system determines if vid segments are present for equipment-specific hold processing.
💻 Technical Criteria
Given Train hold processing is in progress and equipment hold counter is initialized
When The system checks for additional message segments
Then The system determines if VID segments are present for equipment-specific hold processing
R-GCX016-cbl-00094 Process VID Segment for Equipment Hold
Process Rules
📊 Business Logic Narrative
When the process 'Process VID Segment for Equipment Hold' is invoked, and assuming that vid segments are available and train hold is in progress, when each vid segment is processed, the desired outcome is that the system applies hold status to the specific equipment identified in the vid segment.
💻 Technical Criteria
Given VID segments are available and train hold is in progress
When Each VID segment is processed
Then The system applies hold status to the specific equipment identified in the VID segment
R-GCX016-cbl-00095 Increment Equipment Hold Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Equipment Hold Counter' is invoked, and assuming that a vid segment has been successfully processed for equipment hold, when the equipment hold is applied, the desired outcome is that the system increments the equipment hold counter by one.
💻 Technical Criteria
Given A VID segment has been successfully processed for equipment hold
When The equipment hold is applied
Then The system increments the equipment hold counter by one
R-GCX016-cbl-00096 More VID Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More VID Segments?' is invoked, and assuming that one vid segment has been processed and equipment hold counter updated, when the system checks for more vid segments in the message, the desired outcome is that the system determines if additional vid segments exist and continues processing or proceeds to train record update.
💻 Technical Criteria
Given One VID segment has been processed and equipment hold counter updated
When The system checks for more VID segments in the message
Then The system determines if additional VID segments exist and continues processing or proceeds to train record update
R-GCX016-cbl-00098 Update Equipment Hold Count
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Hold Count' is invoked, and assuming that train record has been updated with hold status and equipment hold counter contains final count, when the system finalizes the hold operation, the desired outcome is that the system updates the train record with the total number of equipment units held.
💻 Technical Criteria
Given Train record has been updated with hold status and equipment hold counter contains final count
When The system finalizes the hold operation
Then The system updates the train record with the total number of equipment units held
R-GCX016-cbl-00099 Log Train Hold Operation
Process Rules
📊 Business Logic Narrative
When the process 'Log Train Hold Operation' is invoked, and assuming that train record and equipment hold count have been updated successfully, when the hold operation is complete, the desired outcome is that the system logs the train hold operation with train identification, hold status, and equipment count.
💻 Technical Criteria
Given Train record and equipment hold count have been updated successfully
When The hold operation is complete
Then The system logs the train hold operation with train identification, hold status, and equipment count
R-GCX016-cbl-00100 Generate Hold Notification Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Hold Notification Message' is invoked, and assuming that train hold operation has been logged successfully, when the system prepares notifications, the desired outcome is that the system generates a hold notification message containing train and equipment hold details.
💻 Technical Criteria
Given Train hold operation has been logged successfully
When The system prepares notifications
Then The system generates a hold notification message containing train and equipment hold details
R-GCX016-cbl-00105 Process VID Segments for Equipment Release
Process Rules
📊 Business Logic Narrative
When the process 'Process VID Segments for Equipment Release' is invoked, and assuming that a train is currently held and hre disposition code is being processed, when vid segments are present in the message, the desired outcome is that the system processes each vid segment to release individual equipment holds.
💻 Technical Criteria
Given A train is currently held and HRE disposition code is being processed
When VID segments are present in the message
Then The system processes each VID segment to release individual equipment holds
R-GCX016-cbl-00106 Release Individual Equipment/Cars
Action Rules
📊 Business Logic Narrative
When the process 'Release Individual Equipment/Cars' is invoked, and assuming that vid segments are present for equipment release processing, when the system processes each equipment item in the vid segments, the desired outcome is that the system removes hold status from each specified equipment or car.
💻 Technical Criteria
Given VID segments are present for equipment release processing
When The system processes each equipment item in the VID segments
Then The system removes hold status from each specified equipment or car
R-GCX016-cbl-00107 Update Equipment Hold Count
Computation Rules
📊 Business Logic Narrative
When the process 'Update Equipment Hold Count' is invoked, and assuming that individual equipment items are being released from hold, when each equipment hold is processed and released, the desired outcome is that the system updates the count of remaining equipment holds for the train.
💻 Technical Criteria
Given Individual equipment items are being released from hold
When Each equipment hold is processed and released
Then The system updates the count of remaining equipment holds for the train
R-GCX016-cbl-00108 All Equipment Released?
Decision Rules
📊 Business Logic Narrative
When the process 'All Equipment Released?' is invoked, and assuming that equipment hold counts have been updated after individual releases, when the system evaluates the remaining hold count, the desired outcome is that the system determines if all equipment has been released (hold count equals zero).
💻 Technical Criteria
Given Equipment hold counts have been updated after individual releases
When The system evaluates the remaining hold count
Then The system determines if all equipment has been released (hold count equals zero)
R-GCX016-cbl-00109 Remove Train-Level Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Remove Train-Level Hold Status' is invoked, and assuming that all equipment on the train has been released from hold or no vid segments were present, when the system processes train-level hold removal, the desired outcome is that the system removes the train-level hold status.
💻 Technical Criteria
Given All equipment on the train has been released from hold OR no VID segments were present
When The system processes train-level hold removal
Then The system removes the train-level hold status
R-GCX016-cbl-00121 Maintain Equipment Status
Policy Rules
📊 Business Logic Narrative
When the process 'Maintain Equipment Status' is invoked, and assuming that equipment on an arriving train has hold or seizure status, when the train arrival processing is updating equipment status, the desired outcome is that maintain the existing hold or seizure status and do not change to normal arrival status.
💻 Technical Criteria
Given Equipment on an arriving train has hold or seizure status
When The train arrival processing is updating equipment status
Then Maintain the existing hold or seizure status and do not change to normal arrival status
R-GCX016-cbl-00122 Generate AEI Arrival Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate AEI Arrival Notification' is invoked, and assuming that a train has successfully arrived and equipment has been processed, when equipment status updates are complete, the desired outcome is that generate and send aei arrival notifications to relevant systems.
💻 Technical Criteria
Given A train has successfully arrived and equipment has been processed
When Equipment status updates are complete
Then Generate and send AEI arrival notifications to relevant systems
R-GCX016-cbl-00154 Clear Train Arrival Date
Action Rules
📊 Business Logic Narrative
When the process 'Clear Train Arrival Date' is invoked, and assuming that train status is being updated to cancel arrival, when the system processes the arrival cancellation, the desired outcome is that clear the train arrival date field and set it to null or empty.
💻 Technical Criteria
Given Train status is being updated to cancel arrival
When The system processes the arrival cancellation
Then Clear the train arrival date field and set it to null or empty
R-GCX016-cbl-00157 Equipment Records Exist?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Records Exist?' is invoked, and assuming that train records have been updated for arrival cancellation, when the system checks for associated equipment records, the desired outcome is that if equipment records exist, process equipment status changes, otherwise proceed to generate cancellation notifications.
💻 Technical Criteria
Given Train records have been updated for arrival cancellation
When The system checks for associated equipment records
Then If equipment records exist, process equipment status changes, otherwise proceed to generate cancellation notifications
R-GCX016-cbl-00158 Process Equipment Status Changes
Action Rules
📊 Business Logic Narrative
When the process 'Process Equipment Status Changes' is invoked, and assuming that equipment records exist for the train with cancelled arrival, when the system processes equipment status updates, the desired outcome is that update equipment status to reflect the train arrival cancellation.
💻 Technical Criteria
Given Equipment records exist for the train with cancelled arrival
When The system processes equipment status updates
Then Update equipment status to reflect the train arrival cancellation
R-GCX016-cbl-00159 Update Equipment Arrival Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Arrival Status' is invoked, and assuming that equipment status changes are being processed for cancelled train arrival, when the system updates individual equipment records, the desired outcome is that set equipment arrival status to cancelled or clear arrival status based on cancellation.
💻 Technical Criteria
Given Equipment status changes are being processed for cancelled train arrival
When The system updates individual equipment records
Then Set equipment arrival status to cancelled or clear arrival status based on cancellation
R-GCX016-cbl-00160 Generate Cancellation Notifications
Action Rules
📊 Business Logic Narrative
When the process 'Generate Cancellation Notifications' is invoked, and assuming that train and equipment records have been updated for arrival cancellation, when the system prepares stakeholder notifications, the desired outcome is that generate cancellation notifications containing train details and cancellation information.
💻 Technical Criteria
Given Train and equipment records have been updated for arrival cancellation
When The system prepares stakeholder notifications
Then Generate cancellation notifications containing train details and cancellation information
R-GCX016-cbl-00182 Check for VID Equipment Segments
Decision Rules
📊 Business Logic Narrative
When the process 'Check for VID Equipment Segments' is invoked, and assuming that a train unlock operation is being processed, when the system examines the message segments for vid equipment information, the desired outcome is that the system identifies whether vid segments are present and sets appropriate processing flags.
💻 Technical Criteria
Given A train unlock operation is being processed
When The system examines the message segments for VID equipment information
Then The system identifies whether VID segments are present and sets appropriate processing flags
R-GCX016-cbl-00183 Process Individual Equipment Unlock
Process Rules
📊 Business Logic Narrative
When the process 'Process Individual Equipment Unlock' is invoked, and assuming that vid equipment segments are present in the ulc message, when the system processes individual equipment unlock operations, the desired outcome is that the system iterates through each vid segment and processes unlock operations for the specified equipment.
💻 Technical Criteria
Given VID equipment segments are present in the ULC message
When The system processes individual equipment unlock operations
Then The system iterates through each VID segment and processes unlock operations for the specified equipment
R-GCX016-cbl-00184 Update Equipment Status to Unlocked
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Status to Unlocked' is invoked, and assuming that individual equipment unlock processing is being performed for vid segments, when each equipment item is processed for unlock, the desired outcome is that the system updates the equipment records to reflect unlocked status for each specified equipment item.
💻 Technical Criteria
Given Individual equipment unlock processing is being performed for VID segments
When Each equipment item is processed for unlock
Then The system updates the equipment records to reflect unlocked status for each specified equipment item
R-GCX016-cbl-00185 Generate Train Unlock Confirmation
Action Rules
📊 Business Logic Narrative
When the process 'Generate Train Unlock Confirmation' is invoked, and assuming that train unlock operations have been successfully completed including any individual equipment processing, when all unlock processing is finished, the desired outcome is that the system generates a confirmation message indicating successful train unlock completion.
💻 Technical Criteria
Given Train unlock operations have been successfully completed including any individual equipment processing
When All unlock processing is finished
Then The system generates a confirmation message indicating successful train unlock completion
R-GCX016-cbl-00189 Process SEI Train Seizure Code
Action Rules
📊 Business Logic Narrative
When the process 'Process SEI Train Seizure Code' is invoked, and assuming that a valid train exists in the system, when the v9 segment contains sei disposition code, the desired outcome is that the system initiates train seizure processing and prepares for equipment seizure operations.
💻 Technical Criteria
Given A valid train exists in the system
When The V9 segment contains SEI disposition code
Then The system initiates train seizure processing and prepares for equipment seizure operations
R-GCX016-cbl-00190 Initialize Equipment Seizure Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Equipment Seizure Counter' is invoked, and assuming that train seizure processing has been initiated, when the system begins processing equipment seizure operations, the desired outcome is that the system initializes equipment seizure counter to zero.
💻 Technical Criteria
Given Train seizure processing has been initiated
When The system begins processing equipment seizure operations
Then The system initializes equipment seizure counter to zero
R-GCX016-cbl-00191 VID Segments Follow?
Decision Rules
📊 Business Logic Narrative
When the process 'VID Segments Follow?' is invoked, and assuming that train seizure processing is active, when the system checks for following vid segments in the message, the desired outcome is that the system determines whether to process individual equipment seizure or proceed with train-level seizure.
💻 Technical Criteria
Given Train seizure processing is active
When The system checks for following VID segments in the message
Then The system determines whether to process individual equipment seizure or proceed with train-level seizure
R-GCX016-cbl-00192 Process VID Segment for Equipment Seizure
Action Rules
📊 Business Logic Narrative
When the process 'Process VID Segment for Equipment Seizure' is invoked, and assuming that vid segments are present following the sei disposition code, when the system processes each vid segment, the desired outcome is that the system marks the specific equipment identified in the vid segment as seized.
💻 Technical Criteria
Given VID segments are present following the SEI disposition code
When The system processes each VID segment
Then The system marks the specific equipment identified in the VID segment as seized
R-GCX016-cbl-00193 Mark Specific Equipment as Seized
Action Rules
📊 Business Logic Narrative
When the process 'Mark Specific Equipment as Seized' is invoked, and assuming that a vid segment identifies specific equipment for seizure, when the system processes the equipment seizure request, the desired outcome is that the system updates the equipment status to seized in the equipment records.
💻 Technical Criteria
Given A VID segment identifies specific equipment for seizure
When The system processes the equipment seizure request
Then The system updates the equipment status to seized in the equipment records
R-GCX016-cbl-00194 Increment Equipment Seizure Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Equipment Seizure Count' is invoked, and assuming that an equipment item has been marked as seized, when the seizure operation is completed for the equipment, the desired outcome is that the system increments the equipment seizure counter by one.
💻 Technical Criteria
Given An equipment item has been marked as seized
When The seizure operation is completed for the equipment
Then The system increments the equipment seizure counter by one
R-GCX016-cbl-00195 More VID Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More VID Segments?' is invoked, and assuming that one vid segment has been processed for equipment seizure, when the system checks for additional vid segments in the message, the desired outcome is that the system either continues processing more vid segments or proceeds to train status update.
💻 Technical Criteria
Given One VID segment has been processed for equipment seizure
When The system checks for additional VID segments in the message
Then The system either continues processing more VID segments or proceeds to train status update
R-GCX016-cbl-00196 All Equipment Seized?
Decision Rules
📊 Business Logic Narrative
When the process 'All Equipment Seized?' is invoked, and assuming that equipment seizure operations have been completed, when the system evaluates the seizure status of all equipment on the train, the desired outcome is that the system determines whether the train is fully seized or partially seized.
💻 Technical Criteria
Given Equipment seizure operations have been completed
When The system evaluates the seizure status of all equipment on the train
Then The system determines whether the train is fully seized or partially seized
R-GCX016-cbl-00197 Set Train Status to Fully Seized
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Status to Fully Seized' is invoked, and assuming that all equipment on the train has been seized, when the system updates the train seizure status, the desired outcome is that the system sets the train status to fully seized.
💻 Technical Criteria
Given All equipment on the train has been seized
When The system updates the train seizure status
Then The system sets the train status to fully seized
R-GCX016-cbl-00198 Set Train Status to Partially Seized
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Status to Partially Seized' is invoked, and assuming that only some equipment on the train has been seized, when the system updates the train seizure status, the desired outcome is that the system sets the train status to partially seized.
💻 Technical Criteria
Given Only some equipment on the train has been seized
When The system updates the train seizure status
Then The system sets the train status to partially seized
R-GCX016-cbl-00200 Generate Seizure Notification Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Seizure Notification Message' is invoked, and assuming that train seizure operation has been logged, when the system prepares stakeholder notifications, the desired outcome is that the system generates seizure notification message with train and equipment details.
💻 Technical Criteria
Given Train seizure operation has been logged
When The system prepares stakeholder notifications
Then The system generates seizure notification message with train and equipment details
R-GCX016-cbl-00205 Check for Following VID Segments
Decision Rules
📊 Business Logic Narrative
When the process 'Check for Following VID Segments' is invoked, and assuming that a train seizure release is being processed, when the system checks for vid segments following the v9 segment, the desired outcome is that the system identifies whether vid segments are present for individual equipment processing.
💻 Technical Criteria
Given A train seizure release is being processed
When The system checks for VID segments following the V9 segment
Then The system identifies whether VID segments are present for individual equipment processing
R-GCX016-cbl-00206 Process Each VID Segment for Equipment Release
Process Rules
📊 Business Logic Narrative
When the process 'Process Each VID Segment for Equipment Release' is invoked, and assuming that vid segments are present following a ser disposition code, when the system processes each vid segment, the desired outcome is that the system releases the specified equipment from seizure and decrements the seized equipment count.
💻 Technical Criteria
Given VID segments are present following a SER disposition code
When The system processes each VID segment
Then The system releases the specified equipment from seizure and decrements the seized equipment count
R-GCX016-cbl-00207 Update Train Seizure Status
Decision Rules
📊 Business Logic Narrative
When the process 'Update Train Seizure Status' is invoked, and assuming that individual equipment has been processed for seizure release, when the system evaluates if any equipment is still seized on the train, the desired outcome is that if equipment remains seized, the train stays in seized status; otherwise, the entire train is released from seizure.
💻 Technical Criteria
Given Individual equipment has been processed for seizure release
When The system evaluates if any equipment is still seized on the train
Then If equipment remains seized, the train stays in seized status; otherwise, the entire train is released from seizure
R-GCX016-cbl-00211 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment is received after an hmi (hold train) event code, when the system processes the vid segment to extract equipment information, the desired outcome is that the equipment id is extracted from the vid segment data for further processing.
💻 Technical Criteria
Given A VID segment is received after an HMI (Hold train) event code
When The system processes the VID segment to extract equipment information
Then The equipment ID is extracted from the VID segment data for further processing
R-GCX016-cbl-00212 Format Equipment ID Using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID Using GCCCARFM' is invoked, and assuming that an equipment id has been extracted from a vid segment, when the system calls gcccarfm to format the equipment id, the desired outcome is that the equipment id is formatted according to standard car identification rules and validated for correctness.
💻 Technical Criteria
Given An equipment ID has been extracted from a VID segment
When The system calls GCCCARFM to format the equipment ID
Then The equipment ID is formatted according to standard car identification rules and validated for correctness
R-GCX016-cbl-00213 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been formatted using gcccarfm, when the system evaluates the equipment id validity, the desired outcome is that if the equipment id is valid, proceed with hold processing; if invalid, skip this equipment id.
💻 Technical Criteria
Given An equipment ID has been formatted using GCCCARFM
When The system evaluates the equipment ID validity
Then If the equipment ID is valid, proceed with hold processing; if invalid, skip this equipment ID
R-GCX016-cbl-00214 Hold Specific Equipment on Train
Action Rules
📊 Business Logic Narrative
When the process 'Hold Specific Equipment on Train' is invoked, and assuming that a valid equipment id has been identified for hold processing, when the system processes the equipment hold request, the desired outcome is that the specific equipment/car is placed on hold status within the train.
💻 Technical Criteria
Given A valid equipment ID has been identified for hold processing
When The system processes the equipment hold request
Then The specific equipment/car is placed on hold status within the train
R-GCX016-cbl-00215 Update Equipment Hold Count
Computation Rules
📊 Business Logic Narrative
When the process 'Update Equipment Hold Count' is invoked, and assuming that a specific equipment has been successfully placed on hold, when the system updates the equipment hold tracking, the desired outcome is that the equipment hold count for the train is incremented by one.
💻 Technical Criteria
Given A specific equipment has been successfully placed on hold
When The system updates the equipment hold tracking
Then The equipment hold count for the train is incremented by one
R-GCX016-cbl-00216 Log Equipment Hold Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Hold Action' is invoked, and assuming that an equipment hold has been applied and the hold count updated, when the system logs the equipment hold action, the desired outcome is that the equipment hold action is recorded with equipment id, timestamp, and hold details.
💻 Technical Criteria
Given An equipment hold has been applied and the hold count updated
When The system logs the equipment hold action
Then The equipment hold action is recorded with equipment ID, timestamp, and hold details
R-GCX016-cbl-00217 Skip Invalid Equipment ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Invalid Equipment ID', assuming that an equipment id has failed validation checks, when the system encounters an invalid equipment id, the desired outcome is that the invalid equipment id is skipped and processing continues with the next vid segment.
💻 Technical Criteria
EXCLUDING An equipment ID has failed validation checks
When The system encounters an invalid equipment ID
Then The invalid equipment ID is skipped and processing continues with the next VID segment
R-GCX016-cbl-00219 Determine Overall Train Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Overall Train Hold Status' is invoked, and assuming that all vid segments have been processed for equipment holds, when the system determines the overall train hold status, the desired outcome is that the train hold status is evaluated based on the number of equipment items held and train hold policies.
💻 Technical Criteria
Given All VID segments have been processed for equipment holds
When The system determines the overall train hold status
Then The train hold status is evaluated based on the number of equipment items held and train hold policies
R-GCX016-cbl-00220 Update Train Hold Status Based on Equipment Count
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Hold Status Based on Equipment Count' is invoked, and assuming that the overall train hold status has been determined based on equipment hold counts, when the system updates the train hold status, the desired outcome is that the train hold status is updated in the train list records based on the equipment hold count and business rules.
💻 Technical Criteria
Given The overall train hold status has been determined based on equipment hold counts
When The system updates the train hold status
Then The train hold status is updated in the train list records based on the equipment hold count and business rules
R-GCX016-cbl-00221 Equipment Release Processing Start
Process Rules
📊 Business Logic Narrative
When the process 'Equipment Release Processing Start' is invoked, and assuming that a train hold release event (hre) is being processed, when the system begins equipment release processing, the desired outcome is that the equipment release workflow is initiated.
💻 Technical Criteria
Given A train hold release event (HRE) is being processed
When The system begins equipment release processing
Then The equipment release workflow is initiated
R-GCX016-cbl-00222 Receive VID Segment for HRE
Process Rules
📊 Business Logic Narrative
When the process 'Receive VID Segment for HRE' is invoked, and assuming that an hre event is being processed, when vid segments are present in the message, the desired outcome is that each vid segment is processed for equipment release.
💻 Technical Criteria
Given An HRE event is being processed
When VID segments are present in the message
Then Each VID segment is processed for equipment release
R-GCX016-cbl-00223 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment is being processed for equipment release, when the system reads the vid segment data, the desired outcome is that the equipment id is extracted from the vid segment.
💻 Technical Criteria
Given A VID segment is being processed for equipment release
When The system reads the VID segment data
Then The equipment ID is extracted from the VID segment
R-GCX016-cbl-00224 Locate Equipment in Train Equipment List
Action Rules
📊 Business Logic Narrative
When the process 'Locate Equipment in Train Equipment List' is invoked, and assuming that an equipment id has been extracted from a vid segment, when the system searches the train equipment list, the desired outcome is that the system attempts to locate the equipment in the train list.
💻 Technical Criteria
Given An equipment ID has been extracted from a VID segment
When The system searches the train equipment list
Then The system attempts to locate the equipment in the train list
R-GCX016-cbl-00225 Equipment Found in Train?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Found in Train?' is invoked, and assuming that the system is searching for equipment in the train list, when the equipment search is completed, the desired outcome is that the system determines if the equipment exists in the train or not.
💻 Technical Criteria
Given The system is searching for equipment in the train list
When The equipment search is completed
Then The system determines if the equipment exists in the train or not
R-GCX016-cbl-00226 Check Current Equipment Hold Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check Current Equipment Hold Status' is invoked, and assuming that equipment has been found in the train equipment list, when the system checks the equipment's current status, the desired outcome is that the current hold status of the equipment is determined.
💻 Technical Criteria
Given Equipment has been found in the train equipment list
When The system checks the equipment's current status
Then The current hold status of the equipment is determined
R-GCX016-cbl-00227 Equipment Currently Held?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Currently Held?' is invoked, and assuming that equipment has been found and its hold status checked, when the system evaluates if the equipment is currently held, the desired outcome is that the system determines whether the equipment can be released or is already released.
💻 Technical Criteria
Given Equipment has been found and its hold status checked
When The system evaluates if the equipment is currently held
Then The system determines whether the equipment can be released or is already released
R-GCX016-cbl-00228 Remove Hold Status from Equipment
Action Rules
📊 Business Logic Narrative
When the process 'Remove Hold Status from Equipment' is invoked, and assuming that equipment is currently held and eligible for release, when the system processes the equipment release, the desired outcome is that the hold status is removed from the equipment.
💻 Technical Criteria
Given Equipment is currently held and eligible for release
When The system processes the equipment release
Then The hold status is removed from the equipment
R-GCX016-cbl-00229 Decrement Train Held Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Decrement Train Held Equipment Count' is invoked, and assuming that equipment hold status has been removed, when the system updates train statistics, the desired outcome is that the train's held equipment count is decremented by one.
💻 Technical Criteria
Given Equipment hold status has been removed
When The system updates train statistics
Then The train's held equipment count is decremented by one
R-GCX016-cbl-00230 Update Equipment Status in Train List
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Status in Train List' is invoked, and assuming that equipment hold has been removed and count decremented, when the system updates the train equipment list, the desired outcome is that the equipment's status is updated to reflect the release.
💻 Technical Criteria
Given Equipment hold has been removed and count decremented
When The system updates the train equipment list
Then The equipment's status is updated to reflect the release
R-GCX016-cbl-00231 Any Equipment Still Held on Train?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Equipment Still Held on Train?' is invoked, and assuming that equipment has been released and train statistics updated, when the system checks remaining held equipment on the train, the desired outcome is that the system determines if any equipment is still held on the train.
💻 Technical Criteria
Given Equipment has been released and train statistics updated
When The system checks remaining held equipment on the train
Then The system determines if any equipment is still held on the train
R-GCX016-cbl-00232 Set Train Status to Partially Held
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Status to Partially Held' is invoked, and assuming that some equipment on the train is still held after release processing, when the system updates the train status, the desired outcome is that the train status is set to partially held.
💻 Technical Criteria
Given Some equipment on the train is still held after release processing
When The system updates the train status
Then The train status is set to partially held
R-GCX016-cbl-00233 Set Train Status to Fully Released
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Status to Fully Released' is invoked, and assuming that no equipment on the train is held after release processing, when the system updates the train status, the desired outcome is that the train status is set to fully released.
💻 Technical Criteria
Given No equipment on the train is held after release processing
When The system updates the train status
Then The train status is set to fully released
R-GCX016-cbl-00234 Log Equipment Release Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Release Action' is invoked, and assuming that equipment has been successfully released and train status updated, when the system completes the release processing, the desired outcome is that the equipment release action is logged.
💻 Technical Criteria
Given Equipment has been successfully released and train status updated
When The system completes the release processing
Then The equipment release action is logged
R-GCX016-cbl-00236 Equipment Release Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'Equipment Release Processing Complete' is invoked, and assuming that all vid segments have been processed for equipment release, when no more vid segments remain, the desired outcome is that the equipment release processing is marked as complete.
💻 Technical Criteria
Given All VID segments have been processed for equipment release
When No more VID segments remain
Then The equipment release processing is marked as complete
R-GCX016-cbl-00237 Log Equipment Not Found Warning
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Equipment Not Found Warning', assuming that equipment id has been extracted from vid segment, when the equipment is not found in the train equipment list, the desired outcome is that a warning is logged indicating equipment not found.
💻 Technical Criteria
EXCLUDING Equipment ID has been extracted from VID segment
When The equipment is not found in the train equipment list
Then A warning is logged indicating equipment not found
R-GCX016-cbl-00238 Log Equipment Already Released Warning
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Equipment Already Released Warning', assuming that equipment has been found in the train equipment list, when the equipment is not currently held, the desired outcome is that a warning is logged indicating equipment is already released.
💻 Technical Criteria
EXCLUDING Equipment has been found in the train equipment list
When The equipment is not currently held
Then A warning is logged indicating equipment is already released
R-GCX016-cbl-00239 Process VID Segments Following SEI
Process Rules
📊 Business Logic Narrative
When the process 'Process VID Segments Following SEI' is invoked, and assuming that a sei disposition code has been received for a train, when the system processes the message segments following the sei code, the desired outcome is that all vid segments in the message are identified and processed for equipment seizure.
💻 Technical Criteria
Given A SEI disposition code has been received for a train
When The system processes the message segments following the SEI code
Then All VID segments in the message are identified and processed for equipment seizure
R-GCX016-cbl-00240 VID Segment Available?
Validation Rules
📊 Business Logic Narrative
When the process 'VID Segment Available?' is invoked, and assuming that a message contains sei disposition code for equipment seizure, when the system searches for vid segments in the message, the desired outcome is that the system determines if vid segments are available for processing or if no equipment identification is provided.
💻 Technical Criteria
Given A message contains SEI disposition code for equipment seizure
When The system searches for VID segments in the message
Then The system determines if VID segments are available for processing or if no equipment identification is provided
R-GCX016-cbl-00241 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment is available in the message, when the system processes the vid segment, the desired outcome is that the equipment id is extracted from the vid segment data for further validation and processing.
💻 Technical Criteria
Given A VID segment is available in the message
When The system processes the VID segment
Then The equipment ID is extracted from the VID segment data for further validation and processing
R-GCX016-cbl-00242 Validate Equipment ID Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment ID Format' is invoked, and assuming that an equipment id has been extracted from a vid segment, when the system validates the equipment id format, the desired outcome is that the equipment id is confirmed as valid format for seizure processing or marked as invalid.
💻 Technical Criteria
Given An equipment ID has been extracted from a VID segment
When The system validates the equipment ID format
Then The equipment ID is confirmed as valid format for seizure processing or marked as invalid
R-GCX016-cbl-00243 Mark Equipment as Seized by Customs
Action Rules
📊 Business Logic Narrative
When the process 'Mark Equipment as Seized by Customs' is invoked, and assuming that a valid equipment id has been identified from vid segment processing, when the sei disposition code is applied to the equipment, the desired outcome is that the equipment is marked as seized by customs in the system.
💻 Technical Criteria
Given A valid equipment ID has been identified from VID segment processing
When The SEI disposition code is applied to the equipment
Then The equipment is marked as seized by customs in the system
R-GCX016-cbl-00244 Update Equipment Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Seizure Status' is invoked, and assuming that equipment has been marked as seized by customs, when the system updates equipment records, the desired outcome is that the equipment seizure status is updated to indicate active customs seizure.
💻 Technical Criteria
Given Equipment has been marked as seized by customs
When The system updates equipment records
Then The equipment seizure status is updated to indicate active customs seizure
R-GCX016-cbl-00245 Increment Train Seizure Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Train Seizure Count' is invoked, and assuming that equipment on a train has been marked as seized, when the seizure status is updated, the desired outcome is that the train's total seizure count is incremented by one.
💻 Technical Criteria
Given Equipment on a train has been marked as seized
When The seizure status is updated
Then The train's total seizure count is incremented by one
R-GCX016-cbl-00246 More VID Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More VID Segments?' is invoked, and assuming that one vid segment has been processed for equipment seizure, when the system checks for additional vid segments in the message, the desired outcome is that the system continues processing if more vid segments exist or proceeds to finalize seizure processing.
💻 Technical Criteria
Given One VID segment has been processed for equipment seizure
When The system checks for additional VID segments in the message
Then The system continues processing if more VID segments exist or proceeds to finalize seizure processing
R-GCX016-cbl-00247 Update Overall Train Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Overall Train Seizure Status' is invoked, and assuming that all vid segments have been processed for equipment seizure, when the system finalizes seizure processing for the train, the desired outcome is that the overall train seizure status is updated to reflect the seizure of equipment.
💻 Technical Criteria
Given All VID segments have been processed for equipment seizure
When The system finalizes seizure processing for the train
Then The overall train seizure status is updated to reflect the seizure of equipment
R-GCX016-cbl-00248 Log Equipment Seizure Action
Action Rules
📊 Business Logic Narrative
When the process 'Log Equipment Seizure Action' is invoked, and assuming that equipment seizure processing has been completed for a train, when the system finalizes the seizure action, the desired outcome is that a log entry is created documenting the equipment seizure action with relevant details.
💻 Technical Criteria
Given Equipment seizure processing has been completed for a train
When The system finalizes the seizure action
Then A log entry is created documenting the equipment seizure action with relevant details
R-GCX016-cbl-00249 Skip Invalid Equipment ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Invalid Equipment ID', assuming that an equipment id extracted from vid segment fails format validation, when the system encounters invalid equipment id, the desired outcome is that the invalid equipment id is skipped and processing continues with the next vid segment if available.
💻 Technical Criteria
EXCLUDING An equipment ID extracted from VID segment fails format validation
When The system encounters invalid equipment ID
Then The invalid equipment ID is skipped and processing continues with the next VID segment if available
R-GCX016-cbl-00250 SER Disposition Code Present?
Decision Rules
📊 Business Logic Narrative
When the process 'SER Disposition Code Present?' is invoked, and assuming that a message with disposition code is being processed, when the system evaluates the disposition code, the desired outcome is that if disposition code is 'ser', initiate equipment seizure release processing, otherwise skip seizure release processing.
💻 Technical Criteria
Given A message with disposition code is being processed
When The system evaluates the disposition code
Then If disposition code is 'SER', initiate equipment seizure release processing, otherwise skip seizure release processing
R-GCX016-cbl-00251 Initialize Equipment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Equipment Counter' is invoked, and assuming that ser disposition code is present and seizure release processing is initiated, when the system begins equipment seizure release processing, the desired outcome is that initialize equipment counter to track the number of equipment items currently under seizure on the train.
💻 Technical Criteria
Given SER disposition code is present and seizure release processing is initiated
When The system begins equipment seizure release processing
Then Initialize equipment counter to track the number of equipment items currently under seizure on the train
R-GCX016-cbl-00252 VID Segments Available?
Validation Rules
📊 Business Logic Narrative
When the process 'VID Segments Available?' is invoked, and assuming that equipment counter is initialized for seizure release processing, when the system checks for vid segments in the message, the desired outcome is that if vid segments are available, proceed to process each vid segment, otherwise update train seizure status directly.
💻 Technical Criteria
Given Equipment counter is initialized for seizure release processing
When The system checks for VID segments in the message
Then If VID segments are available, proceed to process each VID segment, otherwise update train seizure status directly
R-GCX016-cbl-00253 Get Next VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get Next VID Segment' is invoked, and assuming that vid segments are available for processing, when the system processes vid segments sequentially, the desired outcome is that retrieve the next available vid segment containing equipment identification information.
💻 Technical Criteria
Given VID segments are available for processing
When The system processes VID segments sequentially
Then Retrieve the next available VID segment containing equipment identification information
R-GCX016-cbl-00254 Extract Equipment ID from VID
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID' is invoked, and assuming that a vid segment is retrieved for processing, when the system processes the vid segment, the desired outcome is that extract the equipment identification information from the vid segment data.
💻 Technical Criteria
Given A VID segment is retrieved for processing
When The system processes the VID segment
Then Extract the equipment identification information from the VID segment data
R-GCX016-cbl-00255 Format Equipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID' is invoked, and assuming that equipment id is extracted from vid segment, when the system processes the equipment id, the desired outcome is that format the equipment id according to standard equipment identification format for train registry lookup.
💻 Technical Criteria
Given Equipment ID is extracted from VID segment
When The system processes the equipment ID
Then Format the equipment ID according to standard equipment identification format for train registry lookup
R-GCX016-cbl-00256 Equipment Found on Train?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Found on Train?' is invoked, and assuming that equipment id is formatted for lookup, when the system searches for the equipment on the train, the desired outcome is that if equipment is found on the train, proceed with seizure release, otherwise generate equipment not found warning.
💻 Technical Criteria
Given Equipment ID is formatted for lookup
When The system searches for the equipment on the train
Then If equipment is found on the train, proceed with seizure release, otherwise generate equipment not found warning
R-GCX016-cbl-00257 Remove Seizure Status from Equipment
Action Rules
📊 Business Logic Narrative
When the process 'Remove Seizure Status from Equipment' is invoked, and assuming that equipment is found on the train and has seizure status, when the system processes seizure release for the equipment, the desired outcome is that remove the seizure status from the equipment record.
💻 Technical Criteria
Given Equipment is found on the train and has seizure status
When The system processes seizure release for the equipment
Then Remove the seizure status from the equipment record
R-GCX016-cbl-00258 Decrement Seized Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Decrement Seized Equipment Count' is invoked, and assuming that seizure status is removed from an equipment item, when the system updates equipment seizure tracking, the desired outcome is that decrement the total count of seized equipment on the train by one.
💻 Technical Criteria
Given Seizure status is removed from an equipment item
When The system updates equipment seizure tracking
Then Decrement the total count of seized equipment on the train by one
R-GCX016-cbl-00259 Log Equipment Release from Seizure
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Release from Seizure' is invoked, and assuming that equipment seizure status is removed and count is decremented, when the system completes seizure release for an equipment item, the desired outcome is that log the equipment seizure release event with equipment id, timestamp, and release details.
💻 Technical Criteria
Given Equipment seizure status is removed and count is decremented
When The system completes seizure release for an equipment item
Then Log the equipment seizure release event with equipment ID, timestamp, and release details
R-GCX016-cbl-00261 Equipment Not Found Warning
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Equipment Not Found Warning', assuming that equipment id is formatted but not found on the train, when the system cannot locate the equipment on the train, the desired outcome is that generate a warning message indicating the equipment was not found on the train and continue processing remaining vid segments.
💻 Technical Criteria
EXCLUDING Equipment ID is formatted but not found on the train
When The system cannot locate the equipment on the train
Then Generate a warning message indicating the equipment was not found on the train and continue processing remaining VID segments
R-GCX016-cbl-00262 Update Train Seizure Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Train Seizure Status' is invoked, and assuming that all vid segments have been processed for equipment seizure releases, when the system evaluates the train's overall seizure status, the desired outcome is that update the train seizure status based on remaining seized equipment count.
💻 Technical Criteria
Given All VID segments have been processed for equipment seizure releases
When The system evaluates the train's overall seizure status
Then Update the train seizure status based on remaining seized equipment count
R-GCX016-cbl-00263 Any Equipment Still Seized?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Equipment Still Seized?' is invoked, and assuming that train seizure status is being updated, when the system evaluates the seized equipment count, the desired outcome is that if any equipment still has seizure status, keep train seizure status active, otherwise remove train seizure status.
💻 Technical Criteria
Given Train seizure status is being updated
When The system evaluates the seized equipment count
Then If any equipment still has seizure status, keep train seizure status active, otherwise remove train seizure status
R-GCX016-cbl-00264 Keep Train Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Keep Train Seizure Status' is invoked, and assuming that some equipment on the train still has seizure status, when the system updates train seizure status, the desired outcome is that maintain the train seizure status as active since seized equipment remains on the train.
💻 Technical Criteria
Given Some equipment on the train still has seizure status
When The system updates train seizure status
Then Maintain the train seizure status as active since seized equipment remains on the train
R-GCX016-cbl-00265 Remove Train Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Remove Train Seizure Status' is invoked, and assuming that no equipment on the train has seizure status, when the system updates train seizure status, the desired outcome is that remove the train seizure status since no seized equipment remains on the train.
💻 Technical Criteria
Given No equipment on the train has seizure status
When The system updates train seizure status
Then Remove the train seizure status since no seized equipment remains on the train
R-GCX016-cbl-00266 Generate Train Seizure Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Train Seizure Release Notification' is invoked, and assuming that train seizure status has been updated after processing all equipment seizure releases, when the system completes seizure release processing, the desired outcome is that generate notification about the completion of train seizure release processing with final status details.
💻 Technical Criteria
Given Train seizure status has been updated after processing all equipment seizure releases
When The system completes seizure release processing
Then Generate notification about the completion of train seizure release processing with final status details
R-GCX016-cbl-00267 Skip - No SER Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip - No SER Code', assuming that a message is being processed for disposition codes, when the disposition code is not 'ser', the desired outcome is that skip all equipment seizure release processing and complete the seizure release workflow.
💻 Technical Criteria
EXCLUDING A message is being processed for disposition codes
When The disposition code is not 'SER'
Then Skip all equipment seizure release processing and complete the seizure release workflow
R-GCX016-cbl-00268 Processing Context?
Decision Rules
📊 Business Logic Narrative
When the process 'Processing Context?' is invoked, and assuming that a k1 segment is received for processing, when the system evaluates the current processing context, the desired outcome is that the system routes k1 remarks to either train-level processing or cargo-level processing based on the active context.
💻 Technical Criteria
Given A K1 segment is received for processing
When The system evaluates the current processing context
Then The system routes K1 remarks to either train-level processing or cargo-level processing based on the active context
R-GCX016-cbl-00270 179:K1 Remarks Processing for Cargo Operations
Process Rules
📊 Business Logic Narrative
When the process '179:K1 Remarks Processing for Cargo Operations' is invoked, and assuming that a k1 segment contains remarks and the processing context is cargo-level, when the system processes the k1 segment for cargo operations, the desired outcome is that the system extracts the remarks from k1 segment and stores the remarks in the associated cargo record and makes the remarks available for cargo-related messaging.
💻 Technical Criteria
Given A K1 segment contains remarks AND the processing context is cargo-level
When The system processes the K1 segment for cargo operations
Then The system extracts the remarks from K1 segment AND stores the remarks in the associated cargo record AND makes the remarks available for cargo-related messaging
R-GCX016-cbl-00283 Create New Foreign Bill Record
Action Rules
📊 Business Logic Narrative
When the process 'Create New Foreign Bill Record' is invoked, and assuming that no existing cargo record found for the processing key, when the system determines a new record is needed, the desired outcome is that a new foreign bill record is created with information from the x4 segment and default status values.
💻 Technical Criteria
Given No existing cargo record found for the processing key
When The system determines a new record is needed
Then A new foreign bill record is created with information from the X4 segment and default status values
R-GCX016-cbl-00285 Update Status Array with Disposition
Process Rules
📊 Business Logic Narrative
When the process 'Update Status Array with Disposition' is invoked, and assuming that a valid disposition code and existing or new cargo record, when the system processes the disposition code, the desired outcome is that the status array is updated with the disposition code, location information, quantities, and processing flags.
💻 Technical Criteria
Given A valid disposition code and existing or new cargo record
When The system processes the disposition code
Then The status array is updated with the disposition code, location information, quantities, and processing flags
R-GCX016-cbl-00286 Process FDA Requirements
Policy Rules
📊 Business Logic Narrative
When the process 'Process FDA Requirements' is invoked, and assuming that a disposition code that requires fda processing (a1 or a3), when the system identifies fda requirements, the desired outcome is that fda notifications are generated and special fda hold status is applied to the cargo.
💻 Technical Criteria
Given A disposition code that requires FDA processing (A1 or A3)
When The system identifies FDA requirements
Then FDA notifications are generated and special FDA hold status is applied to the cargo
R-GCX016-cbl-00290 Update Cargo Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Update Cargo Release Quantities' is invoked, and assuming that a processed disposition code with quantity information, when the system updates release quantities, the desired outcome is that release quantities are added or subtracted based on disposition action, with validation to prevent negative values.
💻 Technical Criteria
Given A processed disposition code with quantity information
When The system updates release quantities
Then Release quantities are added or subtracted based on disposition action, with validation to prevent negative values
R-GCX016-cbl-00291 Release Conditions Met?
Decision Rules
📊 Business Logic Narrative
When the process 'Release Conditions Met?' is invoked, and assuming that updated cargo with disposition processing completed, when the system evaluates release conditions, the desired outcome is that if release quantity equals or exceeds total quantity and no holds exist, release conditions are met; otherwise hold processing is required.
💻 Technical Criteria
Given Updated cargo with disposition processing completed
When The system evaluates release conditions
Then If release quantity equals or exceeds total quantity and no holds exist, release conditions are met; otherwise hold processing is required
R-GCX016-cbl-00292 Generate Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Release Notification' is invoked, and assuming that cargo that meets release conditions, when the system processes the release, the desired outcome is that release notifications are sent to brokers and merlin system with cargo details, quantities, and release information.
💻 Technical Criteria
Given Cargo that meets release conditions
When The system processes the release
Then Release notifications are sent to brokers and Merlin system with cargo details, quantities, and release information
R-GCX016-cbl-00293 Hold Required?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Hold Required?', assuming that cargo that does not meet release conditions, when the system evaluates hold requirements, the desired outcome is that if disposition code or cargo conditions require hold, hold processing is initiated; otherwise cargo status is updated without hold.
💻 Technical Criteria
EXCLUDING Cargo that does not meet release conditions
When The system evaluates hold requirements
Then If disposition code or cargo conditions require hold, hold processing is initiated; otherwise cargo status is updated without hold
R-GCX016-cbl-00294 Generate Hold Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Hold Notification' is invoked, and assuming that cargo that requires hold status, when the system applies hold processing, the desired outcome is that hold notifications are sent to brokers and merlin system with hold reason, location, and cargo details.
💻 Technical Criteria
Given Cargo that requires hold status
When The system applies hold processing
Then Hold notifications are sent to brokers and Merlin system with hold reason, location, and cargo details
R-GCX016-cbl-00295 Update Cargo Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status' is invoked, and assuming that completed disposition processing with all notifications sent, when the system finalizes cargo status, the desired outcome is that cargo status is updated to reflect current condition (released, held, proceed, etc.) and database records are updated.
💻 Technical Criteria
Given Completed disposition processing with all notifications sent
When The system finalizes cargo status
Then Cargo status is updated to reflect current condition (released, held, proceed, etc.) and database records are updated
R-GCX016-cbl-04008 Bond Number Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Bond Number Available?' is invoked, and assuming that an x4 segment is being processed for bond-based cargo operations, when the system checks for bond number availability in the x4 segment, the desired outcome is that processing continues to bond extraction if bond number exists, otherwise skips bond processing.
💻 Technical Criteria
Given An X4 segment is being processed for bond-based cargo operations
When The system checks for bond number availability in the X4 segment
Then Processing continues to bond extraction if bond number exists, otherwise skips bond processing
R-GCX016-cbl-04009 Extract Bond Control Number from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Bond Control Number from X4 Segment' is invoked, and assuming that an x4 segment contains bond information, when the system processes the x4 segment for bond-based operations, the desired outcome is that the bond control number is extracted and stored for subsequent cargo processing.
💻 Technical Criteria
Given An X4 segment contains bond information
When The system processes the X4 segment for bond-based operations
Then The bond control number is extracted and stored for subsequent cargo processing
R-GCX016-cbl-04012 Set Bond Processing Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Bond Processing Flag' is invoked, and assuming that a valid bond number has been confirmed, when the system prepares for bond-based cargo processing, the desired outcome is that bond processing flag is set to enable bond-specific cargo operations.
💻 Technical Criteria
Given A valid bond number has been confirmed
When The system prepares for bond-based cargo processing
Then Bond processing flag is set to enable bond-specific cargo operations
R-GCX016-cbl-04013 Initialize Cargo Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Cargo Counter' is invoked, and assuming that bond processing flag has been set, when the system prepares to process cargo records by bond, the desired outcome is that cargo counter is initialized to zero for tracking processed records.
💻 Technical Criteria
Given Bond processing flag has been set
When The system prepares to process cargo records by bond
Then Cargo counter is initialized to zero for tracking processed records
R-GCX016-cbl-04014 Fetch First Cargo Record by Bond Number
Action Rules
📊 Business Logic Narrative
When the process 'Fetch First Cargo Record by Bond Number' is invoked, and assuming that a valid bond number and initialized cargo counter, when the system searches for cargo records by bond number, the desired outcome is that first cargo record matching the bond number is retrieved from cargo database.
💻 Technical Criteria
Given A valid bond number and initialized cargo counter
When The system searches for cargo records by bond number
Then First cargo record matching the bond number is retrieved from cargo database
R-GCX016-cbl-04015 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a search for cargo records by bond number has been executed, when the system evaluates search results, the desired outcome is that proceeds to cargo processing if records found, otherwise moves to bond processing summary.
💻 Technical Criteria
Given A search for cargo records by bond number has been executed
When The system evaluates search results
Then Proceeds to cargo processing if records found, otherwise moves to bond processing summary
R-GCX016-cbl-04016 Load Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Load Cargo Information' is invoked, and assuming that a cargo record has been found for the bond number, when the system prepares to process the cargo, the desired outcome is that complete cargo information including status, quantities, and identifiers is loaded.
💻 Technical Criteria
Given A cargo record has been found for the bond number
When The system prepares to process the cargo
Then Complete cargo information including status, quantities, and identifiers is loaded
R-GCX016-cbl-04017 Process Disposition Code for Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Process Disposition Code for Cargo' is invoked, and assuming that cargo information has been loaded and x4 segment contains disposition code, when the system processes disposition code for the cargo, the desired outcome is that disposition code is validated and appropriate cargo actions are determined.
💻 Technical Criteria
Given Cargo information has been loaded and X4 segment contains disposition code
When The system processes disposition code for the cargo
Then Disposition code is validated and appropriate cargo actions are determined
R-GCX016-cbl-04018 Update Cargo Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array' is invoked, and assuming that disposition code has been processed for the cargo, when the system updates cargo status information, the desired outcome is that status array is modified to reflect new disposition code and associated status changes.
💻 Technical Criteria
Given Disposition code has been processed for the cargo
When The system updates cargo status information
Then Status array is modified to reflect new disposition code and associated status changes
R-GCX016-cbl-04019 Apply Business Rules to Cargo
Policy Rules
📊 Business Logic Narrative
When the process 'Apply Business Rules to Cargo' is invoked, and assuming that cargo status array has been updated with disposition code information, when the system applies business rules to the cargo, the desired outcome is that cargo processing rules are executed based on cargo characteristics and disposition requirements.
💻 Technical Criteria
Given Cargo status array has been updated with disposition code information
When The system applies business rules to the cargo
Then Cargo processing rules are executed based on cargo characteristics and disposition requirements
R-GCX016-cbl-04020 Update Cargo Release Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Release Status' is invoked, and assuming that business rules have been applied to the cargo, when the system determines final cargo release status, the desired outcome is that cargo release status is updated to reflect hold, release, or other appropriate status conditions.
💻 Technical Criteria
Given Business rules have been applied to the cargo
When The system determines final cargo release status
Then Cargo release status is updated to reflect hold, release, or other appropriate status conditions
R-GCX016-cbl-04021 Generate Cargo Messages if Required
Action Rules
📊 Business Logic Narrative
When the process 'Generate Cargo Messages if Required' is invoked, and assuming that cargo release status has been updated, when the system evaluates message generation requirements, the desired outcome is that appropriate cargo messages are generated if status changes require notification.
💻 Technical Criteria
Given Cargo release status has been updated
When The system evaluates message generation requirements
Then Appropriate cargo messages are generated if status changes require notification
R-GCX016-cbl-04022 Increment Cargo Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Cargo Counter' is invoked, and assuming that a cargo record has been successfully processed, when the system completes cargo processing, the desired outcome is that cargo counter is incremented by one to track processed records.
💻 Technical Criteria
Given A cargo record has been successfully processed
When The system completes cargo processing
Then Cargo counter is incremented by one to track processed records
R-GCX016-cbl-04023 Fetch Next Cargo Record with Same Bond
Action Rules
📊 Business Logic Narrative
When the process 'Fetch Next Cargo Record with Same Bond' is invoked, and assuming that current cargo record has been processed and cargo counter incremented, when the system searches for additional cargo records with the same bond number, the desired outcome is that next cargo record matching the bond number is retrieved if available.
💻 Technical Criteria
Given Current cargo record has been processed and cargo counter incremented
When The system searches for additional cargo records with the same bond number
Then Next cargo record matching the bond number is retrieved if available
R-GCX016-cbl-04024 More Cargo Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo Records?' is invoked, and assuming that a search for next cargo record with same bond has been executed, when the system evaluates if more cargo records exist, the desired outcome is that continues cargo processing loop if more records found, otherwise proceeds to bond processing summary.
💻 Technical Criteria
Given A search for next cargo record with same bond has been executed
When The system evaluates if more cargo records exist
Then Continues cargo processing loop if more records found, otherwise proceeds to bond processing summary
R-GCX016-cbl-04025 Generate Bond Processing Summary
Process Rules
📊 Business Logic Narrative
When the process 'Generate Bond Processing Summary' is invoked, and assuming that all cargo records for the bond number have been processed or no cargo records were found, when the system completes bond-based cargo processing, the desired outcome is that bond processing summary is generated including cargo count and processing results.
💻 Technical Criteria
Given All cargo records for the bond number have been processed or no cargo records were found
When The system completes bond-based cargo processing
Then Bond processing summary is generated including cargo count and processing results
R-GCX016-cbl-04258 218:Disposition Code Table Lookup
Validation Rules
📊 Business Logic Narrative
When the process '218:Disposition Code Table Lookup' is invoked, and assuming that a disposition code from x4 segment needs to be processed for cargo, when the system looks up the disposition code in the gcstbrt disposition code table, the desired outcome is that the system determines if the disposition code is valid and retrieves associated processing rules.
💻 Technical Criteria
Given A disposition code from X4 segment needs to be processed for cargo
When The system looks up the disposition code in the GCSTBRT disposition code table
Then The system determines if the disposition code is valid and retrieves associated processing rules
R-GCX016-cbl-04261 233:Manual Release Processing for CPRS
Decision Rules
📊 Business Logic Narrative
When the process '233:Manual Release Processing for CPRS' is invoked, and assuming that a disposition code is classified as mrl (manual release) type for cprs cargo, when the system processes the mrl disposition code, the desired outcome is that the system processes the manual release without adding the disposition code to the status array and updates cargo status accordingly.
💻 Technical Criteria
Given A disposition code is classified as MRL (Manual Release) type for CPRS cargo
When The system processes the MRL disposition code
Then The system processes the manual release without adding the disposition code to the status array and updates cargo status accordingly
R-GCX016-cbl-04271 217:Status Array Persistence
Action Rules
📊 Business Logic Narrative
When the process '217:Status Array Persistence' is invoked, and assuming that the status array has been modified with new disposition codes, when all disposition code processing is complete, the desired outcome is that the system updates the cargo s09 status segments with the modified status array information.
💻 Technical Criteria
Given The status array has been modified with new disposition codes
When All disposition code processing is complete
Then The system updates the cargo S09 status segments with the modified status array information
R-GCX016-cbl-04367 Disposition Code Table Lookup - Retrieve disposition code information from DC table including counterpart codes, quantity action flags, location requirements, and processing instructions
Action Rules
📊 Business Logic Narrative
When the process 'Disposition Code Table Lookup - Retrieve disposition code information from DC table including counterpart codes, quantity action flags, location requirements, and processing instructions' is invoked, and assuming that a disposition code needs to be validated and processed for cargo operations, when the system performs a disposition code table lookup using the provided disposition code, the desired outcome is that the system retrieves all associated disposition code information including counterpart codes, quantity action flags, location requirements, and processing instructions from the dc table and sets appropriate availability flags.
💻 Technical Criteria
Given A disposition code needs to be validated and processed for cargo operations
When The system performs a disposition code table lookup using the provided disposition code
Then The system retrieves all associated disposition code information including counterpart codes, quantity action flags, location requirements, and processing instructions from the DC table and sets appropriate availability flags
R-GCX016-cbl-04589 Entry Number Present in X4-04?
Validation Rules
📊 Business Logic Narrative
When the process 'Entry Number Present in X4-04?' is invoked, and assuming that a cargo message with x4 segment is being processed, when the system checks for entry number in x4-04 field, the desired outcome is that if entry number is present, continue with entry number validation, otherwise fail validation.
💻 Technical Criteria
Given A cargo message with X4 segment is being processed
When The system checks for entry number in X4-04 field
Then If entry number is present, continue with entry number validation, otherwise fail validation
R-GCX016-cbl-04597 Entry Number Format Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Number Format Valid?' is invoked, and assuming that an entry number has undergone format validation (either v37 special or standard), when the system checks if the entry number format is valid, the desired outcome is that if format is valid, proceed to check against cargo records, otherwise fail the validation process.
💻 Technical Criteria
Given An entry number has undergone format validation (either V37 special or standard)
When The system checks if the entry number format is valid
Then If format is valid, proceed to check against cargo records, otherwise fail the validation process
R-GCX016-cbl-04598 Check Entry Number Against Cargo Records
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entry Number Against Cargo Records' is invoked, and assuming that an entry number has passed format validation, when the system checks the entry number against cargo records, the desired outcome is that the entry number is compared with existing cargo records to determine if there is a match.
💻 Technical Criteria
Given An entry number has passed format validation
When The system checks the entry number against cargo records
Then The entry number is compared with existing cargo records to determine if there is a match
R-GCX016-cbl-04599 Entry Number Matches Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Number Matches Cargo?' is invoked, and assuming that an entry number has been checked against cargo records, when the system verifies if there is a match, the desired outcome is that if entry number matches cargo records, set validation success, otherwise log mismatch error.
💻 Technical Criteria
Given An entry number has been checked against cargo records
When The system verifies if there is a match
Then If entry number matches cargo records, set validation success, otherwise log mismatch error
R-GCX016-cbl-04600 Set Entry Number Validation Success
Process Rules
📊 Business Logic Narrative
When the process 'Set Entry Number Validation Success' is invoked, and assuming that an entry number matches the cargo records, when the system sets validation success status, the desired outcome is that the entry number validation success flag is set and processing continues with broker validation checks.
💻 Technical Criteria
Given An entry number matches the cargo records
When The system sets validation success status
Then The entry number validation success flag is set and processing continues with broker validation checks
R-GCX016-cbl-04601 Log Entry Number Mismatch Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Entry Number Mismatch Error', assuming that an entry number does not match cargo records, when the system logs the mismatch error, the desired outcome is that an entry number mismatch error is logged and validation process fails.
💻 Technical Criteria
EXCLUDING An entry number does not match cargo records
When The system logs the mismatch error
Then An entry number mismatch error is logged and validation process fails
R-GCX016-cbl-04602 Broker Entry Number?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Entry Number?' is invoked, and assuming that an entry number has been successfully validated against cargo records, when the system checks if it is a broker entry number, the desired outcome is that if it is a broker entry number, validate against broker tables, otherwise check if it is a bond control number.
💻 Technical Criteria
Given An entry number has been successfully validated against cargo records
When The system checks if it is a broker entry number
Then If it is a broker entry number, validate against broker tables, otherwise check if it is a bond control number
R-GCX016-cbl-04610 Disposition Code Affects Quantities?
Decision Rules
📊 Business Logic Narrative
When the process 'Disposition Code Affects Quantities?' is invoked, and assuming that a disposition code is being processed for cargo, when the system checks if the disposition code affects release quantities, the desired outcome is that the system should proceed with quantity processing only if the disposition code has quantity impact, otherwise skip quantity calculations.
💻 Technical Criteria
Given A disposition code is being processed for cargo
When The system checks if the disposition code affects release quantities
Then The system should proceed with quantity processing only if the disposition code has quantity impact, otherwise skip quantity calculations
R-GCX016-cbl-04611 Add to Release Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Add to Release Quantity' is invoked, and assuming that a disposition code with add_quantity action and a valid quantity value from x4 segment, when the system processes the quantity addition, the desired outcome is that the system should add the x4 segment quantity to the current cargo release quantity.
💻 Technical Criteria
Given A disposition code with ADD_QUANTITY action and a valid quantity value from X4 segment
When The system processes the quantity addition
Then The system should add the X4 segment quantity to the current cargo release quantity
R-GCX016-cbl-04612 Subtract from Release Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract from Release Quantity' is invoked, and assuming that a disposition code with subtract_quantity action and a valid quantity value from x4 segment, when the system processes the quantity subtraction, the desired outcome is that the system should subtract the x4 segment quantity from the current cargo release quantity.
💻 Technical Criteria
Given A disposition code with SUBTRACT_QUANTITY action and a valid quantity value from X4 segment
When The system processes the quantity subtraction
Then The system should subtract the X4 segment quantity from the current cargo release quantity
R-GCX016-cbl-04613 Release Quantity > Total Quantity?
Validation Rules
📊 Business Logic Narrative
When the process 'Release Quantity > Total Quantity?' is invoked, and assuming that a calculated release quantity and the total cargo quantity, when the release quantity exceeds the total cargo quantity, the desired outcome is that the system should set the release quantity equal to the total cargo quantity to prevent over-release.
💻 Technical Criteria
Given A calculated release quantity and the total cargo quantity
When The release quantity exceeds the total cargo quantity
Then The system should set the release quantity equal to the total cargo quantity to prevent over-release
R-GCX016-cbl-04618 Partial Release Scenario?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Release Scenario?' is invoked, and assuming that a cargo with release quantity and total quantity values, when the release quantity is greater than zero but less than the total quantity, the desired outcome is that the system should identify this as a partial release scenario requiring special handling.
💻 Technical Criteria
Given A cargo with release quantity and total quantity values
When The release quantity is greater than zero but less than the total quantity
Then The system should identify this as a partial release scenario requiring special handling
R-GCX016-cbl-04619 Set Hold on Piece Counts Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts Status' is invoked, and assuming that a cargo in partial release scenario with remaining unreleased quantities, when the system processes the partial release, the desired outcome is that the system should set hold status on the remaining piece counts to prevent unauthorized release.
💻 Technical Criteria
Given A cargo in partial release scenario with remaining unreleased quantities
When The system processes the partial release
Then The system should set hold status on the remaining piece counts to prevent unauthorized release
R-GCX016-cbl-04620 Full Release Achieved?
Decision Rules
📊 Business Logic Narrative
When the process 'Full Release Achieved?' is invoked, and assuming that a cargo with release quantity equal to or greater than total quantity, when the system evaluates release completeness, the desired outcome is that the system should identify this as full release achievement.
💻 Technical Criteria
Given A cargo with release quantity equal to or greater than total quantity
When The system evaluates release completeness
Then The system should identify this as full release achievement
R-GCX016-cbl-04621 Clear Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that a cargo that has achieved full release status, when the system processes the full release, the desired outcome is that the system should clear the destination index to indicate no further destination processing required.
💻 Technical Criteria
Given A cargo that has achieved full release status
When The system processes the full release
Then The system should clear the destination index to indicate no further destination processing required
R-GCX016-cbl-04622 Set Full Release Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Full Release Status' is invoked, and assuming that a cargo with cleared destination index and full quantity release, when the system updates cargo status, the desired outcome is that the system should set the cargo status to full release.
💻 Technical Criteria
Given A cargo with cleared destination index and full quantity release
When The system updates cargo status
Then The system should set the cargo status to full release
R-GCX016-cbl-04623 PTT Validation Required?
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Validation Required?' is invoked, and assuming that a cargo with updated quantities and status, when the system evaluates ptt requirements, the desired outcome is that the system should determine if ptt validation is necessary based on cargo type and disposition code.
💻 Technical Criteria
Given A cargo with updated quantities and status
When The system evaluates PTT requirements
Then The system should determine if PTT validation is necessary based on cargo type and disposition code
R-GCX016-cbl-04624 Validate PTT Quantity Limits
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PTT Quantity Limits' is invoked, and assuming that a cargo requiring ptt validation with specific quantity limits, when the system validates ptt quantities, the desired outcome is that the system should check that quantities are within established ptt limits.
💻 Technical Criteria
Given A cargo requiring PTT validation with specific quantity limits
When The system validates PTT quantities
Then The system should check that quantities are within established PTT limits
R-GCX016-cbl-04626 Set PTT Status with Quantity
Process Rules
📊 Business Logic Narrative
When the process 'Set PTT Status with Quantity' is invoked, and assuming that a cargo with valid ptt quantities, when the system assigns ptt status, the desired outcome is that the system should set ptt status and record the associated quantities.
💻 Technical Criteria
Given A cargo with valid PTT quantities
When The system assigns PTT status
Then The system should set PTT status and record the associated quantities
R-GCX016-cbl-04627 Reject PTT - Quantity Exceeded
Process Rules
📊 Business Logic Narrative
When the process 'Reject PTT - Quantity Exceeded' is invoked, and assuming that a cargo with ptt quantities that exceed validation limits, when the system processes the ptt rejection, the desired outcome is that the system should reject ptt status and maintain current cargo status.
💻 Technical Criteria
Given A cargo with PTT quantities that exceed validation limits
When The system processes the PTT rejection
Then The system should reject PTT status and maintain current cargo status
R-GCX016-cbl-04628 Update Cargo Record with New Quantities
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with New Quantities' is invoked, and assuming that a cargo with processed and validated quantity changes, when the system updates the cargo record, the desired outcome is that the system should save all new quantity values and status changes to the cargo record.
💻 Technical Criteria
Given A cargo with processed and validated quantity changes
When The system updates the cargo record
Then The system should save all new quantity values and status changes to the cargo record
R-GCX016-cbl-04391 Release Quantity Calculation - Calculate and adjust cargo release quantities based on disposition code quantity actions with add/subtract operations and negative quantity prevention
Computation Rules
📊 Business Logic Narrative
When the process 'Release Quantity Calculation - Calculate and adjust cargo release quantities based on disposition code quantity actions with add/subtract operations and negative quantity prevention' is invoked, and assuming that a cargo record exists with current released quantity and a disposition code contains quantity action instructions, when the system processes the disposition code quantity action, the desired outcome is that the system retrieves current released quantity, applies the specified action (add or subtract), prevents negative results by setting to zero if needed, and updates the cargo status array with the new quantity.
💻 Technical Criteria
Given A cargo record exists with current released quantity and a disposition code contains quantity action instructions
When The system processes the disposition code quantity action
Then The system retrieves current released quantity, applies the specified action (add or subtract), prevents negative results by setting to zero if needed, and updates the cargo status array with the new quantity
R-GCX016-cbl-04396 Store Updated Quantity in Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Updated Quantity in Status Array' is invoked, and assuming that a new released quantity has been calculated from disposition code processing, when the system completes the quantity calculation, the desired outcome is that the system stores the updated released quantity in the appropriate cargo status array entry.
💻 Technical Criteria
Given A new released quantity has been calculated from disposition code processing
When The system completes the quantity calculation
Then The system stores the updated released quantity in the appropriate cargo status array entry
R-GCX016-cbl-04030 X4 Segment Available?
Validation Rules
📊 Business Logic Narrative
When the process 'X4 Segment Available?' is invoked, and assuming that a cargo processing request is initiated, when the system checks for x4 segment availability, the desired outcome is that processing continues if x4 segment is available, otherwise error handling is triggered.
💻 Technical Criteria
Given A cargo processing request is initiated
When The system checks for X4 segment availability
Then Processing continues if X4 segment is available, otherwise error handling is triggered
R-GCX016-cbl-04031 Extract Car ID from X4-01
Process Rules
📊 Business Logic Narrative
When the process 'Extract Car ID from X4-01' is invoked, and assuming that x4 segment is available with car information, when the system processes the x4-01 field, the desired outcome is that car id is extracted and stored for further processing.
💻 Technical Criteria
Given X4 segment is available with car information
When The system processes the X4-01 field
Then Car ID is extracted and stored for further processing
R-GCX016-cbl-04033 Format Car ID using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Car ID using GCCCARFM' is invoked, and assuming that raw car id has been extracted from x4 segment, when the system calls gcccarfm formatting module, the desired outcome is that car id is formatted according to standard business rules and validation is performed.
💻 Technical Criteria
Given Raw car ID has been extracted from X4 segment
When The system calls GCCCARFM formatting module
Then Car ID is formatted according to standard business rules and validation is performed
R-GCX016-cbl-04034 Car ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Valid?' is invoked, and assuming that car id has been formatted using gcccarfm, when the system validates the car id format and content, the desired outcome is that processing continues if car id is valid, otherwise error handling is initiated.
💻 Technical Criteria
Given Car ID has been formatted using GCCCARFM
When The system validates the car ID format and content
Then Processing continues if car ID is valid, otherwise error handling is initiated
R-GCX016-cbl-04039 Validate Cargo Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Status' is invoked, and assuming that cargo record has been retrieved from the database, when the system validates the cargo status, the desired outcome is that cargo status is checked for validity and processing eligibility.
💻 Technical Criteria
Given Cargo record has been retrieved from the database
When The system validates the cargo status
Then Cargo status is checked for validity and processing eligibility
R-GCX016-cbl-04040 Cargo Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Valid?' is invoked, and assuming that cargo status has been validated, when the system assesses overall cargo validity, the desired outcome is that if cargo is valid, proceed to disposition code processing; if invalid, trigger error handling.
💻 Technical Criteria
Given Cargo status has been validated
When The system assesses overall cargo validity
Then If cargo is valid, proceed to disposition code processing; if invalid, trigger error handling
R-GCX016-cbl-04041 Process Disposition Codes
Process Rules
📊 Business Logic Narrative
When the process 'Process Disposition Codes' is invoked, and assuming that valid cargo record is available for processing, when the system processes disposition codes from x4 segment, the desired outcome is that disposition codes are evaluated and appropriate cargo status changes are determined.
💻 Technical Criteria
Given Valid cargo record is available for processing
When The system processes disposition codes from X4 segment
Then Disposition codes are evaluated and appropriate cargo status changes are determined
R-GCX016-cbl-04042 Update Cargo Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status' is invoked, and assuming that disposition codes have been processed and status changes determined, when the system updates the cargo record, the desired outcome is that cargo status is updated in the database and processing is marked complete.
💻 Technical Criteria
Given Disposition codes have been processed and status changes determined
When The system updates the cargo record
Then Cargo status is updated in the database and processing is marked complete
R-GCX016-cbl-04048 Log Car ID Search Used
Process Rules
📊 Business Logic Narrative
When the process 'Log Car ID Search Used' is invoked, and assuming that cargo was successfully found using car id only search, when the system logs the search method used, the desired outcome is that car id search usage is recorded for audit and monitoring purposes.
💻 Technical Criteria
Given Cargo was successfully found using car ID only search
When The system logs the search method used
Then Car ID search usage is recorded for audit and monitoring purposes
R-GCX016-cbl-04050 Create Foreign Bill Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create Foreign Bill Record', assuming that cargo not found error has been generated, when the system creates a foreign bill record, the desired outcome is that new foreign bill record is created to handle the unmatched cargo information.
💻 Technical Criteria
EXCLUDING Cargo not found error has been generated
When The system creates a foreign bill record
Then New foreign bill record is created to handle the unmatched cargo information
R-GCX016-cbl-04272 Car ID Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Car ID Available?', assuming that cargo was not found using primary search methods, when system checks for car id availability in the message data, the desired outcome is that if car id is present, proceed with car id search, otherwise create new foreign bill record.
💻 Technical Criteria
EXCLUDING Cargo was not found using primary search methods
When System checks for car ID availability in the message data
Then If car ID is present, proceed with car ID search, otherwise create new foreign bill record
R-GCX016-cbl-04273 B530: Attempt Car ID Only Search
Action Rules
📊 Business Logic Narrative
When the process 'B530: Attempt Car ID Only Search' is invoked, and assuming that car id is available in the message data, when system executes car id only search using gccusio with car id index, the desired outcome is that system retrieves cargo records matching the car identification.
💻 Technical Criteria
Given Car ID is available in the message data
When System executes car ID only search using GCCUSIO with car ID index
Then System retrieves cargo records matching the car identification
R-GCX016-cbl-04278 C200: Create Foreign Bill Record
Action Rules
📊 Business Logic Narrative
When the process 'C200: Create Foreign Bill Record' is invoked, and assuming that no existing cargo record could be found or validated, when system initiates foreign bill creation process, the desired outcome is that new cargo record is created with default values and manifest information.
💻 Technical Criteria
Given No existing cargo record could be found or validated
When System initiates foreign bill creation process
Then New cargo record is created with default values and manifest information
R-GCX016-cbl-04279 Set CPRS/USCS Status Codes
Decision Rules
📊 Business Logic Narrative
When the process 'Set CPRS/USCS Status Codes' is invoked, and assuming that new foreign bill record is being created, when system determines if cargo is cprs or uscs type, the desired outcome is that if cprs cargo, set status to error, otherwise set status to sent.
💻 Technical Criteria
Given New foreign bill record is being created
When System determines if cargo is CPRS or USCS type
Then If CPRS cargo, set status to ERROR, otherwise set status to SENT
R-GCX016-cbl-04280 Handle Master In-Bond Types 61,62,63,69
Process Rules
📊 Business Logic Narrative
When the process 'Handle Master In-Bond Types 61,62,63,69' is invoked, and assuming that new cargo record has entry type code 61, 62, 63, or 69, when system processes master in-bond entry type, the desired outcome is that set master in-bond flag and apply specific processing rules: 61 for immediate transport, 62 for transport export, 63 for immediate export, 69 for us-canada-us movement.
💻 Technical Criteria
Given New cargo record has entry type code 61, 62, 63, or 69
When System processes master in-bond entry type
Then Set master in-bond flag and apply specific processing rules: 61 for immediate transport, 62 for transport export, 63 for immediate export, 69 for US-Canada-US movement
R-GCX016-cbl-04281 Handle Border Entry Type 00
Process Rules
📊 Business Logic Narrative
When the process 'Handle Border Entry Type 00' is invoked, and assuming that new cargo record has entry type code 00, when system processes border entry type, the desired outcome is that clear bond information and apply default border processing rules.
💻 Technical Criteria
Given New cargo record has entry type code 00
When System processes border entry type
Then Clear bond information and apply default border processing rules
R-GCX016-cbl-04282 Map Transport Type Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Transport Type Codes' is invoked, and assuming that new cargo record has been initialized with entry type processing, when system maps transport type codes from message data, the desired outcome is that assign appropriate transport category and processing flags based on transport type.
💻 Technical Criteria
Given New cargo record has been initialized with entry type processing
When System maps transport type codes from message data
Then Assign appropriate transport category and processing flags based on transport type
R-GCX016-cbl-04398 Format Equipment ID using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM' is invoked, and assuming that a raw car id or equipment identifier is provided, when the system needs to search for cargo by car id, the desired outcome is that the system should format the equipment id using gcccarfm formatting rules before search.
💻 Technical Criteria
Given A raw car ID or equipment identifier is provided
When The system needs to search for cargo by car ID
Then The system should format the equipment ID using GCCCARFM formatting rules before search
R-GCX016-cbl-04404 Validate Cargo Record Match
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Record Match' is invoked, and assuming that cargo record has been found through either primary or secondary search, when the system validates the found cargo record, the desired outcome is that the system should verify the cargo record matches business validation criteria.
💻 Technical Criteria
Given Cargo record has been found through either primary or secondary search
When The system validates the found cargo record
Then The system should verify the cargo record matches business validation criteria
R-GCX016-cbl-04405 Return Found Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Return Found Cargo Record' is invoked, and assuming that a valid cargo record has been found and validated, when the system completes cargo search process, the desired outcome is that the system should return the found cargo record for further processing.
💻 Technical Criteria
Given A valid cargo record has been found and validated
When The system completes cargo search process
Then The system should return the found cargo record for further processing
R-GCX016-cbl-04407 Log Search Attempt Results
Process Rules
📊 Business Logic Narrative
When the process 'Log Search Attempt Results' is invoked, and assuming that cargo search process has completed with either success or failure, when the system finalizes search operations, the desired outcome is that the system should log search attempt results including search criteria and outcomes.
💻 Technical Criteria
Given Cargo search process has completed with either success or failure
When The system finalizes search operations
Then The system should log search attempt results including search criteria and outcomes
R-GCX016-cbl-04629 Call GCCUSIO with Car Index
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO with Car Index' is invoked, and assuming that a car id is provided for cargo search and database index is set to car id optimization, when the system calls gccusio with car id index parameters, the desired outcome is that the database query executes with index optimization for faster cargo retrieval.
💻 Technical Criteria
Given A car ID is provided for cargo search AND database index is set to Car ID optimization
When The system calls GCCUSIO with Car ID index parameters
Then The database query executes with index optimization for faster cargo retrieval
R-GCX016-cbl-04630 Database Call Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Call Successful?' is invoked, and assuming that a database call to gccusio has been executed, when the system checks the database call completion status, the desired outcome is that if the database call was successful then proceed to validate cargo record else log database error and set error status.
💻 Technical Criteria
Given A database call to GCCUSIO has been executed
When The system checks the database call completion status
Then IF the database call was successful THEN proceed to validate cargo record ELSE log database error and set error status
R-GCX016-cbl-04634 Broader Search Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Broader Search Successful?' is invoked, and assuming that a broader search with relaxed parameters has been executed, when the system evaluates the broader search completion status, the desired outcome is that if the broader search was successful then validate relaxed search results else set cargo not found status.
💻 Technical Criteria
Given A broader search with relaxed parameters has been executed
When The system evaluates the broader search completion status
Then IF the broader search was successful THEN validate relaxed search results ELSE set cargo not found status
R-GCX016-cbl-04635 Valid Results Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Results Found?' is invoked, and assuming that a broader search has completed successfully, when the system validates the quality and usability of relaxed search results, the desired outcome is that if valid results are found then set cargo found flag and return cargo record else set cargo not found status.
💻 Technical Criteria
Given A broader search has completed successfully
When The system validates the quality and usability of relaxed search results
Then IF valid results are found THEN set cargo found flag and return cargo record ELSE set cargo not found status
R-GCX016-cbl-04636 Set Cargo Not Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Not Found Status' is invoked, and assuming that both primary car id search and broader search have failed to find valid cargo records, when the system determines no cargo can be located for the given car id, the desired outcome is that set cargo not found status to indicate unsuccessful search completion.
💻 Technical Criteria
Given Both primary Car ID search and broader search have failed to find valid cargo records
When The system determines no cargo can be located for the given Car ID
Then Set cargo not found status to indicate unsuccessful search completion
R-GCX016-cbl-04408 Initialize New Cargo Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize New Cargo Record', assuming that a foreign bill does not exist in the system, when the system creates a new cargo record, the desired outcome is that the cargo record is initialized with default values including cleared fields and basic structure.
💻 Technical Criteria
EXCLUDING A foreign bill does not exist in the system
When The system creates a new cargo record
Then The cargo record is initialized with default values including cleared fields and basic structure
R-GCX016-cbl-04409 Set Default CPRS Status Code
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default CPRS Status Code' is invoked, and assuming that a new cargo record is being created, when the cargo type is cprs, the desired outcome is that set cargo status to error with description error, otherwise set status to sent with description sent.
💻 Technical Criteria
Given A new cargo record is being created
When The cargo type is CPRS
Then Set cargo status to ERROR with description ERROR, otherwise set status to SENT with description SENT
R-GCX016-cbl-04410 Set Default USCS Status Code
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default USCS Status Code' is invoked, and assuming that a new cargo record with status information, when the current acknowledgment status is blank or equals ack-r, the desired outcome is that set default acknowledgment status to ack or ack-r as appropriate.
💻 Technical Criteria
Given A new cargo record with status information
When The current acknowledgment status is blank or equals ACK-R
Then Set default acknowledgment status to ACK or ACK-R as appropriate
R-GCX016-cbl-04411 Initialize Broker Information Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Broker Information Fields' is invoked, and assuming that a new cargo record is being created, when broker information needs to be initialized, the desired outcome is that clear and initialize all broker-related fields to default values.
💻 Technical Criteria
Given A new cargo record is being created
When Broker information needs to be initialized
Then Clear and initialize all broker-related fields to default values
R-GCX016-cbl-04412 Build M10 Manifest Information
Process Rules
📊 Business Logic Narrative
When the process 'Build M10 Manifest Information' is invoked, and assuming that m10 segment data is available, when building manifest information for new cargo, the desired outcome is that extract and assign manifest details from m10 segment to cargo record.
💻 Technical Criteria
Given M10 segment data is available
When Building manifest information for new cargo
Then Extract and assign manifest details from M10 segment to cargo record
R-GCX016-cbl-04413 Process Master In-Bond Entry Types 61,62,63,69
Decision Rules
📊 Business Logic Narrative
When the process 'Process Master In-Bond Entry Types 61,62,63,69' is invoked, and assuming that a new cargo record with disposition code 1j, 69, or 55, when the entry type is 61, 62, 63, or 69, the desired outcome is that set master in-bond flag m1109 and process as master in-bond entry.
💻 Technical Criteria
Given A new cargo record with disposition code 1J, 69, or 55
When The entry type is 61, 62, 63, or 69
Then Set master in-bond flag M1109 and process as master in-bond entry
R-GCX016-cbl-04415 Clear Bond Information for Border Entry
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information for Border Entry' is invoked, and assuming that a cargo record with entry type 00 (border entry), when processing bond information, the desired outcome is that clear all bond-related fields and information.
💻 Technical Criteria
Given A cargo record with entry type 00 (border entry)
When Processing bond information
Then Clear all bond-related fields and information
R-GCX016-cbl-04416 Set Bond Control Numbers
Decision Rules
📊 Business Logic Narrative
When the process 'Set Bond Control Numbers' is invoked, and assuming that a cargo record with entry number information, when entry number starts with v, the desired outcome is that place in entry number field, otherwise place in in-bond control number field.
💻 Technical Criteria
Given A cargo record with entry number information
When Entry number starts with V
Then Place in entry number field, otherwise place in in-bond control number field
R-GCX016-cbl-04417 Initialize Cargo Quantities
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Cargo Quantities' is invoked, and assuming that a new cargo record being created, when quantity information needs initialization, the desired outcome is that initialize all quantity fields including total quantity, release quantity, and piece counts.
💻 Technical Criteria
Given A new cargo record being created
When Quantity information needs initialization
Then Initialize all quantity fields including total quantity, release quantity, and piece counts
R-GCX016-cbl-04418 Set Manifest Type and Condition Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Manifest Type and Condition Codes' is invoked, and assuming that a new cargo record with manifest information, when setting manifest classification, the desired outcome is that assign appropriate manifest type and condition codes based on cargo type and processing requirements.
💻 Technical Criteria
Given A new cargo record with manifest information
When Setting manifest classification
Then Assign appropriate manifest type and condition codes based on cargo type and processing requirements
R-GCX016-cbl-04419 Assign SCAC Code and Vessel Information
Process Rules
📊 Business Logic Narrative
When the process 'Assign SCAC Code and Vessel Information' is invoked, and assuming that a new cargo record with carrier information, when assigning carrier and vessel details, the desired outcome is that set scac code and vessel information from manifest data.
💻 Technical Criteria
Given A new cargo record with carrier information
When Assigning carrier and vessel details
Then Set SCAC code and vessel information from manifest data
R-GCX016-cbl-04420 Set Country Code and Flight/Voyage Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Country Code and Flight/Voyage Number' is invoked, and assuming that a new cargo record with transportation details, when setting origin and transportation identifiers, the desired outcome is that assign country code and flight or voyage number from manifest information.
💻 Technical Criteria
Given A new cargo record with transportation details
When Setting origin and transportation identifiers
Then Assign country code and flight or voyage number from manifest information
R-GCX016-cbl-04421 Store Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Store Cargo Record in Database' is invoked, and assuming that a fully initialized new cargo record, when saving the record to the database, the desired outcome is that insert the cargo record into the database and confirm successful storage.
💻 Technical Criteria
Given A fully initialized new cargo record
When Saving the record to the database
Then Insert the cargo record into the database and confirm successful storage
R-GCX016-cbl-04639 Entry Type 61 - Master In-Bond
Process Rules
📊 Business Logic Narrative
When the process 'Entry Type 61 - Master In-Bond' is invoked, and assuming that cargo has entry type code 61, when master in-bond processing is initiated, the desired outcome is that the cargo is classified for immediate transport processing and master in-bond flag is set.
💻 Technical Criteria
Given Cargo has entry type code 61
When Master in-bond processing is initiated
Then The cargo is classified for immediate transport processing and master in-bond flag is set
R-GCX016-cbl-04640 Entry Type 62 - Master In-Bond
Process Rules
📊 Business Logic Narrative
When the process 'Entry Type 62 - Master In-Bond' is invoked, and assuming that cargo has entry type code 62, when master in-bond processing is initiated, the desired outcome is that the cargo is classified for transport export processing and master in-bond flag is set.
💻 Technical Criteria
Given Cargo has entry type code 62
When Master in-bond processing is initiated
Then The cargo is classified for transport export processing and master in-bond flag is set
R-GCX016-cbl-04641 Entry Type 63 - Master In-Bond
Process Rules
📊 Business Logic Narrative
When the process 'Entry Type 63 - Master In-Bond' is invoked, and assuming that cargo has entry type code 63, when master in-bond processing is initiated, the desired outcome is that the cargo is classified for immediate export processing and master in-bond flag is set.
💻 Technical Criteria
Given Cargo has entry type code 63
When Master in-bond processing is initiated
Then The cargo is classified for immediate export processing and master in-bond flag is set
R-GCX016-cbl-04642 Entry Type 69 - Master In-Bond
Process Rules
📊 Business Logic Narrative
When the process 'Entry Type 69 - Master In-Bond' is invoked, and assuming that cargo has entry type code 69, when master in-bond processing is initiated, the desired outcome is that the cargo is classified for us-canada-us movement processing and master in-bond flag is set.
💻 Technical Criteria
Given Cargo has entry type code 69
When Master in-bond processing is initiated
Then The cargo is classified for US-Canada-US movement processing and master in-bond flag is set
R-GCX016-cbl-04645 Set Transport Type in Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Set Transport Type in Cargo Record' is invoked, and assuming that a transport type has been determined from the entry type mapping, when the cargo record is updated, the desired outcome is that the transport type field in the cargo record is set to the mapped value.
💻 Technical Criteria
Given A transport type has been determined from the entry type mapping
When The cargo record is updated
Then The transport type field in the cargo record is set to the mapped value
R-GCX016-cbl-04646 Update In-Bond Status Flags
Action Rules
📊 Business Logic Narrative
When the process 'Update In-Bond Status Flags' is invoked, and assuming that transport type has been set in the cargo record, when in-bond status flags are updated, the desired outcome is that master in-bond processing flag is set and appropriate status indicators are activated.
💻 Technical Criteria
Given Transport type has been set in the cargo record
When In-bond status flags are updated
Then Master in-bond processing flag is set and appropriate status indicators are activated
R-GCX016-cbl-04648 Set Master In-Bond Processing Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Master In-Bond Processing Flag' is invoked, and assuming that regulatory compliance check has passed, when master in-bond flag is set, the desired outcome is that the cargo is marked for master in-bond processing and subsequent operations will recognize this special status.
💻 Technical Criteria
Given Regulatory compliance check has passed
When Master in-bond flag is set
Then The cargo is marked for master in-bond processing and subsequent operations will recognize this special status
R-GCX016-cbl-04649 Update Cargo Record with In-Bond Details
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with In-Bond Details' is invoked, and assuming that master in-bond processing flag has been set, when cargo record is updated with in-bond details, the desired outcome is that all relevant in-bond fields including entry type, transport type, bond number, and processing flags are populated in the cargo record.
💻 Technical Criteria
Given Master in-bond processing flag has been set
When Cargo record is updated with in-bond details
Then All relevant in-bond fields including entry type, transport type, bond number, and processing flags are populated in the cargo record
R-GCX016-cbl-04650 Log Master In-Bond Processing
Process Rules
📊 Business Logic Narrative
When the process 'Log Master In-Bond Processing' is invoked, and assuming that cargo record has been updated with in-bond details, when processing log is created, the desired outcome is that an audit record is generated documenting the master in-bond processing including entry type, bond number, and processing timestamp.
💻 Technical Criteria
Given Cargo record has been updated with in-bond details
When Processing log is created
Then An audit record is generated documenting the master in-bond processing including entry type, bond number, and processing timestamp
R-GCX016-cbl-04666 Integrate into Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Integrate into Cargo Record' is invoked, and assuming that a complete manifest information record has been built, when the system integrates the manifest into the cargo record, the desired outcome is that the manifest information is linked and stored with the corresponding cargo record.
💻 Technical Criteria
Given A complete manifest information record has been built
When The system integrates the manifest into the cargo record
Then The manifest information is linked and stored with the corresponding cargo record
R-GCX016-cbl-04667 Update Manifest Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Manifest Status' is invoked, and assuming that manifest information has been successfully integrated into cargo record, when the system updates manifest status, the desired outcome is that the manifest status is updated to reflect successful processing and integration.
💻 Technical Criteria
Given Manifest information has been successfully integrated into cargo record
When The system updates manifest status
Then The manifest status is updated to reflect successful processing and integration
R-GCX016-cbl-04054 MRL - Manual Release for CPRS
Process Rules
📊 Business Logic Narrative
When the process 'MRL - Manual Release for CPRS' is invoked, and assuming that a disposition code with mrl (manual release) type is being processed for cprs cargo, when the disposition code action is mrl, the desired outcome is that the system processes the manual release request and clears destination index.
💻 Technical Criteria
Given A disposition code with MRL (Manual Release) type is being processed for CPRS cargo
When The disposition code action is MRL
Then The system processes the manual release request and clears destination index
R-GCX016-cbl-04055 Process Removal Codes
Process Rules
📊 Business Logic Narrative
When the process 'Process Removal Codes' is invoked, and assuming that a disposition code with removal type is being processed, when the disposition code action is dc removal, the desired outcome is that the system removes the specified disposition code from the cargo status array.
💻 Technical Criteria
Given A disposition code with removal type is being processed
When The disposition code action is DC removal
Then The system removes the specified disposition code from the cargo status array
R-GCX016-cbl-04058 Process Status Information Codes
Process Rules
📊 Business Logic Narrative
When the process 'Process Status Information Codes' is invoked, and assuming that a disposition code with information type is being processed, when the disposition code action is dc status info, the desired outcome is that the system adds the informational code to status array without changing cargo release status.
💻 Technical Criteria
Given A disposition code with information type is being processed
When The disposition code action is DC status info
Then The system adds the informational code to status array without changing cargo release status
R-GCX016-cbl-04059 Check for Duplicates in Status Array
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Duplicates in Status Array' is invoked, and assuming that a disposition code is being added to the cargo status array, when the same disposition code already exists in the status array, the desired outcome is that the system skips adding the duplicate code and continues processing.
💻 Technical Criteria
Given A disposition code is being added to the cargo status array
When The same disposition code already exists in the status array
Then The system skips adding the duplicate code and continues processing
R-GCX016-cbl-04062 Update Cargo Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Update Cargo Release Quantities' is invoked, and assuming that a release disposition code is being processed with quantity information, when the disposition code affects release quantities, the desired outcome is that the system adds or subtracts the specified quantity from cargo release quantities with minimum value of zero.
💻 Technical Criteria
Given A release disposition code is being processed with quantity information
When The disposition code affects release quantities
Then The system adds or subtracts the specified quantity from cargo release quantities with minimum value of zero
R-GCX016-cbl-04064 Create Empty S09A Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Create Empty S09A Status Array' is invoked, and assuming that a cargo record has no existing s09 status segments, when the system attempts to fetch cargo status information, the desired outcome is that the system creates a new empty s09a status array structure.
💻 Technical Criteria
Given A cargo record has no existing S09 status segments
When The system attempts to fetch cargo status information
Then The system creates a new empty S09A status array structure
R-GCX016-cbl-04065 Populate S09A Array from S09 Segments
Process Rules
📊 Business Logic Narrative
When the process 'Populate S09A Array from S09 Segments' is invoked, and assuming that s09 status segments exist for a cargo record, when the system retrieves the segments from the database, the desired outcome is that the system populates the s09a status array with all status entries from the retrieved segments.
💻 Technical Criteria
Given S09 status segments exist for a cargo record
When The system retrieves the segments from the database
Then The system populates the S09A status array with all status entries from the retrieved segments
R-GCX016-cbl-04067 Add New Disposition Code to Array
Process Rules
📊 Business Logic Narrative
When the process 'Add New Disposition Code to Array' is invoked, and assuming that a disposition code needs to be added to cargo status and the status array has available capacity, when the system processes a new disposition code from x4 segment, the desired outcome is that the system adds the disposition code with appropriate status flags, location information, and quantity details to the next available position in the status array.
💻 Technical Criteria
Given A disposition code needs to be added to cargo status AND the status array has available capacity
When The system processes a new disposition code from X4 segment
Then The system adds the disposition code with appropriate status flags, location information, and quantity details to the next available position in the status array
R-GCX016-cbl-04074 Update Cargo Record with New Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with New Status' is invoked, and assuming that status segments have been successfully updated in the database, when the system completes status array management, the desired outcome is that the system updates the cargo record with the current status description and any related status indicators.
💻 Technical Criteria
Given Status segments have been successfully updated in the database
When The system completes status array management
Then The system updates the cargo record with the current status description and any related status indicators
R-GCX016-cbl-04457 Mark Old Position as Empty
Process Rules
📊 Business Logic Narrative
When the process 'Mark Old Position as Empty' is invoked, and assuming that an element has been successfully moved to a new position, when system processes the element's original position, the desired outcome is that original position is marked as empty and available for future use.
💻 Technical Criteria
Given An element has been successfully moved to a new position
When System processes the element's original position
Then Original position is marked as empty and available for future use
R-GCX016-cbl-00297 Extract Equipment ID from N7 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from N7 Segment' is invoked, and assuming that an n7 equipment details segment is received, when the system processes the n7 segment, the desired outcome is that equipment id information is extracted and stored for cargo record updates.
💻 Technical Criteria
Given An N7 equipment details segment is received
When The system processes the N7 segment
Then Equipment ID information is extracted and stored for cargo record updates
R-GCX016-cbl-00298 Format Equipment ID using GCCCARFM Utility
Validation Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM Utility' is invoked, and assuming that raw equipment id data is extracted from n7 segment, when the system applies gcccarfm formatting utility, the desired outcome is that equipment id is formatted according to standard format rules and validated for correctness.
💻 Technical Criteria
Given Raw equipment ID data is extracted from N7 segment
When The system applies GCCCARFM formatting utility
Then Equipment ID is formatted according to standard format rules and validated for correctness
R-GCX016-cbl-00299 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that equipment id has been formatted using gcccarfm utility, when the system validates the equipment id, the desired outcome is that equipment id is accepted if valid or rejected if invalid with appropriate error handling.
💻 Technical Criteria
Given Equipment ID has been formatted using GCCCARFM utility
When The system validates the equipment ID
Then Equipment ID is accepted if valid or rejected if invalid with appropriate error handling
R-GCX016-cbl-00300 Locate Cargo Records by Car ID
Process Rules
📊 Business Logic Narrative
When the process 'Locate Cargo Records by Car ID' is invoked, and assuming that a valid equipment id is available, when the system searches for cargo records using the car id, the desired outcome is that all cargo records associated with the car id are located and retrieved.
💻 Technical Criteria
Given A valid equipment ID is available
When The system searches for cargo records using the car ID
Then All cargo records associated with the car ID are located and retrieved
R-GCX016-cbl-00301 Cargo Records Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Records Found?' is invoked, and assuming that system has searched for cargo records by car id, when the search results are evaluated, the desired outcome is that system determines if cargo records exist and proceeds with appropriate processing path.
💻 Technical Criteria
Given System has searched for cargo records by car ID
When The search results are evaluated
Then System determines if cargo records exist and proceeds with appropriate processing path
R-GCX016-cbl-00302 Update Car ID Information in Cargo Records
Process Rules
📊 Business Logic Narrative
When the process 'Update Car ID Information in Cargo Records' is invoked, and assuming that cargo records are found for the car id and n7 segment contains valid equipment data, when the system processes the car id update, the desired outcome is that car id information is updated in all associated cargo records with equipment details from n7 segment.
💻 Technical Criteria
Given Cargo records are found for the car ID and N7 segment contains valid equipment data
When The system processes the car ID update
Then Car ID information is updated in all associated cargo records with equipment details from N7 segment
R-GCX016-cbl-00303 Validate Equipment Type for Integration
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment Type for Integration' is invoked, and assuming that car id information has been updated in cargo records, when the system validates the equipment type, the desired outcome is that equipment type is verified against integration requirements and appropriate processing path is determined.
💻 Technical Criteria
Given Car ID information has been updated in cargo records
When The system validates the equipment type
Then Equipment type is verified against integration requirements and appropriate processing path is determined
R-GCX016-cbl-00304 KCSM Integration Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Integration Required?' is invoked, and assuming that equipment type has been validated, when the system evaluates kcsm integration requirements, the desired outcome is that system determines if kcsm integration is required and routes processing accordingly.
💻 Technical Criteria
Given Equipment type has been validated
When The system evaluates KCSM integration requirements
Then System determines if KCSM integration is required and routes processing accordingly
R-GCX016-cbl-00305 Extract Equipment Details for KCSM
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Details for KCSM' is invoked, and assuming that kcsm integration is required, when the system extracts equipment details, the desired outcome is that relevant equipment information is extracted and prepared for kcsm integration.
💻 Technical Criteria
Given KCSM integration is required
When The system extracts equipment details
Then Relevant equipment information is extracted and prepared for KCSM integration
R-GCX016-cbl-00306 Update Equipment Information in Cargo Database
Process Rules
📊 Business Logic Narrative
When the process 'Update Equipment Information in Cargo Database' is invoked, and assuming that equipment details have been processed and validated, when the system updates the cargo database, the desired outcome is that equipment information is permanently stored in the cargo database with all relevant details.
💻 Technical Criteria
Given Equipment details have been processed and validated
When The system updates the cargo database
Then Equipment information is permanently stored in the cargo database with all relevant details
R-GCX016-cbl-00307 Log Equipment Processing Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Processing Activity' is invoked, and assuming that equipment information has been updated in the database, when the system completes equipment processing, the desired outcome is that all equipment processing activities are logged with appropriate details for audit trail.
💻 Technical Criteria
Given Equipment information has been updated in the database
When The system completes equipment processing
Then All equipment processing activities are logged with appropriate details for audit trail
R-GCX016-cbl-00308 Generate Equipment Validation Error
Process Rules
📊 Business Logic Narrative
When the process 'Generate Equipment Validation Error' is invoked, and assuming that equipment id validation has failed, when the system processes the validation failure, the desired outcome is that an equipment validation error is generated with appropriate error details and processing continues.
💻 Technical Criteria
Given Equipment ID validation has failed
When The system processes the validation failure
Then An equipment validation error is generated with appropriate error details and processing continues
R-GCX016-cbl-00309 Log Cargo Not Found Warning
Process Rules
📊 Business Logic Narrative
When the process 'Log Cargo Not Found Warning' is invoked, and assuming that no cargo records are found for the car id, when the system processes the cargo search failure, the desired outcome is that a cargo not found warning is logged and processing continues to next segment.
💻 Technical Criteria
Given No cargo records are found for the car ID
When The system processes the cargo search failure
Then A cargo not found warning is logged and processing continues to next segment
R-GCX016-cbl-00323 Bond Number Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Bond Number Available?' is invoked, and assuming that an x4 segment is being processed for bond-based cargo operations, when the system checks for bond number availability in the x4 segment, the desired outcome is that processing continues to bond extraction if bond number exists, otherwise generates bond error message.
💻 Technical Criteria
Given An X4 segment is being processed for bond-based cargo operations
When The system checks for bond number availability in the X4 segment
Then Processing continues to bond extraction if bond number exists, otherwise generates bond error message
R-GCX016-cbl-00326 Set Bond Processing Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Bond Processing Flag' is invoked, and assuming that a valid bond number has been extracted and validated, when the system initializes bond processing mode, the desired outcome is that bond processing flag is set and cargo counter is initialized for bond-based operations.
💻 Technical Criteria
Given A valid bond number has been extracted and validated
When The system initializes bond processing mode
Then Bond processing flag is set and cargo counter is initialized for bond-based operations
R-GCX016-cbl-00327 Initialize Cargo Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Cargo Counter' is invoked, and assuming that bond processing flag has been set, when the system prepares to process cargo records by bond number, the desired outcome is that cargo counter is initialized to zero to track processing progress.
💻 Technical Criteria
Given Bond processing flag has been set
When The system prepares to process cargo records by bond number
Then Cargo counter is initialized to zero to track processing progress
R-GCX016-cbl-00328 Fetch First Cargo Record by Bond Number
Action Rules
📊 Business Logic Narrative
When the process 'Fetch First Cargo Record by Bond Number' is invoked, and assuming that a valid bond number and initialized cargo counter, when the system searches for cargo records using the bond number as index, the desired outcome is that first cargo record matching the bond number is retrieved if exists, otherwise no cargo found flag is set.
💻 Technical Criteria
Given A valid bond number and initialized cargo counter
When The system searches for cargo records using the bond number as index
Then First cargo record matching the bond number is retrieved if exists, otherwise no cargo found flag is set
R-GCX016-cbl-00329 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a search for cargo records by bond number has been executed, when the system evaluates the search results, the desired outcome is that processing continues to cargo processing if records found, otherwise proceeds to bond processing summary.
💻 Technical Criteria
Given A search for cargo records by bond number has been executed
When The system evaluates the search results
Then Processing continues to cargo processing if records found, otherwise proceeds to bond processing summary
R-GCX016-cbl-00330 Process Current Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Process Current Cargo Record' is invoked, and assuming that a cargo record has been found for the bond number, when the system processes the current cargo record, the desired outcome is that cargo record is prepared for disposition code application and status updates.
💻 Technical Criteria
Given A cargo record has been found for the bond number
When The system processes the current cargo record
Then Cargo record is prepared for disposition code application and status updates
R-GCX016-cbl-00331 Apply Disposition Code to Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Apply Disposition Code to Cargo' is invoked, and assuming that a cargo record is being processed and disposition code is available from x4 segment, when the system applies the disposition code to the cargo, the desired outcome is that disposition code is validated against disposition code tables and applied to cargo status array.
💻 Technical Criteria
Given A cargo record is being processed and disposition code is available from X4 segment
When The system applies the disposition code to the cargo
Then Disposition code is validated against disposition code tables and applied to cargo status array
R-GCX016-cbl-00332 Update Cargo Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array' is invoked, and assuming that a disposition code has been applied to cargo, when the system updates the cargo status array, the desired outcome is that status array is modified to reflect new disposition code and associated status changes.
💻 Technical Criteria
Given A disposition code has been applied to cargo
When The system updates the cargo status array
Then Status array is modified to reflect new disposition code and associated status changes
R-GCX016-cbl-00333 Calculate Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Release Quantities' is invoked, and assuming that cargo status array has been updated with disposition code, when the system calculates release quantities for the cargo, the desired outcome is that release quantities are computed based on disposition code action (add, subtract, or set) and validated against total cargo quantities.
💻 Technical Criteria
Given Cargo status array has been updated with disposition code
When The system calculates release quantities for the cargo
Then Release quantities are computed based on disposition code action (add, subtract, or set) and validated against total cargo quantities
R-GCX016-cbl-00334 Update Cargo Hold/Release Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Hold/Release Status' is invoked, and assuming that release quantities have been calculated for cargo, when the system updates cargo hold and release status, the desired outcome is that cargo status is set to appropriate hold or release condition based on quantity comparisons and disposition code effects.
💻 Technical Criteria
Given Release quantities have been calculated for cargo
When The system updates cargo hold and release status
Then Cargo status is set to appropriate hold or release condition based on quantity comparisons and disposition code effects
R-GCX016-cbl-00335 Fetch Next Cargo with Same Bond
Action Rules
📊 Business Logic Narrative
When the process 'Fetch Next Cargo with Same Bond' is invoked, and assuming that current cargo record has been processed under the bond, when the system searches for additional cargo records with the same bond number, the desired outcome is that next cargo record is retrieved if exists, otherwise end of cargo records flag is set.
💻 Technical Criteria
Given Current cargo record has been processed under the bond
When The system searches for additional cargo records with the same bond number
Then Next cargo record is retrieved if exists, otherwise end of cargo records flag is set
R-GCX016-cbl-00336 More Cargo Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo Records?' is invoked, and assuming that a search for next cargo record by bond number has been executed, when the system evaluates if more cargo records exist, the desired outcome is that processing loops back to cargo processing if more records exist, otherwise proceeds to bond processing summary.
💻 Technical Criteria
Given A search for next cargo record by bond number has been executed
When The system evaluates if more cargo records exist
Then Processing loops back to cargo processing if more records exist, otherwise proceeds to bond processing summary
R-GCX016-cbl-00337 Generate Bond Processing Summary
Process Rules
📊 Business Logic Narrative
When the process 'Generate Bond Processing Summary' is invoked, and assuming that all cargo records for the bond number have been processed, when the system generates bond processing summary, the desired outcome is that summary includes total cargo count, processing results, and status changes for the bond.
💻 Technical Criteria
Given All cargo records for the bond number have been processed
When The system generates bond processing summary
Then Summary includes total cargo count, processing results, and status changes for the bond
R-GCX016-cbl-00338 Update All Processed Cargo Records
Action Rules
📊 Business Logic Narrative
When the process 'Update All Processed Cargo Records' is invoked, and assuming that bond processing summary has been generated, when the system updates all processed cargo records, the desired outcome is that all cargo records under the bond are updated in the database with new status and quantity information.
💻 Technical Criteria
Given Bond processing summary has been generated
When The system updates all processed cargo records
Then All cargo records under the bond are updated in the database with new status and quantity information
R-GCX016-cbl-00339 Send Broker Notifications for Bond
Action Rules
📊 Business Logic Narrative
When the process 'Send Broker Notifications for Bond' is invoked, and assuming that all cargo records for the bond have been updated, when the system sends broker notifications, the desired outcome is that notifications are sent to relevant brokers for all cargo status changes under the bond number.
💻 Technical Criteria
Given All cargo records for the bond have been updated
When The system sends broker notifications
Then Notifications are sent to relevant brokers for all cargo status changes under the bond number
R-GCX016-cbl-00340 Log Bond Processing Results
Process Rules
📊 Business Logic Narrative
When the process 'Log Bond Processing Results' is invoked, and assuming that broker notifications have been sent for the bond, when the system logs bond processing results, the desired outcome is that processing results, cargo counts, and status changes are logged for audit trail and system monitoring.
💻 Technical Criteria
Given Broker notifications have been sent for the bond
When The system logs bond processing results
Then Processing results, cargo counts, and status changes are logged for audit trail and system monitoring
R-GCX016-cbl-00346 Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a cargo search operation has been executed, when the system evaluates the search results, the desired outcome is that the system determines if cargo records were found and sets appropriate processing flags.
💻 Technical Criteria
Given A cargo search operation has been executed
When The system evaluates the search results
Then The system determines if cargo records were found and sets appropriate processing flags
R-GCX016-cbl-00348 Validate Cargo Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Status' is invoked, and assuming that a cargo record has been retrieved, when the system evaluates cargo eligibility, the desired outcome is that the cargo status is validated to ensure it is not deleted and is eligible for customs processing.
💻 Technical Criteria
Given A cargo record has been retrieved
When The system evaluates cargo eligibility
Then The cargo status is validated to ensure it is not deleted and is eligible for customs processing
R-GCX016-cbl-00349 Valid Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid Cargo?' is invoked, and assuming that cargo status has been validated, when the system evaluates processing eligibility, the desired outcome is that the system determines if cargo can proceed with disposition code processing or requires error handling.
💻 Technical Criteria
Given Cargo status has been validated
When The system evaluates processing eligibility
Then The system determines if cargo can proceed with disposition code processing or requires error handling
R-GCX016-cbl-00350 Process Disposition Codes
Process Rules
📊 Business Logic Narrative
When the process 'Process Disposition Codes' is invoked, and assuming that valid cargo exists and disposition codes are available from x4 segment, when the system processes customs disposition codes, the desired outcome is that disposition codes are evaluated and appropriate cargo status changes are determined based on customs requirements.
💻 Technical Criteria
Given Valid cargo exists and disposition codes are available from X4 segment
When The system processes customs disposition codes
Then Disposition codes are evaluated and appropriate cargo status changes are determined based on customs requirements
R-GCX016-cbl-00351 Update Cargo Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array' is invoked, and assuming that disposition codes have been processed, when the system updates cargo status information, the desired outcome is that the cargo status array is updated with new status codes, removing counterpart codes as needed and maintaining status history.
💻 Technical Criteria
Given Disposition codes have been processed
When The system updates cargo status information
Then The cargo status array is updated with new status codes, removing counterpart codes as needed and maintaining status history
R-GCX016-cbl-00355 Verify Release Eligibility
Validation Rules
📊 Business Logic Narrative
When the process 'Verify Release Eligibility' is invoked, and assuming that cargo status and quantities have been updated, when the system evaluates release eligibility, the desired outcome is that the system verifies that cargo meets all customs requirements, quantity thresholds, and status conditions for release.
💻 Technical Criteria
Given Cargo status and quantities have been updated
When The system evaluates release eligibility
Then The system verifies that cargo meets all customs requirements, quantity thresholds, and status conditions for release
R-GCX016-cbl-00356 Generate Release Messages
Action Rules
📊 Business Logic Narrative
When the process 'Generate Release Messages' is invoked, and assuming that cargo is eligible for release, when the system processes release notifications, the desired outcome is that release messages are generated with cargo details, quantities, and routing information for broker and system notifications.
💻 Technical Criteria
Given Cargo is eligible for release
When The system processes release notifications
Then Release messages are generated with cargo details, quantities, and routing information for broker and system notifications
R-GCX016-cbl-00357 Update Cargo Records
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Records' is invoked, and assuming that cargo processing is complete with new status and quantity information, when the system finalizes cargo updates, the desired outcome is that cargo records are updated in the database with new status, quantities, and processing timestamps.
💻 Technical Criteria
Given Cargo processing is complete with new status and quantity information
When The system finalizes cargo updates
Then Cargo records are updated in the database with new status, quantities, and processing timestamps
R-GCX016-cbl-00360 Create Foreign Bill Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create Foreign Bill Record', assuming that cargo is not found and error has been logged, when the system handles missing cargo scenario, the desired outcome is that a foreign bill record is created to track the cargo information for future reference and processing.
💻 Technical Criteria
EXCLUDING Cargo is not found and error has been logged
When The system handles missing cargo scenario
Then A foreign bill record is created to track the cargo information for future reference and processing
R-GCX016-cbl-00365 Extract Code Description
Process Rules
📊 Business Logic Narrative
When the process 'Extract Code Description' is invoked, and assuming that a valid disposition code record has been retrieved from the dc table, when the system processes the disposition code details, the desired outcome is that the system extracts code description, counterpart code information, quantity action flag, and processing instructions for subsequent cargo processing.
💻 Technical Criteria
Given A valid disposition code record has been retrieved from the DC table
When The system processes the disposition code details
Then The system extracts code description, counterpart code information, quantity action flag, and processing instructions for subsequent cargo processing
R-GCX016-cbl-04090 Compact Remaining Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Remaining Array Elements' is invoked, and assuming that one or more counterpart codes have been removed from the status array, when the system compacts the array structure, the desired outcome is that remaining array elements are shifted to eliminate empty positions.
💻 Technical Criteria
Given One or more counterpart codes have been removed from the status array
When The system compacts the array structure
Then Remaining array elements are shifted to eliminate empty positions
R-GCX016-cbl-00367 Load Existing Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Load Existing Status Array' is invoked, and assuming that a cargo record has existing s09 status segments, when the system processes cargo status updates, the desired outcome is that all s09 sequences and occurrences are loaded into the status array for modification.
💻 Technical Criteria
Given A cargo record has existing S09 status segments
When The system processes cargo status updates
Then All S09 sequences and occurrences are loaded into the status array for modification
R-GCX016-cbl-00368 Analyze Current Status Codes
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Current Status Codes' is invoked, and assuming that status array contains existing disposition codes, when the system analyzes current status, the desired outcome is that flags are set for empty, held, released, ptt, export, and arrival conditions based on status codes.
💻 Technical Criteria
Given Status array contains existing disposition codes
When The system analyzes current status
Then Flags are set for empty, held, released, PTT, export, and arrival conditions based on status codes
R-GCX016-cbl-00369 Process Hold Code
Process Rules
📊 Business Logic Narrative
When the process 'Process Hold Code' is invoked, and assuming that a hold disposition code is received for cargo, when the disposition code type is identified as hold, the desired outcome is that the hold code is added to status array and any existing counterpart release codes are removed.
💻 Technical Criteria
Given A hold disposition code is received for cargo
When The disposition code type is identified as hold
Then The hold code is added to status array and any existing counterpart release codes are removed
R-GCX016-cbl-00370 Process Release Code
Process Rules
📊 Business Logic Narrative
When the process 'Process Release Code' is invoked, and assuming that a release disposition code is received for cargo, when the disposition code type is identified as release, the desired outcome is that the release code is added to status array, counterpart hold codes are removed, and release quantities are updated.
💻 Technical Criteria
Given A release disposition code is received for cargo
When The disposition code type is identified as release
Then The release code is added to status array, counterpart hold codes are removed, and release quantities are updated
R-GCX016-cbl-00371 Process Arrival Code
Process Rules
📊 Business Logic Narrative
When the process 'Process Arrival Code' is invoked, and assuming that an arrival disposition code is received for cargo, when the disposition code type is identified as arrival, the desired outcome is that arrival status is set and arrival date is updated in the cargo record.
💻 Technical Criteria
Given An arrival disposition code is received for cargo
When The disposition code type is identified as arrival
Then Arrival status is set and arrival date is updated in the cargo record
R-GCX016-cbl-00372 Process Export Code
Process Rules
📊 Business Logic Narrative
When the process 'Process Export Code' is invoked, and assuming that an export disposition code is received for cargo, when the disposition code type is identified as export, the desired outcome is that export status is set and destination index is cleared from the cargo record.
💻 Technical Criteria
Given An export disposition code is received for cargo
When The disposition code type is identified as export
Then Export status is set and destination index is cleared from the cargo record
R-GCX016-cbl-00373 Process Cancellation Code
Process Rules
📊 Business Logic Narrative
When the process 'Process Cancellation Code' is invoked, and assuming that a cancellation disposition code is received for cargo, when the disposition code type is identified as cancellation, the desired outcome is that previous status changes are reversed and previous bond dates are restored.
💻 Technical Criteria
Given A cancellation disposition code is received for cargo
When The disposition code type is identified as cancellation
Then Previous status changes are reversed and previous bond dates are restored
R-GCX016-cbl-00374 Set Border Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Status' is invoked, and assuming that a hold disposition code specifies border location, when location determination identifies border as hold location, the desired outcome is that border hold status is set in cargo record.
💻 Technical Criteria
Given A hold disposition code specifies border location
When Location determination identifies border as hold location
Then Border hold status is set in cargo record
R-GCX016-cbl-00375 Set Destination Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Status' is invoked, and assuming that a hold disposition code specifies destination location, when location determination identifies destination as hold location, the desired outcome is that destination hold status is set in cargo record.
💻 Technical Criteria
Given A hold disposition code specifies destination location
When Location determination identifies destination as hold location
Then Destination hold status is set in cargo record
R-GCX016-cbl-00376 Set Both Locations Hold
Decision Rules
📊 Business Logic Narrative
When the process 'Set Both Locations Hold' is invoked, and assuming that a hold disposition code affects both border and destination locations, when location determination identifies both locations for hold, the desired outcome is that hold status is set for both border and destination in cargo record.
💻 Technical Criteria
Given A hold disposition code affects both border and destination locations
When Location determination identifies both locations for hold
Then Hold status is set for both border and destination in cargo record
R-GCX016-cbl-00378 Clear All Holds
Decision Rules
📊 Business Logic Narrative
When the process 'Clear All Holds' is invoked, and assuming that cargo has updated release quantities, when release quantity is greater than or equal to total quantity, the desired outcome is that all hold statuses are cleared and cargo is marked as fully released.
💻 Technical Criteria
Given Cargo has updated release quantities
When Release quantity is greater than or equal to total quantity
Then All hold statuses are cleared and cargo is marked as fully released
R-GCX016-cbl-00379 Set Partial Release Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Partial Release Status' is invoked, and assuming that cargo has updated release quantities, when release quantity is less than total quantity, the desired outcome is that partial release status (holdpcs) is set in cargo record.
💻 Technical Criteria
Given Cargo has updated release quantities
When Release quantity is less than total quantity
Then Partial release status (HOLDPCS) is set in cargo record
R-GCX016-cbl-00380 Set Arrival Date
Process Rules
📊 Business Logic Narrative
When the process 'Set Arrival Date' is invoked, and assuming that cargo arrival status is being updated, when arrival disposition code is processed, the desired outcome is that current date and time are set as arrival date in cargo record.
💻 Technical Criteria
Given Cargo arrival status is being updated
When Arrival disposition code is processed
Then Current date and time are set as arrival date in cargo record
R-GCX016-cbl-00381 Clear Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that cargo is being exported or fully released, when export status is set or full release is achieved, the desired outcome is that destination index information is cleared from cargo record.
💻 Technical Criteria
Given Cargo is being exported or fully released
When Export status is set or full release is achieved
Then Destination index information is cleared from cargo record
R-GCX016-cbl-00382 Restore Previous Bond Date
Process Rules
📊 Business Logic Narrative
When the process 'Restore Previous Bond Date' is invoked, and assuming that a cancellation disposition code is processed, when previous status changes need to be reversed, the desired outcome is that previous bond date is restored in cargo record.
💻 Technical Criteria
Given A cancellation disposition code is processed
When Previous status changes need to be reversed
Then Previous bond date is restored in cargo record
R-GCX016-cbl-00383 Update Cargo Record Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record Status' is invoked, and assuming that status array has been updated with new disposition codes, when all disposition code processing is complete, the desired outcome is that cargo record status fields are updated with new status information.
💻 Technical Criteria
Given Status array has been updated with new disposition codes
When All disposition code processing is complete
Then Cargo record status fields are updated with new status information
R-GCX016-cbl-04096 Initialize Cargo State Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Cargo State Flags' is invoked, and assuming that a cargo record requires status analysis, when the status array analysis process begins, the desired outcome is that all cargo state flags (empty, held, released, ptt, proceed, arrival, export, fda hold) are set to false/off and all quantity counters are reset to zero.
💻 Technical Criteria
Given A cargo record requires status analysis
When The status array analysis process begins
Then All cargo state flags (empty, held, released, PTT, proceed, arrival, export, FDA hold) are set to false/off and all quantity counters are reset to zero
R-GCX016-cbl-04097 Scan S09A Status Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Scan S09A Status Array Elements' is invoked, and assuming that the s09a status array contains cargo disposition codes, when status analysis is performed, the desired outcome is that each array element is examined sequentially until all elements are processed.
💻 Technical Criteria
Given The S09A status array contains cargo disposition codes
When Status analysis is performed
Then Each array element is examined sequentially until all elements are processed
R-GCX016-cbl-04107 Determine Final Cargo Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Final Cargo Status' is invoked, and assuming that all disposition codes in the s09a array have been analyzed and status flags have been set, when final cargo status determination is performed, the desired outcome is that the system evaluates status flags in priority order: border hold, destination hold, released, ptt active, proceed, arrived, exported to set the final cargo status.
💻 Technical Criteria
Given All disposition codes in the S09A array have been analyzed and status flags have been set
When Final cargo status determination is performed
Then The system evaluates status flags in priority order: border hold, destination hold, released, PTT active, proceed, arrived, exported to set the final cargo status
R-GCX016-cbl-04108 Set Final Status: Hold at Border
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Hold at Border' is invoked, and assuming that status analysis has been completed and border hold flag is true, when final status determination is performed, the desired outcome is that the cargo final status is set to 'hold at border' indicating cargo cannot proceed past the border.
💻 Technical Criteria
Given Status analysis has been completed and border hold flag is true
When Final status determination is performed
Then The cargo final status is set to 'Hold at Border' indicating cargo cannot proceed past the border
R-GCX016-cbl-04109 Set Final Status: Hold at Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Hold at Destination' is invoked, and assuming that status analysis has been completed and destination hold flag is true and border hold flag is false, when final status determination is performed, the desired outcome is that the cargo final status is set to 'hold at destination' indicating cargo is held at the destination location.
💻 Technical Criteria
Given Status analysis has been completed and destination hold flag is true and border hold flag is false
When Final status determination is performed
Then The cargo final status is set to 'Hold at Destination' indicating cargo is held at the destination location
R-GCX016-cbl-04110 Set Final Status: Released
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Released' is invoked, and assuming that status analysis has been completed and release flag is true and no hold flags are true, when final status determination is performed, the desired outcome is that the cargo final status is set to 'released' indicating cargo is cleared for movement.
💻 Technical Criteria
Given Status analysis has been completed and release flag is true and no hold flags are true
When Final status determination is performed
Then The cargo final status is set to 'Released' indicating cargo is cleared for movement
R-GCX016-cbl-04111 Set Final Status: PTT Active
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: PTT Active' is invoked, and assuming that status analysis has been completed and ptt flag is true and no hold or release flags are true, when final status determination is performed, the desired outcome is that the cargo final status is set to 'ptt active' indicating permit to transfer is in effect.
💻 Technical Criteria
Given Status analysis has been completed and PTT flag is true and no hold or release flags are true
When Final status determination is performed
Then The cargo final status is set to 'PTT Active' indicating permit to transfer is in effect
R-GCX016-cbl-04112 Set Final Status: Proceed
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Proceed' is invoked, and assuming that status analysis has been completed and proceed flag is true and no hold, release, or ptt flags are true, when final status determination is performed, the desired outcome is that the cargo final status is set to 'proceed' indicating cargo can continue movement.
💻 Technical Criteria
Given Status analysis has been completed and proceed flag is true and no hold, release, or PTT flags are true
When Final status determination is performed
Then The cargo final status is set to 'Proceed' indicating cargo can continue movement
R-GCX016-cbl-04113 Set Final Status: Arrived
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Arrived' is invoked, and assuming that status analysis has been completed and arrival flag is true and no hold, release, ptt, or proceed flags are true, when final status determination is performed, the desired outcome is that the cargo final status is set to 'arrived' indicating cargo has reached its destination.
💻 Technical Criteria
Given Status analysis has been completed and arrival flag is true and no hold, release, PTT, or proceed flags are true
When Final status determination is performed
Then The cargo final status is set to 'Arrived' indicating cargo has reached its destination
R-GCX016-cbl-04114 Set Final Status: Exported
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Exported' is invoked, and assuming that status analysis has been completed and export flag is true and no other status flags are true, when final status determination is performed, the desired outcome is that the cargo final status is set to 'exported' indicating cargo has been exported from the country.
💻 Technical Criteria
Given Status analysis has been completed and export flag is true and no other status flags are true
When Final status determination is performed
Then The cargo final status is set to 'Exported' indicating cargo has been exported from the country
R-GCX016-cbl-04309 Initialize All State Flags to False
Process Rules
📊 Business Logic Narrative
When the process 'Initialize All State Flags to False' is invoked, and assuming that a cargo record requires state flag analysis, when the system begins cargo state flag determination process, the desired outcome is that all cargo state flags (empty, held, released, ptt, proceed, arrival, export, fda) are set to false.
💻 Technical Criteria
Given A cargo record requires state flag analysis
When The system begins cargo state flag determination process
Then All cargo state flags (empty, held, released, PTT, proceed, arrival, export, FDA) are set to false
R-GCX016-cbl-04310 Is Hold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Hold Code?' is invoked, and assuming that a disposition code exists in the cargo status array, when the system evaluates the disposition code type, the desired outcome is that the system identifies if the code represents a hold condition and determines the hold location (border or destination).
💻 Technical Criteria
Given A disposition code exists in the cargo status array
When The system evaluates the disposition code type
Then The system identifies if the code represents a hold condition and determines the hold location (border or destination)
R-GCX016-cbl-04313 Is Release Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Release Code?' is invoked, and assuming that a disposition code exists in the cargo status array, when the system evaluates the disposition code for release characteristics, the desired outcome is that the system determines if the code represents a release condition.
💻 Technical Criteria
Given A disposition code exists in the cargo status array
When The system evaluates the disposition code for release characteristics
Then The system determines if the code represents a release condition
R-GCX016-cbl-04315 Is PTT Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is PTT Code?' is invoked, and assuming that a disposition code exists in the cargo status array, when the system evaluates the disposition code for ptt characteristics, the desired outcome is that the system determines if the code represents a ptt condition.
💻 Technical Criteria
Given A disposition code exists in the cargo status array
When The system evaluates the disposition code for PTT characteristics
Then The system determines if the code represents a PTT condition
R-GCX016-cbl-04316 Set PTT Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set PTT Flag' is invoked, and assuming that a ptt disposition code is identified in the status array, when the system processes the ptt code, the desired outcome is that the ptt flag is set to true and ptt quantities are validated against cargo totals.
💻 Technical Criteria
Given A PTT disposition code is identified in the status array
When The system processes the PTT code
Then The PTT flag is set to true and PTT quantities are validated against cargo totals
R-GCX016-cbl-04317 Is Proceed Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Proceed Code?' is invoked, and assuming that a disposition code exists in the cargo status array, when the system evaluates the disposition code for proceed characteristics, the desired outcome is that the system determines if the code represents a proceed condition.
💻 Technical Criteria
Given A disposition code exists in the cargo status array
When The system evaluates the disposition code for proceed characteristics
Then The system determines if the code represents a proceed condition
R-GCX016-cbl-04319 Is Arrival Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Arrival Code?' is invoked, and assuming that a disposition code exists in the cargo status array, when the system evaluates the disposition code for arrival characteristics, the desired outcome is that the system determines if the code represents an arrival condition.
💻 Technical Criteria
Given A disposition code exists in the cargo status array
When The system evaluates the disposition code for arrival characteristics
Then The system determines if the code represents an arrival condition
R-GCX016-cbl-04321 Is Export Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Export Code?' is invoked, and assuming that a disposition code exists in the cargo status array, when the system evaluates the disposition code for export characteristics, the desired outcome is that the system determines if the code represents an export condition.
💻 Technical Criteria
Given A disposition code exists in the cargo status array
When The system evaluates the disposition code for export characteristics
Then The system determines if the code represents an export condition
R-GCX016-cbl-04323 Is FDA Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Is FDA Code?' is invoked, and assuming that a disposition code exists in the cargo status array, when the system evaluates the disposition code for fda characteristics, the desired outcome is that the system determines if the code represents an fda hold condition.
💻 Technical Criteria
Given A disposition code exists in the cargo status array
When The system evaluates the disposition code for FDA characteristics
Then The system determines if the code represents an FDA hold condition
R-GCX016-cbl-04325 Determine Partial Release Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Partial Release Status' is invoked, and assuming that both hold and release flags are set to true for a cargo record, when the system analyzes the combined flag states, the desired outcome is that the system determines partial release status based on quantity comparisons.
💻 Technical Criteria
Given Both hold and release flags are set to true for a cargo record
When The system analyzes the combined flag states
Then The system determines partial release status based on quantity comparisons
R-GCX016-cbl-04326 Set Hold on Piece Counts
Decision Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts' is invoked, and assuming that ptt flag is set to true for a cargo record, when the ptt quantity is insufficient compared to total cargo quantity, the desired outcome is that the system sets hold on piece counts flag to true.
💻 Technical Criteria
Given PTT flag is set to true for a cargo record
When The PTT quantity is insufficient compared to total cargo quantity
Then The system sets hold on piece counts flag to true
R-GCX016-cbl-04327 Set Proceed Status Active
Decision Rules
📊 Business Logic Narrative
When the process 'Set Proceed Status Active' is invoked, and assuming that proceed flag is set to true and border arrival date is established, when the system evaluates proceed conditions, the desired outcome is that the proceed status is activated for the cargo record.
💻 Technical Criteria
Given Proceed flag is set to true and border arrival date is established
When The system evaluates proceed conditions
Then The proceed status is activated for the cargo record
R-GCX016-cbl-04328 Prioritize Export Status
Decision Rules
📊 Business Logic Narrative
When the process 'Prioritize Export Status' is invoked, and assuming that both export and arrival flags are set to true for a cargo record, when the system resolves conflicting status flags, the desired outcome is that export status takes priority over arrival status.
💻 Technical Criteria
Given Both export and arrival flags are set to true for a cargo record
When The system resolves conflicting status flags
Then Export status takes priority over arrival status
R-GCX016-cbl-04329 Override Other Release Flags
Policy Rules
📊 Business Logic Narrative
When the process 'Override Other Release Flags' is invoked, and assuming that fda hold flag is set to true and fda location is at destination, when the system finalizes cargo state flags, the desired outcome is that fda hold status overrides other release flags and takes precedence.
💻 Technical Criteria
Given FDA hold flag is set to true and FDA location is at destination
When The system finalizes cargo state flags
Then FDA hold status overrides other release flags and takes precedence
R-GCX016-cbl-04476 Set Hold Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Status Flag' is invoked, and assuming that the disposition code has been identified as a hold code, when the system processes the hold disposition, the desired outcome is that the hold status flag is set to true to indicate cargo is held.
💻 Technical Criteria
Given The disposition code has been identified as a hold code
When The system processes the hold disposition
Then The hold status flag is set to true to indicate cargo is held
R-GCX016-cbl-04478 Set Border Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Flag' is invoked, and assuming that the hold has been determined to apply to border location, when the system processes the border hold, the desired outcome is that the border hold flag is set to true to indicate cargo is held at border.
💻 Technical Criteria
Given The hold has been determined to apply to border location
When The system processes the border hold
Then The border hold flag is set to true to indicate cargo is held at border
R-GCX016-cbl-04479 Set Destination Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Flag' is invoked, and assuming that the hold has been determined to apply to destination location, when the system processes the destination hold, the desired outcome is that the destination hold flag is set to true to indicate cargo is held at destination.
💻 Technical Criteria
Given The hold has been determined to apply to destination location
When The system processes the destination hold
Then The destination hold flag is set to true to indicate cargo is held at destination
R-GCX016-cbl-04481 Set Release Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Status Flag' is invoked, and assuming that the disposition code has been identified as a release code, when the system processes the release disposition, the desired outcome is that the release status flag is set to true to indicate cargo is released.
💻 Technical Criteria
Given The disposition code has been identified as a release code
When The system processes the release disposition
Then The release status flag is set to true to indicate cargo is released
R-GCX016-cbl-04484 Set PTT Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set PTT Status Flag' is invoked, and assuming that the disposition code has been identified as a ptt code, when the system processes the ptt disposition, the desired outcome is that the ptt status flag is set to true to indicate cargo can proceed to transfer.
💻 Technical Criteria
Given The disposition code has been identified as a PTT code
When The system processes the PTT disposition
Then The PTT status flag is set to true to indicate cargo can proceed to transfer
R-GCX016-cbl-04487 Set Proceed Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Proceed Status Flag' is invoked, and assuming that the disposition code has been identified as a proceed code, when the system processes the proceed disposition, the desired outcome is that the proceed status flag is set to true to indicate cargo can proceed.
💻 Technical Criteria
Given The disposition code has been identified as a proceed code
When The system processes the proceed disposition
Then The proceed status flag is set to true to indicate cargo can proceed
R-GCX016-cbl-04490 Set Arrival Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Arrival Status Flag' is invoked, and assuming that the disposition code has been identified as an arrival code, when the system processes the arrival disposition, the desired outcome is that the arrival status flag is set to true to indicate cargo has arrived.
💻 Technical Criteria
Given The disposition code has been identified as an arrival code
When The system processes the arrival disposition
Then The arrival status flag is set to true to indicate cargo has arrived
R-GCX016-cbl-04492 Set Export Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Status Flag' is invoked, and assuming that the disposition code has been identified as an export code, when the system processes the export disposition, the desired outcome is that the export status flag is set to true to indicate cargo is being exported.
💻 Technical Criteria
Given The disposition code has been identified as an export code
When The system processes the export disposition
Then The export status flag is set to true to indicate cargo is being exported
R-GCX016-cbl-04494 Set FDA Hold Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Status Flag' is invoked, and assuming that the disposition code has been identified as an fda hold code, when the system processes the fda hold disposition, the desired outcome is that the fda hold status flag is set to true to indicate cargo is under fda hold.
💻 Technical Criteria
Given The disposition code has been identified as an FDA hold code
When The system processes the FDA hold disposition
Then The FDA hold status flag is set to true to indicate cargo is under FDA hold
R-GCX016-cbl-04670 Extract Status Info Code from S09A-STATUS-INFO
Action Rules
📊 Business Logic Narrative
When the process 'Extract Status Info Code from S09A-STATUS-INFO' is invoked, and assuming that a status array element s09a-entry exists in the cargo status array, when the system needs to extract the disposition code for processing, the desired outcome is that the system retrieves the status info code from the s09a-status-info field of the current array element.
💻 Technical Criteria
Given A status array element S09A-ENTRY exists in the cargo status array
When The system needs to extract the disposition code for processing
Then The system retrieves the status info code from the S09A-STATUS-INFO field of the current array element
R-GCX016-cbl-04681 Extract Border Location
Process Rules
📊 Business Logic Narrative
When the process 'Extract Border Location' is invoked, and assuming that location code indicates border location processing, when the system processes border location data, the desired outcome is that border location information is extracted and stored for border-specific cargo processing.
💻 Technical Criteria
Given Location code indicates border location processing
When The system processes border location data
Then Border location information is extracted and stored for border-specific cargo processing
R-GCX016-cbl-04682 Extract Destination Location
Process Rules
📊 Business Logic Narrative
When the process 'Extract Destination Location' is invoked, and assuming that location code indicates destination location processing, when the system processes destination location data, the desired outcome is that destination location information is extracted and stored for destination-specific cargo processing.
💻 Technical Criteria
Given Location code indicates destination location processing
When The system processes destination location data
Then Destination location information is extracted and stored for destination-specific cargo processing
R-GCX016-cbl-04683 Parse Processing Flags
Process Rules
📊 Business Logic Narrative
When the process 'Parse Processing Flags' is invoked, and assuming that status information contains processing flag data, when the system processes the flag fields, the desired outcome is that processing flags are parsed and made available for cargo status determination.
💻 Technical Criteria
Given Status information contains processing flag data
When The system processes the flag fields
Then Processing flags are parsed and made available for cargo status determination
R-GCX016-cbl-04697 Set Status Flags
Process Rules
📊 Business Logic Narrative
When the process 'Set Status Flags' is invoked, and assuming that status information has been validated as correct and consistent, when the system processes valid status data, the desired outcome is that appropriate status flags are set based on the extracted information for subsequent cargo processing.
💻 Technical Criteria
Given Status information has been validated as correct and consistent
When The system processes valid status data
Then Appropriate status flags are set based on the extracted information for subsequent cargo processing
R-GCX016-cbl-04498 Check Hold/Release Conflict
Decision Rules
📊 Business Logic Narrative
When the process 'Check Hold/Release Conflict' is invoked, and assuming that cargo status analysis is being performed and hold flags have been set during processing and release flags have been set during processing, when the system evaluates flag combinations for conflicts, the desired outcome is that a hold/release conflict is identified when both flag types are active simultaneously.
💻 Technical Criteria
Given Cargo status analysis is being performed AND hold flags have been set during processing AND release flags have been set during processing
When The system evaluates flag combinations for conflicts
Then A hold/release conflict is identified when both flag types are active simultaneously
R-GCX016-cbl-04500 Validate PTT Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PTT Quantities' is invoked, and assuming that ptt flag is set for cargo and cargo has defined total quantities and cargo has defined release quantities, when the system validates ptt quantity requirements, the desired outcome is that ptt quantities are valid when release quantities meet or exceed required thresholds for ptt status.
💻 Technical Criteria
Given PTT flag is set for cargo AND cargo has defined total quantities AND cargo has defined release quantities
When The system validates PTT quantity requirements
Then PTT quantities are valid when release quantities meet or exceed required thresholds for PTT status
R-GCX016-cbl-04501 Clear PTT Flag
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear PTT Flag', assuming that ptt flag is set and ptt quantity validation has been performed and ptt quantities are determined to be invalid, when the system processes invalid ptt quantities, the desired outcome is that ptt flag is cleared and ptt status is removed from cargo.
💻 Technical Criteria
EXCLUDING PTT flag is set AND PTT quantity validation has been performed AND PTT quantities are determined to be invalid
When The system processes invalid PTT quantities
Then PTT flag is cleared AND PTT status is removed from cargo
R-GCX016-cbl-04503 FDA at Destination?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA at Destination?' is invoked, and assuming that fda hold flag is set and cargo has destination location information, when the system evaluates fda hold location requirements, the desired outcome is that fda hold at destination is true when fda requirements apply to destination location and false when fda requirements apply to other locations.
💻 Technical Criteria
Given FDA hold flag is set AND cargo has destination location information
When The system evaluates FDA hold location requirements
Then FDA hold at destination is true when FDA requirements apply to destination location AND false when FDA requirements apply to other locations
R-GCX016-cbl-04506 Proceed Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed Flag Set?' is invoked, and assuming that cargo status analysis is in progress and proceed flag evaluation is required, when the system evaluates proceed flag status, the desired outcome is that proceed flag is set when cargo is authorized to proceed and proceed flag is not set when cargo is not authorized to proceed.
💻 Technical Criteria
Given Cargo status analysis is in progress AND proceed flag evaluation is required
When The system evaluates proceed flag status
Then Proceed flag is set when cargo is authorized to proceed AND proceed flag is not set when cargo is not authorized to proceed
R-GCX016-cbl-04507 Set Border Arrival Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Status' is invoked, and assuming that proceed flag is set and cargo requires border arrival processing, when the system processes proceed flag activation, the desired outcome is that border arrival status is set and border arrival date is recorded.
💻 Technical Criteria
Given Proceed flag is set AND cargo requires border arrival processing
When The system processes proceed flag activation
Then Border arrival status is set AND border arrival date is recorded
R-GCX016-cbl-04508 Export Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Flag Set?' is invoked, and assuming that cargo status analysis is in progress and export flag evaluation is required, when the system evaluates export flag status, the desired outcome is that export flag is set when cargo is designated for export and export flag is not set when cargo is not designated for export.
💻 Technical Criteria
Given Cargo status analysis is in progress AND export flag evaluation is required
When The system evaluates export flag status
Then Export flag is set when cargo is designated for export AND export flag is not set when cargo is not designated for export
R-GCX016-cbl-04509 Clear Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that export flag is set and cargo has existing destination index information, when the system processes export flag activation, the desired outcome is that destination index is cleared and destination routing information is removed.
💻 Technical Criteria
Given Export flag is set AND cargo has existing destination index information
When The system processes export flag activation
Then Destination index is cleared AND destination routing information is removed
R-GCX016-cbl-04510 Set Export Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Status' is invoked, and assuming that export flag is set and destination index has been cleared, when the system completes export flag processing, the desired outcome is that export status is assigned to cargo and export processing indicators are set.
💻 Technical Criteria
Given Export flag is set AND destination index has been cleared
When The system completes export flag processing
Then Export status is assigned to cargo AND export processing indicators are set
R-GCX016-cbl-04511 Arrival Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Arrival Flag Set?' is invoked, and assuming that cargo status analysis is in progress and arrival flag evaluation is required, when the system evaluates arrival flag status, the desired outcome is that arrival flag is set when cargo has arrived at destination and arrival flag is not set when cargo has not arrived at destination.
💻 Technical Criteria
Given Cargo status analysis is in progress AND arrival flag evaluation is required
When The system evaluates arrival flag status
Then Arrival flag is set when cargo has arrived at destination AND arrival flag is not set when cargo has not arrived at destination
R-GCX016-cbl-04512 Set Arrival Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Arrival Status' is invoked, and assuming that arrival flag is set and cargo requires arrival status processing, when the system processes arrival flag activation, the desired outcome is that arrival status is assigned to cargo and arrival date and time are recorded.
💻 Technical Criteria
Given Arrival flag is set AND cargo requires arrival status processing
When The system processes arrival flag activation
Then Arrival status is assigned to cargo AND arrival date and time are recorded
R-GCX016-cbl-04515 Set Primary Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Primary Status Flag' is invoked, and assuming that business rule priority has been applied and winning status has been determined, when the system finalizes status assignment, the desired outcome is that primary status flag is set to the highest priority status and primary status becomes the active cargo status.
💻 Technical Criteria
Given Business rule priority has been applied AND winning status has been determined
When The system finalizes status assignment
Then Primary status flag is set to the highest priority status AND primary status becomes the active cargo status
R-GCX016-cbl-04699 Check for FDA Hold Codes
Policy Rules
📊 Business Logic Narrative
When the process 'Check for FDA Hold Codes' is invoked, and assuming that a cargo status array contains multiple disposition codes including potential fda hold codes, when the system evaluates disposition codes for fda holds (a3 codes) in the status array, the desired outcome is that fda hold codes are identified and given highest priority precedence over all other hold and release codes.
💻 Technical Criteria
Given A cargo status array contains multiple disposition codes including potential FDA hold codes
When The system evaluates disposition codes for FDA holds (A3 codes) in the status array
Then FDA hold codes are identified and given highest priority precedence over all other hold and release codes
R-GCX016-cbl-04700 Apply FDA Hold Priority - Highest Precedence
Policy Rules
📊 Business Logic Narrative
When the process 'Apply FDA Hold Priority - Highest Precedence' is invoked, and assuming that fda hold codes are detected in the cargo status array, when the system resolves conflicting disposition codes with fda holds present, the desired outcome is that fda hold status is set as the final cargo status with highest regulatory precedence, and cargo status is set to holdfda.
💻 Technical Criteria
Given FDA hold codes are detected in the cargo status array
When The system resolves conflicting disposition codes with FDA holds present
Then FDA hold status is set as the final cargo status with highest regulatory precedence, and cargo status is set to HOLDFDA
R-GCX016-cbl-04702 Apply Release Code Priority
Decision Rules
📊 Business Logic Narrative
When the process 'Apply Release Code Priority' is invoked, and assuming that release codes are present in the status array and no fda or customs hold codes exist, when the system evaluates release code priorities, the desired outcome is that release codes are processed and applied to determine cargo release status based on quantity validation.
💻 Technical Criteria
Given Release codes are present in the status array and no FDA or customs hold codes exist
When The system evaluates release code priorities
Then Release codes are processed and applied to determine cargo release status based on quantity validation
R-GCX016-cbl-04703 Apply PTT Priority for Partial Release
Decision Rules
📊 Business Logic Narrative
When the process 'Apply PTT Priority for Partial Release' is invoked, and assuming that ptt status conditions are present and cargo has partial release quantities, when the system evaluates ptt priority against other disposition codes, the desired outcome is that ptt status is applied for partial release scenarios while maintaining hold status on remaining quantities.
💻 Technical Criteria
Given PTT status conditions are present and cargo has partial release quantities
When The system evaluates PTT priority against other disposition codes
Then PTT status is applied for partial release scenarios while maintaining hold status on remaining quantities
R-GCX016-cbl-04704 Apply Proceed Priority
Decision Rules
📊 Business Logic Narrative
When the process 'Apply Proceed Priority' is invoked, and assuming that proceed codes are present in the status array and no higher priority hold or release codes exist, when the system evaluates proceed code priorities, the desired outcome is that proceed codes are applied to set cargo proceed status with appropriate location and timing information.
💻 Technical Criteria
Given Proceed codes are present in the status array and no higher priority hold or release codes exist
When The system evaluates proceed code priorities
Then Proceed codes are applied to set cargo proceed status with appropriate location and timing information
R-GCX016-cbl-04705 Set Border Hold Status
Validation Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Status' is invoked, and assuming that hold codes are resolved and location validation determines border location, when the system sets hold status for border location, the desired outcome is that border hold status is applied to the cargo with appropriate border location identifiers.
💻 Technical Criteria
Given Hold codes are resolved and location validation determines border location
When The system sets hold status for border location
Then Border hold status is applied to the cargo with appropriate border location identifiers
R-GCX016-cbl-04706 Set Destination Hold Status
Validation Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Status' is invoked, and assuming that hold codes are resolved and location validation determines destination location, when the system sets hold status for destination location, the desired outcome is that destination hold status is applied to the cargo with appropriate destination location identifiers.
💻 Technical Criteria
Given Hold codes are resolved and location validation determines destination location
When The system sets hold status for destination location
Then Destination hold status is applied to the cargo with appropriate destination location identifiers
R-GCX016-cbl-04707 Set Full Release Status
Validation Rules
📊 Business Logic Narrative
When the process 'Set Full Release Status' is invoked, and assuming that cargo has release codes and quantity validation is performed, when released quantity is greater than or equal to total cargo quantity, the desired outcome is that full release status is set for the cargo and all hold conditions are cleared.
💻 Technical Criteria
Given Cargo has release codes and quantity validation is performed
When Released quantity is greater than or equal to total cargo quantity
Then Full release status is set for the cargo and all hold conditions are cleared
R-GCX016-cbl-04708 Set Partial Release with Hold on Pieces
Decision Rules
📊 Business Logic Narrative
When the process 'Set Partial Release with Hold on Pieces' is invoked, and assuming that cargo has release codes and quantity validation shows partial release, when released quantity is less than total cargo quantity, the desired outcome is that partial release status is set with holdpcs (hold pieces) status applied to remaining unreleased quantities.
💻 Technical Criteria
Given Cargo has release codes and quantity validation shows partial release
When Released quantity is less than total cargo quantity
Then Partial release status is set with HOLDPCS (hold pieces) status applied to remaining unreleased quantities
R-GCX016-cbl-04709 Set Final Cargo Status Based on Priority Rules
Decision Rules
📊 Business Logic Narrative
When the process 'Set Final Cargo Status Based on Priority Rules' is invoked, and assuming that all disposition codes have been evaluated and priorities assigned, when the system resolves final cargo status based on priority hierarchy, the desired outcome is that final cargo status is set according to the highest priority rule: fda holds > customs holds > releases > ptt > proceed codes.
💻 Technical Criteria
Given All disposition codes have been evaluated and priorities assigned
When The system resolves final cargo status based on priority hierarchy
Then Final cargo status is set according to the highest priority rule: FDA holds > customs holds > releases > PTT > proceed codes
R-GCX016-cbl-04710 Update Status Array with Resolved Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array with Resolved Status' is invoked, and assuming that final cargo status has been determined through priority rule resolution, when the system updates the status array with resolved status, the desired outcome is that status array is updated with the final resolved disposition codes and conflicting codes are removed or superseded.
💻 Technical Criteria
Given Final cargo status has been determined through priority rule resolution
When The system updates the status array with resolved status
Then Status array is updated with the final resolved disposition codes and conflicting codes are removed or superseded
R-GCX016-cbl-04115 258: Manual Release Processing
Decision Rules
📊 Business Logic Narrative
When the process '258: Manual Release Processing' is invoked, and assuming that a cargo record exists with manual release flag set, when the system processes cargo status determination, the desired outcome is that the system clears the destination index and processes canadian manifest coordination.
💻 Technical Criteria
Given A cargo record exists with manual release flag set
When The system processes cargo status determination
Then The system clears the destination index and processes Canadian manifest coordination
R-GCX016-cbl-04116 259: FDA Hold Status Processing
Decision Rules
📊 Business Logic Narrative
When the process '259: FDA Hold Status Processing' is invoked, and assuming that a cargo record exists and fda hold conditions are detected at destination, when the system evaluates cargo status requirements, the desired outcome is that the system sets fda hold status with specific fda codes.
💻 Technical Criteria
Given A cargo record exists and FDA hold conditions are detected at destination
When The system evaluates cargo status requirements
Then The system sets FDA hold status with specific FDA codes
R-GCX016-cbl-04117 260: PTT Status Management
Validation Rules
📊 Business Logic Narrative
When the process '260: PTT Status Management' is invoked, and assuming that a cargo record exists with quantity information and ptt status requirements, when the system determines if ptt status is required, the desired outcome is that the system validates ptt quantities and saves or restores ptt status accordingly.
💻 Technical Criteria
Given A cargo record exists with quantity information and PTT status requirements
When The system determines if PTT status is required
Then The system validates PTT quantities and saves or restores PTT status accordingly
R-GCX016-cbl-04118 261: Partial Release Hold Processing
Decision Rules
📊 Business Logic Narrative
When the process '261: Partial Release Hold Processing' is invoked, and assuming that a cargo record exists with released quantity less than total quantity, when the system evaluates partial release conditions, the desired outcome is that the system sets hold on piece counts status.
💻 Technical Criteria
Given A cargo record exists with released quantity less than total quantity
When The system evaluates partial release conditions
Then The system sets hold on piece counts status
R-GCX016-cbl-04119 262: Full Release Processing
Decision Rules
📊 Business Logic Narrative
When the process '262: Full Release Processing' is invoked, and assuming that a cargo record exists with released quantity equal to or greater than total quantity, when the system evaluates full release conditions, the desired outcome is that the system clears destination index and matches released versus total quantities.
💻 Technical Criteria
Given A cargo record exists with released quantity equal to or greater than total quantity
When The system evaluates full release conditions
Then The system clears destination index and matches released versus total quantities
R-GCX016-cbl-04120 263: Cargo Unrelease Detection
Decision Rules
📊 Business Logic Narrative
When the process '263: Cargo Unrelease Detection' is invoked, and assuming that a cargo record exists that was previously released but now shows unreleased status, when the system compares current status with previous release status, the desired outcome is that the system generates unrelease notifications.
💻 Technical Criteria
Given A cargo record exists that was previously released but now shows unreleased status
When The system compares current status with previous release status
Then The system generates unrelease notifications
R-GCX016-cbl-04121 264: Destination Index Re-establishment
Process Rules
📊 Business Logic Narrative
When the process '264: Destination Index Re-establishment' is invoked, and assuming that a cargo record exists with status changes that require destination index updates, when the system determines index update is required, the desired outcome is that the system updates rt076 destination index and manages bond dates for arrival or export.
💻 Technical Criteria
Given A cargo record exists with status changes that require destination index updates
When The system determines index update is required
Then The system updates RT076 destination index and manages bond dates for arrival or export
R-GCX016-cbl-04122 265: Age Calculation for Cargo
Computation Rules
📊 Business Logic Narrative
When the process '265: Age Calculation for Cargo' is invoked, and assuming that a cargo record exists with bond start dates requiring age calculation, when the system determines age calculation is required, the desired outcome is that the system converts julian dates for bond start dates to calculate cargo age.
💻 Technical Criteria
Given A cargo record exists with bond start dates requiring age calculation
When The system determines age calculation is required
Then The system converts Julian dates for bond start dates to calculate cargo age
R-GCX016-cbl-04123 266: Cargo Record Integration Service Calls
Action Rules
📊 Business Logic Narrative
When the process '266: Cargo Record Integration Service Calls' is invoked, and assuming that a cargo record exists with status changes requiring integration service calls, when the system determines integration service call is required, the desired outcome is that the system calls gcciis for hold or release notifications and sends status change notifications.
💻 Technical Criteria
Given A cargo record exists with status changes requiring integration service calls
When The system determines integration service call is required
Then The system calls GCCIIS for hold or release notifications and sends status change notifications
R-GCX016-cbl-04125 268: Release Message Generation
Action Rules
📊 Business Logic Narrative
When the process '268: Release Message Generation' is invoked, and assuming that a cargo record exists with conditions requiring release message generation, when the system determines release message should be generated, the desired outcome is that the system creates detailed release messages including cargo status and quantities.
💻 Technical Criteria
Given A cargo record exists with conditions requiring release message generation
When The system determines release message should be generated
Then The system creates detailed release messages including cargo status and quantities
R-GCX016-cbl-04126 269: Export Message Generation
Action Rules
📊 Business Logic Narrative
When the process '269: Export Message Generation' is invoked, and assuming that a cargo record exists with conditions requiring export message generation, when the system determines export message is required, the desired outcome is that the system generates uscs export operations message and handles export cancellation scenarios.
💻 Technical Criteria
Given A cargo record exists with conditions requiring export message generation
When The system determines export message is required
Then The system generates USCS export operations message and handles export cancellation scenarios
R-GCX016-cbl-04127 270: Arrival Message Generation
Action Rules
📊 Business Logic Narrative
When the process '270: Arrival Message Generation' is invoked, and assuming that a cargo record exists with conditions requiring arrival message generation, when the system determines arrival message is required, the desired outcome is that the system generates uscs arrival operations message and handles arrival cancellation scenarios.
💻 Technical Criteria
Given A cargo record exists with conditions requiring arrival message generation
When The system determines arrival message is required
Then The system generates USCS arrival operations message and handles arrival cancellation scenarios
R-GCX016-cbl-04128 277: Cargo Status Preservation
Process Rules
📊 Business Logic Narrative
When the process '277: Cargo Status Preservation' is invoked, and assuming that a cargo record exists that has completed complex status logic processing, when the system reaches the end of complex status determination, the desired outcome is that the system saves current status information to preserve cargo state.
💻 Technical Criteria
Given A cargo record exists that has completed complex status logic processing
When The system reaches the end of complex status determination
Then The system saves current status information to preserve cargo state
R-GCX016-cbl-04330 Manual Release Processing?
Process Rules
📊 Business Logic Narrative
When the process 'Manual Release Processing?' is invoked, and assuming that a cargo record exists with an active destination index, when the cargo status is set to manual release (mrl), the desired outcome is that the destination index must be cleared and the cargo routing constraints removed.
💻 Technical Criteria
Given A cargo record exists with an active destination index
When The cargo status is set to manual release (MRL)
Then The destination index must be cleared and the cargo routing constraints removed
R-GCX016-cbl-04332 FDA Hold at Destination?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold at Destination?' is invoked, and assuming that a cargo record is being processed for status change, when the cargo requires fda hold at destination location, the desired outcome is that the system must set fda hold status (holdfda) with appropriate fda codes and prevent cargo release until fda clearance.
💻 Technical Criteria
Given A cargo record is being processed for status change
When The cargo requires FDA hold at destination location
Then The system must set FDA hold status (HOLDFDA) with appropriate FDA codes and prevent cargo release until FDA clearance
R-GCX016-cbl-04333 PTT Status Required?
Validation Rules
📊 Business Logic Narrative
When the process 'PTT Status Required?' is invoked, and assuming that a cargo record currently has ptt status assigned, when the cargo undergoes status change processing, the desired outcome is that the system must save the current ptt status and validate that quantity thresholds are met before allowing status changes.
💻 Technical Criteria
Given A cargo record currently has PTT status assigned
When The cargo undergoes status change processing
Then The system must save the current PTT status and validate that quantity thresholds are met before allowing status changes
R-GCX016-cbl-04334 Partial Release Scenario?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Release Scenario?' is invoked, and assuming that a cargo record has total quantity greater than released quantity, when the cargo undergoes partial release processing, the desired outcome is that the system must set hold on piece counts status (holdpcs) for the unreleased quantity portion.
💻 Technical Criteria
Given A cargo record has total quantity greater than released quantity
When The cargo undergoes partial release processing
Then The system must set hold on piece counts status (HOLDPCS) for the unreleased quantity portion
R-GCX016-cbl-04335 Full Release Conditions Met?
Decision Rules
📊 Business Logic Narrative
When the process 'Full Release Conditions Met?' is invoked, and assuming that a cargo record has released quantity equal to or greater than total quantity, when the system evaluates full release conditions, the desired outcome is that the destination index must be cleared and all routing restrictions removed.
💻 Technical Criteria
Given A cargo record has released quantity equal to or greater than total quantity
When The system evaluates full release conditions
Then The destination index must be cleared and all routing restrictions removed
R-GCX016-cbl-04336 Detect Unrelease Scenario
Decision Rules
📊 Business Logic Narrative
When the process 'Detect Unrelease Scenario' is invoked, and assuming that a cargo record was previously in released status, when the cargo status is being changed to a non-released status, the desired outcome is that the system must detect the unrelease scenario and flag it for notification processing.
💻 Technical Criteria
Given A cargo record was previously in released status
When The cargo status is being changed to a non-released status
Then The system must detect the unrelease scenario and flag it for notification processing
R-GCX016-cbl-04337 Arrival Status Change?
Process Rules
📊 Business Logic Narrative
When the process 'Arrival Status Change?' is invoked, and assuming that a cargo record is undergoing arrival status processing, when the arrival status is being updated, the desired outcome is that the system must re-establish the destination index based on the new arrival status and update routing information.
💻 Technical Criteria
Given A cargo record is undergoing arrival status processing
When The arrival status is being updated
Then The system must re-establish the destination index based on the new arrival status and update routing information
R-GCX016-cbl-04338 Update Bond Start Date
Process Rules
📊 Business Logic Narrative
When the process 'Update Bond Start Date' is invoked, and assuming that a cargo record has arrival status being processed, when the destination index is re-established for arrival, the desired outcome is that the bond start date must be updated to reflect the current arrival date and time.
💻 Technical Criteria
Given A cargo record has arrival status being processed
When The destination index is re-established for arrival
Then The bond start date must be updated to reflect the current arrival date and time
R-GCX016-cbl-04339 Export Status Change?
Process Rules
📊 Business Logic Narrative
When the process 'Export Status Change?' is invoked, and assuming that a cargo record is being processed for export status change, when the export status is being updated, the desired outcome is that the destination index must be cleared as export cargo does not require domestic destination routing.
💻 Technical Criteria
Given A cargo record is being processed for export status change
When The export status is being updated
Then The destination index must be cleared as export cargo does not require domestic destination routing
R-GCX016-cbl-04340 Update Export Bond Date
Process Rules
📊 Business Logic Narrative
When the process 'Update Export Bond Date' is invoked, and assuming that a cargo record is being processed for export with cleared destination index, when the export status processing occurs, the desired outcome is that the export bond date must be updated to reflect the current export processing date.
💻 Technical Criteria
Given A cargo record is being processed for export with cleared destination index
When The export status processing occurs
Then The export bond date must be updated to reflect the current export processing date
R-GCX016-cbl-04341 Calculate Cargo Age Using Julian Dates
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Cargo Age Using Julian Dates' is invoked, and assuming that a cargo record requires age calculation for bond or compliance purposes, when age calculation processing is triggered, the desired outcome is that the system must calculate cargo age using julian date format and provide accurate age information.
💻 Technical Criteria
Given A cargo record requires age calculation for bond or compliance purposes
When Age calculation processing is triggered
Then The system must calculate cargo age using Julian date format and provide accurate age information
R-GCX016-cbl-04342 Update Bond Date Management
Process Rules
📊 Business Logic Narrative
When the process 'Update Bond Date Management' is invoked, and assuming that cargo age has been calculated using julian dates, when bond date management processing occurs, the desired outcome is that the system must update all relevant bond date management records with the calculated age information.
💻 Technical Criteria
Given Cargo age has been calculated using Julian dates
When Bond date management processing occurs
Then The system must update all relevant bond date management records with the calculated age information
R-GCX016-cbl-04343 Cross-Border Coordination Needed?
Decision Rules
📊 Business Logic Narrative
When the process 'Cross-Border Coordination Needed?' is invoked, and assuming that a cargo record has undergone status changes with updated bond date management, when the system evaluates cross-border coordination requirements, the desired outcome is that the system must determine if cross-border coordination is needed based on cargo movement patterns and international requirements.
💻 Technical Criteria
Given A cargo record has undergone status changes with updated bond date management
When The system evaluates cross-border coordination requirements
Then The system must determine if cross-border coordination is needed based on cargo movement patterns and international requirements
R-GCX016-cbl-04345 Generate Canadian Log Messages
Action Rules
📊 Business Logic Narrative
When the process 'Generate Canadian Log Messages' is invoked, and assuming that matching canadian manifest records have been found, when cross-border coordination processing occurs, the desired outcome is that the system must generate canadian log messages with cargo release information and cross-border status updates.
💻 Technical Criteria
Given Matching Canadian manifest records have been found
When Cross-border coordination processing occurs
Then The system must generate Canadian log messages with cargo release information and cross-border status updates
R-GCX016-cbl-04517 Get Equipment ID from US Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Get Equipment ID from US Cargo' is invoked, and assuming that a us cargo record exists with equipment information, when the system initiates canadian manifest coordination processing, the desired outcome is that the equipment id is extracted from the us cargo record for canadian database search.
💻 Technical Criteria
Given A US cargo record exists with equipment information
When The system initiates Canadian manifest coordination processing
Then The equipment ID is extracted from the US cargo record for Canadian database search
R-GCX016-cbl-04518 Search Canadian Cargo Database
Action Rules
📊 Business Logic Narrative
When the process 'Search Canadian Cargo Database' is invoked, and assuming that an equipment id has been extracted from us cargo record, when the system searches the canadian cargo database, the desired outcome is that the system retrieves canadian cargo records matching the equipment id.
💻 Technical Criteria
Given An equipment ID has been extracted from US cargo record
When The system searches the Canadian cargo database
Then The system retrieves Canadian cargo records matching the equipment ID
R-GCX016-cbl-04519 Canadian Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Cargo Found?' is invoked, and assuming that a search has been performed in the canadian cargo database using equipment id, when the system evaluates the search results, the desired outcome is that the system determines if canadian cargo records were found and routes processing accordingly.
💻 Technical Criteria
Given A search has been performed in the Canadian cargo database using equipment ID
When The system evaluates the search results
Then The system determines if Canadian cargo records were found and routes processing accordingly
R-GCX016-cbl-04520 Validate Canadian Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Record Status' is invoked, and assuming that canadian cargo records have been found for the equipment id, when the system validates the record status, the desired outcome is that the system checks that records are not deleted and have valid processing status.
💻 Technical Criteria
Given Canadian cargo records have been found for the equipment ID
When The system validates the record status
Then The system checks that records are not deleted and have valid processing status
R-GCX016-cbl-04521 Record Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Valid?' is invoked, and assuming that canadian cargo records have been retrieved and status validated, when the system evaluates record validity, the desired outcome is that the system determines if records are valid for processing or should be excluded due to deletion or invalid status.
💻 Technical Criteria
Given Canadian cargo records have been retrieved and status validated
When The system evaluates record validity
Then The system determines if records are valid for processing or should be excluded due to deletion or invalid status
R-GCX016-cbl-04522 Match Equipment ID with Canadian Cargo
Validation Rules
📊 Business Logic Narrative
When the process 'Match Equipment ID with Canadian Cargo' is invoked, and assuming that valid canadian cargo records exist and us cargo equipment id is available, when the system performs equipment id matching, the desired outcome is that the system compares us cargo equipment id with canadian cargo equipment id for exact match.
💻 Technical Criteria
Given Valid Canadian cargo records exist and US cargo equipment ID is available
When The system performs equipment ID matching
Then The system compares US cargo equipment ID with Canadian cargo equipment ID for exact match
R-GCX016-cbl-04523 Equipment ID Matches?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID Matches?' is invoked, and assuming that equipment id comparison has been performed between us and canadian cargo records, when the system evaluates the match results, the desired outcome is that the system determines if equipment ids match exactly and routes to appropriate processing path.
💻 Technical Criteria
Given Equipment ID comparison has been performed between US and Canadian cargo records
When The system evaluates the match results
Then The system determines if equipment IDs match exactly and routes to appropriate processing path
R-GCX016-cbl-04524 Generate Cross-Border Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Generate Cross-Border Log Message' is invoked, and assuming that us and canadian cargo records have matching equipment ids, when the system generates cross-border coordination log, the desired outcome is that the system creates a log message with us cargo details, canadian cargo details, and coordination timestamp.
💻 Technical Criteria
Given US and Canadian cargo records have matching equipment IDs
When The system generates cross-border coordination log
Then The system creates a log message with US cargo details, Canadian cargo details, and coordination timestamp
R-GCX016-cbl-04527 Send Notification to Canadian System
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification to Canadian System' is invoked, and assuming that audit trail entry has been created for cross-border coordination, when the system sends notification to canadian system, the desired outcome is that the system transmits notification message with cargo release details and coordination status to canadian system.
💻 Technical Criteria
Given Audit trail entry has been created for cross-border coordination
When The system sends notification to Canadian system
Then The system transmits notification message with cargo release details and coordination status to Canadian system
R-GCX016-cbl-04529 No Canadian Match Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No Canadian Match Found', assuming that canadian cargo search returns no results or canadian records are invalid or equipment ids do not match, when the system processes no match condition, the desired outcome is that the system routes to no match processing path without updating canadian records.
💻 Technical Criteria
EXCLUDING Canadian cargo search returns no results OR Canadian records are invalid OR equipment IDs do not match
When The system processes no match condition
Then The system routes to no match processing path without updating Canadian records
R-GCX016-cbl-04530 Log No Match Status
Process Rules
📊 Business Logic Narrative
When the process 'Log No Match Status' is invoked, and assuming that no matching canadian cargo records were found or records were invalid, when the system logs no match status, the desired outcome is that the system records no match condition with equipment id, search criteria, and timestamp for audit purposes.
💻 Technical Criteria
Given No matching Canadian cargo records were found or records were invalid
When The system logs no match status
Then The system records no match condition with equipment ID, search criteria, and timestamp for audit purposes
R-GCX016-cbl-04531 Continue Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing' is invoked, and assuming that cross-border coordination is complete or no canadian match was found and logged, when the system continues processing, the desired outcome is that the system proceeds with normal us cargo processing workflow.
💻 Technical Criteria
Given Cross-border coordination is complete OR no Canadian match was found and logged
When The system continues processing
Then The system proceeds with normal US cargo processing workflow
R-GCX016-cbl-04711 Execute Database Query on Canadian Cargo Records
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Query on Canadian Cargo Records' is invoked, and assuming that equipment id is provided for cross-border matching, when system executes database query on canadian cargo records, the desired outcome is that database query is performed to search for matching canadian cargo records.
💻 Technical Criteria
Given Equipment ID is provided for cross-border matching
When System executes database query on Canadian cargo records
Then Database query is performed to search for matching Canadian cargo records
R-GCX016-cbl-04712 Search by Equipment ID Match
Process Rules
📊 Business Logic Narrative
When the process 'Search by Equipment ID Match' is invoked, and assuming that database query is executed on canadian cargo records, when system searches by equipment id match, the desired outcome is that canadian cargo records are filtered based on equipment id matching criteria.
💻 Technical Criteria
Given Database query is executed on Canadian cargo records
When System searches by equipment ID match
Then Canadian cargo records are filtered based on equipment ID matching criteria
R-GCX016-cbl-04713 Canadian Cargo Records Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Cargo Records Found?' is invoked, and assuming that equipment id search has been performed on canadian cargo database, when system checks if canadian cargo records are found, the desired outcome is that system determines if records exist and routes processing accordingly - if records found proceed to validation, if no records found log no valid records.
💻 Technical Criteria
Given Equipment ID search has been performed on Canadian cargo database
When System checks if Canadian cargo records are found
Then System determines if records exist and routes processing accordingly - if records found proceed to validation, if no records found log no valid records
R-GCX016-cbl-04714 Validate Canadian Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Record Status' is invoked, and assuming that canadian cargo records have been found for the equipment id, when system validates canadian record status, the desired outcome is that record status is checked to determine if record is valid for cross-border processing.
💻 Technical Criteria
Given Canadian cargo records have been found for the equipment ID
When System validates Canadian record status
Then Record status is checked to determine if record is valid for cross-border processing
R-GCX016-cbl-04716 Exclude Deleted Records
Validation Rules
📊 Business Logic Narrative
When the process 'Exclude Deleted Records' is invoked, and assuming that canadian cargo record has been identified as deleted, when system processes record validation results, the desired outcome is that deleted record is excluded from processing and system logs no valid canadian records found.
💻 Technical Criteria
Given Canadian cargo record has been identified as deleted
When System processes record validation results
Then Deleted record is excluded from processing and system logs no valid Canadian records found
R-GCX016-cbl-04717 Exclude Unusable Records
Validation Rules
📊 Business Logic Narrative
When the process 'Exclude Unusable Records' is invoked, and assuming that canadian cargo record has been identified as unusable, when system processes record validation results, the desired outcome is that unusable record is excluded from processing and system logs no valid canadian records found.
💻 Technical Criteria
Given Canadian cargo record has been identified as unusable
When System processes record validation results
Then Unusable record is excluded from processing and system logs no valid Canadian records found
R-GCX016-cbl-04718 Return Valid Canadian Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Return Valid Canadian Cargo Record' is invoked, and assuming that canadian cargo record has been validated as suitable for processing, when system processes valid record, the desired outcome is that valid canadian cargo record is returned for cross-border coordination.
💻 Technical Criteria
Given Canadian cargo record has been validated as suitable for processing
When System processes valid record
Then Valid Canadian cargo record is returned for cross-border coordination
R-GCX016-cbl-04719 Log No Valid Canadian Records Found
Process Rules
📊 Business Logic Narrative
When the process 'Log No Valid Canadian Records Found' is invoked, and assuming that no canadian cargo records exist or all found records are deleted or all found records are unusable, when system completes canadian cargo record search and validation, the desired outcome is that system logs that no valid canadian records were found and continues with cross-border coordination.
💻 Technical Criteria
Given No Canadian cargo records exist OR all found records are deleted OR all found records are unusable
When System completes Canadian cargo record search and validation
Then System logs that no valid Canadian records were found and continues with cross-border coordination
R-GCX016-cbl-04720 US Cargo Released?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Released?' is invoked, and assuming that a cargo record exists in the system, when the system checks the cargo release status, the desired outcome is that the system determines if the cargo is released and proceeds with cross-border processing or terminates the process.
💻 Technical Criteria
Given A cargo record exists in the system
When The system checks the cargo release status
Then The system determines if the cargo is released and proceeds with cross-border processing or terminates the process
R-GCX016-cbl-04721 Find Matching Canadian Manifests
Action Rules
📊 Business Logic Narrative
When the process 'Find Matching Canadian Manifests' is invoked, and assuming that us cargo has been released and equipment id is available, when the system searches for canadian manifest records using the equipment id, the desired outcome is that the system retrieves all matching canadian manifest records for cross-border coordination.
💻 Technical Criteria
Given US cargo has been released and equipment ID is available
When The system searches for Canadian manifest records using the equipment ID
Then The system retrieves all matching Canadian manifest records for cross-border coordination
R-GCX016-cbl-04724 Capture Status Changes
Process Rules
📊 Business Logic Narrative
When the process 'Capture Status Changes' is invoked, and assuming that cargo details have been extracted, when the system captures status change information, the desired outcome is that all status transitions including timestamps, disposition codes, and release quantities are recorded for the audit trail.
💻 Technical Criteria
Given Cargo details have been extracted
When The system captures status change information
Then All status transitions including timestamps, disposition codes, and release quantities are recorded for the audit trail
R-GCX016-cbl-04726 Format Audit Trail Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Audit Trail Message' is invoked, and assuming that cross-border coordination information has been built, when the system formats the audit trail message, the desired outcome is that the message is structured with proper headers, cargo details, and status information according to cross-border communication protocols.
💻 Technical Criteria
Given Cross-border coordination information has been built
When The system formats the audit trail message
Then The message is structured with proper headers, cargo details, and status information according to cross-border communication protocols
R-GCX016-cbl-04727 Include Equipment ID Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Equipment ID Information' is invoked, and assuming that the audit trail message has been formatted, when equipment id information is included in the message, the desired outcome is that car initial, car number, and other equipment identifiers are added to enable proper cargo tracking across borders.
💻 Technical Criteria
Given The audit trail message has been formatted
When Equipment ID information is included in the message
Then Car initial, car number, and other equipment identifiers are added to enable proper cargo tracking across borders
R-GCX016-cbl-04728 Add Release Status Details
Process Rules
📊 Business Logic Narrative
When the process 'Add Release Status Details' is invoked, and assuming that equipment id information has been included, when release status details are added to the message, the desired outcome is that release quantities, disposition codes, release dates, and customs clearance information are included in the log message.
💻 Technical Criteria
Given Equipment ID information has been included
When Release status details are added to the message
Then Release quantities, disposition codes, release dates, and customs clearance information are included in the log message
R-GCX016-cbl-04730 Generate Log Message for Canadian System
Action Rules
📊 Business Logic Narrative
When the process 'Generate Log Message for Canadian System' is invoked, and assuming that border crossing information has been added, when the log message is generated for the canadian system, the desired outcome is that a complete cross-border log message is created with all cargo details, status changes, and coordination information formatted for canadian system consumption.
💻 Technical Criteria
Given Border crossing information has been added
When The log message is generated for the Canadian system
Then A complete cross-border log message is created with all cargo details, status changes, and coordination information formatted for Canadian system consumption
R-GCX016-cbl-04532 Bond Start Date Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Bond Start Date Available?' is invoked, and assuming that a cargo record is being processed for age calculation, when the system checks the bond start date field in the cargo record, the desired outcome is that if bond start date is present, proceed with age calculation; if bond start date is missing or blank, skip age calculation and end the process.
💻 Technical Criteria
Given A cargo record is being processed for age calculation
When The system checks the bond start date field in the cargo record
Then If bond start date is present, proceed with age calculation; if bond start date is missing or blank, skip age calculation and end the process
R-GCX016-cbl-04533 Convert Bond Start Date to Julian Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Bond Start Date to Julian Format' is invoked, and assuming that a valid bond start date exists in the cargo record, when the system needs to calculate cargo age, the desired outcome is that convert the bond start date to julian format using the date conversion utility.
💻 Technical Criteria
Given A valid bond start date exists in the cargo record
When The system needs to calculate cargo age
Then Convert the bond start date to Julian format using the date conversion utility
R-GCX016-cbl-04536 Age > Threshold for Destination Indexing?
Decision Rules
📊 Business Logic Narrative
When the process 'Age > Threshold for Destination Indexing?' is invoked, and assuming that cargo age in days has been calculated, when the system evaluates destination indexing requirements, the desired outcome is that if age is greater than the destination indexing threshold, set destination index required flag; otherwise clear the destination index flag.
💻 Technical Criteria
Given Cargo age in days has been calculated
When The system evaluates destination indexing requirements
Then If age is greater than the destination indexing threshold, set destination index required flag; otherwise clear the destination index flag
R-GCX016-cbl-04537 Set Destination Index Required Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Index Required Flag' is invoked, and assuming that cargo age exceeds the destination indexing threshold, when the system processes destination indexing requirements, the desired outcome is that set the destination index required flag to indicate that destination indexing is needed.
💻 Technical Criteria
Given Cargo age exceeds the destination indexing threshold
When The system processes destination indexing requirements
Then Set the destination index required flag to indicate that destination indexing is needed
R-GCX016-cbl-04538 Clear Destination Index Flag
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Destination Index Flag', assuming that cargo age does not exceed the destination indexing threshold, when the system processes destination indexing requirements, the desired outcome is that clear the destination index flag to indicate that destination indexing is not required.
💻 Technical Criteria
EXCLUDING Cargo age does not exceed the destination indexing threshold
When The system processes destination indexing requirements
Then Clear the destination index flag to indicate that destination indexing is not required
R-GCX016-cbl-04539 Update Cargo Record with Age Information
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Age Information' is invoked, and assuming that cargo age has been calculated and destination index requirements determined, when the system completes age calculation processing, the desired outcome is that update the cargo record with the calculated age information and destination index flag status.
💻 Technical Criteria
Given Cargo age has been calculated and destination index requirements determined
When The system completes age calculation processing
Then Update the cargo record with the calculated age information and destination index flag status
R-GCX016-cbl-00385 Disposition Code Has Quantity Action?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Has Quantity Action?' is invoked, and assuming that a disposition code is being processed for cargo, when the system checks if the disposition code has quantity action requirements, the desired outcome is that the system should proceed to quantity management if action is required, otherwise skip quantity processing.
💻 Technical Criteria
Given A disposition code is being processed for cargo
When The system checks if the disposition code has quantity action requirements
Then The system should proceed to quantity management if action is required, otherwise skip quantity processing
R-GCX016-cbl-00386 Get Current Cargo Quantities
Action Rules
📊 Business Logic Narrative
When the process 'Get Current Cargo Quantities' is invoked, and assuming that a cargo record requires quantity processing, when the system needs to access current quantity information, the desired outcome is that the system should retrieve both total cargo quantity and current released quantity from the cargo record.
💻 Technical Criteria
Given A cargo record requires quantity processing
When The system needs to access current quantity information
Then The system should retrieve both total cargo quantity and current released quantity from the cargo record
R-GCX016-cbl-00393 Update Cargo Released Quantity
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Released Quantity' is invoked, and assuming that a valid released quantity has been calculated, when the system updates the cargo record, the desired outcome is that the system should store the new released quantity in the cargo record.
💻 Technical Criteria
Given A valid released quantity has been calculated
When The system updates the cargo record
Then The system should store the new released quantity in the cargo record
R-GCX016-cbl-00394 Released = Total Quantity?
Decision Rules
📊 Business Logic Narrative
When the process 'Released = Total Quantity?' is invoked, and assuming that cargo has updated released quantity and known total quantity, when the system evaluates release completion status, the desired outcome is that the system should determine if released quantity equals or exceeds total quantity for full release status.
💻 Technical Criteria
Given Cargo has updated released quantity and known total quantity
When The system evaluates release completion status
Then The system should determine if released quantity equals or exceeds total quantity for full release status
R-GCX016-cbl-00395 Mark Cargo as Fully Released
Action Rules
📊 Business Logic Narrative
When the process 'Mark Cargo as Fully Released' is invoked, and assuming that cargo released quantity equals or exceeds total quantity, when the system assigns release status, the desired outcome is that the system should mark the cargo as fully released and update appropriate status flags.
💻 Technical Criteria
Given Cargo released quantity equals or exceeds total quantity
When The system assigns release status
Then The system should mark the cargo as fully released and update appropriate status flags
R-GCX016-cbl-00396 Mark Cargo as Partially Released
Action Rules
📊 Business Logic Narrative
When the process 'Mark Cargo as Partially Released' is invoked, and assuming that cargo released quantity is less than total quantity, when the system assigns release status, the desired outcome is that the system should mark the cargo as partially released and maintain hold status for remaining quantity.
💻 Technical Criteria
Given Cargo released quantity is less than total quantity
When The system assigns release status
Then The system should mark the cargo as partially released and maintain hold status for remaining quantity
R-GCX016-cbl-00397 Calculate Remaining Held Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Remaining Held Quantity' is invoked, and assuming that cargo has total quantity and released quantity values, when the system calculates remaining held quantity, the desired outcome is that the system should compute held quantity as total quantity minus released quantity.
💻 Technical Criteria
Given Cargo has total quantity and released quantity values
When The system calculates remaining held quantity
Then The system should compute held quantity as total quantity minus released quantity
R-GCX016-cbl-00398 Update Cargo Status Based on Quantities
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Based on Quantities' is invoked, and assuming that cargo has calculated total, released, and held quantities, when the system updates cargo status, the desired outcome is that the system should set appropriate cargo status codes based on quantity relationships and release completion.
💻 Technical Criteria
Given Cargo has calculated total, released, and held quantities
When The system updates cargo status
Then The system should set appropriate cargo status codes based on quantity relationships and release completion
R-GCX016-cbl-00399 Quantity Mismatch with Broker Entry?
Validation Rules
📊 Business Logic Narrative
When the process 'Quantity Mismatch with Broker Entry?' is invoked, and assuming that cargo has processed quantities and broker entry contains quantity information, when the system compares cargo quantities with broker entry quantities, the desired outcome is that the system should identify mismatches between cargo quantities and broker declared quantities.
💻 Technical Criteria
Given Cargo has processed quantities and broker entry contains quantity information
When The system compares cargo quantities with broker entry quantities
Then The system should identify mismatches between cargo quantities and broker declared quantities
R-GCX016-cbl-00400 Generate Broker Notification for Mismatch
Action Rules
📊 Business Logic Narrative
When the process 'Generate Broker Notification for Mismatch' is invoked, and assuming that a quantity mismatch has been detected between cargo and broker entry, when the system processes broker notifications, the desired outcome is that the system should generate and send a quantity mismatch notification to the appropriate broker.
💻 Technical Criteria
Given A quantity mismatch has been detected between cargo and broker entry
When The system processes broker notifications
Then The system should generate and send a quantity mismatch notification to the appropriate broker
R-GCX016-cbl-00401 Log Quantity Changes
Action Rules
📊 Business Logic Narrative
When the process 'Log Quantity Changes' is invoked, and assuming that quantity changes have been processed for cargo, when the system completes quantity management operations, the desired outcome is that the system should log all quantity changes, status updates, and related transaction details for audit purposes.
💻 Technical Criteria
Given Quantity changes have been processed for cargo
When The system completes quantity management operations
Then The system should log all quantity changes, status updates, and related transaction details for audit purposes
R-GCX016-cbl-00402 Compare Broker Entry Quantity vs Manifest Quantity
Validation Rules
📊 Business Logic Narrative
When the process 'Compare Broker Entry Quantity vs Manifest Quantity' is invoked, and assuming that cargo processing is complete and broker entry quantities exist, when system compares broker entry quantity against manifest quantity, the desired outcome is that system identifies quantity mismatch and flags for broker notification.
💻 Technical Criteria
Given Cargo processing is complete and broker entry quantities exist
When System compares broker entry quantity against manifest quantity
Then System identifies quantity mismatch and flags for broker notification
R-GCX016-cbl-00403 Retrieve Broker Information from BK/B1 Tables
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Broker Information from BK/B1 Tables' is invoked, and assuming that a quantity mismatch has been detected for cargo, when system needs to send broker notification, the desired outcome is that system retrieves broker information from gcstbrt broker tables including contact details and notification configuration.
💻 Technical Criteria
Given A quantity mismatch has been detected for cargo
When System needs to send broker notification
Then System retrieves broker information from GCSTBRT broker tables including contact details and notification configuration
R-GCX016-cbl-00406 Prepare Quantity Mismatch Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Quantity Mismatch Email Message' is invoked, and assuming that disposition code is valid for broker notifications, when system prepares the notification message, the desired outcome is that system creates formatted email message with quantity mismatch details, broker entry numbers, and relevant cargo information.
💻 Technical Criteria
Given Disposition code is valid for broker notifications
When System prepares the notification message
Then System creates formatted email message with quantity mismatch details, broker entry numbers, and relevant cargo information
R-GCX016-cbl-00408 Format Mismatch Details for Report
Process Rules
📊 Business Logic Narrative
When the process 'Format Mismatch Details for Report' is invoked, and assuming that broker entry numbers and quantities have been included in message, when system formats the mismatch details, the desired outcome is that system creates structured report format showing discrepancies, affected cargo, and recommended actions for broker review.
💻 Technical Criteria
Given Broker entry numbers and quantities have been included in message
When System formats the mismatch details
Then System creates structured report format showing discrepancies, affected cargo, and recommended actions for broker review
R-GCX016-cbl-00412 Set Email Keywords for Categorization
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Keywords for Categorization' is invoked, and assuming that notification routing method has been determined, when system sets email keywords, the desired outcome is that system assigns relevant keywords such as 'quantity_mismatch', 'broker_notification', and cargo-specific identifiers for proper categorization.
💻 Technical Criteria
Given Notification routing method has been determined
When System sets email keywords
Then System assigns relevant keywords such as 'QUANTITY_MISMATCH', 'BROKER_NOTIFICATION', and cargo-specific identifiers for proper categorization
R-GCX016-cbl-00415 No Notification Required
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No Notification Required', assuming that broker is not configured for notifications or no quantity mismatch detected or disposition code is invalid for notifications, when system evaluates notification requirements, the desired outcome is that system skips notification process and continues with normal cargo processing workflow.
💻 Technical Criteria
EXCLUDING Broker is not configured for notifications OR no quantity mismatch detected OR disposition code is invalid for notifications
When System evaluates notification requirements
Then System skips notification process and continues with normal cargo processing workflow
R-GCX016-cbl-00416 112: Broker Disposition Code Validation
Validation Rules
📊 Business Logic Narrative
When the process '112: Broker Disposition Code Validation' is invoked, and assuming that a cih hold code has been detected for cargo processing, when the system checks the disposition code configuration in the broker notification table, the desired outcome is that the system determines if the disposition code is configured for broker notification and sets appropriate processing flags.
💻 Technical Criteria
Given A CIH hold code has been detected for cargo processing
When The system checks the disposition code configuration in the broker notification table
Then The system determines if the disposition code is configured for broker notification and sets appropriate processing flags
R-GCX016-cbl-00420 Prepare CIH Hold Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare CIH Hold Email Message' is invoked, and assuming that email has been selected as the notification method for the broker, when the system prepares the cih hold notification email content, the desired outcome is that the system formats cargo information, hold details, and disposition code information into the email message body.
💻 Technical Criteria
Given Email has been selected as the notification method for the broker
When The system prepares the CIH hold notification email content
Then The system formats cargo information, hold details, and disposition code information into the email message body
R-GCX016-cbl-00422 119: Subject Line Formatting
Process Rules
📊 Business Logic Narrative
When the process '119: Subject Line Formatting' is invoked, and assuming that email keywords and routing parameters have been configured for cih hold notification, when the system formats the email subject line, the desired outcome is that the system creates a subject line containing cargo identification, hold type, and relevant disposition code information.
💻 Technical Criteria
Given Email keywords and routing parameters have been configured for CIH hold notification
When The system formats the email subject line
Then The system creates a subject line containing cargo identification, hold type, and relevant disposition code information
R-GCX016-cbl-00424 Prepare Merlin Message for CIH Hold
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Merlin Message for CIH Hold' is invoked, and assuming that merlin messaging has been selected as the notification method for the broker, when the system prepares the cih hold notification for merlin transmission, the desired outcome is that the system formats cargo details, hold information, and disposition codes into merlin message format.
💻 Technical Criteria
Given Merlin messaging has been selected as the notification method for the broker
When The system prepares the CIH hold notification for Merlin transmission
Then The system formats cargo details, hold information, and disposition codes into Merlin message format
R-GCX016-cbl-00426 126: Cargo Information Logging
Process Rules
📊 Business Logic Narrative
When the process '126: Cargo Information Logging' is invoked, and assuming that the cih hold notification has been successfully sent via email or merlin, when the system performs audit logging for the notification transaction, the desired outcome is that the system records cargo identification, broker information, notification method, and timestamp in the audit log.
💻 Technical Criteria
Given The CIH hold notification has been successfully sent via email or Merlin
When The system performs audit logging for the notification transaction
Then The system records cargo identification, broker information, notification method, and timestamp in the audit log
R-GCX016-cbl-00427 Skip Notification - Not Configured
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Notification - Not Configured', assuming that a cih hold code has been detected for cargo processing, when the disposition code is not configured for broker notification in the system tables, the desired outcome is that the system skips broker notification processing and continues with standard cargo processing.
💻 Technical Criteria
EXCLUDING A CIH hold code has been detected for cargo processing
When The disposition code is not configured for broker notification in the system tables
Then The system skips broker notification processing and continues with standard cargo processing
R-GCX016-cbl-00429 97: Payer of Freight Identification
Action Rules
📊 Business Logic Narrative
When the process '97: Payer of Freight Identification' is invoked, and assuming that a cih hold code has been detected on cargo, when the system searches for payer of freight information in secondary cargo records, the desired outcome is that the system retrieves payer of freight details from gcsa2rt records if available.
💻 Technical Criteria
Given A CIH hold code has been detected on cargo
When The system searches for payer of freight information in secondary cargo records
Then The system retrieves payer of freight details from GCSA2RT records if available
R-GCX016-cbl-00430 Payer of Freight Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Payer of Freight Found?' is invoked, and assuming that the system has searched secondary cargo records for payer of freight, when the search results are evaluated for valid payer entity, the desired outcome is that the system proceeds with broker name resolution if payer found, otherwise skips notification processing.
💻 Technical Criteria
Given The system has searched secondary cargo records for payer of freight
When The search results are evaluated for valid payer entity
Then The system proceeds with broker name resolution if payer found, otherwise skips notification processing
R-GCX016-cbl-00433 Prepare CIH Hold Notification
Process Rules
📊 Business Logic Narrative
When the process 'Prepare CIH Hold Notification' is invoked, and assuming that a valid payer entity has been verified for cih hold notification, when the system formats the notification message content including hold code details and cargo information, the desired outcome is that the system creates a complete notification message ready for routing.
💻 Technical Criteria
Given A valid payer entity has been verified for CIH hold notification
When The system formats the notification message content including hold code details and cargo information
Then The system creates a complete notification message ready for routing
R-GCX016-cbl-00442 Update Cargo Record Bonded-To Station
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record Bonded-To Station' is invoked, and assuming that the new bonded-to station code has been validated in the ds table, when the system processes the diversion approval, the desired outcome is that the system updates the cargo record's bonded-to station field with the new validated station code.
💻 Technical Criteria
Given The new bonded-to station code has been validated in the DS table
When The system processes the diversion approval
Then The system updates the cargo record's bonded-to station field with the new validated station code
R-GCX016-cbl-00443 Update Cargo Status Array with 3W Code
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array with 3W Code' is invoked, and assuming that the cargo record has been updated with the new bonded-to station, when the system processes the status update, the desired outcome is that the system adds the 3w disposition code to the cargo status array with appropriate sequence and occurrence numbers.
💻 Technical Criteria
Given The cargo record has been updated with the new bonded-to station
When The system processes the status update
Then The system adds the 3W disposition code to the cargo status array with appropriate sequence and occurrence numbers
R-GCX016-cbl-00444 Log Diversion Approval Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Diversion Approval Action' is invoked, and assuming that the cargo status array has been updated with the 3w code, when the system completes the diversion processing, the desired outcome is that the system logs the diversion approval action with cargo details, old station, new station, and timestamp.
💻 Technical Criteria
Given The cargo status array has been updated with the 3W code
When The system completes the diversion processing
Then The system logs the diversion approval action with cargo details, old station, new station, and timestamp
R-GCX016-cbl-00446 Update Destination Index if Required
Decision Rules
📊 Business Logic Narrative
When the process 'Update Destination Index if Required' is invoked, and assuming that diversion approval notifications have been generated, when the system evaluates if destination index update is required, the desired outcome is that the system updates the destination index if the new bonded-to station requires it based on cargo status and routing rules.
💻 Technical Criteria
Given Diversion approval notifications have been generated
When The system evaluates if destination index update is required
Then The system updates the destination index if the new bonded-to station requires it based on cargo status and routing rules
R-GCX016-cbl-00451 Check if Code Already Exists in Status Array
Validation Rules
📊 Business Logic Narrative
When the process 'Check if Code Already Exists in Status Array' is invoked, and assuming that a disposition code 02 is being processed for a cargo record, when the system searches the current status array for the same disposition code, the desired outcome is that if the code already exists, processing is skipped; if not found, processing continues.
💻 Technical Criteria
Given A disposition code 02 is being processed for a cargo record
When The system searches the current status array for the same disposition code
Then If the code already exists, processing is skipped; if not found, processing continues
R-GCX016-cbl-00452 Remove Any Counterpart Disposition Codes
Process Rules
📊 Business Logic Narrative
When the process 'Remove Any Counterpart Disposition Codes' is invoked, and assuming that a disposition code 02 has counterpart codes defined in the dc table, when the system processes the new disposition code, the desired outcome is that all counterpart disposition codes are removed from the cargo status array before adding the new code.
💻 Technical Criteria
Given A disposition code 02 has counterpart codes defined in the DC table
When The system processes the new disposition code
Then All counterpart disposition codes are removed from the cargo status array before adding the new code
R-GCX016-cbl-00453 Validate Entry Number and Quantity Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entry Number and Quantity Information' is invoked, and assuming that a disposition code 02 includes entry number and quantity information, when the system validates the entry data, the desired outcome is that entry numbers must be properly formatted and quantities must be positive numeric values within cargo limits.
💻 Technical Criteria
Given A disposition code 02 includes entry number and quantity information
When The system validates the entry data
Then Entry numbers must be properly formatted and quantities must be positive numeric values within cargo limits
R-GCX016-cbl-00456 Analyze Updated Status Array for Cargo State
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Updated Status Array for Cargo State' is invoked, and assuming that the status array has been updated with disposition code 02, when the system analyzes the cargo state, the desired outcome is that if released quantity equals or exceeds total quantity and no hold codes exist, cargo qualifies for full release.
💻 Technical Criteria
Given The status array has been updated with disposition code 02
When The system analyzes the cargo state
Then If released quantity equals or exceeds total quantity and no hold codes exist, cargo qualifies for full release
R-GCX016-cbl-00457 Set Full Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Full Release Status' is invoked, and assuming that cargo meets all full release conditions, when the system processes the full release, the desired outcome is that cargo status is set to fully released and destination index is cleared.
💻 Technical Criteria
Given Cargo meets all full release conditions
When The system processes the full release
Then Cargo status is set to fully released and destination index is cleared
R-GCX016-cbl-00458 Set Hold on Piece Counts Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts Status' is invoked, and assuming that released quantity is less than total cargo quantity, when the system processes the partial release, the desired outcome is that cargo status is set to hold on piece counts and destination index is maintained.
💻 Technical Criteria
Given Released quantity is less than total cargo quantity
When The system processes the partial release
Then Cargo status is set to hold on piece counts and destination index is maintained
R-GCX016-cbl-00459 Update Released Quantity in Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Update Released Quantity in Cargo Record' is invoked, and assuming that a disposition code 02 has been processed with quantity impact, when the system updates the cargo record, the desired outcome is that the released quantity field is updated to reflect the new release amount.
💻 Technical Criteria
Given A disposition code 02 has been processed with quantity impact
When The system updates the cargo record
Then The released quantity field is updated to reflect the new release amount
R-GCX016-cbl-00460 Generate Release Message with Quantity Details
Action Rules
📊 Business Logic Narrative
When the process 'Generate Release Message with Quantity Details' is invoked, and assuming that a cargo record has been successfully processed for release, when the system generates the release message, the desired outcome is that the message includes cargo identification, release quantities, and disposition code details.
💻 Technical Criteria
Given A cargo record has been successfully processed for release
When The system generates the release message
Then The message includes cargo identification, release quantities, and disposition code details
R-GCX016-cbl-00461 Call Integration Services for Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Call Integration Services for Release Notification' is invoked, and assuming that a cargo release has been processed and message generated, when the system calls integration services, the desired outcome is that external systems are notified of the cargo release status change.
💻 Technical Criteria
Given A cargo release has been processed and message generated
When The system calls integration services
Then External systems are notified of the cargo release status change
R-GCX016-cbl-00462 Update Cargo Record in Database
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that all release processing has been completed successfully, when the system updates the database, the desired outcome is that the cargo record is updated with new status, quantities, and disposition codes.
💻 Technical Criteria
Given All release processing has been completed successfully
When The system updates the database
Then The cargo record is updated with new status, quantities, and disposition codes
R-GCX016-cbl-00463 Log Release Transaction for Audit Trail
Policy Rules
📊 Business Logic Narrative
When the process 'Log Release Transaction for Audit Trail' is invoked, and assuming that a cargo release transaction has been completed, when the system logs the transaction, the desired outcome is that audit trail includes cargo id, disposition code, quantities, timestamps, and user information.
💻 Technical Criteria
Given A cargo release transaction has been completed
When The system logs the transaction
Then Audit trail includes cargo ID, disposition code, quantities, timestamps, and user information
R-GCX016-cbl-00466 Validate Disposition Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Disposition Code' is invoked, and assuming that a disposition code 50, 51, or 52 is received for cargo release processing, when the system looks up the disposition code in the dc table, the desired outcome is that if the code is found, processing continues; if not found, an error message is generated and processing stops.
💻 Technical Criteria
Given A disposition code 50, 51, or 52 is received for cargo release processing
When The system looks up the disposition code in the DC table
Then If the code is found, processing continues; if not found, an error message is generated and processing stops
R-GCX016-cbl-00467 Check Train Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check Train Status' is invoked, and assuming that a valid disposition code has been received for cargo release, when the system checks if the associated train exists in the system, the desired outcome is that if train is not found, a train not found error is generated and processing stops; if found, release processing continues.
💻 Technical Criteria
Given A valid disposition code has been received for cargo release
When The system checks if the associated train exists in the system
Then If train is not found, a train not found error is generated and processing stops; if found, release processing continues
R-GCX016-cbl-00468 Check Release Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'Check Release Conditions' is invoked, and assuming that a train exists and disposition code is valid, when the system validates cargo quantities and checks current hold status, the desired outcome is that if release conditions are not met, the release request is rejected; if conditions are met, release processing proceeds.
💻 Technical Criteria
Given A train exists and disposition code is valid
When The system validates cargo quantities and checks current hold status
Then If release conditions are not met, the release request is rejected; if conditions are met, release processing proceeds
R-GCX016-cbl-00474 Update Train Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status' is invoked, and assuming that release processing is complete and release flag is set, when the system updates the train status, the desired outcome is that train status is updated to reflect the cargo release, and train movement restrictions may be lifted if all cargo is released.
💻 Technical Criteria
Given Release processing is complete and release flag is set
When The system updates the train status
Then Train status is updated to reflect the cargo release, and train movement restrictions may be lifted if all cargo is released
R-GCX016-cbl-00475 Call Integration Services
Action Rules
📊 Business Logic Narrative
When the process 'Call Integration Services' is invoked, and assuming that release message has been generated, when the system calls integration services (gcciis), the desired outcome is that external systems are notified of the cargo release for container/trailer equipment processing and customs clearance.
💻 Technical Criteria
Given Release message has been generated
When The system calls integration services (GCCIIS)
Then External systems are notified of the cargo release for container/trailer equipment processing and customs clearance
R-GCX016-cbl-00476 Log Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Log Transaction' is invoked, and assuming that release processing is complete (successful or rejected), when the system logs the transaction, the desired outcome is that transaction details including disposition code, cargo information, and processing results are logged via gct1051e for audit trail.
💻 Technical Criteria
Given Release processing is complete (successful or rejected)
When The system logs the transaction
Then Transaction details including disposition code, cargo information, and processing results are logged via GCT1051E for audit trail
R-GCX016-cbl-00480 Generate Error Message - Cargo Not Found
Process Rules
📊 Business Logic Narrative
When the process 'Generate Error Message - Cargo Not Found' is invoked, and assuming that a disposition code (66, 67, or 68) needs to be applied to cargo, when the cargo record cannot be found in the system, the desired outcome is that the system should generate an error message indicating cargo not found, increment the error counter, and continue processing the next segment.
💻 Technical Criteria
Given A disposition code (66, 67, or 68) needs to be applied to cargo
When The cargo record cannot be found in the system
Then The system should generate an error message indicating cargo not found, increment the error counter, and continue processing the next segment
R-GCX016-cbl-00481 Code Already Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Code Already Exists?' is invoked, and assuming that a cargo record exists and a disposition code (66, 67, or 68) needs to be applied, when the system checks the cargo's status array for existing codes, the desired outcome is that if the same disposition code already exists in the status array, the system should skip processing and continue to the next segment.
💻 Technical Criteria
Given A cargo record exists and a disposition code (66, 67, or 68) needs to be applied
When The system checks the cargo's status array for existing codes
Then If the same disposition code already exists in the status array, the system should skip processing and continue to the next segment
R-GCX016-cbl-00482 Skip Duplicate Code Processing
Process Rules
📊 Business Logic Narrative
When the process 'Skip Duplicate Code Processing' is invoked, and assuming that a disposition code already exists in the cargo's status array, when the same disposition code is received again for the same cargo, the desired outcome is that the system should skip all processing for this code and continue to the next segment without making any changes.
💻 Technical Criteria
Given A disposition code already exists in the cargo's status array
When The same disposition code is received again for the same cargo
Then The system should skip all processing for this code and continue to the next segment without making any changes
R-GCX016-cbl-00483 Determine Hold Location - Border or Destination
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Hold Location - Border or Destination' is invoked, and assuming that a valid disposition code (66, 67, or 68) needs to be applied to existing cargo, when the system evaluates the cargo's current location and status, the desired outcome is that the system should determine whether to apply the hold at the border location or destination location based on cargo movement status.
💻 Technical Criteria
Given A valid disposition code (66, 67, or 68) needs to be applied to existing cargo
When The system evaluates the cargo's current location and status
Then The system should determine whether to apply the hold at the border location or destination location based on cargo movement status
R-GCX016-cbl-00484 Code 66 - Hold for Examination?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Code 66 - Hold for Examination?', assuming that disposition code 66 (hold for examination) is received for valid cargo, when the code is not a duplicate and cargo exists, the desired outcome is that the system should set border hold status for standard examination requirements.
💻 Technical Criteria
EXCLUDING Disposition code 66 (Hold for Examination) is received for valid cargo
When The code is not a duplicate and cargo exists
Then The system should set border hold status for standard examination requirements
R-GCX016-cbl-00485 Code 67 - Intensive Examination?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Code 67 - Intensive Examination?', assuming that disposition code 67 (intensive examination) is received for valid cargo, when the code is not a duplicate and cargo exists, the desired outcome is that the system should set intensive examination hold status with enhanced security requirements.
💻 Technical Criteria
EXCLUDING Disposition code 67 (Intensive Examination) is received for valid cargo
When The code is not a duplicate and cargo exists
Then The system should set intensive examination hold status with enhanced security requirements
R-GCX016-cbl-00486 Code 68 - X-Ray Examination?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Code 68 - X-Ray Examination?', assuming that disposition code 68 (x-ray examination) is received for valid cargo, when the code is not a duplicate and cargo exists, the desired outcome is that the system should set x-ray examination hold status requiring imaging inspection.
💻 Technical Criteria
EXCLUDING Disposition code 68 (X-Ray Examination) is received for valid cargo
When The code is not a duplicate and cargo exists
Then The system should set X-ray examination hold status requiring imaging inspection
R-GCX016-cbl-00487 Set Border Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Status' is invoked, and assuming that a disposition code 66 requires border examination, when the hold location is determined to be at the border, the desired outcome is that the system should set border hold status preventing cargo movement until examination is completed.
💻 Technical Criteria
Given A disposition code 66 requires border examination
When The hold location is determined to be at the border
Then The system should set border hold status preventing cargo movement until examination is completed
R-GCX016-cbl-00489 Set Intensive Examination Hold
Action Rules
📊 Business Logic Narrative
When the process 'Set Intensive Examination Hold' is invoked, and assuming that disposition code 67 (intensive examination) is being processed, when the cargo requires intensive examination, the desired outcome is that the system should set intensive examination hold status with enhanced security flags and inspection requirements.
💻 Technical Criteria
Given Disposition code 67 (Intensive Examination) is being processed
When The cargo requires intensive examination
Then The system should set intensive examination hold status with enhanced security flags and inspection requirements
R-GCX016-cbl-00490 Set X-Ray Examination Hold
Action Rules
📊 Business Logic Narrative
When the process 'Set X-Ray Examination Hold' is invoked, and assuming that disposition code 68 (x-ray examination) is being processed, when the cargo requires x-ray examination, the desired outcome is that the system should set x-ray examination hold status requiring imaging inspection before release.
💻 Technical Criteria
Given Disposition code 68 (X-Ray Examination) is being processed
When The cargo requires X-ray examination
Then The system should set X-ray examination hold status requiring imaging inspection before release
R-GCX016-cbl-00491 Add Hold Code to Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Add Hold Code to Status Array' is invoked, and assuming that a hold status has been determined for the cargo, when the disposition code needs to be recorded in the cargo status, the desired outcome is that the system should add the hold code to the cargo's status array with appropriate sequence and occurrence numbers.
💻 Technical Criteria
Given A hold status has been determined for the cargo
When The disposition code needs to be recorded in the cargo status
Then The system should add the hold code to the cargo's status array with appropriate sequence and occurrence numbers
R-GCX016-cbl-00492 Update Cargo Hold Flags
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Hold Flags' is invoked, and assuming that a hold code has been added to the status array, when the cargo record needs to reflect the current hold status, the desired outcome is that the system should update the cargo hold flags to indicate border hold, destination hold, or examination hold status as appropriate.
💻 Technical Criteria
Given A hold code has been added to the status array
When The cargo record needs to reflect the current hold status
Then The system should update the cargo hold flags to indicate border hold, destination hold, or examination hold status as appropriate
R-GCX016-cbl-00493 Generate Hold Notification Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Hold Notification Message' is invoked, and assuming that a hold has been successfully applied to cargo, when notification is required for the hold action, the desired outcome is that the system should generate a hold notification message including cargo details, hold type, and location information.
💻 Technical Criteria
Given A hold has been successfully applied to cargo
When Notification is required for the hold action
Then The system should generate a hold notification message including cargo details, hold type, and location information
R-GCX016-cbl-00494 Call Integration Services for Hold Notification
Action Rules
📊 Business Logic Narrative
When the process 'Call Integration Services for Hold Notification' is invoked, and assuming that a hold notification message has been generated, when external systems need to be notified of the hold status, the desired outcome is that the system should call integration services (gcciis) to notify equipment and other systems of the hold status.
💻 Technical Criteria
Given A hold notification message has been generated
When External systems need to be notified of the hold status
Then The system should call integration services (GCCIIS) to notify equipment and other systems of the hold status
R-GCX016-cbl-00495 Log Hold Processing Activity
Action Rules
📊 Business Logic Narrative
When the process 'Log Hold Processing Activity' is invoked, and assuming that hold processing has been completed for cargo, when activity logging is required for audit purposes, the desired outcome is that the system should log the hold processing activity including disposition code, cargo details, and processing timestamp.
💻 Technical Criteria
Given Hold processing has been completed for cargo
When Activity logging is required for audit purposes
Then The system should log the hold processing activity including disposition code, cargo details, and processing timestamp
R-GCX016-cbl-00499 Update Cargo Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array' is invoked, and assuming that new customs requirement disposition code has been processed, when the system updates cargo status information, the desired outcome is that the gcsuss09 status array is updated with the new customs requirement status and related information.
💻 Technical Criteria
Given New customs requirement disposition code has been processed
When The system updates cargo status information
Then The GCSUSS09 status array is updated with the new customs requirement status and related information
R-GCX016-cbl-00500 224: Status Array Analysis
Decision Rules
📊 Business Logic Narrative
When the process '224: Status Array Analysis' is invoked, and assuming that cargo status array has been updated with new customs requirements, when the system performs status array analysis, the desired outcome is that the system determines compliance status, required notifications, and subsequent processing steps.
💻 Technical Criteria
Given Cargo status array has been updated with new customs requirements
When The system performs status array analysis
Then The system determines compliance status, required notifications, and subsequent processing steps
R-GCX016-cbl-00503 126: Cargo Information Logging
Action Rules
📊 Business Logic Narrative
When the process '126: Cargo Information Logging' is invoked, and assuming that new customs requirements have been processed, when the system completes processing of disposition codes 88, 89, or 90, the desired outcome is that cargo information and processing details are logged for audit trail and compliance tracking.
💻 Technical Criteria
Given New customs requirements have been processed
When The system completes processing of disposition codes 88, 89, or 90
Then Cargo information and processing details are logged for audit trail and compliance tracking
R-GCX016-cbl-00506 Retrieve Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Record' is invoked, and assuming that a valid disposition code 95 and cargo identifier, when the system accesses the gccc-cargo-root cargo records database, the desired outcome is that the system retrieves the complete cargo record for processing or returns cargo not found error.
💻 Technical Criteria
Given A valid disposition code 95 and cargo identifier
When The system accesses the GCCC-CARGO-ROOT cargo records database
Then The system retrieves the complete cargo record for processing or returns cargo not found error
R-GCX016-cbl-00507 Clear Bond Control Number
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Control Number' is invoked, and assuming that a cargo record with an existing bond control number and disposition code 95, when the system processes the special customs handling request, the desired outcome is that the system removes the bond control number from the cargo record.
💻 Technical Criteria
Given A cargo record with an existing bond control number and disposition code 95
When The system processes the special customs handling request
Then The system removes the bond control number from the cargo record
R-GCX016-cbl-00508 Clear Broker Entry Number
Process Rules
📊 Business Logic Narrative
When the process 'Clear Broker Entry Number' is invoked, and assuming that a cargo record with an existing broker entry number and disposition code 95, when the system processes the special customs handling request, the desired outcome is that the system removes the broker entry number from the cargo record.
💻 Technical Criteria
Given A cargo record with an existing broker entry number and disposition code 95
When The system processes the special customs handling request
Then The system removes the broker entry number from the cargo record
R-GCX016-cbl-00509 Clear Related Bond Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear Related Bond Data' is invoked, and assuming that a cargo record with existing bond-related data fields and disposition code 95, when the system processes the special customs handling request, the desired outcome is that the system removes all bond-related data including bond numbers, dates, and references.
💻 Technical Criteria
Given A cargo record with existing bond-related data fields and disposition code 95
When The system processes the special customs handling request
Then The system removes all bond-related data including bond numbers, dates, and references
R-GCX016-cbl-00510 Update Cargo Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array' is invoked, and assuming that a cargo record with disposition code 95 and existing status array, when the system processes the special customs handling, the desired outcome is that the system adds the disposition code 95 status to the cargo status array with appropriate sequence and occurrence numbers.
💻 Technical Criteria
Given A cargo record with disposition code 95 and existing status array
When The system processes the special customs handling
Then The system adds the disposition code 95 status to the cargo status array with appropriate sequence and occurrence numbers
R-GCX016-cbl-00511 Set Special Processing Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Special Processing Flag' is invoked, and assuming that a cargo record being processed with disposition code 95, when the system completes the bond data clearing operations, the desired outcome is that the system sets a special processing flag to track the cargo's special handling status.
💻 Technical Criteria
Given A cargo record being processed with disposition code 95
When The system completes the bond data clearing operations
Then The system sets a special processing flag to track the cargo's special handling status
R-GCX016-cbl-00512 Log Special Processing Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Special Processing Action' is invoked, and assuming that a cargo record that has undergone disposition code 95 processing, when the system completes the special processing operations, the desired outcome is that the system creates an audit log entry documenting the special processing action with timestamp and cargo details.
💻 Technical Criteria
Given A cargo record that has undergone disposition code 95 processing
When The system completes the special processing operations
Then The system creates an audit log entry documenting the special processing action with timestamp and cargo details
R-GCX016-cbl-00513 Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that a cargo record with completed disposition code 95 processing changes, when the system commits the changes to the gccc-cargo-root database, the desired outcome is that the system successfully updates the cargo record with cleared bond data and new status information.
💻 Technical Criteria
Given A cargo record with completed disposition code 95 processing changes
When The system commits the changes to the GCCC-CARGO-ROOT database
Then The system successfully updates the cargo record with cleared bond data and new status information
R-GCX016-cbl-00514 Generate Status Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Status Message' is invoked, and assuming that a cargo record that has completed disposition code 95 processing, when the system finalizes the database updates, the desired outcome is that the system generates a status message containing cargo details and processing results for distribution.
💻 Technical Criteria
Given A cargo record that has completed disposition code 95 processing
When The system finalizes the database updates
Then The system generates a status message containing cargo details and processing results for distribution
R-GCX016-cbl-00517 Validate Disposition Code A1/A3
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Disposition Code A1/A3' is invoked, and assuming that a disposition code is received for cargo processing, when the disposition code is a1 or a3, the desired outcome is that the system validates the code as a valid fda disposition code and proceeds with fda processing.
💻 Technical Criteria
Given A disposition code is received for cargo processing
When The disposition code is A1 or A3
Then The system validates the code as a valid FDA disposition code and proceeds with FDA processing
R-GCX016-cbl-00518 Retrieve N9 Reference Segments
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve N9 Reference Segments' is invoked, and assuming that a valid fda disposition code a1 or a3 has been validated, when the system needs fda reference information for compliance processing, the desired outcome is that the system retrieves all available n9 reference segments associated with the cargo.
💻 Technical Criteria
Given A valid FDA disposition code A1 or A3 has been validated
When The system needs FDA reference information for compliance processing
Then The system retrieves all available N9 reference segments associated with the cargo
R-GCX016-cbl-00523 FDA Requirements Met?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Requirements Met?' is invoked, and assuming that fda compliance requirements have been validated against cargo information, when all fda requirements are met, the desired outcome is that the system sets fda hold status at destination, otherwise generates fda compliance error.
💻 Technical Criteria
Given FDA compliance requirements have been validated against cargo information
When All FDA requirements are met
Then The system sets FDA hold status at destination, otherwise generates FDA compliance error
R-GCX016-cbl-00524 Set FDA Hold Status at Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Status at Destination' is invoked, and assuming that fda compliance requirements have been validated and met, when cargo requires fda hold for inspection at destination, the desired outcome is that the system sets fda hold status specifically at the destination location.
💻 Technical Criteria
Given FDA compliance requirements have been validated and met
When Cargo requires FDA hold for inspection at destination
Then The system sets FDA hold status specifically at the destination location
R-GCX016-cbl-00525 Update Cargo Status Array with FDA Code
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array with FDA Code' is invoked, and assuming that fda hold status has been set at destination, when the cargo status array needs to be updated with fda information, the desired outcome is that the system adds fda disposition codes and hold status to the cargo status array.
💻 Technical Criteria
Given FDA hold status has been set at destination
When The cargo status array needs to be updated with FDA information
Then The system adds FDA disposition codes and hold status to the cargo status array
R-GCX016-cbl-00526 Generate FDA Hold Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate FDA Hold Message' is invoked, and assuming that cargo status array has been updated with fda codes, when fda hold message needs to be generated for stakeholder notification, the desired outcome is that the system creates fda hold message with relevant compliance information and cargo details.
💻 Technical Criteria
Given Cargo status array has been updated with FDA codes
When FDA hold message needs to be generated for stakeholder notification
Then The system creates FDA hold message with relevant compliance information and cargo details
R-GCX016-cbl-00527 Route FDA Notification to Appropriate Parties
Action Rules
📊 Business Logic Narrative
When the process 'Route FDA Notification to Appropriate Parties' is invoked, and assuming that fda hold message has been generated, when fda notification needs to be distributed to stakeholders, the desired outcome is that the system routes the notification to fda, brokers, and other appropriate parties based on cargo and compliance requirements.
💻 Technical Criteria
Given FDA hold message has been generated
When FDA notification needs to be distributed to stakeholders
Then The system routes the notification to FDA, brokers, and other appropriate parties based on cargo and compliance requirements
R-GCX016-cbl-00530 Route Error to FDA Processing Team
Action Rules
📊 Business Logic Narrative
When the process 'Route Error to FDA Processing Team' is invoked, and assuming that fda compliance error has been generated, when error needs to be routed for resolution, the desired outcome is that the system routes the fda compliance error to the fda processing team with all relevant cargo and error details.
💻 Technical Criteria
Given FDA compliance error has been generated
When Error needs to be routed for resolution
Then The system routes the FDA compliance error to the FDA processing team with all relevant cargo and error details
R-GCX016-cbl-04129 Is Port Code = LRD Laredo?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Port Code = LRD Laredo?' is invoked, and assuming that a cargo shipment is being processed with a specific port code, when the system checks if the port code equals 'lrd' (laredo), the desired outcome is that the system proceeds to kcsm disposition code validation if port is laredo, otherwise skips kcsm processing.
💻 Technical Criteria
Given A cargo shipment is being processed with a specific port code
When The system checks if the port code equals 'LRD' (Laredo)
Then The system proceeds to KCSM disposition code validation if port is Laredo, otherwise skips KCSM processing
R-GCX016-cbl-00544 Disposition Code 95 Detected
Decision Rules
📊 Business Logic Narrative
When the process 'Disposition Code 95 Detected' is invoked, and assuming that a cargo record exists in the system and disposition code 95 is being processed, when the system processes the disposition code 95 for bond clearing, the desired outcome is that the system should identify the cargo record and initiate bond information clearing process.
💻 Technical Criteria
Given A cargo record exists in the system and disposition code 95 is being processed
When The system processes the disposition code 95 for bond clearing
Then The system should identify the cargo record and initiate bond information clearing process
R-GCX016-cbl-00545 Cargo Record Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Record Exists?' is invoked, and assuming that a request to clear bond information for a specific cargo, when the system attempts to access the cargo record, the desired outcome is that the system should verify the cargo record exists and either proceed with clearing or generate an error if not found.
💻 Technical Criteria
Given A request to clear bond information for a specific cargo
When The system attempts to access the cargo record
Then The system should verify the cargo record exists and either proceed with clearing or generate an error if not found
R-GCX016-cbl-00546 Clear Bond Control Number
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Control Number' is invoked, and assuming that a valid cargo record is accessed for bond clearing, when the system processes bond control number clearing, the desired outcome is that the bond control number field should be set to spaces or null value.
💻 Technical Criteria
Given A valid cargo record is accessed for bond clearing
When The system processes bond control number clearing
Then The bond control number field should be set to spaces or null value
R-GCX016-cbl-00547 Clear Broker Entry Number
Action Rules
📊 Business Logic Narrative
When the process 'Clear Broker Entry Number' is invoked, and assuming that a cargo record with bond information is being processed, when the system clears broker entry number information, the desired outcome is that the broker entry number field should be set to spaces or null value.
💻 Technical Criteria
Given A cargo record with bond information is being processed
When The system clears broker entry number information
Then The broker entry number field should be set to spaces or null value
R-GCX016-cbl-00548 Clear Related Bond Data
Action Rules
📊 Business Logic Narrative
When the process 'Clear Related Bond Data' is invoked, and assuming that a cargo record contains various bond-related data fields, when the system processes related bond data clearing, the desired outcome is that all bond-related data fields should be cleared or reset to default values.
💻 Technical Criteria
Given A cargo record contains various bond-related data fields
When The system processes related bond data clearing
Then All bond-related data fields should be cleared or reset to default values
R-GCX016-cbl-00549 Clear Bonded-To Station Information
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bonded-To Station Information' is invoked, and assuming that a cargo record contains bonded-to station information, when the system clears bonded-to station information, the desired outcome is that the bonded-to station field should be set to spaces or null value.
💻 Technical Criteria
Given A cargo record contains bonded-to station information
When The system clears bonded-to station information
Then The bonded-to station field should be set to spaces or null value
R-GCX016-cbl-00550 Clear Bond Start Date
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Start Date' is invoked, and assuming that a cargo record contains a bond start date, when the system clears bond start date information, the desired outcome is that the bond start date field should be set to zeros or null value.
💻 Technical Criteria
Given A cargo record contains a bond start date
When The system clears bond start date information
Then The bond start date field should be set to zeros or null value
R-GCX016-cbl-00551 Clear Bond Type Information
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Type Information' is invoked, and assuming that a cargo record contains bond type information, when the system clears bond type information, the desired outcome is that the bond type field should be set to spaces or null value.
💻 Technical Criteria
Given A cargo record contains bond type information
When The system clears bond type information
Then The bond type field should be set to spaces or null value
R-GCX016-cbl-00552 Update Cargo Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status' is invoked, and assuming that all bond information has been cleared from the cargo record, when the system updates the cargo status, the desired outcome is that the cargo status should be updated to reflect the removal of bonding requirements.
💻 Technical Criteria
Given All bond information has been cleared from the cargo record
When The system updates the cargo status
Then The cargo status should be updated to reflect the removal of bonding requirements
R-GCX016-cbl-00553 Log Bond Clearing Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Bond Clearing Action' is invoked, and assuming that bond information has been cleared from a cargo record, when the system logs the bond clearing action, the desired outcome is that an audit log entry should be created documenting the bond clearing action with relevant details.
💻 Technical Criteria
Given Bond information has been cleared from a cargo record
When The system logs the bond clearing action
Then An audit log entry should be created documenting the bond clearing action with relevant details
R-GCX016-cbl-00554 Replace Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Replace Cargo Record in Database' is invoked, and assuming that a cargo record has been modified with cleared bond information, when the system replaces the cargo record in the database, the desired outcome is that the updated cargo record should be successfully saved to the database with all bond information cleared.
💻 Technical Criteria
Given A cargo record has been modified with cleared bond information
When The system replaces the cargo record in the database
Then The updated cargo record should be successfully saved to the database with all bond information cleared
R-GCX016-cbl-00556 Error: Cargo Not Found
Validation Rules
📊 Business Logic Narrative
When the process 'Error: Cargo Not Found' is invoked, and assuming that a request to clear bond information for a specific cargo, when the cargo record cannot be found in the database, the desired outcome is that the system should generate a cargo not found error and terminate the bond clearing process.
💻 Technical Criteria
Given A request to clear bond information for a specific cargo
When The cargo record cannot be found in the database
Then The system should generate a cargo not found error and terminate the bond clearing process
R-GCX016-cbl-00577 Clear Bond Control Numbers
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Control Numbers' is invoked, and assuming that border entry type 00 is being processed, when bond control number clearing is required, the desired outcome is that remove all existing bond control numbers from the cargo record.
💻 Technical Criteria
Given Border entry type 00 is being processed
When Bond control number clearing is required
Then Remove all existing bond control numbers from the cargo record
R-GCX016-cbl-00578 Clear Broker Entry Numbers
Action Rules
📊 Business Logic Narrative
When the process 'Clear Broker Entry Numbers' is invoked, and assuming that border entry type 00 is being processed, when broker entry number clearing is required, the desired outcome is that remove all existing broker entry numbers from the cargo record.
💻 Technical Criteria
Given Border entry type 00 is being processed
When Broker entry number clearing is required
Then Remove all existing broker entry numbers from the cargo record
R-GCX016-cbl-00583 Process Broker Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Process Broker Bond Information' is invoked, and assuming that bond is classified as broker bond, when broker bond information processing is initiated, the desired outcome is that process broker-specific bond information, validate broker details, and update cargo with entry information.
💻 Technical Criteria
Given Bond is classified as broker bond
When Broker bond information processing is initiated
Then Process broker-specific bond information, validate broker details, and update cargo with entry information
R-GCX016-cbl-00584 Process QP Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Process QP Bond Information' is invoked, and assuming that bond is classified as qp bond, when qp bond information processing is initiated, the desired outcome is that process qp-specific bond information, validate qp requirements, and update cargo with entry information.
💻 Technical Criteria
Given Bond is classified as QP bond
When QP bond information processing is initiated
Then Process QP-specific bond information, validate QP requirements, and update cargo with entry information
R-GCX016-cbl-00585 Update Cargo with Entry Information
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo with Entry Information' is invoked, and assuming that broker bond or qp bond processing is complete, when cargo entry information update is required, the desired outcome is that update cargo record with all processed entry information and complete in-bond broker processing.
💻 Technical Criteria
Given Broker bond or QP bond processing is complete
When Cargo entry information update is required
Then Update cargo record with all processed entry information and complete in-bond broker processing
R-GCX016-cbl-00593 Check Entry Type Code
Decision Rules
📊 Business Logic Narrative
When the process 'Check Entry Type Code' is invoked, and assuming that a cargo record with entry type information is being processed, when the system evaluates the entry type code field, the desired outcome is that the system identifies if the entry type code equals '00' for border entry processing.
💻 Technical Criteria
Given A cargo record with entry type information is being processed
When The system evaluates the entry type code field
Then The system identifies if the entry type code equals '00' for border entry processing
R-GCX016-cbl-00594 Identify Type Code '00'
Definitional Rules
📊 Business Logic Narrative
When the process 'Identify Type Code '00'' is invoked, and assuming that a cargo record is being evaluated for processing type, when the entry type code is '00', the desired outcome is that the cargo is classified as a border entry requiring special processing rules.
💻 Technical Criteria
Given A cargo record is being evaluated for processing type
When The entry type code is '00'
Then The cargo is classified as a border entry requiring special processing rules
R-GCX016-cbl-00595 Validate Border Entry Requirements
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Border Entry Requirements' is invoked, and assuming that a cargo record is classified as border entry with type code '00', when the system validates border entry processing requirements, the desired outcome is that the system confirms the cargo meets border entry criteria and can proceed with bond information clearing.
💻 Technical Criteria
Given A cargo record is classified as border entry with type code '00'
When The system validates border entry processing requirements
Then The system confirms the cargo meets border entry criteria and can proceed with bond information clearing
R-GCX016-cbl-00596 Clear Bond Information
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information' is invoked, and assuming that a cargo record is validated as border entry type '00', when the system processes the border entry clearing requirements, the desired outcome is that all existing bond information fields are cleared from the cargo record.
💻 Technical Criteria
Given A cargo record is validated as border entry type '00'
When The system processes the border entry clearing requirements
Then All existing bond information fields are cleared from the cargo record
R-GCX016-cbl-00597 Clear Bond Control Numbers
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Control Numbers' is invoked, and assuming that a border entry cargo record with existing bond control numbers, when the system processes bond information clearing, the desired outcome is that all bond control number fields are set to blank or null values.
💻 Technical Criteria
Given A border entry cargo record with existing bond control numbers
When The system processes bond information clearing
Then All bond control number fields are set to blank or null values
R-GCX016-cbl-00598 Clear Broker Entry Numbers
Action Rules
📊 Business Logic Narrative
When the process 'Clear Broker Entry Numbers' is invoked, and assuming that a border entry cargo record with existing broker entry numbers, when the system clears bond-related information, the desired outcome is that all broker entry number fields are cleared from the cargo record.
💻 Technical Criteria
Given A border entry cargo record with existing broker entry numbers
When The system clears bond-related information
Then All broker entry number fields are cleared from the cargo record
R-GCX016-cbl-00599 Clear Related Bond Data
Action Rules
📊 Business Logic Narrative
When the process 'Clear Related Bond Data' is invoked, and assuming that a border entry cargo record with various bond-related data fields populated, when the system performs comprehensive bond data clearing, the desired outcome is that all related bond data fields including dates, amounts, and references are cleared.
💻 Technical Criteria
Given A border entry cargo record with various bond-related data fields populated
When The system performs comprehensive bond data clearing
Then All related bond data fields including dates, amounts, and references are cleared
R-GCX016-cbl-00600 Set Border Entry Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Entry Status' is invoked, and assuming that a cargo record has completed bond information clearing for border entry, when the system sets the processing status, the desired outcome is that the cargo status is set to indicate border entry processing with appropriate status code.
💻 Technical Criteria
Given A cargo record has completed bond information clearing for border entry
When The system sets the processing status
Then The cargo status is set to indicate border entry processing with appropriate status code
R-GCX016-cbl-00601 Update Cargo Record with Border Entry Flag
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Border Entry Flag' is invoked, and assuming that a cargo record has been processed as border entry type '00', when the system updates the cargo record, the desired outcome is that the border entry flag is set in the cargo record to indicate special processing status.
💻 Technical Criteria
Given A cargo record has been processed as border entry type '00'
When The system updates the cargo record
Then The border entry flag is set in the cargo record to indicate special processing status
R-GCX016-cbl-00602 Process Special Border Entry Rules
Process Rules
📊 Business Logic Narrative
When the process 'Process Special Border Entry Rules' is invoked, and assuming that a cargo record is flagged as border entry, when the system applies border entry specific rules, the desired outcome is that special border entry processing rules are applied including customs clearance and cross-border requirements.
💻 Technical Criteria
Given A cargo record is flagged as border entry
When The system applies border entry specific rules
Then Special border entry processing rules are applied including customs clearance and cross-border requirements
R-GCX016-cbl-00603 Validate Cross-Border Requirements
Policy Rules
📊 Business Logic Narrative
When the process 'Validate Cross-Border Requirements' is invoked, and assuming that a border entry cargo record with special processing rules applied, when the system validates cross-border movement requirements, the desired outcome is that the cargo is confirmed to meet all cross-border regulatory and processing requirements.
💻 Technical Criteria
Given A border entry cargo record with special processing rules applied
When The system validates cross-border movement requirements
Then The cargo is confirmed to meet all cross-border regulatory and processing requirements
R-GCX016-cbl-00604 Set Default Processing Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Set Default Processing Parameters' is invoked, and assuming that a border entry cargo record that has passed cross-border validation, when the system sets processing parameters, the desired outcome is that default border entry processing parameters are assigned for customs clearance and movement tracking.
💻 Technical Criteria
Given A border entry cargo record that has passed cross-border validation
When The system sets processing parameters
Then Default border entry processing parameters are assigned for customs clearance and movement tracking
R-GCX016-cbl-00605 Log Border Entry Processing
Process Rules
📊 Business Logic Narrative
When the process 'Log Border Entry Processing' is invoked, and assuming that a cargo record has completed border entry processing with default parameters set, when the system performs logging activities, the desired outcome is that all border entry processing steps and status changes are logged for audit trail and tracking.
💻 Technical Criteria
Given A cargo record has completed border entry processing with default parameters set
When The system performs logging activities
Then All border entry processing steps and status changes are logged for audit trail and tracking
R-GCX016-cbl-00606 Type 61: IT/BL In-Transit
Decision Rules
📊 Business Logic Narrative
When the process 'Type 61: IT/BL In-Transit' is invoked, and assuming that a master in-bond entry is received with disposition codes '1j', '69', or '55', when the entry type code is '61', the desired outcome is that set transport type to immediate transport and process as it/bl in-transit cargo.
💻 Technical Criteria
Given A master in-bond entry is received with disposition codes '1J', '69', or '55'
When The entry type code is '61'
Then Set transport type to immediate transport and process as IT/BL in-transit cargo
R-GCX016-cbl-00607 Type 62: TE/WD Transportation & Exportation
Decision Rules
📊 Business Logic Narrative
When the process 'Type 62: TE/WD Transportation & Exportation' is invoked, and assuming that a master in-bond entry is received with disposition codes '1j', '69', or '55', when the entry type code is '62', the desired outcome is that set transport type to transportation for export and process as te/wd cargo.
💻 Technical Criteria
Given A master in-bond entry is received with disposition codes '1J', '69', or '55'
When The entry type code is '62'
Then Set transport type to transportation for export and process as TE/WD cargo
R-GCX016-cbl-00608 Type 63: IE Immediate Exportation
Decision Rules
📊 Business Logic Narrative
When the process 'Type 63: IE Immediate Exportation' is invoked, and assuming that a master in-bond entry is received with disposition codes '1j', '69', or '55', when the entry type code is '63', the desired outcome is that set transport type to immediate export and process as ie cargo.
💻 Technical Criteria
Given A master in-bond entry is received with disposition codes '1J', '69', or '55'
When The entry type code is '63'
Then Set transport type to immediate export and process as IE cargo
R-GCX016-cbl-00609 Type 69: FTZ Foreign Trade Zone
Decision Rules
📊 Business Logic Narrative
When the process 'Type 69: FTZ Foreign Trade Zone' is invoked, and assuming that a master in-bond entry is received with disposition codes '1j', '69', or '55', when the entry type code is '69', the desired outcome is that set transport type to us-canada-us movement and process as ftz cargo.
💻 Technical Criteria
Given A master in-bond entry is received with disposition codes '1J', '69', or '55'
When The entry type code is '69'
Then Set transport type to US-Canada-US movement and process as FTZ cargo
R-GCX016-cbl-00610 Check Entry Type Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entry Type Code' is invoked, and assuming that a cargo record with disposition codes '1j', '69', or '55' indicating master in-bond processing, when the system evaluates the entry type code, the desired outcome is that the entry type must be one of '61', '62', '63', or '69' for valid master in-bond processing.
💻 Technical Criteria
Given A cargo record with disposition codes '1J', '69', or '55' indicating master in-bond processing
When The system evaluates the entry type code
Then The entry type must be one of '61', '62', '63', or '69' for valid master in-bond processing
R-GCX016-cbl-00611 Clear Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information' is invoked, and assuming that a master in-bond entry is being processed, when the entry type is '00' indicating border processing, the desired outcome is that clear all bond information from the cargo record.
💻 Technical Criteria
Given A master in-bond entry is being processed
When The entry type is '00' indicating border processing
Then Clear all bond information from the cargo record
R-GCX016-cbl-00612 Retain Bond Information
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Retain Bond Information', assuming that a master in-bond entry is being processed, when the entry type is not '00', the desired outcome is that retain all existing bond information in the cargo record.
💻 Technical Criteria
EXCLUDING A master in-bond entry is being processed
When The entry type is not '00'
Then Retain all existing bond information in the cargo record
R-GCX016-cbl-00613 Set Master In-Bond Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Master In-Bond Status' is invoked, and assuming that a cargo record with disposition codes '1j', '69', or '55' has been processed, when the entry type mapping and bond information processing is complete, the desired outcome is that set the m1109 master in-bond flag to true to indicate master in-bond processing.
💻 Technical Criteria
Given A cargo record with disposition codes '1J', '69', or '55' has been processed
When The entry type mapping and bond information processing is complete
Then Set the M1109 master in-bond flag to true to indicate master in-bond processing
R-GCX016-cbl-00619 Store FDA Reference in Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Store FDA Reference in Cargo Record' is invoked, and assuming that a valid fda reference number and qualifier have been identified, when the system processes the fda reference for storage, the desired outcome is that the fda reference number and qualifier are stored in the cargo record's fda reference fields.
💻 Technical Criteria
Given A valid FDA reference number and qualifier have been identified
When The system processes the FDA reference for storage
Then The FDA reference number and qualifier are stored in the cargo record's FDA reference fields
R-GCX016-cbl-00620 Update Secondary Cargo Records
Process Rules
📊 Business Logic Narrative
When the process 'Update Secondary Cargo Records' is invoked, and assuming that fda reference has been stored in the primary cargo record, when secondary cargo records exist for the same shipment, the desired outcome is that all secondary cargo records are updated with the same fda reference information.
💻 Technical Criteria
Given FDA reference has been stored in the primary cargo record
When Secondary cargo records exist for the same shipment
Then All secondary cargo records are updated with the same FDA reference information
R-GCX016-cbl-00621 Link FDA Reference to Shipment
Process Rules
📊 Business Logic Narrative
When the process 'Link FDA Reference to Shipment' is invoked, and assuming that fda reference has been stored in cargo records, when the system processes shipment linkage, the desired outcome is that the fda reference is linked to the shipment identifier for tracking and compliance purposes.
💻 Technical Criteria
Given FDA reference has been stored in cargo records
When The system processes shipment linkage
Then The FDA reference is linked to the shipment identifier for tracking and compliance purposes
R-GCX016-cbl-00622 A1/A3 Disposition Code Present?
Decision Rules
📊 Business Logic Narrative
When the process 'A1/A3 Disposition Code Present?' is invoked, and assuming that fda reference has been linked to the shipment, when the system evaluates disposition codes for the cargo, the desired outcome is that the system determines if a1 or a3 disposition codes are present requiring fda compliance actions.
💻 Technical Criteria
Given FDA reference has been linked to the shipment
When The system evaluates disposition codes for the cargo
Then The system determines if A1 or A3 disposition codes are present requiring FDA compliance actions
R-GCX016-cbl-00624 Set FDA Processing Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set FDA Processing Flag' is invoked, and assuming that fda compliance requirements have been identified, when the system processes fda requirements, the desired outcome is that an fda processing flag is set to ensure proper handling throughout the cargo lifecycle.
💻 Technical Criteria
Given FDA compliance requirements have been identified
When The system processes FDA requirements
Then An FDA processing flag is set to ensure proper handling throughout the cargo lifecycle
R-GCX016-cbl-00625 Generate FDA Hold if Required
Policy Rules
📊 Business Logic Narrative
When the process 'Generate FDA Hold if Required' is invoked, and assuming that fda processing flag has been set and compliance evaluation completed, when fda compliance requirements mandate cargo hold, the desired outcome is that an fda hold status is generated and applied to the cargo preventing release until fda clearance.
💻 Technical Criteria
Given FDA processing flag has been set and compliance evaluation completed
When FDA compliance requirements mandate cargo hold
Then An FDA hold status is generated and applied to the cargo preventing release until FDA clearance
R-GCX016-cbl-00627 Reject Invalid FDA Reference
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Reject Invalid FDA Reference', assuming that an fda reference has failed format validation, when the system processes the invalid reference, the desired outcome is that the fda reference is rejected and not stored in cargo records.
💻 Technical Criteria
EXCLUDING An FDA reference has failed format validation
When The system processes the invalid reference
Then The FDA reference is rejected and not stored in cargo records
R-GCX016-cbl-00629 Extract Bond Control Number from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Bond Control Number from X4 Segment' is invoked, and assuming that an x4 segment is available for processing, when the system processes the x4 segment for bond-based cargo fetching, the desired outcome is that the bond control number is extracted from the x4 segment and prepared as search key.
💻 Technical Criteria
Given An X4 segment is available for processing
When The system processes the X4 segment for bond-based cargo fetching
Then The bond control number is extracted from the X4 segment and prepared as search key
R-GCX016-cbl-00630 Bond Number Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Bond Number Valid?' is invoked, and assuming that a bond control number has been extracted from x4 segment, when the system validates the bond number, the desired outcome is that if bond number is empty or invalid, processing stops with error; if valid, processing continues.
💻 Technical Criteria
Given A bond control number has been extracted from X4 segment
When The system validates the bond number
Then If bond number is empty or invalid, processing stops with error; if valid, processing continues
R-GCX016-cbl-00631 Set Bond Number as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Bond Number as Search Key' is invoked, and assuming that a valid bond control number exists, when the system prepares for cargo database search, the desired outcome is that the bond number is set as the search key for bond index lookup.
💻 Technical Criteria
Given A valid bond control number exists
When The system prepares for cargo database search
Then The bond number is set as the search key for bond index lookup
R-GCX016-cbl-00632 Call GCCUSIO with Bond Index
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO with Bond Index' is invoked, and assuming that bond number is set as search key, when the system performs database lookup, the desired outcome is that gccusio is called with bond index to retrieve matching cargo records.
💻 Technical Criteria
Given Bond number is set as search key
When The system performs database lookup
Then GCCUSIO is called with bond index to retrieve matching cargo records
R-GCX016-cbl-00633 Cargo Records Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Records Found?' is invoked, and assuming that database lookup by bond number has been performed, when the system evaluates the search results, the desired outcome is that if no cargo records found, log error and return error status; if records found, proceed with retrieval.
💻 Technical Criteria
Given Database lookup by bond number has been performed
When The system evaluates the search results
Then If no cargo records found, log error and return error status; if records found, proceed with retrieval
R-GCX016-cbl-00634 Retrieve First Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve First Cargo Record' is invoked, and assuming that cargo records exist for the bond number, when the system begins cargo record processing, the desired outcome is that the first cargo record matching the bond number is retrieved.
💻 Technical Criteria
Given Cargo records exist for the bond number
When The system begins cargo record processing
Then The first cargo record matching the bond number is retrieved
R-GCX016-cbl-00635 Load Cargo Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Load Cargo Root Segment' is invoked, and assuming that a cargo record has been retrieved, when the system loads cargo data, the desired outcome is that the cargo root segment is loaded from gcsusrt ims segment.
💻 Technical Criteria
Given A cargo record has been retrieved
When The system loads cargo data
Then The cargo root segment is loaded from GCSUSRT IMS segment
R-GCX016-cbl-00636 More Cargo with Same Bond?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo with Same Bond?' is invoked, and assuming that current cargo record has been processed, when the system checks for additional cargo with same bond, the desired outcome is that if more cargo exists with same bond, continue processing; if no more cargo, complete bond processing.
💻 Technical Criteria
Given Current cargo record has been processed
When The system checks for additional cargo with same bond
Then If more cargo exists with same bond, continue processing; if no more cargo, complete bond processing
R-GCX016-cbl-00637 Process Current Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Process Current Cargo Record' is invoked, and assuming that a cargo record with matching bond number is loaded, when the system processes the cargo record, the desired outcome is that the cargo record is processed according to disposition code and business rules.
💻 Technical Criteria
Given A cargo record with matching bond number is loaded
When The system processes the cargo record
Then The cargo record is processed according to disposition code and business rules
R-GCX016-cbl-00638 Get Next Cargo Record with Same Bond
Process Rules
📊 Business Logic Narrative
When the process 'Get Next Cargo Record with Same Bond' is invoked, and assuming that current cargo record has been processed and more cargo exists with same bond, when the system retrieves the next cargo record, the desired outcome is that the next cargo record with matching bond number is retrieved for processing.
💻 Technical Criteria
Given Current cargo record has been processed and more cargo exists with same bond
When The system retrieves the next cargo record
Then The next cargo record with matching bond number is retrieved for processing
R-GCX016-cbl-00639 All Bond Cargo Retrieved
Process Rules
📊 Business Logic Narrative
When the process 'All Bond Cargo Retrieved' is invoked, and assuming that all cargo records with the bond number have been processed, when no more cargo records exist with the same bond number, the desired outcome is that bond-based cargo processing is completed successfully.
💻 Technical Criteria
Given All cargo records with the bond number have been processed
When No more cargo records exist with the same bond number
Then Bond-based cargo processing is completed successfully
R-GCX016-cbl-00640 Log Bond Number Not Found Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Bond Number Not Found Error', assuming that bond number is valid but no cargo records exist for the bond, when the system encounters bond not found condition, the desired outcome is that an error is logged indicating bond number not found.
💻 Technical Criteria
EXCLUDING Bond number is valid but no cargo records exist for the bond
When The system encounters bond not found condition
Then An error is logged indicating bond number not found
R-GCX016-cbl-00641 Return Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Error Status' is invoked, and assuming that bond number is invalid or no cargo records found for valid bond, when bond processing encounters an error condition, the desired outcome is that error status is returned to calling process.
💻 Technical Criteria
Given Bond number is invalid or no cargo records found for valid bond
When Bond processing encounters an error condition
Then Error status is returned to calling process
R-GCX016-cbl-00642 Return Success Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Success Status' is invoked, and assuming that all cargo records for the bond have been successfully processed, when bond processing completes without errors, the desired outcome is that success status is returned to calling process.
💻 Technical Criteria
Given All cargo records for the bond have been successfully processed
When Bond processing completes without errors
Then Success status is returned to calling process
R-GCX016-cbl-00643 Extract Car ID from N7 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Car ID from N7 Segment' is invoked, and assuming that an n7 equipment segment is available in the message, when the system processes the n7 segment for car identification, the desired outcome is that the car initial and car number are extracted and combined to form the complete car id.
💻 Technical Criteria
Given An N7 equipment segment is available in the message
When The system processes the N7 segment for car identification
Then The car initial and car number are extracted and combined to form the complete car ID
R-GCX016-cbl-00645 Format Equipment ID using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM' is invoked, and assuming that car initial and car number are available from n7 segment, when the system needs to format the equipment id for database operations, the desired outcome is that the gcccarfm utility is called to format the car id into standard equipment format.
💻 Technical Criteria
Given Car initial and car number are available from N7 segment
When The system needs to format the equipment ID for database operations
Then The GCCCARFM utility is called to format the car ID into standard equipment format
R-GCX016-cbl-00651 Cargo Usable?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Usable?' is invoked, and assuming that a cargo record has been retrieved from the database, when the system validates the cargo record status, the desired outcome is that the cargo record is deemed usable if it is not deleted and meets processing criteria.
💻 Technical Criteria
Given A cargo record has been retrieved from the database
When The system validates the cargo record status
Then The cargo record is deemed usable if it is not deleted and meets processing criteria
R-GCX016-cbl-00652 Return Cargo Record for Processing
Process Rules
📊 Business Logic Narrative
When the process 'Return Cargo Record for Processing' is invoked, and assuming that a cargo record has been validated as usable, when the system completes cargo retrieval operations, the desired outcome is that the cargo record is returned for customs release processing with success status.
💻 Technical Criteria
Given A cargo record has been validated as usable
When The system completes cargo retrieval operations
Then The cargo record is returned for customs release processing with success status
R-GCX016-cbl-00653 Try Alternative Car ID Format
Process Rules
📊 Business Logic Narrative
When the process 'Try Alternative Car ID Format' is invoked, and assuming that initial cargo search using standard car id format has failed, when the system attempts alternative search strategies, the desired outcome is that alternative car id formats are tried to locate cargo records.
💻 Technical Criteria
Given Initial cargo search using standard car ID format has failed
When The system attempts alternative search strategies
Then Alternative car ID formats are tried to locate cargo records
R-GCX016-cbl-00654 Alternative Format Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Alternative Format Available?' is invoked, and assuming that standard car id format search has failed, when the system evaluates alternative search options, the desired outcome is that the system determines if alternative car id formats can be attempted.
💻 Technical Criteria
Given Standard car ID format search has failed
When The system evaluates alternative search options
Then The system determines if alternative car ID formats can be attempted
R-GCX016-cbl-00655 Search with Partial Car ID Match
Action Rules
📊 Business Logic Narrative
When the process 'Search with Partial Car ID Match' is invoked, and assuming that exact car id matching has failed and alternative formats are available, when the system performs partial matching search, the desired outcome is that the database is searched using partial car id criteria to locate potential matches.
💻 Technical Criteria
Given Exact car ID matching has failed and alternative formats are available
When The system performs partial matching search
Then The database is searched using partial car ID criteria to locate potential matches
R-GCX016-cbl-00656 Partial Match Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Match Found?' is invoked, and assuming that partial car id matching search has been performed, when the system evaluates the partial match results, the desired outcome is that the system determines if acceptable cargo records were found through partial matching.
💻 Technical Criteria
Given Partial car ID matching search has been performed
When The system evaluates the partial match results
Then The system determines if acceptable cargo records were found through partial matching
R-GCX016-cbl-00660 Process Manual Release for CPRS
Decision Rules
📊 Business Logic Narrative
When the process 'Process Manual Release for CPRS' is invoked, and assuming that a cprs cargo is found in the system with a disposition code, when the disposition code is mrl (manual release), the desired outcome is that the system processes the manual release and clears the destination index and processes canadian manifest coordination.
💻 Technical Criteria
Given A CPRS cargo is found in the system with a disposition code
When The disposition code is MRL (Manual Release)
Then The system processes the manual release AND clears the destination index AND processes Canadian manifest coordination
R-GCX016-cbl-00661 Clear Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that a cprs cargo is being processed for manual release, when the manual release processing is initiated, the desired outcome is that the system clears the destination index to remove destination routing requirements.
💻 Technical Criteria
Given A CPRS cargo is being processed for manual release
When The manual release processing is initiated
Then The system clears the destination index to remove destination routing requirements
R-GCX016-cbl-00662 Process CPRS Tax Number
Process Rules
📊 Business Logic Narrative
When the process 'Process CPRS Tax Number' is invoked, and assuming that a cprs cargo is being processed with tax number information available, when canadian pacific tax number is present in the cargo record, the desired outcome is that the system processes the cprs tax number and updates tax information in the cargo record.
💻 Technical Criteria
Given A CPRS cargo is being processed with tax number information available
When Canadian Pacific tax number is present in the cargo record
Then The system processes the CPRS tax number AND updates tax information in the cargo record
R-GCX016-cbl-00664 Update CPRS Cargo Status
Action Rules
📊 Business Logic Narrative
When the process 'Update CPRS Cargo Status' is invoked, and assuming that a cprs cargo has been processed through disposition code handling and canadian manifest coordination, when all cprs processing steps are completed, the desired outcome is that the system updates the cprs cargo status and generates cprs processing audit trail.
💻 Technical Criteria
Given A CPRS cargo has been processed through disposition code handling and Canadian manifest coordination
When All CPRS processing steps are completed
Then The system updates the CPRS cargo status AND generates CPRS processing audit trail
R-GCX016-cbl-00665 Generate CPRS Processing Audit Trail
Policy Rules
📊 Business Logic Narrative
When the process 'Generate CPRS Processing Audit Trail' is invoked, and assuming that a cprs cargo has completed all processing steps including status updates, when cprs cargo processing is finalized, the desired outcome is that the system generates a comprehensive cprs processing audit trail for compliance and tracking purposes.
💻 Technical Criteria
Given A CPRS cargo has completed all processing steps including status updates
When CPRS cargo processing is finalized
Then The system generates a comprehensive CPRS processing audit trail for compliance and tracking purposes
R-GCX016-cbl-00667 Set CPRS/USCS Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set CPRS/USCS Status' is invoked, and assuming that a new cargo record is being created and the cargo type is cprs, when the system sets the cargo status, the desired outcome is that the cargo status is set to 'error' and the status description is set to 'error'.
💻 Technical Criteria
Given A new cargo record is being created and the cargo type is CPRS
When The system sets the cargo status
Then The cargo status is set to 'ERROR' and the status description is set to 'ERROR'
R-GCX016-cbl-00668 Set CPRS/USCS Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set CPRS/USCS Status', assuming that a new cargo record is being created and the cargo type is not cprs, when the system sets the cargo status, the desired outcome is that the cargo status is set to 'sent' and the status description is set to 'sent'.
💻 Technical Criteria
EXCLUDING A new cargo record is being created and the cargo type is not CPRS
When The system sets the cargo status
Then The cargo status is set to 'SENT' and the status description is set to 'SENT'
R-GCX016-cbl-00669 Set Default Broker Information
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Broker Information' is invoked, and assuming that a new cargo record is being created and the current acknowledgment status is blank or 'ack-r', when the system sets the acknowledgment status, the desired outcome is that the acknowledgment status is set to 'ack' or 'ack-r' based on system defaults.
💻 Technical Criteria
Given A new cargo record is being created and the current acknowledgment status is blank or 'ACK-R'
When The system sets the acknowledgment status
Then The acknowledgment status is set to 'ACK' or 'ACK-R' based on system defaults
R-GCX016-cbl-00670 Check Entry Type Code
Decision Rules
📊 Business Logic Narrative
When the process 'Check Entry Type Code' is invoked, and assuming that a disposition code is being processed for a new cargo record, when the disposition code is '1j', '69', or '55', the desired outcome is that the cargo is flagged as master in-bond and requires entry type code processing.
💻 Technical Criteria
Given A disposition code is being processed for a new cargo record
When The disposition code is '1J', '69', or '55'
Then The cargo is flagged as master in-bond and requires entry type code processing
R-GCX016-cbl-00671 Process Master In-Bond Entry Types 61, 62, 63, 69
Decision Rules
📊 Business Logic Narrative
When the process 'Process Master In-Bond Entry Types 61, 62, 63, 69' is invoked, and assuming that a master in-bond cargo has entry type code '61', when the system processes the entry type, the desired outcome is that the cargo is classified as immediate transport and appropriate transport flags are set.
💻 Technical Criteria
Given A master in-bond cargo has entry type code '61'
When The system processes the entry type
Then The cargo is classified as immediate transport and appropriate transport flags are set
R-GCX016-cbl-00672 Process Master In-Bond Entry Types 61, 62, 63, 69
Decision Rules
📊 Business Logic Narrative
When the process 'Process Master In-Bond Entry Types 61, 62, 63, 69' is invoked, and assuming that a master in-bond cargo has entry type code '62', when the system processes the entry type, the desired outcome is that the cargo is classified as transport for export and appropriate export flags are set.
💻 Technical Criteria
Given A master in-bond cargo has entry type code '62'
When The system processes the entry type
Then The cargo is classified as transport for export and appropriate export flags are set
R-GCX016-cbl-00673 Process Master In-Bond Entry Types 61, 62, 63, 69
Decision Rules
📊 Business Logic Narrative
When the process 'Process Master In-Bond Entry Types 61, 62, 63, 69' is invoked, and assuming that a master in-bond cargo has entry type code '63', when the system processes the entry type, the desired outcome is that the cargo is classified as immediate export and appropriate export flags are set.
💻 Technical Criteria
Given A master in-bond cargo has entry type code '63'
When The system processes the entry type
Then The cargo is classified as immediate export and appropriate export flags are set
R-GCX016-cbl-00674 Process Master In-Bond Entry Types 61, 62, 63, 69
Decision Rules
📊 Business Logic Narrative
When the process 'Process Master In-Bond Entry Types 61, 62, 63, 69' is invoked, and assuming that a master in-bond cargo has entry type code '69', when the system processes the entry type, the desired outcome is that the cargo is classified as us-canada-us movement and appropriate movement flags are set.
💻 Technical Criteria
Given A master in-bond cargo has entry type code '69'
When The system processes the entry type
Then The cargo is classified as US-Canada-US movement and appropriate movement flags are set
R-GCX016-cbl-00675 Process Border Entry Type Code 00
Decision Rules
📊 Business Logic Narrative
When the process 'Process Border Entry Type Code 00' is invoked, and assuming that a cargo has entry type code '00' or no specific entry type, when the system processes the entry type, the desired outcome is that the cargo is processed as standard border entry with default processing rules.
💻 Technical Criteria
Given A cargo has entry type code '00' or no specific entry type
When The system processes the entry type
Then The cargo is processed as standard border entry with default processing rules
R-GCX016-cbl-00676 Clear Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information' is invoked, and assuming that a cargo is being processed as border entry type, when the system processes bond information, the desired outcome is that all bond-related fields are cleared and set to default values.
💻 Technical Criteria
Given A cargo is being processed as border entry type
When The system processes bond information
Then All bond-related fields are cleared and set to default values
R-GCX016-cbl-00681 Set Country Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Country Code' is invoked, and assuming that manifest data requires country code information, when the system sets country information, the desired outcome is that the country code is set based on cargo routing and manifest requirements.
💻 Technical Criteria
Given Manifest data requires country code information
When The system sets country information
Then The country code is set based on cargo routing and manifest requirements
R-GCX016-cbl-00683 Set Quantity Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Information' is invoked, and assuming that x4 segment contains quantity information, when the system processes cargo quantities, the desired outcome is that the cargo quantity fields are populated from the x4 segment quantity data.
💻 Technical Criteria
Given X4 segment contains quantity information
When The system processes cargo quantities
Then The cargo quantity fields are populated from the X4 segment quantity data
R-GCX016-cbl-00684 Set Manifest Type Code
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest Type Code' is invoked, and assuming that cargo and transport information has been processed, when the system determines manifest type, the desired outcome is that the manifest type code is set based on cargo characteristics and transport mode.
💻 Technical Criteria
Given Cargo and transport information has been processed
When The system determines manifest type
Then The manifest type code is set based on cargo characteristics and transport mode
R-GCX016-cbl-00685 Set Condition Response Code
Computation Rules
📊 Business Logic Narrative
When the process 'Set Condition Response Code' is invoked, and assuming that cargo processing has been completed with specific conditions, when the system sets response codes, the desired outcome is that the condition response code is set to reflect the cargo processing outcome and status.
💻 Technical Criteria
Given Cargo processing has been completed with specific conditions
When The system sets response codes
Then The condition response code is set to reflect the cargo processing outcome and status
R-GCX016-cbl-00686 Store New Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Store New Cargo Record' is invoked, and assuming that a new cargo record has been created and all required fields populated, when the system stores the cargo record, the desired outcome is that the cargo record is inserted into the database and becomes available for further processing.
💻 Technical Criteria
Given A new cargo record has been created and all required fields populated
When The system stores the cargo record
Then The cargo record is inserted into the database and becomes available for further processing
R-GCX016-cbl-00687 Extract Car ID from Equipment Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Car ID from Equipment Information' is invoked, and assuming that equipment information contains car identification data, when car id extraction process is initiated, the desired outcome is that car id is extracted from equipment segment and formatted using gcccarfm utility for standardized format.
💻 Technical Criteria
Given Equipment information contains car identification data
When Car ID extraction process is initiated
Then Car ID is extracted from equipment segment and formatted using GCCCARFM utility for standardized format
R-GCX016-cbl-00688 Car ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Valid?' is invoked, and assuming that car id has been extracted and formatted from equipment information, when car id validation is performed, the desired outcome is that system determines if car id is valid for cargo matching operations or terminates matching process if invalid.
💻 Technical Criteria
Given Car ID has been extracted and formatted from equipment information
When Car ID validation is performed
Then System determines if car ID is valid for cargo matching operations or terminates matching process if invalid
R-GCX016-cbl-00693 Validate Cargo Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Record Status' is invoked, and assuming that cargo record found through partial matching with car id only, when cargo record status validation is performed, the desired outcome is that system checks if cargo record is in valid status for business processing.
💻 Technical Criteria
Given Cargo record found through partial matching with car ID only
When Cargo record status validation is performed
Then System checks if cargo record is in valid status for business processing
R-GCX016-cbl-00694 Cargo Record Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Record Valid?' is invoked, and assuming that cargo record status validation has been completed, when validation results are evaluated, the desired outcome is that if cargo record is valid, return partially matched cargo, otherwise declare car id match failed.
💻 Technical Criteria
Given Cargo record status validation has been completed
When Validation results are evaluated
Then If cargo record is valid, return partially matched cargo, otherwise declare car ID match failed
R-GCX016-cbl-00695 Car ID Match Failed
Process Rules
📊 Business Logic Narrative
When the process 'Car ID Match Failed' is invoked, and assuming that car id is invalid or no cargo found with exact match or no cargo found with partial match or cargo record is invalid, when match failure condition is detected, the desired outcome is that system declares car id match failed and proceeds to logging.
💻 Technical Criteria
Given Car ID is invalid OR no cargo found with exact match OR no cargo found with partial match OR cargo record is invalid
When Match failure condition is detected
Then System declares car ID match failed and proceeds to logging
R-GCX016-cbl-00696 Log Car ID Match Attempt
Process Rules
📊 Business Logic Narrative
When the process 'Log Car ID Match Attempt' is invoked, and assuming that car id matching process has completed with success, partial success, or failure, when logging process is initiated, the desired outcome is that system records car id match attempt results for audit trail and business tracking.
💻 Technical Criteria
Given Car ID matching process has completed with success, partial success, or failure
When Logging process is initiated
Then System records car ID match attempt results for audit trail and business tracking
R-GCX016-cbl-00707 Retrieve S09 Segments from Database
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve S09 Segments from Database' is invoked, and assuming that a cargo record exists in the system, when the cargo has existing status segments in the database, the desired outcome is that the system retrieves all s09 status segments associated with the cargo record.
💻 Technical Criteria
Given A cargo record exists in the system
When The cargo has existing status segments in the database
Then The system retrieves all S09 status segments associated with the cargo record
R-GCX016-cbl-00708 Create New Empty Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Create New Empty Status Array' is invoked, and assuming that a cargo record exists in the system, when the cargo has no existing status segments in the database, the desired outcome is that the system creates a new empty s09a status array structure with initialized counters.
💻 Technical Criteria
Given A cargo record exists in the system
When The cargo has no existing status segments in the database
Then The system creates a new empty S09A status array structure with initialized counters
R-GCX016-cbl-00709 Populate Array from S09 Segments
Process Rules
📊 Business Logic Narrative
When the process 'Populate Array from S09 Segments' is invoked, and assuming that s09 status segments exist in the database for a cargo record, when the system needs to process status information, the desired outcome is that the system copies all status codes, disposition codes, entry numbers, quantities, locations, and release flags from s09 segments into the s09a working array.
💻 Technical Criteria
Given S09 status segments exist in the database for a cargo record
When The system needs to process status information
Then The system copies all status codes, disposition codes, entry numbers, quantities, locations, and release flags from S09 segments into the S09A working array
R-GCX016-cbl-00714 Update Array Elements
Decision Rules
📊 Business Logic Narrative
When the process 'Update Array Elements' is invoked, and assuming that status segments exist for a cargo record and n7 equipment data is available, when car id information needs to be updated in the status segments, the desired outcome is that for cprs cargo records, the system clears the car id, and for other cargo types, the system updates the car initial and number from n7 segment data if available.
💻 Technical Criteria
Given Status segments exist for a cargo record and N7 equipment data is available
When Car ID information needs to be updated in the status segments
Then For CPRS cargo records, the system clears the car ID, and for other cargo types, the system updates the car initial and number from N7 segment data if available
R-GCX016-cbl-00727 Start Status Array Duplicate Detection
Process Rules
📊 Business Logic Narrative
When the process 'Start Status Array Duplicate Detection' is invoked, and assuming that a new disposition code needs to be added to the cargo status array, when the system searches through the s09a array elements, the desired outcome is that the system initializes array search parameters and begins sequential element checking.
💻 Technical Criteria
Given A new disposition code needs to be added to the cargo status array
When The system searches through the S09A array elements
Then The system initializes array search parameters and begins sequential element checking
R-GCX016-cbl-00748 Analyze Existing Status Codes
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Existing Status Codes' is invoked, and assuming that current status array s09a is available, when arl processing analyzes existing status codes, the desired outcome is that system evaluates hold conditions, release quantities, and cargo status flags.
💻 Technical Criteria
Given Current status array S09A is available
When ARL processing analyzes existing status codes
Then System evaluates hold conditions, release quantities, and cargo status flags
R-GCX016-cbl-00750 Set Auto Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Auto Release Flag' is invoked, and assuming that release conditions are met for arl processing, when the system confirms cargo eligibility, the desired outcome is that auto release flag is set to enable release processing.
💻 Technical Criteria
Given Release conditions are met for ARL processing
When The system confirms cargo eligibility
Then Auto release flag is set to enable release processing
R-GCX016-cbl-00751 Calculate Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Release Quantities' is invoked, and assuming that auto release flag is set and cargo is eligible, when the system processes release quantities, the desired outcome is that release quantities are calculated based on total cargo quantities and existing releases.
💻 Technical Criteria
Given Auto release flag is set and cargo is eligible
When The system processes release quantities
Then Release quantities are calculated based on total cargo quantities and existing releases
R-GCX016-cbl-00752 Update Cargo Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status' is invoked, and assuming that release quantities are calculated and auto release flag is set, when the system updates cargo status, the desired outcome is that cargo status is updated to reflect automatic release processing results.
💻 Technical Criteria
Given Release quantities are calculated and auto release flag is set
When The system updates cargo status
Then Cargo status is updated to reflect automatic release processing results
R-GCX016-cbl-00753 Manual Release Override?
Decision Rules
📊 Business Logic Narrative
When the process 'Manual Release Override?' is invoked, and assuming that cargo status has been updated for arl processing, when the system checks for manual release conditions, the desired outcome is that manual release override flag is evaluated based on cargo status and processing requirements.
💻 Technical Criteria
Given Cargo status has been updated for ARL processing
When The system checks for manual release conditions
Then Manual release override flag is evaluated based on cargo status and processing requirements
R-GCX016-cbl-00756 Update Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record' is invoked, and assuming that release notifications are generated and processing is complete, when the system updates the cargo record, the desired outcome is that cargo record is updated in gccc-cargo-root with new status and release information.
💻 Technical Criteria
Given Release notifications are generated and processing is complete
When The system updates the cargo record
Then Cargo record is updated in GCCC-CARGO-ROOT with new status and release information
R-GCX016-cbl-00759 Is Cargo CPRS?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo CPRS?' is invoked, and assuming that a cargo record with mrl disposition code is being processed, when the system evaluates the cargo type to determine if it is cprs cargo, the desired outcome is that the system identifies cprs cargo and routes it to manual release processing or continues with standard processing for non-cprs cargo.
💻 Technical Criteria
Given A cargo record with MRL disposition code is being processed
When The system evaluates the cargo type to determine if it is CPRS cargo
Then The system identifies CPRS cargo and routes it to manual release processing or continues with standard processing for non-CPRS cargo
R-GCX016-cbl-00760 Force Manual Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Force Manual Release Flag' is invoked, and assuming that a cargo record is identified as cprs cargo with mrl disposition code, when the system processes the manual release request, the desired outcome is that the system sets the manual release flag to force manual release processing workflow.
💻 Technical Criteria
Given A cargo record is identified as CPRS cargo with MRL disposition code
When The system processes the manual release request
Then The system sets the manual release flag to force manual release processing workflow
R-GCX016-cbl-00761 Clear Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that cprs cargo is being processed for manual release with mrl disposition code, when the manual release flag is activated, the desired outcome is that the system clears the destination index to remove destination routing information.
💻 Technical Criteria
Given CPRS cargo is being processed for manual release with MRL disposition code
When The manual release flag is activated
Then The system clears the destination index to remove destination routing information
R-GCX016-cbl-00762 Process Canadian Manifest Coordination
Action Rules
📊 Business Logic Narrative
When the process 'Process Canadian Manifest Coordination' is invoked, and assuming that cprs cargo with cleared destination index is being manually released, when the system processes the manual release workflow, the desired outcome is that the system initiates canadian manifest coordination processing to synchronize release information across border systems.
💻 Technical Criteria
Given CPRS cargo with cleared destination index is being manually released
When The system processes the manual release workflow
Then The system initiates Canadian manifest coordination processing to synchronize release information across border systems
R-GCX016-cbl-00763 Log Manual Release Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Manual Release Action' is invoked, and assuming that canadian manifest coordination has been processed for manual release, when the system completes the coordination process, the desired outcome is that the system logs the manual release action with relevant cargo and processing details for audit purposes.
💻 Technical Criteria
Given Canadian manifest coordination has been processed for manual release
When The system completes the coordination process
Then The system logs the manual release action with relevant cargo and processing details for audit purposes
R-GCX016-cbl-00764 Update Cargo Status to Released
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to Released' is invoked, and assuming that manual release action has been logged for cprs cargo, when the system processes the status update, the desired outcome is that the system updates the cargo status to released state indicating successful manual release completion.
💻 Technical Criteria
Given Manual release action has been logged for CPRS cargo
When The system processes the status update
Then The system updates the cargo status to released state indicating successful manual release completion
R-GCX016-cbl-00765 Generate Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Release Notification' is invoked, and assuming that cargo status has been updated to released for manual release, when the system completes the status update process, the desired outcome is that the system generates release notification messages to inform relevant parties of the manual release completion.
💻 Technical Criteria
Given Cargo status has been updated to released for manual release
When The system completes the status update process
Then The system generates release notification messages to inform relevant parties of the manual release completion
R-GCX016-cbl-00767 Continue Standard Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue Standard Processing' is invoked, and assuming that a cargo record with mrl disposition code is identified as non-cprs cargo, when the system evaluates the processing workflow, the desired outcome is that the system continues with standard processing workflow without manual release procedures.
💻 Technical Criteria
Given A cargo record with MRL disposition code is identified as non-CPRS cargo
When The system evaluates the processing workflow
Then The system continues with standard processing workflow without manual release procedures
R-GCX016-cbl-00772 Border Hold or Destination Hold?
Decision Rules
📊 Business Logic Narrative
When the process 'Border Hold or Destination Hold?' is invoked, and assuming that a hold location needs to be determined for cargo, when the system evaluates the cargo routing and disposition code requirements, the desired outcome is that the system classifies the hold as either border hold or destination hold and sets appropriate location information.
💻 Technical Criteria
Given A hold location needs to be determined for cargo
When The system evaluates the cargo routing and disposition code requirements
Then The system classifies the hold as either border hold or destination hold and sets appropriate location information
R-GCX016-cbl-00779 Set Hold Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Status Flag' is invoked, and assuming that a hold code has been successfully inserted into the status array, when the system updates the cargo status flags, the desired outcome is that the system sets the hold status flag to indicate the cargo is held.
💻 Technical Criteria
Given A hold code has been successfully inserted into the status array
When The system updates the cargo status flags
Then The system sets the hold status flag to indicate the cargo is held
R-GCX016-cbl-00793 Insert Entry into S09A Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Insert Entry into S09A Status Array' is invoked, and assuming that a complete status entry has been created with all required information, when the system inserts the entry into the s09a status array, the desired outcome is that the status entry is added to the s09a array for cargo status tracking.
💻 Technical Criteria
Given A complete status entry has been created with all required information
When The system inserts the entry into the S09A status array
Then The status entry is added to the S09A array for cargo status tracking
R-GCX016-cbl-00802 Broker Bond Information Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Broker Bond Information Available?' is invoked, and assuming that non-bonded traffic cargo with proceed disposition code, when system checks for broker bond information in k1 remarks segment, the desired outcome is that system identifies if bond control number is available from broker.
💻 Technical Criteria
Given Non-bonded traffic cargo with proceed disposition code
When System checks for broker bond information in K1 remarks segment
Then System identifies if bond control number is available from broker
R-GCX016-cbl-00803 Retrieve Bond Information from Broker
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Bond Information from Broker' is invoked, and assuming that broker bond information is available in k1 segment, when system processes k1 remarks containing bond details, the desired outcome is that system extracts bond control number and broker information for cargo processing.
💻 Technical Criteria
Given Broker bond information is available in K1 segment
When System processes K1 remarks containing bond details
Then System extracts bond control number and broker information for cargo processing
R-GCX016-cbl-00805 Apply Bond to Non-bonded Traffic
Action Rules
📊 Business Logic Narrative
When the process 'Apply Bond to Non-bonded Traffic' is invoked, and assuming that valid bond control number and non-bonded cargo record, when system processes bond assignment for proceed code, the desired outcome is that system updates cargo record with bond control number and changes status from non-bonded to bonded.
💻 Technical Criteria
Given Valid bond control number and non-bonded cargo record
When System processes bond assignment for proceed code
Then System updates cargo record with bond control number and changes status from non-bonded to bonded
R-GCX016-cbl-00806 Set Proceed Status with Bond
Decision Rules
📊 Business Logic Narrative
When the process 'Set Proceed Status with Bond' is invoked, and assuming that cargo with valid bond assignment, when system processes proceed disposition code with bond, the desired outcome is that system sets cargo status to proceed and includes bond control number in status record.
💻 Technical Criteria
Given Cargo with valid bond assignment
When System processes proceed disposition code with bond
Then System sets cargo status to proceed and includes bond control number in status record
R-GCX016-cbl-00807 Update Border Arrival Date
Process Rules
📊 Business Logic Narrative
When the process 'Update Border Arrival Date' is invoked, and assuming that cargo with proceed status and valid bond, when system processes border arrival information, the desired outcome is that system updates cargo record with current border arrival date and time.
💻 Technical Criteria
Given Cargo with proceed status and valid bond
When System processes border arrival information
Then System updates cargo record with current border arrival date and time
R-GCX016-cbl-00808 Clear Previous Non-bonded Status
Process Rules
📊 Business Logic Narrative
When the process 'Clear Previous Non-bonded Status' is invoked, and assuming that cargo previously marked as non-bonded with new bond assignment, when system updates cargo status with bond information, the desired outcome is that system clears all non-bonded status flags and updates status array.
💻 Technical Criteria
Given Cargo previously marked as non-bonded with new bond assignment
When System updates cargo status with bond information
Then System clears all non-bonded status flags and updates status array
R-GCX016-cbl-00809 Update Cargo Record with Bond Info
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Bond Info' is invoked, and assuming that cargo with validated bond information and updated status, when system commits cargo record changes, the desired outcome is that system updates cargo database record with bond control number, proceed status, and border arrival date.
💻 Technical Criteria
Given Cargo with validated bond information and updated status
When System commits cargo record changes
Then System updates cargo database record with bond control number, proceed status, and border arrival date
R-GCX016-cbl-00810 Generate Proceed Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Proceed Notification' is invoked, and assuming that cargo successfully updated with bond and proceed status, when system generates status notification, the desired outcome is that system creates merlin message with proceed status, bond information, and cargo details for broker notification.
💻 Technical Criteria
Given Cargo successfully updated with bond and proceed status
When System generates status notification
Then System creates Merlin message with proceed status, bond information, and cargo details for broker notification
R-GCX016-cbl-00812 Reject Proceed Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Reject Proceed Code', assuming that non-bonded cargo with proceed code and invalid or missing bond information, when system validates bond information and finds it invalid, the desired outcome is that system rejects proceed code processing and maintains current cargo status.
💻 Technical Criteria
EXCLUDING Non-bonded cargo with proceed code and invalid or missing bond information
When System validates bond information and finds it invalid
Then System rejects proceed code processing and maintains current cargo status
R-GCX016-cbl-00813 Generate Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Error Message' is invoked, and assuming that failed bond validation or missing bond information for proceed code, when system generates error notification, the desired outcome is that system creates error message indicating bond processing failure with cargo details and reason code.
💻 Technical Criteria
Given Failed bond validation or missing bond information for proceed code
When System generates error notification
Then System creates error message indicating bond processing failure with cargo details and reason code
R-GCX016-cbl-00814 Maintain Non-bonded Status
Process Rules
📊 Business Logic Narrative
When the process 'Maintain Non-bonded Status' is invoked, and assuming that non-bonded cargo with failed bond processing, when system maintains current status, the desired outcome is that system keeps cargo in non-bonded status and does not apply proceed disposition code.
💻 Technical Criteria
Given Non-bonded cargo with failed bond processing
When System maintains current status
Then System keeps cargo in non-bonded status and does not apply proceed disposition code
R-GCX016-cbl-00815 Bond Processing Required
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Processing Required' is invoked, and assuming that a cargo record with disposition codes '1j', '69', or '55' is being processed, when the system evaluates the disposition code for in-bond requirements, the desired outcome is that the system sets master in-bond flag and processes bond number information.
💻 Technical Criteria
Given A cargo record with disposition codes '1J', '69', or '55' is being processed
When The system evaluates the disposition code for in-bond requirements
Then The system sets master in-bond flag and processes bond number information
R-GCX016-cbl-00816 Clear Bond Information if DC 95
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information if DC 95' is invoked, and assuming that a cargo record is being processed with disposition code 95, when the system processes the disposition code, the desired outcome is that the system clears existing bond control numbers and processes as proceed status.
💻 Technical Criteria
Given A cargo record is being processed with disposition code 95
When The system processes the disposition code
Then The system clears existing bond control numbers and processes as proceed status
R-GCX016-cbl-00818 Tax Number Processing - Handle CPRS tax numbers for Canadian Pacific entities
Action Rules
📊 Business Logic Narrative
When the process 'Tax Number Processing - Handle CPRS tax numbers for Canadian Pacific entities' is invoked, and assuming that a cargo record with disposition code 95 and entry type in (61, 62, 63, 69) and cargo type is cprs, when the system processes the x4 segment for in-bond processing, the desired outcome is that the system should lookup cprs tax number for broker identification and prepare appropriate broker messages.
💻 Technical Criteria
Given A cargo record with disposition code 95 and entry type in (61, 62, 63, 69) and cargo type is CPRS
When The system processes the X4 segment for in-bond processing
Then The system should lookup CPRS tax number for broker identification and prepare appropriate broker messages
R-GCX016-cbl-00819 Port Code Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Port Code Available?' is invoked, and assuming that a cargo record is being processed for port mapping, when the system evaluates the bonded-to port code field, the desired outcome is that the system determines if a port code is present and proceeds with mapping or completes the process.
💻 Technical Criteria
Given A cargo record is being processed for port mapping
When The system evaluates the bonded-to port code field
Then The system determines if a port code is present and proceeds with mapping or completes the process
R-GCX016-cbl-00820 Extract Bonded-To Port Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Bonded-To Port Code' is invoked, and assuming that a cargo record contains a bonded-to port code, when the port mapping process requires the port code for lookup, the desired outcome is that the system extracts the bonded-to port code from the cargo record.
💻 Technical Criteria
Given A cargo record contains a bonded-to port code
When The port mapping process requires the port code for lookup
Then The system extracts the bonded-to port code from the cargo record
R-GCX016-cbl-00821 Call GCCTBIO for DS Table Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO for DS Table Lookup' is invoked, and assuming that a bonded-to port code has been extracted from the cargo record, when the system needs to retrieve the corresponding port name, the desired outcome is that the system calls gcctbio to lookup the port information in the ds table.
💻 Technical Criteria
Given A bonded-to port code has been extracted from the cargo record
When The system needs to retrieve the corresponding port name
Then The system calls GCCTBIO to lookup the port information in the DS table
R-GCX016-cbl-00825 Use Default Port Name
Decision Rules
📊 Business Logic Narrative
When the process 'Use Default Port Name' is invoked, and assuming that a ds table lookup has failed to find a matching record for the port code, when the system needs to provide a port name for the cargo record, the desired outcome is that the system uses a default port name.
💻 Technical Criteria
Given A DS table lookup has failed to find a matching record for the port code
When The system needs to provide a port name for the cargo record
Then The system uses a default port name
R-GCX016-cbl-00827 Update Cargo Record with Port Information
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Port Information' is invoked, and assuming that port mapping has been completed with either retrieved or default port name, when the cargo record needs to be updated with port information, the desired outcome is that the system updates the cargo record with the port code and corresponding port name.
💻 Technical Criteria
Given Port mapping has been completed with either retrieved or default port name
When The cargo record needs to be updated with port information
Then The system updates the cargo record with the port code and corresponding port name
R-GCX016-cbl-00828 POD - Proof of Delivery Code
Decision Rules
📊 Business Logic Narrative
When the process 'POD - Proof of Delivery Code' is invoked, and assuming that a cargo record exists with pod disposition code in the message, when the system processes the pod disposition code, the desired outcome is that the system sets arrival status and updates arrival date based on cargo location (border or destination).
💻 Technical Criteria
Given A cargo record exists with POD disposition code in the message
When The system processes the POD disposition code
Then The system sets arrival status and updates arrival date based on cargo location (border or destination)
R-GCX016-cbl-00829 AAD - Arrival at Destination Code
Decision Rules
📊 Business Logic Narrative
When the process 'AAD - Arrival at Destination Code' is invoked, and assuming that a cargo record exists with aad disposition code in the message, when the system processes the aad disposition code, the desired outcome is that the system sets destination arrival status and updates destination arrival date.
💻 Technical Criteria
Given A cargo record exists with AAD disposition code in the message
When The system processes the AAD disposition code
Then The system sets destination arrival status and updates destination arrival date
R-GCX016-cbl-00830 Cargo Location Check
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Location Check' is invoked, and assuming that a cargo record with arrival disposition code is being processed, when the system checks the cargo's current location status, the desired outcome is that the system routes to either border location processing or destination location processing based on cargo location.
💻 Technical Criteria
Given A cargo record with arrival disposition code is being processed
When The system checks the cargo's current location status
Then The system routes to either border location processing or destination location processing based on cargo location
R-GCX016-cbl-00831 Border Location Processing
Process Rules
📊 Business Logic Narrative
When the process 'Border Location Processing' is invoked, and assuming that cargo is determined to be at border location with arrival disposition code, when the system processes border arrival, the desired outcome is that the system sets border arrival flag and updates border arrival date.
💻 Technical Criteria
Given Cargo is determined to be at border location with arrival disposition code
When The system processes border arrival
Then The system sets border arrival flag and updates border arrival date
R-GCX016-cbl-00832 Destination Location Processing
Process Rules
📊 Business Logic Narrative
When the process 'Destination Location Processing' is invoked, and assuming that cargo is determined to be at destination location with arrival disposition code, when the system processes destination arrival, the desired outcome is that the system sets destination arrival flag and updates destination arrival date.
💻 Technical Criteria
Given Cargo is determined to be at destination location with arrival disposition code
When The system processes destination arrival
Then The system sets destination arrival flag and updates destination arrival date
R-GCX016-cbl-00833 Set Border Arrival Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Flag' is invoked, and assuming that cargo is being processed for border arrival, when the system updates cargo status for border arrival, the desired outcome is that the system sets the border arrival flag to true.
💻 Technical Criteria
Given Cargo is being processed for border arrival
When The system updates cargo status for border arrival
Then The system sets the border arrival flag to true
R-GCX016-cbl-00834 Set Destination Arrival Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Arrival Flag' is invoked, and assuming that cargo is being processed for destination arrival, when the system updates cargo status for destination arrival, the desired outcome is that the system sets the destination arrival flag to true.
💻 Technical Criteria
Given Cargo is being processed for destination arrival
When The system updates cargo status for destination arrival
Then The system sets the destination arrival flag to true
R-GCX016-cbl-00835 Update Border Arrival Date
Action Rules
📊 Business Logic Narrative
When the process 'Update Border Arrival Date' is invoked, and assuming that cargo has border arrival flag set and current system date/time is available, when the system processes border arrival date update, the desired outcome is that the system updates the border arrival date field with current date and time.
💻 Technical Criteria
Given Cargo has border arrival flag set and current system date/time is available
When The system processes border arrival date update
Then The system updates the border arrival date field with current date and time
R-GCX016-cbl-00836 Update Destination Arrival Date
Action Rules
📊 Business Logic Narrative
When the process 'Update Destination Arrival Date' is invoked, and assuming that cargo has destination arrival flag set and current system date/time is available, when the system processes destination arrival date update, the desired outcome is that the system updates the destination arrival date field with current date and time.
💻 Technical Criteria
Given Cargo has destination arrival flag set and current system date/time is available
When The system processes destination arrival date update
Then The system updates the destination arrival date field with current date and time
R-GCX016-cbl-00837 Export Manifest Check
Decision Rules
📊 Business Logic Narrative
When the process 'Export Manifest Check' is invoked, and assuming that cargo arrival processing is in progress, when the system checks the cargo's manifest type, the desired outcome is that the system determines if cargo is export or import based on manifest type.
💻 Technical Criteria
Given Cargo arrival processing is in progress
When The system checks the cargo's manifest type
Then The system determines if cargo is export or import based on manifest type
R-GCX016-cbl-00838 Set Export Arrival Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Arrival Status' is invoked, and assuming that cargo is determined to be on export manifest, when the system processes arrival status for export cargo, the desired outcome is that the system sets export arrival status in cargo record.
💻 Technical Criteria
Given Cargo is determined to be on export manifest
When The system processes arrival status for export cargo
Then The system sets export arrival status in cargo record
R-GCX016-cbl-00839 Set Import Arrival Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Import Arrival Status' is invoked, and assuming that cargo is determined to be on import manifest, when the system processes arrival status for import cargo, the desired outcome is that the system sets import arrival status in cargo record.
💻 Technical Criteria
Given Cargo is determined to be on import manifest
When The system processes arrival status for import cargo
Then The system sets import arrival status in cargo record
R-GCX016-cbl-00840 Clear Previous Hold Status
Process Rules
📊 Business Logic Narrative
When the process 'Clear Previous Hold Status' is invoked, and assuming that cargo has arrival status set and may have previous hold status, when the system processes arrival status update, the desired outcome is that the system clears any existing hold status flags and codes.
💻 Technical Criteria
Given Cargo has arrival status set and may have previous hold status
When The system processes arrival status update
Then The system clears any existing hold status flags and codes
R-GCX016-cbl-00841 Update Cargo Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array' is invoked, and assuming that cargo arrival processing is complete with arrival flags and dates set, when the system updates the cargo status array, the desired outcome is that the system adds arrival status codes and information to the cargo status array.
💻 Technical Criteria
Given Cargo arrival processing is complete with arrival flags and dates set
When The system updates the cargo status array
Then The system adds arrival status codes and information to the cargo status array
R-GCX016-cbl-00842 Train Level Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Train Level Processing' is invoked, and assuming that cargo arrival processing is complete, when the system checks if train-level processing is required, the desired outcome is that the system either proceeds to train arrival status update or skips to cargo record update.
💻 Technical Criteria
Given Cargo arrival processing is complete
When The system checks if train-level processing is required
Then The system either proceeds to train arrival status update or skips to cargo record update
R-GCX016-cbl-00845 Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that all arrival processing is complete including status array updates, when the system updates the cargo record in database, the desired outcome is that the system saves all arrival flags, dates, and status changes to the cargo record.
💻 Technical Criteria
Given All arrival processing is complete including status array updates
When The system updates the cargo record in database
Then The system saves all arrival flags, dates, and status changes to the cargo record
R-GCX016-cbl-00846 Generate Arrival Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Arrival Message' is invoked, and assuming that cargo record has been updated in database with arrival information, when the system generates arrival message, the desired outcome is that the system creates and formats arrival message with cargo and arrival details.
💻 Technical Criteria
Given Cargo record has been updated in database with arrival information
When The system generates arrival message
Then The system creates and formats arrival message with cargo and arrival details
R-GCX016-cbl-00848 Export Status Processing Triggered
Process Rules
📊 Business Logic Narrative
When the process 'Export Status Processing Triggered' is invoked, and assuming that a cargo record exists in the system with valid status information, when export status processing is triggered for the cargo, the desired outcome is that the system begins export status evaluation workflow.
💻 Technical Criteria
Given A cargo record exists in the system with valid status information
When Export status processing is triggered for the cargo
Then The system begins export status evaluation workflow
R-GCX016-cbl-00849 Cargo Status Analysis Complete?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Status Analysis Complete?' is invoked, and assuming that export status processing has been initiated for a cargo record, when the system checks if cargo status analysis is complete, the desired outcome is that processing continues if analysis is complete, otherwise processing stops with error.
💻 Technical Criteria
Given Export status processing has been initiated for a cargo record
When The system checks if cargo status analysis is complete
Then Processing continues if analysis is complete, otherwise processing stops with error
R-GCX016-cbl-00850 Check Current Cargo Status
Action Rules
📊 Business Logic Narrative
When the process 'Check Current Cargo Status' is invoked, and assuming that cargo status analysis is confirmed complete, when the system checks current cargo status from gcsuss09 status segments, the desired outcome is that current cargo status information is retrieved and made available for export evaluation.
💻 Technical Criteria
Given Cargo status analysis is confirmed complete
When The system checks current cargo status from GCSUSS09 status segments
Then Current cargo status information is retrieved and made available for export evaluation
R-GCX016-cbl-00851 Is Cargo Ready for Export?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Ready for Export?' is invoked, and assuming that current cargo status has been retrieved from status segments, when the system evaluates cargo readiness for export based on status conditions, the desired outcome is that export processing continues if cargo is ready, otherwise export conditions not met error is generated.
💻 Technical Criteria
Given Current cargo status has been retrieved from status segments
When The system evaluates cargo readiness for export based on status conditions
Then Export processing continues if cargo is ready, otherwise export conditions not met error is generated
R-GCX016-cbl-00852 Set Export Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Status Flag' is invoked, and assuming that cargo has been determined ready for export, when the system sets export status flag for the cargo, the desired outcome is that export status flag is activated and cargo is marked for export processing.
💻 Technical Criteria
Given Cargo has been determined ready for export
When The system sets export status flag for the cargo
Then Export status flag is activated and cargo is marked for export processing
R-GCX016-cbl-00853 Clear Destination Index RT076
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index RT076' is invoked, and assuming that export status flag has been set for cargo, when the system clears destination index rt076, the desired outcome is that destination index is cleared and cargo is no longer tied to specific destination.
💻 Technical Criteria
Given Export status flag has been set for cargo
When The system clears destination index RT076
Then Destination index is cleared and cargo is no longer tied to specific destination
R-GCX016-cbl-00854 Update Cargo Record Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record Status' is invoked, and assuming that export status flag is set and destination index is cleared, when the system updates cargo record status in gccc-cargo-root, the desired outcome is that cargo record reflects updated export status and cleared destination information.
💻 Technical Criteria
Given Export status flag is set and destination index is cleared
When The system updates cargo record status in GCCC-CARGO-ROOT
Then Cargo record reflects updated export status and cleared destination information
R-GCX016-cbl-00855 Log Export Status Change
Action Rules
📊 Business Logic Narrative
When the process 'Log Export Status Change' is invoked, and assuming that cargo record status has been updated with export information, when the system logs export status change, the desired outcome is that export status change is recorded in system logs for audit trail.
💻 Technical Criteria
Given Cargo record status has been updated with export information
When The system logs export status change
Then Export status change is recorded in system logs for audit trail
R-GCX016-cbl-00856 Canadian Manifest Coordination Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Coordination Required?' is invoked, and assuming that export status change has been logged for cargo, when the system checks if canadian manifest coordination is required, the desired outcome is that processing branches to canadian manifest handling if required, otherwise continues to database update.
💻 Technical Criteria
Given Export status change has been logged for cargo
When The system checks if Canadian manifest coordination is required
Then Processing branches to Canadian manifest handling if required, otherwise continues to database update
R-GCX016-cbl-00857 Find Matching Canadian Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Find Matching Canadian Manifest' is invoked, and assuming that canadian manifest coordination is required for export cargo, when the system searches for matching canadian manifest records, the desired outcome is that matching canadian manifest records are identified and retrieved for coordination.
💻 Technical Criteria
Given Canadian manifest coordination is required for export cargo
When The system searches for matching Canadian manifest records
Then Matching Canadian manifest records are identified and retrieved for coordination
R-GCX016-cbl-00863 Error: Export Conditions Not Met
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Error: Export Conditions Not Met', assuming that cargo status analysis is incomplete or cargo is not ready for export, when export conditions are not met, the desired outcome is that error condition is set and export processing terminates without status changes.
💻 Technical Criteria
EXCLUDING Cargo status analysis is incomplete or cargo is not ready for export
When Export conditions are not met
Then Error condition is set and export processing terminates without status changes
R-GCX016-cbl-00864 Cancellation Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Cancellation Type?' is invoked, and assuming that a cancellation processing request is received with disposition code and cargo status information, when the system evaluates the message type and cargo current status, the desired outcome is that the system routes to either arrival cancellation processing or export cancellation processing based on the evaluation criteria.
💻 Technical Criteria
Given A cancellation processing request is received with disposition code and cargo status information
When The system evaluates the message type and cargo current status
Then The system routes to either arrival cancellation processing or export cancellation processing based on the evaluation criteria
R-GCX016-cbl-00865 Process Arrival Cancellation
Action Rules
📊 Business Logic Narrative
When the process 'Process Arrival Cancellation' is invoked, and assuming that an arrival cancellation request is identified for cargo, when the system processes the arrival cancellation, the desired outcome is that the system prepares arrival cancellation message and sends it via merlin messaging system.
💻 Technical Criteria
Given An arrival cancellation request is identified for cargo
When The system processes the arrival cancellation
Then The system prepares arrival cancellation message and sends it via Merlin messaging system
R-GCX016-cbl-00866 Process Export Cancellation
Action Rules
📊 Business Logic Narrative
When the process 'Process Export Cancellation' is invoked, and assuming that an export cancellation request is identified for cargo, when the system processes the export cancellation, the desired outcome is that the system prepares export cancellation message and sends it via merlin messaging system.
💻 Technical Criteria
Given An export cancellation request is identified for cargo
When The system processes the export cancellation
Then The system prepares export cancellation message and sends it via Merlin messaging system
R-GCX016-cbl-00867 Restore Previous Bond Dates
Process Rules
📊 Business Logic Narrative
When the process 'Restore Previous Bond Dates' is invoked, and assuming that an arrival cancellation has been processed for cargo, when the system needs to restore previous bond state, the desired outcome is that the system restores previous bond dates and clears current arrival information to return cargo to pre-arrival state.
💻 Technical Criteria
Given An arrival cancellation has been processed for cargo
When The system needs to restore previous bond state
Then The system restores previous bond dates and clears current arrival information to return cargo to pre-arrival state
R-GCX016-cbl-00868 Re-establish Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Re-establish Destination Index' is invoked, and assuming that an export cancellation has been processed for cargo, when the system needs to restore destination routing, the desired outcome is that the system re-establishes destination index and updates routing information to restore proper cargo destination tracking.
💻 Technical Criteria
Given An export cancellation has been processed for cargo
When The system needs to restore destination routing
Then The system re-establishes destination index and updates routing information to restore proper cargo destination tracking
R-GCX016-cbl-00869 Update Cargo Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status' is invoked, and assuming that cancellation processing has been completed and previous dates/indexes restored, when the system updates cargo status, the desired outcome is that the system sets appropriate cargo status based on cancellation type and updates cargo record with new status information.
💻 Technical Criteria
Given Cancellation processing has been completed and previous dates/indexes restored
When The system updates cargo status
Then The system sets appropriate cargo status based on cancellation type and updates cargo record with new status information
R-GCX016-cbl-00871 Generate Cancellation Notice
Action Rules
📊 Business Logic Narrative
When the process 'Generate Cancellation Notice' is invoked, and assuming that cancellation processing is complete with updated status and cargo information, when the system generates cancellation notices, the desired outcome is that the system creates formatted cancellation messages with cargo details, cancellation type, and routing information for distribution.
💻 Technical Criteria
Given Cancellation processing is complete with updated status and cargo information
When The system generates cancellation notices
Then The system creates formatted cancellation messages with cargo details, cancellation type, and routing information for distribution
R-GCX016-cbl-00872 Log Cancellation Transaction
Process Rules
📊 Business Logic Narrative
When the process 'Log Cancellation Transaction' is invoked, and assuming that cancellation notice has been generated, when the system logs the transaction, the desired outcome is that the system records cancellation details including cargo information, cancellation type, timestamp, and user information in transaction log.
💻 Technical Criteria
Given Cancellation notice has been generated
When The system logs the transaction
Then The system records cancellation details including cargo information, cancellation type, timestamp, and user information in transaction log
R-GCX016-cbl-00873 Notify Integration Services
Action Rules
📊 Business Logic Narrative
When the process 'Notify Integration Services' is invoked, and assuming that cancellation transaction has been logged, when the system notifies integration services, the desired outcome is that the system sends cancellation notification to gcciis and other integration services with updated cargo status and cancellation details.
💻 Technical Criteria
Given Cancellation transaction has been logged
When The system notifies integration services
Then The system sends cancellation notification to GCCIIS and other integration services with updated cargo status and cancellation details
R-GCX016-cbl-00874 Calculate Age in Days
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Age in Days' is invoked, and assuming that a cargo record with bond start date information is being processed, when the system needs to calculate cargo age for destination indexing, the desired outcome is that the system converts both bond start date and current date to julian format and calculates the difference in days.
💻 Technical Criteria
Given A cargo record with bond start date information is being processed
When The system needs to calculate cargo age for destination indexing
Then The system converts both bond start date and current date to Julian format and calculates the difference in days
R-GCX016-cbl-00875 Bond Start Date Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Bond Start Date Available?' is invoked, and assuming that a cargo record is being processed for age calculation, when the system checks for bond start date availability, the desired outcome is that if bond start date is available, proceed with age calculation; otherwise set age to zero.
💻 Technical Criteria
Given A cargo record is being processed for age calculation
When The system checks for bond start date availability
Then If bond start date is available, proceed with age calculation; otherwise set age to zero
R-GCX016-cbl-00876 Set Age to Zero - No Bond Date
Decision Rules
📊 Business Logic Narrative
When the process 'Set Age to Zero - No Bond Date' is invoked, and assuming that a cargo record without a valid bond start date, when age calculation is required for destination indexing, the desired outcome is that the system sets cargo age to zero days.
💻 Technical Criteria
Given A cargo record without a valid bond start date
When Age calculation is required for destination indexing
Then The system sets cargo age to zero days
R-GCX016-cbl-00877 Use Age for Destination Indexing Decision
Decision Rules
📊 Business Logic Narrative
When the process 'Use Age for Destination Indexing Decision' is invoked, and assuming that cargo age has been calculated or set to zero, when the system processes destination indexing decisions, the desired outcome is that the calculated age value is used to determine cargo priority for destination processing.
💻 Technical Criteria
Given Cargo age has been calculated or set to zero
When The system processes destination indexing decisions
Then The calculated age value is used to determine cargo priority for destination processing
R-GCX016-cbl-00895 Disposition Code Has Quantity Action?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Has Quantity Action?' is invoked, and assuming that a disposition code is being processed for cargo release, when the system evaluates if the disposition code has an associated quantity action, the desired outcome is that the system should proceed to quantity processing if action exists, otherwise skip quantity calculations.
💻 Technical Criteria
Given A disposition code is being processed for cargo release
When The system evaluates if the disposition code has an associated quantity action
Then The system should proceed to quantity processing if action exists, otherwise skip quantity calculations
R-GCX016-cbl-00896 Get Current Released Quantity from Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Get Current Released Quantity from Cargo' is invoked, and assuming that a cargo record exists with current released quantity information, when the system needs to perform quantity calculations, the desired outcome is that the system should retrieve the current released quantity from the cargo record.
💻 Technical Criteria
Given A cargo record exists with current released quantity information
When The system needs to perform quantity calculations
Then The system should retrieve the current released quantity from the cargo record
R-GCX016-cbl-00903 Update Cargo Record with New Released Quantity
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with New Released Quantity' is invoked, and assuming that a final released quantity has been determined through calculations and validations, when the system needs to persist the quantity changes, the desired outcome is that the system should update the cargo record with the new released quantity value.
💻 Technical Criteria
Given A final released quantity has been determined through calculations and validations
When The system needs to persist the quantity changes
Then The system should update the cargo record with the new released quantity value
R-GCX016-cbl-00904 Determine Hold Location
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Hold Location' is invoked, and assuming that a cargo item has been identified as having hold status, when the system evaluates the cargo hold location type, the desired outcome is that the system determines if the hold is at border location or destination location based on cargo status flags.
💻 Technical Criteria
Given A cargo item has been identified as having hold status
When The system evaluates the cargo hold location type
Then The system determines if the hold is at border location or destination location based on cargo status flags
R-GCX016-cbl-00905 Format Hold Message with Location Details
Process Rules
📊 Business Logic Narrative
When the process 'Format Hold Message with Location Details' is invoked, and assuming that a cargo hold location has been determined as either border or destination, when the system formats the hold message, the desired outcome is that the system includes appropriate location details in the message format based on hold location type.
💻 Technical Criteria
Given A cargo hold location has been determined as either border or destination
When The system formats the hold message
Then The system includes appropriate location details in the message format based on hold location type
R-GCX016-cbl-00907 Add Disposition Code Details
Process Rules
📊 Business Logic Narrative
When the process 'Add Disposition Code Details' is invoked, and assuming that a hold message is being formatted with cargo information, when the system adds disposition code details, the desired outcome is that the system includes the disposition code and its description from the dc table in the message.
💻 Technical Criteria
Given A hold message is being formatted with cargo information
When The system adds disposition code details
Then The system includes the disposition code and its description from the DC table in the message
R-GCX016-cbl-00908 Include Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Quantity Information' is invoked, and assuming that a hold message is being formatted with disposition code details, when the system adds quantity information, the desired outcome is that the system includes total cargo quantity and quantity affected by the hold in the message.
💻 Technical Criteria
Given A hold message is being formatted with disposition code details
When The system adds quantity information
Then The system includes total cargo quantity and quantity affected by the hold in the message
R-GCX016-cbl-00911 Determine Message Recipients
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Message Recipients' is invoked, and assuming that a hold message requires routing to external recipients, when the system determines message recipients, the desired outcome is that the system identifies recipients including station merlin ids, broker contacts, and payer of freight based on cargo configuration.
💻 Technical Criteria
Given A hold message requires routing to external recipients
When The system determines message recipients
Then The system identifies recipients including station Merlin IDs, broker contacts, and payer of freight based on cargo configuration
R-GCX016-cbl-00913 Get Broker Information
Action Rules
📊 Business Logic Narrative
When the process 'Get Broker Information' is invoked, and assuming that broker notification is required for cargo hold message, when the system retrieves broker information, the desired outcome is that the system gets payer of freight broker information if available, otherwise uses cargo broker information.
💻 Technical Criteria
Given Broker notification is required for cargo hold message
When The system retrieves broker information
Then The system gets payer of freight broker information if available, otherwise uses cargo broker information
R-GCX016-cbl-00920 Initialize Cargo State Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Cargo State Flags' is invoked, and assuming that a cargo status analysis process is starting, when the system begins status array analysis, the desired outcome is that all cargo state flags (hold, release, ptt, proceed, arrival, export, fda) are set to false and quantities are initialized to zero.
💻 Technical Criteria
Given A cargo status analysis process is starting
When The system begins status array analysis
Then All cargo state flags (hold, release, PTT, proceed, arrival, export, FDA) are set to false and quantities are initialized to zero
R-GCX016-cbl-00921 Loop Through S09A Status Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through S09A Status Array Elements' is invoked, and assuming that a populated s09a status array exists for cargo, when the system processes status array elements, the desired outcome is that each array element is examined in sequence until all elements are processed.
💻 Technical Criteria
Given A populated S09A status array exists for cargo
When The system processes status array elements
Then Each array element is examined in sequence until all elements are processed
R-GCX016-cbl-00923 Set Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Flag' is invoked, and assuming that a disposition code is classified as a hold code, when the hold code is processed, the desired outcome is that the cargo hold flag is set to true.
💻 Technical Criteria
Given A disposition code is classified as a hold code
When The hold code is processed
Then The cargo hold flag is set to true
R-GCX016-cbl-00928 Set Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Flag' is invoked, and assuming that a disposition code is classified as a release code, when the release code is processed, the desired outcome is that the cargo release flag is set to true and the release quantity is updated based on the disposition code quantity.
💻 Technical Criteria
Given A disposition code is classified as a release code
When The release code is processed
Then The cargo release flag is set to true and the release quantity is updated based on the disposition code quantity
R-GCX016-cbl-00930 Set PTT Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set PTT Flag' is invoked, and assuming that a disposition code is classified as a ptt code, when the ptt code is processed, the desired outcome is that the cargo ptt flag is set to true and the ptt quantity is saved from the disposition code.
💻 Technical Criteria
Given A disposition code is classified as a PTT code
When The PTT code is processed
Then The cargo PTT flag is set to true and the PTT quantity is saved from the disposition code
R-GCX016-cbl-00932 Set Proceed Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Proceed Flag' is invoked, and assuming that a disposition code is classified as a proceed code, when the proceed code is processed, the desired outcome is that the cargo proceed flag is set to true and the border arrival date is established.
💻 Technical Criteria
Given A disposition code is classified as a proceed code
When The proceed code is processed
Then The cargo proceed flag is set to true and the border arrival date is established
R-GCX016-cbl-00934 Set Arrival Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Arrival Flag' is invoked, and assuming that a disposition code is classified as an arrival code, when the arrival code is processed, the desired outcome is that the cargo arrival flag is set to true.
💻 Technical Criteria
Given A disposition code is classified as an arrival code
When The arrival code is processed
Then The cargo arrival flag is set to true
R-GCX016-cbl-00936 Set Export Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Flag' is invoked, and assuming that a disposition code is classified as an export code, when the export code is processed, the desired outcome is that the cargo export flag is set to true.
💻 Technical Criteria
Given A disposition code is classified as an export code
When The export code is processed
Then The cargo export flag is set to true
R-GCX016-cbl-00938 Set FDA Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Flag' is invoked, and assuming that a disposition code is classified as an fda code, when the fda code is processed, the desired outcome is that the cargo fda hold flag is set to true.
💻 Technical Criteria
Given A disposition code is classified as an FDA code
When The FDA code is processed
Then The cargo FDA hold flag is set to true
R-GCX016-cbl-00941 Analyze Combined Flags
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Combined Flags' is invoked, and assuming that release flag is set and release quantity is available, when the system compares release quantity to total cargo quantity, the desired outcome is that the system determines if the release is partial (release quantity less than total quantity) or complete.
💻 Technical Criteria
Given Release flag is set and release quantity is available
When The system compares release quantity to total cargo quantity
Then The system determines if the release is partial (release quantity less than total quantity) or complete
R-GCX016-cbl-00942 Set Final Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Hold Status' is invoked, and assuming that hold flags have been set during status array analysis, when the system determines final cargo state, the desired outcome is that the final hold status is established considering border holds, destination holds, and other hold conditions.
💻 Technical Criteria
Given Hold flags have been set during status array analysis
When The system determines final cargo state
Then The final hold status is established considering border holds, destination holds, and other hold conditions
R-GCX016-cbl-00943 Set Final Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Release Status' is invoked, and assuming that release flags and quantities have been determined during status array analysis, when the system determines final cargo state, the desired outcome is that the final release status is established considering full release, partial release, and release quantities.
💻 Technical Criteria
Given Release flags and quantities have been determined during status array analysis
When The system determines final cargo state
Then The final release status is established considering full release, partial release, and release quantities
R-GCX016-cbl-00944 Set Final PTT Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Final PTT Status' is invoked, and assuming that ptt flags and quantities have been validated during status array analysis, when the system determines final cargo state, the desired outcome is that the final ptt status is established if ptt quantity meets threshold requirements.
💻 Technical Criteria
Given PTT flags and quantities have been validated during status array analysis
When The system determines final cargo state
Then The final PTT status is established if PTT quantity meets threshold requirements
R-GCX016-cbl-00945 Set Partial Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Partial Release Status' is invoked, and assuming that release quantity is less than total cargo quantity, when the system determines final cargo state, the desired outcome is that the partial release status is set to indicate incomplete release of cargo.
💻 Technical Criteria
Given Release quantity is less than total cargo quantity
When The system determines final cargo state
Then The partial release status is set to indicate incomplete release of cargo
R-GCX016-cbl-00946 Determine Final Cargo State
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Final Cargo State' is invoked, and assuming that all individual status flags have been set and analyzed, when the system consolidates all status information, the desired outcome is that the final cargo state is determined considering the priority and combination of hold, release, ptt, proceed, arrival, export, and fda conditions.
💻 Technical Criteria
Given All individual status flags have been set and analyzed
When The system consolidates all status information
Then The final cargo state is determined considering the priority and combination of hold, release, PTT, proceed, arrival, export, and FDA conditions
R-GCX016-cbl-00947 Manual Release Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Manual Release Flag Set?' is invoked, and assuming that a cargo record is being processed for status determination, when the manual release flag is set to true, the desired outcome is that the destination index should be cleared and canadian manifest coordination should be initiated.
💻 Technical Criteria
Given A cargo record is being processed for status determination
When The manual release flag is set to true
Then The destination index should be cleared and Canadian manifest coordination should be initiated
R-GCX016-cbl-00948 FDA Hold at Destination?
Policy Rules
📊 Business Logic Narrative
When the process 'FDA Hold at Destination?' is invoked, and assuming that a cargo record is being evaluated for fda hold requirements, when fda hold conditions are present at the destination location, the desired outcome is that the cargo status should be set to fda hold with code 66.
💻 Technical Criteria
Given A cargo record is being evaluated for FDA hold requirements
When FDA hold conditions are present at the destination location
Then The cargo status should be set to FDA hold with code 66
R-GCX016-cbl-00949 PTT Status Present?
Process Rules
📊 Business Logic Narrative
When the process 'PTT Status Present?' is invoked, and assuming that a cargo record is being processed for status updates, when the cargo currently has ptt status assigned, the desired outcome is that the current ptt status should be saved for potential restoration later in the process.
💻 Technical Criteria
Given A cargo record is being processed for status updates
When The cargo currently has PTT status assigned
Then The current PTT status should be saved for potential restoration later in the process
R-GCX016-cbl-00950 Released Quantity < Total Quantity?
Decision Rules
📊 Business Logic Narrative
When the process 'Released Quantity < Total Quantity?' is invoked, and assuming that a cargo record with defined total quantity and released quantity, when the released quantity is less than the total quantity, the desired outcome is that the cargo status should be set to hold on piece counts to reflect partial release.
💻 Technical Criteria
Given A cargo record with defined total quantity and released quantity
When The released quantity is less than the total quantity
Then The cargo status should be set to hold on piece counts to reflect partial release
R-GCX016-cbl-00951 Released Quantity = Total Quantity?
Decision Rules
📊 Business Logic Narrative
When the process 'Released Quantity = Total Quantity?' is invoked, and assuming that a cargo record with released quantity and total quantity values, when the released quantity equals the total quantity, the desired outcome is that the system should process full release and clear the destination index.
💻 Technical Criteria
Given A cargo record with released quantity and total quantity values
When The released quantity equals the total quantity
Then The system should process full release and clear the destination index
R-GCX016-cbl-00952 Proceed Status Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed Status Present?' is invoked, and assuming that a cargo record being evaluated for proceed status, when proceed status conditions are present in the cargo data, the desired outcome is that the cargo status should be set to proceed and the border arrival date should be updated.
💻 Technical Criteria
Given A cargo record being evaluated for proceed status
When Proceed status conditions are present in the cargo data
Then The cargo status should be set to proceed and the border arrival date should be updated
R-GCX016-cbl-00953 Hold at Border?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold at Border?' is invoked, and assuming that a cargo record with hold status conditions present, when the hold location is determined to be at the border, the desired outcome is that the cargo status should be set to border hold, otherwise it should be set to destination hold.
💻 Technical Criteria
Given A cargo record with hold status conditions present
When The hold location is determined to be at the border
Then The cargo status should be set to border hold, otherwise it should be set to destination hold
R-GCX016-cbl-00954 Arrival Status Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Arrival Status Present?' is invoked, and assuming that a cargo record being processed for arrival status, when arrival status conditions are present in the cargo data, the desired outcome is that the cargo status should be set to arrival and the arrival date should be updated.
💻 Technical Criteria
Given A cargo record being processed for arrival status
When Arrival status conditions are present in the cargo data
Then The cargo status should be set to arrival and the arrival date should be updated
R-GCX016-cbl-00955 Export Status Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Status Present?' is invoked, and assuming that a cargo record being evaluated for export status, when export status conditions are present in the cargo data, the desired outcome is that the cargo status should be set to export and the destination index should be cleared.
💻 Technical Criteria
Given A cargo record being evaluated for export status
When Export status conditions are present in the cargo data
Then The cargo status should be set to export and the destination index should be cleared
R-GCX016-cbl-00956 Cancel Release Status?
Process Rules
📊 Business Logic Narrative
When the process 'Cancel Release Status?' is invoked, and assuming that a cargo record with potential cancel release conditions, when cancel release status is detected in the cargo data, the desired outcome is that the cargo status should be set to unrelease, an unrelease notification should be generated, and the destination index should be re-established.
💻 Technical Criteria
Given A cargo record with potential cancel release conditions
When Cancel release status is detected in the cargo data
Then The cargo status should be set to unrelease, an unrelease notification should be generated, and the destination index should be re-established
R-GCX016-cbl-00957 Calculate Cargo Age
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Cargo Age' is invoked, and assuming that a cargo record completing status determination processing, when final status calculations are being performed, the desired outcome is that the cargo age should be calculated and bond dates should be updated accordingly.
💻 Technical Criteria
Given A cargo record completing status determination processing
When Final status calculations are being performed
Then The cargo age should be calculated and bond dates should be updated accordingly
R-GCX016-cbl-00958 Restore PTT Status if Saved
Process Rules
📊 Business Logic Narrative
When the process 'Restore PTT Status if Saved' is invoked, and assuming that a cargo record that had ptt status saved during processing, when all other status determinations have been completed, the desired outcome is that the previously saved ptt status should be restored if it was saved earlier in the process.
💻 Technical Criteria
Given A cargo record that had PTT status saved during processing
When All other status determinations have been completed
Then The previously saved PTT status should be restored if it was saved earlier in the process
R-GCX016-cbl-00959 Force Manual Release for CPRS
Decision Rules
📊 Business Logic Narrative
When the process 'Force Manual Release for CPRS' is invoked, and assuming that a cargo record exists in the system and the cargo belongs to cprs (canadian pacific railway system), when a manual release request is processed for the cargo, the desired outcome is that the system shall force set the manual release flag to true and bypass standard release validation checks.
💻 Technical Criteria
Given A cargo record exists in the system AND the cargo belongs to CPRS (Canadian Pacific Railway System)
When A manual release request is processed for the cargo
Then The system shall force set the manual release flag to true AND bypass standard release validation checks
R-GCX016-cbl-00960 Check Current Cargo Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check Current Cargo Status' is invoked, and assuming that a cargo record exists in the system with a current status, when manual release processing is initiated, the desired outcome is that the system shall check if the cargo is currently in a held status and only proceed with manual release if cargo is held.
💻 Technical Criteria
Given A cargo record exists in the system with a current status
When Manual release processing is initiated
Then The system shall check if the cargo is currently in a held status AND only proceed with manual release if cargo is held
R-GCX016-cbl-00961 Clear Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that cargo is confirmed to be in held status and manual release is authorized, when manual release processing begins, the desired outcome is that the system shall clear the destination index field and remove any destination-based routing restrictions.
💻 Technical Criteria
Given Cargo is confirmed to be in held status AND manual release is authorized
When Manual release processing begins
Then The system shall clear the destination index field AND remove any destination-based routing restrictions
R-GCX016-cbl-00962 Update Cargo Status to Released
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to Released' is invoked, and assuming that destination index has been cleared and cargo was previously held, when manual release processing continues, the desired outcome is that the system shall update the cargo status to 'released' and record the manual release timestamp.
💻 Technical Criteria
Given Destination index has been cleared AND cargo was previously held
When Manual release processing continues
Then The system shall update the cargo status to 'Released' AND record the manual release timestamp
R-GCX016-cbl-00963 Cross-Border Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Cross-Border Cargo?' is invoked, and assuming that cargo status has been updated to released, when the system evaluates cargo movement requirements, the desired outcome is that the system shall determine if the cargo involves cross-border movement between us and canada and set cross-border processing flag accordingly.
💻 Technical Criteria
Given Cargo status has been updated to released
When The system evaluates cargo movement requirements
Then The system shall determine if the cargo involves cross-border movement between US and Canada AND set cross-border processing flag accordingly
R-GCX016-cbl-00967 Save Manual Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Save Manual Release Flag' is invoked, and assuming that status array has been updated and manual release processing is in progress, when cargo record finalization occurs, the desired outcome is that the system shall save the manual release flag in the cargo record and maintain the flag for audit purposes and ensure flag persists through subsequent processing.
💻 Technical Criteria
Given Status array has been updated AND manual release processing is in progress
When Cargo record finalization occurs
Then The system shall save the manual release flag in the cargo record AND maintain the flag for audit purposes AND ensure flag persists through subsequent processing
R-GCX016-cbl-00968 Clear Bond Dates if Applicable
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Dates if Applicable' is invoked, and assuming that manual release flag is saved and cargo has associated bond dates, when bond date evaluation is performed, the desired outcome is that the system shall clear bond dates if cargo status allows and remove time-based movement restrictions and update bond-related fields accordingly.
💻 Technical Criteria
Given Manual release flag is saved AND cargo has associated bond dates
When Bond date evaluation is performed
Then The system shall clear bond dates if cargo status allows AND remove time-based movement restrictions AND update bond-related fields accordingly
R-GCX016-cbl-00969 Generate Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Release Notification' is invoked, and assuming that manual release processing is complete and all status updates are finalized, when notification generation is triggered, the desired outcome is that the system shall generate release notification messages and send notifications to relevant parties and include cargo details and release timestamp.
💻 Technical Criteria
Given Manual release processing is complete AND all status updates are finalized
When Notification generation is triggered
Then The system shall generate release notification messages AND send notifications to relevant parties AND include cargo details and release timestamp
R-GCX016-cbl-00970 FDA Hold Processing Start
Process Rules
📊 Business Logic Narrative
When the process 'FDA Hold Processing Start' is invoked, and assuming that a cargo record exists in the system, when fda hold processing is triggered for the cargo, the desired outcome is that the system begins fda hold evaluation workflow.
💻 Technical Criteria
Given A cargo record exists in the system
When FDA hold processing is triggered for the cargo
Then The system begins FDA hold evaluation workflow
R-GCX016-cbl-00971 Cargo at Destination?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo at Destination?' is invoked, and assuming that a cargo record with location information exists, when the system evaluates cargo location status, the desired outcome is that the system determines if cargo is at destination and proceeds with appropriate fda processing path.
💻 Technical Criteria
Given A cargo record with location information exists
When The system evaluates cargo location status
Then The system determines if cargo is at destination and proceeds with appropriate FDA processing path
R-GCX016-cbl-00972 Check Status Array for FDA Codes
Validation Rules
📊 Business Logic Narrative
When the process 'Check Status Array for FDA Codes' is invoked, and assuming that cargo is at destination location and has a status array, when the system scans the status array for fda codes, the desired outcome is that the system identifies all fda-related status codes present in the array.
💻 Technical Criteria
Given Cargo is at destination location and has a status array
When The system scans the status array for FDA codes
Then The system identifies all FDA-related status codes present in the array
R-GCX016-cbl-00974 Set FDA Hold Status at Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Status at Destination' is invoked, and assuming that fda hold codes are found in the status array and cargo is at destination, when the system processes fda hold assignment, the desired outcome is that the system sets fda hold status with destination location designation.
💻 Technical Criteria
Given FDA hold codes are found in the status array and cargo is at destination
When The system processes FDA hold assignment
Then The system sets FDA hold status with destination location designation
R-GCX016-cbl-00975 Apply FDA-Specific Status Codes
Policy Rules
📊 Business Logic Narrative
When the process 'Apply FDA-Specific Status Codes' is invoked, and assuming that fda hold status has been set at destination, when the system applies fda-specific status codes, the desired outcome is that the cargo record is updated with appropriate fda regulatory status codes.
💻 Technical Criteria
Given FDA hold status has been set at destination
When The system applies FDA-specific status codes
Then The cargo record is updated with appropriate FDA regulatory status codes
R-GCX016-cbl-00976 Generate FDA Hold Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Generate FDA Hold Description' is invoked, and assuming that fda-specific status codes have been applied to cargo, when the system generates fda hold description, the desired outcome is that a clear, business-readable description of the fda hold is created and associated with the cargo.
💻 Technical Criteria
Given FDA-specific status codes have been applied to cargo
When The system generates FDA hold description
Then A clear, business-readable description of the FDA hold is created and associated with the cargo
R-GCX016-cbl-00977 Other Hold Codes Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Other Hold Codes Present?' is invoked, and assuming that fda hold description has been generated for cargo, when the system checks for other hold codes in the status array, the desired outcome is that the system determines if additional hold codes exist that require combination with fda hold.
💻 Technical Criteria
Given FDA hold description has been generated for cargo
When The system checks for other hold codes in the status array
Then The system determines if additional hold codes exist that require combination with FDA hold
R-GCX016-cbl-00979 Set Destination Hold Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Flag' is invoked, and assuming that fda hold processing is complete (with or without other holds), when the system sets destination hold flag, the desired outcome is that the cargo record is marked with destination hold flag indicating hold status at destination.
💻 Technical Criteria
Given FDA hold processing is complete (with or without other holds)
When The system sets destination hold flag
Then The cargo record is marked with destination hold flag indicating hold status at destination
R-GCX016-cbl-00980 Update Cargo Status Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Record' is invoked, and assuming that destination hold flag has been set and all fda processing is complete, when the system updates the cargo status record, the desired outcome is that the cargo record is permanently updated with fda hold status, descriptions, and all related information.
💻 Technical Criteria
Given Destination hold flag has been set and all FDA processing is complete
When The system updates the cargo status record
Then The cargo record is permanently updated with FDA hold status, descriptions, and all related information
R-GCX016-cbl-00981 Generate FDA Hold Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate FDA Hold Notification' is invoked, and assuming that cargo status record has been updated with fda hold information, when the system generates fda hold notification, the desired outcome is that appropriate notification messages are created for brokers, carriers, and other stakeholders about the fda hold.
💻 Technical Criteria
Given Cargo status record has been updated with FDA hold information
When The system generates FDA hold notification
Then Appropriate notification messages are created for brokers, carriers, and other stakeholders about the FDA hold
R-GCX016-cbl-00983 Log FDA Hold Action
Policy Rules
📊 Business Logic Narrative
When the process 'Log FDA Hold Action' is invoked, and assuming that fda processing queue routing is complete, when the system logs fda hold action, the desired outcome is that a complete audit record of the fda hold action is created including timestamps, cargo details, and regulatory codes.
💻 Technical Criteria
Given FDA processing queue routing is complete
When The system logs FDA hold action
Then A complete audit record of the FDA hold action is created including timestamps, cargo details, and regulatory codes
R-GCX016-cbl-00984 FDA Hold Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'FDA Hold Processing Complete' is invoked, and assuming that fda hold action has been logged successfully, when the system completes fda hold processing, the desired outcome is that fda hold processing workflow is marked complete and control returns to main cargo processing flow.
💻 Technical Criteria
Given FDA hold action has been logged successfully
When The system completes FDA hold processing
Then FDA hold processing workflow is marked complete and control returns to main cargo processing flow
R-GCX016-cbl-00985 No FDA Hold Required
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No FDA Hold Required', assuming that cargo is not at destination or no fda hold codes are found, when the system determines no fda hold is required, the desired outcome is that fda hold processing is bypassed and the system proceeds to completion without applying fda holds.
💻 Technical Criteria
EXCLUDING Cargo is not at destination or no FDA hold codes are found
When The system determines no FDA hold is required
Then FDA hold processing is bypassed and the system proceeds to completion without applying FDA holds
R-GCX016-cbl-00986 Cargo Has PTT Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Has PTT Status?' is invoked, and assuming that a cargo record is being processed for ptt status changes, when the system evaluates the cargo's current status, the desired outcome is that if cargo has existing ptt status, preserve current ptt status for comparison, otherwise proceed with ptt analysis.
💻 Technical Criteria
Given A cargo record is being processed for PTT status changes
When The system evaluates the cargo's current status
Then If cargo has existing PTT status, preserve current PTT status for comparison, otherwise proceed with PTT analysis
R-GCX016-cbl-00987 Save Current PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current PTT Status' is invoked, and assuming that cargo has an existing ptt status, when ptt processing begins, the desired outcome is that save the current ptt status values to working storage for potential restoration.
💻 Technical Criteria
Given Cargo has an existing PTT status
When PTT processing begins
Then Save the current PTT status values to working storage for potential restoration
R-GCX016-cbl-00988 Analyze Status Array for PTT Codes
Validation Rules
📊 Business Logic Narrative
When the process 'Analyze Status Array for PTT Codes' is invoked, and assuming that a cargo status array exists with multiple status entries, when the system analyzes the status array for ptt codes, the desired outcome is that identify and flag any ptt disposition codes present in the status array.
💻 Technical Criteria
Given A cargo status array exists with multiple status entries
When The system analyzes the status array for PTT codes
Then Identify and flag any PTT disposition codes present in the status array
R-GCX016-cbl-00991 Validate PTT Quantity Against Cargo Quantity
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PTT Quantity Against Cargo Quantity' is invoked, and assuming that ptt quantity has been extracted from the status array, when the system validates the ptt quantity against total cargo quantity, the desired outcome is that if ptt quantity is valid and within acceptable range, proceed with quantity calculations, otherwise generate ptt validation error.
💻 Technical Criteria
Given PTT quantity has been extracted from the status array
When The system validates the PTT quantity against total cargo quantity
Then If PTT quantity is valid and within acceptable range, proceed with quantity calculations, otherwise generate PTT validation error
R-GCX016-cbl-00993 Calculate Remaining Quantity After PTT
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Remaining Quantity After PTT' is invoked, and assuming that ptt quantity has been validated as acceptable, when the system calculates remaining quantities, the desired outcome is that subtract ptt quantity from total cargo quantity to determine remaining quantity for further processing.
💻 Technical Criteria
Given PTT quantity has been validated as acceptable
When The system calculates remaining quantities
Then Subtract PTT quantity from total cargo quantity to determine remaining quantity for further processing
R-GCX016-cbl-00995 Set PTT Status with Partial Quantity
Action Rules
📊 Business Logic Narrative
When the process 'Set PTT Status with Partial Quantity' is invoked, and assuming that a partial release scenario has been identified, when the system sets ptt status, the desired outcome is that set ptt status with the partial quantity value and maintain tracking for remaining unreleased cargo.
💻 Technical Criteria
Given A partial release scenario has been identified
When The system sets PTT status
Then Set PTT status with the partial quantity value and maintain tracking for remaining unreleased cargo
R-GCX016-cbl-00996 Update Released Quantity
Action Rules
📊 Business Logic Narrative
When the process 'Update Released Quantity' is invoked, and assuming that ptt status has been set with partial quantity, when the system updates released quantity, the desired outcome is that add ptt quantity to the cargo's total released quantity field.
💻 Technical Criteria
Given PTT status has been set with partial quantity
When The system updates released quantity
Then Add PTT quantity to the cargo's total released quantity field
R-GCX016-cbl-00997 Preserve PTT for Remaining Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Preserve PTT for Remaining Cargo' is invoked, and assuming that released quantity has been updated for partial release, when the system processes remaining cargo, the desired outcome is that preserve ptt status for the remaining unreleased cargo quantity to enable future processing.
💻 Technical Criteria
Given Released quantity has been updated for partial release
When The system processes remaining cargo
Then Preserve PTT status for the remaining unreleased cargo quantity to enable future processing
R-GCX016-cbl-00998 Set Full PTT Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Full PTT Release Status' is invoked, and assuming that the scenario is determined to be a full release (not partial), when the system sets ptt release status, the desired outcome is that set full ptt release status for the entire cargo quantity.
💻 Technical Criteria
Given The scenario is determined to be a full release (not partial)
When The system sets PTT release status
Then Set full PTT release status for the entire cargo quantity
R-GCX016-cbl-00999 Clear PTT Status from Array
Process Rules
📊 Business Logic Narrative
When the process 'Clear PTT Status from Array' is invoked, and assuming that full ptt release status has been set, when the system cleans up the status array, the desired outcome is that remove ptt status codes from the cargo status array to prevent duplicate processing.
💻 Technical Criteria
Given Full PTT release status has been set
When The system cleans up the status array
Then Remove PTT status codes from the cargo status array to prevent duplicate processing
R-GCX016-cbl-01000 Restore Previous PTT Status if Needed
Process Rules
📊 Business Logic Narrative
When the process 'Restore Previous PTT Status if Needed' is invoked, and assuming that no ptt disposition code was found in the current processing, when the system needs to restore previous state, the desired outcome is that restore the previously saved ptt status to maintain cargo status consistency.
💻 Technical Criteria
Given No PTT disposition code was found in the current processing
When The system needs to restore previous state
Then Restore the previously saved PTT status to maintain cargo status consistency
R-GCX016-cbl-01001 Update Cargo Record with PTT Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with PTT Status' is invoked, and assuming that ptt status has been determined (new, preserved, or restored), when the system updates the cargo record, the desired outcome is that write the final ptt status and associated quantities to the cargo database record.
💻 Technical Criteria
Given PTT status has been determined (new, preserved, or restored)
When The system updates the cargo record
Then Write the final PTT status and associated quantities to the cargo database record
R-GCX016-cbl-01002 Generate PTT Status Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate PTT Status Message' is invoked, and assuming that cargo record has been updated with ptt status, when the system generates status messages, the desired outcome is that create and send ptt status notification messages to relevant external systems and stakeholders.
💻 Technical Criteria
Given Cargo record has been updated with PTT status
When The system generates status messages
Then Create and send PTT status notification messages to relevant external systems and stakeholders
R-GCX016-cbl-01004 Log PTT Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Log PTT Error Message' is invoked, and assuming that a ptt validation error has occurred, when the system logs the error, the desired outcome is that create detailed error log entry with ptt validation failure details and cargo information.
💻 Technical Criteria
Given A PTT validation error has occurred
When The system logs the error
Then Create detailed error log entry with PTT validation failure details and cargo information
R-GCX016-cbl-01005 Cargo Status Analysis Complete?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Status Analysis Complete?' is invoked, and assuming that a cargo record is being processed for proceed status, when the system checks if cargo status analysis is complete, the desired outcome is that the system either continues to proceed flag check or skips proceed processing based on analysis completion status.
💻 Technical Criteria
Given A cargo record is being processed for proceed status
When The system checks if cargo status analysis is complete
Then The system either continues to proceed flag check or skips proceed processing based on analysis completion status
R-GCX016-cbl-01006 Proceed Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed Flag Set?' is invoked, and assuming that cargo status analysis is complete and status array is available, when the system checks the proceed flag in the status array, the desired outcome is that if proceed flag is set, continue to border arrival validation, otherwise skip proceed processing.
💻 Technical Criteria
Given Cargo status analysis is complete and status array is available
When The system checks the proceed flag in the status array
Then If proceed flag is set, continue to border arrival validation, otherwise skip proceed processing
R-GCX016-cbl-01008 Set Proceed Status in Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Set Proceed Status in Cargo Record' is invoked, and assuming that border arrival date is available and all proceed validation requirements are met, when the system sets proceed status in the cargo record, the desired outcome is that the cargo record status is updated to proceed and the system continues to update border arrival date.
💻 Technical Criteria
Given Border arrival date is available and all proceed validation requirements are met
When The system sets proceed status in the cargo record
Then The cargo record status is updated to proceed and the system continues to update border arrival date
R-GCX016-cbl-01009 Update Border Arrival Date
Action Rules
📊 Business Logic Narrative
When the process 'Update Border Arrival Date' is invoked, and assuming that proceed status has been set in the cargo record, when the system updates the border arrival date, the desired outcome is that the border arrival date is recorded in the cargo record and the system proceeds to clear conflicting hold status.
💻 Technical Criteria
Given Proceed status has been set in the cargo record
When The system updates the border arrival date
Then The border arrival date is recorded in the cargo record and the system proceeds to clear conflicting hold status
R-GCX016-cbl-01010 Clear Any Conflicting Hold Status
Process Rules
📊 Business Logic Narrative
When the process 'Clear Any Conflicting Hold Status' is invoked, and assuming that border arrival date has been updated in the cargo record, when the system clears conflicting hold status, the desired outcome is that any hold status that conflicts with proceed status is removed and the system checks if cargo is cross-border.
💻 Technical Criteria
Given Border arrival date has been updated in the cargo record
When The system clears conflicting hold status
Then Any hold status that conflicts with proceed status is removed and the system checks if cargo is cross-border
R-GCX016-cbl-01011 Cross-Border Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Cross-Border Cargo?' is invoked, and assuming that conflicting hold status has been cleared, when the system checks if cargo is cross-border cargo, the desired outcome is that if cargo is cross-border, coordinate with canadian system, otherwise proceed to update cargo status flags.
💻 Technical Criteria
Given Conflicting hold status has been cleared
When The system checks if cargo is cross-border cargo
Then If cargo is cross-border, coordinate with Canadian system, otherwise proceed to update cargo status flags
R-GCX016-cbl-01012 Coordinate with Canadian System
Action Rules
📊 Business Logic Narrative
When the process 'Coordinate with Canadian System' is invoked, and assuming that cargo is identified as cross-border cargo, when the system coordinates with canadian system, the desired outcome is that canadian manifest records are updated or notified of proceed status and the system continues to update cargo status flags.
💻 Technical Criteria
Given Cargo is identified as cross-border cargo
When The system coordinates with Canadian system
Then Canadian manifest records are updated or notified of proceed status and the system continues to update cargo status flags
R-GCX016-cbl-01013 Update Cargo Status Flags
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Flags' is invoked, and assuming that proceed status has been set and any canadian system coordination is complete, when the system updates cargo status flags, the desired outcome is that all cargo status flags are updated to reflect proceed status and the system logs the status change.
💻 Technical Criteria
Given Proceed status has been set and any Canadian system coordination is complete
When The system updates cargo status flags
Then All cargo status flags are updated to reflect proceed status and the system logs the status change
R-GCX016-cbl-01014 Log Proceed Status Change
Process Rules
📊 Business Logic Narrative
When the process 'Log Proceed Status Change' is invoked, and assuming that cargo status flags have been updated to reflect proceed status, when the system logs the proceed status change, the desired outcome is that the proceed status change is recorded in the system log and proceed processing is marked as complete.
💻 Technical Criteria
Given Cargo status flags have been updated to reflect proceed status
When The system logs the proceed status change
Then The proceed status change is recorded in the system log and proceed processing is marked as complete
R-GCX016-cbl-01015 Analyze Status Array for Hold Codes
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Status Array for Hold Codes' is invoked, and assuming that a cargo record with status array s09a containing various disposition codes, when the system processes the status array to identify hold-related codes, the desired outcome is that the system sets appropriate flags for border holds, destination holds, fda holds, and piece count holds based on the codes found in the array.
💻 Technical Criteria
Given A cargo record with status array S09A containing various disposition codes
When The system processes the status array to identify hold-related codes
Then The system sets appropriate flags for border holds, destination holds, FDA holds, and piece count holds based on the codes found in the array
R-GCX016-cbl-01016 Hold Location Determination
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Location Determination' is invoked, and assuming that a cargo record with identified hold codes in the status array, when the system evaluates the hold codes to determine applicable locations, the desired outcome is that the system classifies the hold as border-only, destination-only, or both locations based on the specific disposition codes present.
💻 Technical Criteria
Given A cargo record with identified hold codes in the status array
When The system evaluates the hold codes to determine applicable locations
Then The system classifies the hold as border-only, destination-only, or both locations based on the specific disposition codes present
R-GCX016-cbl-01017 Set Border Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Status' is invoked, and assuming that a cargo record requiring border hold processing, when the system determines that hold codes apply to border location, the desired outcome is that the system sets the cargo status to border hold and updates the appropriate status flags.
💻 Technical Criteria
Given A cargo record requiring border hold processing
When The system determines that hold codes apply to border location
Then The system sets the cargo status to border hold and updates the appropriate status flags
R-GCX016-cbl-01018 Set Destination Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Status' is invoked, and assuming that a cargo record requiring destination hold processing, when the system determines that hold codes apply to destination location, the desired outcome is that the system sets the cargo status to destination hold and updates the appropriate status flags.
💻 Technical Criteria
Given A cargo record requiring destination hold processing
When The system determines that hold codes apply to destination location
Then The system sets the cargo status to destination hold and updates the appropriate status flags
R-GCX016-cbl-01019 Set Both Border and Destination Hold
Action Rules
📊 Business Logic Narrative
When the process 'Set Both Border and Destination Hold' is invoked, and assuming that a cargo record with hold codes requiring restrictions at multiple locations, when the system determines that hold codes apply to both border and destination, the desired outcome is that the system sets the cargo status to hold at both locations and updates all relevant status flags.
💻 Technical Criteria
Given A cargo record with hold codes requiring restrictions at multiple locations
When The system determines that hold codes apply to both border and destination
Then The system sets the cargo status to hold at both locations and updates all relevant status flags
R-GCX016-cbl-01020 Validate Hold Requirements
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Hold Requirements' is invoked, and assuming that a cargo record with proposed hold status changes, when the system validates the hold requirements against current cargo conditions, the desired outcome is that the system confirms the hold is valid or rejects invalid hold attempts based on cargo state and business rules.
💻 Technical Criteria
Given A cargo record with proposed hold status changes
When The system validates the hold requirements against current cargo conditions
Then The system confirms the hold is valid or rejects invalid hold attempts based on cargo state and business rules
R-GCX016-cbl-01021 FDA Hold Required?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold Required?' is invoked, and assuming that a cargo record with disposition codes that may require fda oversight, when the system evaluates disposition codes for fda hold requirements, the desired outcome is that the system sets fda hold flag if a3 or other fda-related disposition codes are present.
💻 Technical Criteria
Given A cargo record with disposition codes that may require FDA oversight
When The system evaluates disposition codes for FDA hold requirements
Then The system sets FDA hold flag if A3 or other FDA-related disposition codes are present
R-GCX016-cbl-01022 Set FDA Hold at Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold at Destination' is invoked, and assuming that a cargo record requiring fda hold processing, when the system determines fda hold is required at destination, the desired outcome is that the system sets holdfda status and applies destination hold with fda-specific processing requirements.
💻 Technical Criteria
Given A cargo record requiring FDA hold processing
When The system determines FDA hold is required at destination
Then The system sets HOLDFDA status and applies destination hold with FDA-specific processing requirements
R-GCX016-cbl-01023 Partial Release Scenario?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Release Scenario?' is invoked, and assuming that a cargo record with release quantities that may be less than total quantities, when the system compares released quantities against total cargo quantities, the desired outcome is that the system identifies partial release scenarios where released quantity is less than total quantity.
💻 Technical Criteria
Given A cargo record with release quantities that may be less than total quantities
When The system compares released quantities against total cargo quantities
Then The system identifies partial release scenarios where released quantity is less than total quantity
R-GCX016-cbl-01024 Set Hold on Piece Counts Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts Status' is invoked, and assuming that a cargo record with partial release quantities, when the system determines that some pieces are released while others remain held, the desired outcome is that the system sets holdpcs status to indicate hold on remaining piece counts.
💻 Technical Criteria
Given A cargo record with partial release quantities
When The system determines that some pieces are released while others remain held
Then The system sets HOLDPCS status to indicate hold on remaining piece counts
R-GCX016-cbl-01025 Update Cargo Hold Flags
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Hold Flags' is invoked, and assuming that a cargo record with determined hold status requirements, when the system updates cargo hold flags and status indicators, the desired outcome is that the system sets all appropriate hold flags including border hold, destination hold, fda hold, and piece count hold flags.
💻 Technical Criteria
Given A cargo record with determined hold status requirements
When The system updates cargo hold flags and status indicators
Then The system sets all appropriate hold flags including border hold, destination hold, FDA hold, and piece count hold flags
R-GCX016-cbl-01026 Generate Hold Message with Location Details
Action Rules
📊 Business Logic Narrative
When the process 'Generate Hold Message with Location Details' is invoked, and assuming that a cargo record with confirmed hold status and location details, when the system generates hold notification messages, the desired outcome is that the system creates detailed messages including hold type, location information, and relevant cargo details for broker notifications.
💻 Technical Criteria
Given A cargo record with confirmed hold status and location details
When The system generates hold notification messages
Then The system creates detailed messages including hold type, location information, and relevant cargo details for broker notifications
R-GCX016-cbl-01027 Update Status Array with Hold Information
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array with Hold Information' is invoked, and assuming that a cargo record with processed hold status changes, when the system updates the status array with hold information, the desired outcome is that the system adds appropriate hold disposition codes to the s09a status array and maintains proper sequencing.
💻 Technical Criteria
Given A cargo record with processed hold status changes
When The system updates the status array with hold information
Then The system adds appropriate hold disposition codes to the S09A status array and maintains proper sequencing
R-GCX016-cbl-01028 Check Released Quantity vs Total Quantity
Decision Rules
📊 Business Logic Narrative
When the process 'Check Released Quantity vs Total Quantity' is invoked, and assuming that a cargo record with released quantity and total quantity values, when the system compares released quantity against total quantity, the desired outcome is that the system determines if quantities match for full release processing or routes to partial release.
💻 Technical Criteria
Given A cargo record with released quantity and total quantity values
When The system compares released quantity against total quantity
Then The system determines if quantities match for full release processing or routes to partial release
R-GCX016-cbl-01029 Set Full Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Full Release Status' is invoked, and assuming that released quantity equals total quantity, when the system processes the quantity match condition, the desired outcome is that the system sets the cargo status to full release.
💻 Technical Criteria
Given Released quantity equals total quantity
When The system processes the quantity match condition
Then The system sets the cargo status to full release
R-GCX016-cbl-01030 Clear Destination Index RT076
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index RT076' is invoked, and assuming that cargo has achieved full release status, when the system processes the full release, the desired outcome is that the system clears the rt076 destination index field.
💻 Technical Criteria
Given Cargo has achieved full release status
When The system processes the full release
Then The system clears the RT076 destination index field
R-GCX016-cbl-01031 Update Cargo Status to Released
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to Released' is invoked, and assuming that cargo has been processed for full release, when the system updates cargo status, the desired outcome is that the system sets cargo status to released.
💻 Technical Criteria
Given Cargo has been processed for full release
When The system updates cargo status
Then The system sets cargo status to released
R-GCX016-cbl-01032 Remove Hold Flags
Action Rules
📊 Business Logic Narrative
When the process 'Remove Hold Flags' is invoked, and assuming that cargo is being processed for full release, when the system updates hold status, the desired outcome is that the system removes all hold flags from the cargo record.
💻 Technical Criteria
Given Cargo is being processed for full release
When The system updates hold status
Then The system removes all hold flags from the cargo record
R-GCX016-cbl-01033 Set Release Date
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Date' is invoked, and assuming that cargo is being fully released, when the system processes the release, the desired outcome is that the system sets the release date to current date.
💻 Technical Criteria
Given Cargo is being fully released
When The system processes the release
Then The system sets the release date to current date
R-GCX016-cbl-01034 Update Release Quantity to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Update Release Quantity to Total' is invoked, and assuming that cargo is being processed for full release, when the system updates release quantities, the desired outcome is that the system sets release quantity equal to total quantity.
💻 Technical Criteria
Given Cargo is being processed for full release
When The system updates release quantities
Then The system sets release quantity equal to total quantity
R-GCX016-cbl-01035 Clear Border Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Clear Border Hold Status' is invoked, and assuming that cargo has border hold status and is being fully released, when the system processes the full release, the desired outcome is that the system clears the border hold status.
💻 Technical Criteria
Given Cargo has border hold status and is being fully released
When The system processes the full release
Then The system clears the border hold status
R-GCX016-cbl-01036 Clear Destination Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Hold Status' is invoked, and assuming that cargo has destination hold status and is being fully released, when the system processes the full release, the desired outcome is that the system clears the destination hold status.
💻 Technical Criteria
Given Cargo has destination hold status and is being fully released
When The system processes the full release
Then The system clears the destination hold status
R-GCX016-cbl-01037 Mark Cargo as Fully Released
Action Rules
📊 Business Logic Narrative
When the process 'Mark Cargo as Fully Released' is invoked, and assuming that all release processing steps are completed, when the system finalizes the release process, the desired outcome is that the system marks the cargo as fully released.
💻 Technical Criteria
Given All release processing steps are completed
When The system finalizes the release process
Then The system marks the cargo as fully released
R-GCX016-cbl-01038 Save Updated Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Save Updated Cargo Record' is invoked, and assuming that all cargo release updates have been applied, when the system completes release processing, the desired outcome is that the system saves the updated cargo record to the database.
💻 Technical Criteria
Given All cargo release updates have been applied
When The system completes release processing
Then The system saves the updated cargo record to the database
R-GCX016-cbl-01039 Set Arrival Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Arrival Status' is invoked, and assuming that a cargo record exists and arrival processing is being performed, when the arrival flag is set for the cargo, the desired outcome is that the cargo status is updated to arrival status and the border arrival date is set to current date.
💻 Technical Criteria
Given A cargo record exists and arrival processing is being performed
When The arrival flag is set for the cargo
Then The cargo status is updated to arrival status and the border arrival date is set to current date
R-GCX016-cbl-01040 Update Border Arrival Date
Action Rules
📊 Business Logic Narrative
When the process 'Update Border Arrival Date' is invoked, and assuming that cargo is being set to arrival status, when the arrival status is being applied, the desired outcome is that the border arrival date is updated with the current system date.
💻 Technical Criteria
Given Cargo is being set to arrival status
When The arrival status is being applied
Then The border arrival date is updated with the current system date
R-GCX016-cbl-01041 Clear Export Status if Set
Process Rules
📊 Business Logic Narrative
When the process 'Clear Export Status if Set' is invoked, and assuming that cargo has both arrival flag set and existing export status, when arrival status is being applied to the cargo, the desired outcome is that the export status is cleared and removed from the cargo record.
💻 Technical Criteria
Given Cargo has both arrival flag set and existing export status
When Arrival status is being applied to the cargo
Then The export status is cleared and removed from the cargo record
R-GCX016-cbl-01042 Set Export Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Export Status' is invoked, and assuming that a cargo record exists and export processing is being performed, when the export flag is set for the cargo, the desired outcome is that the cargo status is updated to export status.
💻 Technical Criteria
Given A cargo record exists and export processing is being performed
When The export flag is set for the cargo
Then The cargo status is updated to export status
R-GCX016-cbl-01043 Clear Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that cargo is being set to export status, when the export status is being applied, the desired outcome is that the destination index is cleared and set to blank.
💻 Technical Criteria
Given Cargo is being set to export status
When The export status is being applied
Then The destination index is cleared and set to blank
R-GCX016-cbl-01044 Update Export Date
Action Rules
📊 Business Logic Narrative
When the process 'Update Export Date' is invoked, and assuming that cargo is being set to export status, when the export status is being applied, the desired outcome is that the export date is updated with the current system date.
💻 Technical Criteria
Given Cargo is being set to export status
When The export status is being applied
Then The export date is updated with the current system date
R-GCX016-cbl-01045 Prioritize Export Status
Decision Rules
📊 Business Logic Narrative
When the process 'Prioritize Export Status' is invoked, and assuming that cargo has both arrival and export flags set simultaneously, when both statuses are being evaluated for application, the desired outcome is that export status is applied and arrival status is overridden.
💻 Technical Criteria
Given Cargo has both arrival and export flags set simultaneously
When Both statuses are being evaluated for application
Then Export status is applied and arrival status is overridden
R-GCX016-cbl-01046 Log Status Change
Process Rules
📊 Business Logic Narrative
When the process 'Log Status Change' is invoked, and assuming that cargo status is being changed to arrival or export, when the status change is being applied, the desired outcome is that the status change is logged with timestamp and details for audit trail.
💻 Technical Criteria
Given Cargo status is being changed to arrival or export
When The status change is being applied
Then The status change is logged with timestamp and details for audit trail
R-GCX016-cbl-01047 Update Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record' is invoked, and assuming that arrival or export status has been determined for cargo, when status processing is complete, the desired outcome is that the cargo record is updated in the database with the new status and associated dates.
💻 Technical Criteria
Given Arrival or export status has been determined for cargo
When Status processing is complete
Then The cargo record is updated in the database with the new status and associated dates
R-GCX016-cbl-01048 Generate Status Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Status Notification' is invoked, and assuming that cargo status has been updated to arrival or export, when the status update is complete, the desired outcome is that status change notifications are generated and sent to relevant parties including brokers and customs.
💻 Technical Criteria
Given Cargo status has been updated to arrival or export
When The status update is complete
Then Status change notifications are generated and sent to relevant parties including brokers and customs
R-GCX016-cbl-01049 Previously Released Cargo Detected?
Decision Rules
📊 Business Logic Narrative
When the process 'Previously Released Cargo Detected?' is invoked, and assuming that a cargo record exists in the system with status information, when the system analyzes the cargo's current status array for release indicators, the desired outcome is that the system determines if the cargo was previously released based on release status flags and proceeds to status analysis or completes processing.
💻 Technical Criteria
Given A cargo record exists in the system with status information
When The system analyzes the cargo's current status array for release indicators
Then The system determines if the cargo was previously released based on release status flags and proceeds to status analysis or completes processing
R-GCX016-cbl-01050 Analyze Current Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Analyze Current Status Array' is invoked, and assuming that previously released cargo has been identified, when the system calls b570-verify-the-array to analyze status conditions, the desired outcome is that the system sets flags for cargo conditions including empty, held, released, ptt status and prepares for release status change detection.
💻 Technical Criteria
Given Previously released cargo has been identified
When The system calls B570-VERIFY-THE-ARRAY to analyze status conditions
Then The system sets flags for cargo conditions including empty, held, released, PTT status and prepares for release status change detection
R-GCX016-cbl-01051 Release Status Changed to Unreleased?
Decision Rules
📊 Business Logic Narrative
When the process 'Release Status Changed to Unreleased?' is invoked, and assuming that the current status array has been analyzed and cargo was previously released, when the system compares current release status against previous release status, the desired outcome is that if release status changed from released to unreleased, proceed to unrelease scenario identification, otherwise complete processing.
💻 Technical Criteria
Given The current status array has been analyzed and cargo was previously released
When The system compares current release status against previous release status
Then If release status changed from released to unreleased, proceed to unrelease scenario identification, otherwise complete processing
R-GCX016-cbl-01052 Identify Cargo Unrelease Scenario
Decision Rules
📊 Business Logic Narrative
When the process 'Identify Cargo Unrelease Scenario' is invoked, and assuming that release status has changed from released to unreleased, when the system evaluates the disposition code and current cargo conditions, the desired outcome is that the system identifies the specific unrelease scenario type and prepares appropriate processing actions.
💻 Technical Criteria
Given Release status has changed from released to unreleased
When The system evaluates the disposition code and current cargo conditions
Then The system identifies the specific unrelease scenario type and prepares appropriate processing actions
R-GCX016-cbl-01053 Generate Unrelease Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Unrelease Notification' is invoked, and assuming that an unrelease scenario has been identified, when the system calls c600-format-merlin-info to format the unrelease message, the desired outcome is that the system creates a formatted notification message containing disposition code, cargo details, and unrelease information.
💻 Technical Criteria
Given An unrelease scenario has been identified
When The system calls C600-FORMAT-MERLIN-INFO to format the unrelease message
Then The system creates a formatted notification message containing disposition code, cargo details, and unrelease information
R-GCX016-cbl-01054 Update Cargo Status to Unreleased
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to Unreleased' is invoked, and assuming that unrelease notification has been generated, when the system calls b580-set-us-cargo-status to update cargo status, the desired outcome is that the cargo status is updated to unreleased condition with appropriate status description and flags.
💻 Technical Criteria
Given Unrelease notification has been generated
When The system calls B580-SET-US-CARGO-STATUS to update cargo status
Then The cargo status is updated to unreleased condition with appropriate status description and flags
R-GCX016-cbl-01055 Clear Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Clear Release Quantities' is invoked, and assuming that cargo status has been updated to unreleased, when the system processes quantity adjustments for unrelease, the desired outcome is that release quantities are cleared or adjusted to reflect the unreleased status.
💻 Technical Criteria
Given Cargo status has been updated to unreleased
When The system processes quantity adjustments for unrelease
Then Release quantities are cleared or adjusted to reflect the unreleased status
R-GCX016-cbl-01056 Re-establish Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Re-establish Destination Index' is invoked, and assuming that release quantities have been cleared, when the system calls b585-set-rt076-dest-index to restore destination information, the desired outcome is that destination index is re-established with appropriate bond dates and routing information for the unreleased cargo.
💻 Technical Criteria
Given Release quantities have been cleared
When The system calls B585-SET-RT076-DEST-INDEX to restore destination information
Then Destination index is re-established with appropriate bond dates and routing information for the unreleased cargo
R-GCX016-cbl-01057 Canadian Manifest Coordination Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Coordination Required?' is invoked, and assuming that destination index has been re-established for unreleased cargo, when the system checks if cargo has canadian manifest cross-references, the desired outcome is that if canadian manifest coordination is required, proceed to canadian manifest processing, otherwise proceed to message routing.
💻 Technical Criteria
Given Destination index has been re-established for unreleased cargo
When The system checks if cargo has Canadian manifest cross-references
Then If Canadian manifest coordination is required, proceed to Canadian manifest processing, otherwise proceed to message routing
R-GCX016-cbl-01058 Process Canadian Manifest Cross-reference
Action Rules
📊 Business Logic Narrative
When the process 'Process Canadian Manifest Cross-reference' is invoked, and assuming that canadian manifest coordination is required, when the system calls b583-process-cdn-mfst to handle canadian manifest processing, the desired outcome is that canadian manifest records are updated to reflect the cargo unrelease status.
💻 Technical Criteria
Given Canadian manifest coordination is required
When The system calls B583-PROCESS-CDN-MFST to handle Canadian manifest processing
Then Canadian manifest records are updated to reflect the cargo unrelease status
R-GCX016-cbl-01059 Send Notification to Canadian System
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification to Canadian System' is invoked, and assuming that canadian manifest cross-reference has been processed, when the system sends notification to canadian system about cargo unrelease, the desired outcome is that canadian system receives notification of cargo status change to unreleased.
💻 Technical Criteria
Given Canadian manifest cross-reference has been processed
When The system sends notification to Canadian system about cargo unrelease
Then Canadian system receives notification of cargo status change to unreleased
R-GCX016-cbl-01061 Broker Notification Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Notification Required?' is invoked, and assuming that unrelease message has been routed to appropriate users, when the system checks broker notification requirements for the cargo, the desired outcome is that if broker notification is required, proceed to send broker notification, otherwise proceed to transaction logging.
💻 Technical Criteria
Given Unrelease message has been routed to appropriate users
When The system checks broker notification requirements for the cargo
Then If broker notification is required, proceed to send broker notification, otherwise proceed to transaction logging
R-GCX016-cbl-01062 Send Broker Notification for Unrelease
Action Rules
📊 Business Logic Narrative
When the process 'Send Broker Notification for Unrelease' is invoked, and assuming that broker notification is required for the unrelease event, when the system calls c801-notify-broker with unrelease information, the desired outcome is that broker receives notification about cargo unrelease with relevant details and disposition code information.
💻 Technical Criteria
Given Broker notification is required for the unrelease event
When The system calls C801-NOTIFY-BROKER with unrelease information
Then Broker receives notification about cargo unrelease with relevant details and disposition code information
R-GCX016-cbl-01063 Log Cargo Unrelease Transaction
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Cargo Unrelease Transaction', assuming that broker notification has been sent or is not required, when the system calls z300-spawn-gct1051e to log the transaction, the desired outcome is that cargo unrelease transaction is logged with complete details for audit trail and system tracking.
💻 Technical Criteria
EXCLUDING Broker notification has been sent or is not required
When The system calls Z300-SPAWN-GCT1051E to log the transaction
Then Cargo unrelease transaction is logged with complete details for audit trail and system tracking
R-GCX016-cbl-01064 Update Integration Services
Action Rules
📊 Business Logic Narrative
When the process 'Update Integration Services' is invoked, and assuming that cargo unrelease transaction has been logged, when the system calls c700-call-gcciis with unrelease status information, the desired outcome is that integration services are updated with cargo unrelease status for equipment and container processing systems.
💻 Technical Criteria
Given Cargo unrelease transaction has been logged
When The system calls C700-CALL-GCCIIS with unrelease status information
Then Integration services are updated with cargo unrelease status for equipment and container processing systems
R-GCX016-cbl-01065 Canadian Manifest Coordination Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Coordination Required?' is invoked, and assuming that a us cargo has been released, when the system evaluates if canadian manifest coordination is needed, the desired outcome is that the system should proceed with canadian manifest processing if coordination is required, otherwise skip canadian processing.
💻 Technical Criteria
Given A US cargo has been released
When The system evaluates if Canadian manifest coordination is needed
Then The system should proceed with Canadian manifest processing if coordination is required, otherwise skip Canadian processing
R-GCX016-cbl-01066 Access Canadian Cargo Database Records
Action Rules
📊 Business Logic Narrative
When the process 'Access Canadian Cargo Database Records' is invoked, and assuming that canadian manifest coordination is required, when the system needs to access canadian cargo records, the desired outcome is that the system should connect to and query the canadian cargo database.
💻 Technical Criteria
Given Canadian manifest coordination is required
When The system needs to access Canadian cargo records
Then The system should connect to and query the Canadian cargo database
R-GCX016-cbl-01067 Match Canadian Cargo by Equipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Match Canadian Cargo by Equipment ID' is invoked, and assuming that canadian cargo database records are accessible, when the system searches for matching canadian cargo using equipment id, the desired outcome is that the system should locate canadian cargo records that match the equipment identifier.
💻 Technical Criteria
Given Canadian cargo database records are accessible
When The system searches for matching Canadian cargo using equipment ID
Then The system should locate Canadian cargo records that match the equipment identifier
R-GCX016-cbl-01068 Canadian Cargo Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Cargo Record Found?' is invoked, and assuming that the system has searched for canadian cargo by equipment id, when the search results are evaluated, the desired outcome is that the system should determine if a valid canadian cargo record was found and proceed accordingly or terminate canadian processing.
💻 Technical Criteria
Given The system has searched for Canadian cargo by equipment ID
When The search results are evaluated
Then The system should determine if a valid Canadian cargo record was found and proceed accordingly or terminate Canadian processing
R-GCX016-cbl-01069 Validate Canadian Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Record Status' is invoked, and assuming that a canadian cargo record has been found, when the system validates the record status, the desired outcome is that the system should verify the canadian record is in a valid state for processing.
💻 Technical Criteria
Given A Canadian cargo record has been found
When The system validates the record status
Then The system should verify the Canadian record is in a valid state for processing
R-GCX016-cbl-01070 Canadian Record Valid and Usable?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Record Valid and Usable?' is invoked, and assuming that a canadian cargo record status has been validated, when the system checks if the record is usable for coordination, the desired outcome is that the system should proceed with log message creation if the record is valid and usable, otherwise terminate canadian processing.
💻 Technical Criteria
Given A Canadian cargo record status has been validated
When The system checks if the record is usable for coordination
Then The system should proceed with log message creation if the record is valid and usable, otherwise terminate Canadian processing
R-GCX016-cbl-01071 Create Cross-Border Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Create Cross-Border Log Message' is invoked, and assuming that a valid and usable canadian cargo record exists, when the system creates a cross-border coordination log message, the desired outcome is that the system should generate a properly formatted log message containing relevant cargo release information.
💻 Technical Criteria
Given A valid and usable Canadian cargo record exists
When The system creates a cross-border coordination log message
Then The system should generate a properly formatted log message containing relevant cargo release information
R-GCX016-cbl-01075 No Canadian Manifest Processing Required
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No Canadian Manifest Processing Required', assuming that us cargo has been released, when canadian manifest coordination is not required, the desired outcome is that the system should bypass all canadian manifest processing and continue with normal operations.
💻 Technical Criteria
EXCLUDING US cargo has been released
When Canadian manifest coordination is not required
Then The system should bypass all Canadian manifest processing and continue with normal operations
R-GCX016-cbl-01076 Canadian Record Not Found or Invalid
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Canadian Record Not Found or Invalid', assuming that the system has attempted to find and validate canadian cargo records, when no valid canadian record is found or the record is invalid, the desired outcome is that the system should terminate canadian coordination processing and continue with normal operations.
💻 Technical Criteria
EXCLUDING The system has attempted to find and validate Canadian cargo records
When No valid Canadian record is found or the record is invalid
Then The system should terminate Canadian coordination processing and continue with normal operations
R-GCX016-cbl-01077 Canadian Manifest Coordination Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Coordination Required?' is invoked, and assuming that us cargo has been released, when the system evaluates if canadian manifest coordination is needed, the desired outcome is that the system should proceed to find matching canadian manifests if coordination is required, otherwise skip canadian processing.
💻 Technical Criteria
Given US cargo has been released
When the system evaluates if Canadian manifest coordination is needed
Then the system should proceed to find matching Canadian manifests if coordination is required, otherwise skip Canadian processing
R-GCX016-cbl-01078 Find Matching Canadian Manifests
Action Rules
📊 Business Logic Narrative
When the process 'Find Matching Canadian Manifests' is invoked, and assuming that canadian manifest coordination is required, when the system searches for matching canadian manifests using equipment id, the desired outcome is that the system should access the canadian cargo database to find related records.
💻 Technical Criteria
Given Canadian manifest coordination is required
When the system searches for matching Canadian manifests using equipment ID
Then the system should access the Canadian cargo database to find related records
R-GCX016-cbl-01087 Manual Release Processing
Process Rules
📊 Business Logic Narrative
When the process 'Manual Release Processing' is invoked, and assuming that a cargo record exists with manual release status (mrl) and has an existing destination index, when the cargo status is set to manual release, the desired outcome is that the rt076 destination index should be cleared and the cargo should no longer be tracked for destination-specific requirements.
💻 Technical Criteria
Given A cargo record exists with manual release status (MRL) and has an existing destination index
When The cargo status is set to manual release
Then The RT076 destination index should be cleared and the cargo should no longer be tracked for destination-specific requirements
R-GCX016-cbl-01088 FDA Hold at Destination
Process Rules
📊 Business Logic Narrative
When the process 'FDA Hold at Destination' is invoked, and assuming that a cargo record exists and fda hold disposition code (a3) is applied at destination location, when the cargo status is set to fda hold at destination, the desired outcome is that the rt076 destination index should be set with fda hold status and destination location information.
💻 Technical Criteria
Given A cargo record exists and FDA hold disposition code (A3) is applied at destination location
When The cargo status is set to FDA hold at destination
Then The RT076 destination index should be set with FDA hold status and destination location information
R-GCX016-cbl-01089 Full Release Processing
Process Rules
📊 Business Logic Narrative
When the process 'Full Release Processing' is invoked, and assuming that a cargo record exists with full release status where released quantity equals or exceeds total quantity, when the cargo status is set to full release, the desired outcome is that the rt076 destination index should be cleared and destination tracking requirements should be removed.
💻 Technical Criteria
Given A cargo record exists with full release status where released quantity equals or exceeds total quantity
When The cargo status is set to full release
Then The RT076 destination index should be cleared and destination tracking requirements should be removed
R-GCX016-cbl-01090 Arrival Status Processing
Process Rules
📊 Business Logic Narrative
When the process 'Arrival Status Processing' is invoked, and assuming that a cargo record exists and arrival status is being processed with valid arrival date and destination location, when the cargo status is set to arrival at destination, the desired outcome is that the rt076 destination index should be set with arrival date and destination location information.
💻 Technical Criteria
Given A cargo record exists and arrival status is being processed with valid arrival date and destination location
When The cargo status is set to arrival at destination
Then The RT076 destination index should be set with arrival date and destination location information
R-GCX016-cbl-01091 Export Status Processing
Process Rules
📊 Business Logic Narrative
When the process 'Export Status Processing' is invoked, and assuming that a cargo record exists and export status is being applied, when the cargo status is set to export, the desired outcome is that the rt076 destination index should be cleared and domestic destination tracking should be removed.
💻 Technical Criteria
Given A cargo record exists and export status is being applied
When The cargo status is set to export
Then The RT076 destination index should be cleared and domestic destination tracking should be removed
R-GCX016-cbl-01092 Arrival Cancellation
Process Rules
📊 Business Logic Narrative
When the process 'Arrival Cancellation' is invoked, and assuming that a cargo record exists with cancelled arrival status and has previous bond date information available, when the cargo arrival status is cancelled, the desired outcome is that the previous bond date should be restored and the rt076 destination index should be re-established with the restored bond date.
💻 Technical Criteria
Given A cargo record exists with cancelled arrival status and has previous bond date information available
When The cargo arrival status is cancelled
Then The previous bond date should be restored and the RT076 destination index should be re-established with the restored bond date
R-GCX016-cbl-01093 Export Cancellation
Process Rules
📊 Business Logic Narrative
When the process 'Export Cancellation' is invoked, and assuming that a cargo record exists with cancelled export status and has bond date information available, when the cargo export status is cancelled, the desired outcome is that the rt076 destination index should be re-established with bond date information to resume domestic destination tracking.
💻 Technical Criteria
Given A cargo record exists with cancelled export status and has bond date information available
When The cargo export status is cancelled
Then The RT076 destination index should be re-established with bond date information to resume domestic destination tracking
R-GCX016-cbl-01094 Calculate Julian Date for Bond Start
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Julian Date for Bond Start' is invoked, and assuming that a cargo record requires bond date processing with valid calendar date information, when bond date calculation is initiated for cargo processing, the desired outcome is that the system should convert the calendar date to julian date format for bond tracking and cargo age calculation purposes.
💻 Technical Criteria
Given A cargo record requires bond date processing with valid calendar date information
When Bond date calculation is initiated for cargo processing
Then The system should convert the calendar date to Julian date format for bond tracking and cargo age calculation purposes
R-GCX016-cbl-01095 Update RT076 Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Update RT076 Destination Index' is invoked, and assuming that a cargo record has undergone status changes that affect destination tracking requirements, when destination index updates are processed, the desired outcome is that the rt076 destination index record should be updated with current status, dates, and location information reflecting the cargo's destination tracking requirements.
💻 Technical Criteria
Given A cargo record has undergone status changes that affect destination tracking requirements
When Destination index updates are processed
Then The RT076 destination index record should be updated with current status, dates, and location information reflecting the cargo's destination tracking requirements
R-GCX016-cbl-01096 Move S09A Array Data to Database Segments
Process Rules
📊 Business Logic Narrative
When the process 'Move S09A Array Data to Database Segments' is invoked, and assuming that status array has been updated with new cargo status information, when the system prepares to update cargo records in the database, the desired outcome is that the status array data is moved to the appropriate database segment structure.
💻 Technical Criteria
Given Status array has been updated with new cargo status information
When The system prepares to update cargo records in the database
Then The status array data is moved to the appropriate database segment structure
R-GCX016-cbl-01097 Update Cargo Root Record Fields
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Root Record Fields' is invoked, and assuming that cargo status has been determined and validated, when the system updates the cargo root record, the desired outcome is that core cargo fields including status description, processing timestamps, and control information are updated.
💻 Technical Criteria
Given Cargo status has been determined and validated
When The system updates the cargo root record
Then Core cargo fields including status description, processing timestamps, and control information are updated
R-GCX016-cbl-01098 Update Status Information
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Information' is invoked, and assuming that disposition codes have been processed and status flags determined, when the system updates cargo status information, the desired outcome is that current status codes, hold flags, release flags, and processing indicators are applied to the cargo record.
💻 Technical Criteria
Given Disposition codes have been processed and status flags determined
When The system updates cargo status information
Then Current status codes, hold flags, release flags, and processing indicators are applied to the cargo record
R-GCX016-cbl-01099 Update Quantity Information
Computation Rules
📊 Business Logic Narrative
When the process 'Update Quantity Information' is invoked, and assuming that quantity changes have been calculated from disposition code processing, when the system updates cargo quantity information, the desired outcome is that total quantities, released quantities, piece counts, and quantity-related flags are updated in the cargo record.
💻 Technical Criteria
Given Quantity changes have been calculated from disposition code processing
When The system updates cargo quantity information
Then Total quantities, released quantities, piece counts, and quantity-related flags are updated in the cargo record
R-GCX016-cbl-01100 Update Hold/Release Flags
Decision Rules
📊 Business Logic Narrative
When the process 'Update Hold/Release Flags' is invoked, and assuming that cargo status has been determined as held, released, or partially released, when the system updates hold and release flags, the desired outcome is that hold flags, release flags, border hold indicators, destination hold indicators, and partial release flags are set correctly.
💻 Technical Criteria
Given Cargo status has been determined as held, released, or partially released
When The system updates hold and release flags
Then Hold flags, release flags, border hold indicators, destination hold indicators, and partial release flags are set correctly
R-GCX016-cbl-01101 Update Arrival/Export Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Arrival/Export Status' is invoked, and assuming that arrival or export events have been processed for the cargo, when the system updates arrival and export status, the desired outcome is that arrival flags, export flags, arrival dates, export dates, and location-specific indicators are updated.
💻 Technical Criteria
Given Arrival or export events have been processed for the cargo
When The system updates arrival and export status
Then Arrival flags, export flags, arrival dates, export dates, and location-specific indicators are updated
R-GCX016-cbl-01102 Update Bond Information
Action Rules
📊 Business Logic Narrative
When the process 'Update Bond Information' is invoked, and assuming that bond processing has been completed and bond information validated, when the system updates bond information in the cargo record, the desired outcome is that bond numbers, entry numbers, in-bond control numbers, and bond-related flags are updated.
💻 Technical Criteria
Given Bond processing has been completed and bond information validated
When The system updates bond information in the cargo record
Then Bond numbers, entry numbers, in-bond control numbers, and bond-related flags are updated
R-GCX016-cbl-01103 Replace Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Replace Cargo Record in Database' is invoked, and assuming that all cargo record fields have been updated with current processing results, when the system executes the database replacement operation, the desired outcome is that the cargo record is successfully replaced in the database with all updated information.
💻 Technical Criteria
Given All cargo record fields have been updated with current processing results
When The system executes the database replacement operation
Then The cargo record is successfully replaced in the database with all updated information
R-GCX016-cbl-01105 Log Successful Update
Process Rules
📊 Business Logic Narrative
When the process 'Log Successful Update' is invoked, and assuming that a cargo record has been successfully updated in the database, when the system logs the successful update, the desired outcome is that update confirmation information including cargo identifier, timestamp, and processing details are recorded.
💻 Technical Criteria
Given A cargo record has been successfully updated in the database
When The system logs the successful update
Then Update confirmation information including cargo identifier, timestamp, and processing details are recorded
R-GCX016-cbl-01107 Container Type Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Container Type Valid?' is invoked, and assuming that an integration service call is required for cargo equipment, when the system checks the equipment type for integration eligibility, the desired outcome is that only valid container types (containers, trailers, etc.) are allowed to proceed with integration processing, while invalid types are skipped.
💻 Technical Criteria
Given An integration service call is required for cargo equipment
When The system checks the equipment type for integration eligibility
Then Only valid container types (containers, trailers, etc.) are allowed to proceed with integration processing, while invalid types are skipped
R-GCX016-cbl-01108 Validate Equipment Type
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment Type' is invoked, and assuming that a container type has been determined as valid for integration, when the system validates the specific equipment type details, the desired outcome is that the equipment type is confirmed as eligible for hold/release notifications and status changes.
💻 Technical Criteria
Given A container type has been determined as valid for integration
When The system validates the specific equipment type details
Then The equipment type is confirmed as eligible for hold/release notifications and status changes
R-GCX016-cbl-01109 Map Internal Status to Integration Format
Computation Rules
📊 Business Logic Narrative
When the process 'Map Internal Status to Integration Format' is invoked, and assuming that valid equipment type has been confirmed for integration, when the system maps internal cargo status to integration service format, the desired outcome is that internal status codes are translated to appropriate gcciis-compatible status values.
💻 Technical Criteria
Given Valid equipment type has been confirmed for integration
When The system maps internal cargo status to integration service format
Then Internal status codes are translated to appropriate GCCIIS-compatible status values
R-GCX016-cbl-01110 Hold Notification Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Notification Required?' is invoked, and assuming that cargo status has been mapped to integration format, when the system evaluates if hold notification is required, the desired outcome is that hold notification is required when cargo has hold status conditions that need to be communicated to external systems.
💻 Technical Criteria
Given Cargo status has been mapped to integration format
When The system evaluates if hold notification is required
Then Hold notification is required when cargo has hold status conditions that need to be communicated to external systems
R-GCX016-cbl-01111 Prepare Hold Notification Data
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Hold Notification Data' is invoked, and assuming that hold notification has been determined as required, when the system prepares hold notification data, the desired outcome is that all required hold information including cargo details, hold reasons, and status descriptions are formatted for gcciis transmission.
💻 Technical Criteria
Given Hold notification has been determined as required
When The system prepares hold notification data
Then All required hold information including cargo details, hold reasons, and status descriptions are formatted for GCCIIS transmission
R-GCX016-cbl-01112 Call GCCIIS for Hold
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCIIS for Hold' is invoked, and assuming that hold notification data has been prepared, when the system calls gcciis for hold notification, the desired outcome is that the hold notification is transmitted to gcciis with all required cargo hold information.
💻 Technical Criteria
Given Hold notification data has been prepared
When The system calls GCCIIS for hold notification
Then The hold notification is transmitted to GCCIIS with all required cargo hold information
R-GCX016-cbl-01113 Release Notification Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Release Notification Required?' is invoked, and assuming that hold notification processing has been completed or skipped, when the system evaluates if release notification is required, the desired outcome is that release notification is required when cargo has release status conditions that need to be communicated to external systems.
💻 Technical Criteria
Given Hold notification processing has been completed or skipped
When The system evaluates if release notification is required
Then Release notification is required when cargo has release status conditions that need to be communicated to external systems
R-GCX016-cbl-01114 Prepare Release Notification Data
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Release Notification Data' is invoked, and assuming that release notification has been determined as required, when the system prepares release notification data, the desired outcome is that all required release information including cargo details, release quantities, and status descriptions are formatted for gcciis transmission.
💻 Technical Criteria
Given Release notification has been determined as required
When The system prepares release notification data
Then All required release information including cargo details, release quantities, and status descriptions are formatted for GCCIIS transmission
R-GCX016-cbl-01115 Call GCCIIS for Release
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCIIS for Release' is invoked, and assuming that release notification data has been prepared, when the system calls gcciis for release notification, the desired outcome is that the release notification is transmitted to gcciis with all required cargo release information.
💻 Technical Criteria
Given Release notification data has been prepared
When The system calls GCCIIS for release notification
Then The release notification is transmitted to GCCIIS with all required cargo release information
R-GCX016-cbl-01116 Status Change Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Change Required?' is invoked, and assuming that release notification processing has been completed or skipped, when the system evaluates if status change notification is required, the desired outcome is that status change notification is required when cargo status has changed and needs to be synchronized with external systems.
💻 Technical Criteria
Given Release notification processing has been completed or skipped
When The system evaluates if status change notification is required
Then Status change notification is required when cargo status has changed and needs to be synchronized with external systems
R-GCX016-cbl-01117 Prepare Status Change Data
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Status Change Data' is invoked, and assuming that status change notification has been determined as required, when the system prepares status change data, the desired outcome is that all required status change information including cargo details, new status, and change reasons are formatted for gcciis transmission.
💻 Technical Criteria
Given Status change notification has been determined as required
When The system prepares status change data
Then All required status change information including cargo details, new status, and change reasons are formatted for GCCIIS transmission
R-GCX016-cbl-01118 Call GCCIIS for Status Update
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCIIS for Status Update' is invoked, and assuming that status change data has been prepared, when the system calls gcciis for status update, the desired outcome is that the status change notification is transmitted to gcciis with all required cargo status information.
💻 Technical Criteria
Given Status change data has been prepared
When The system calls GCCIIS for status update
Then The status change notification is transmitted to GCCIIS with all required cargo status information
R-GCX016-cbl-01121 Skip Integration - Invalid Container
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Integration - Invalid Container', assuming that container type validation has failed, when the system determines container type is invalid for integration, the desired outcome is that all gcciis integration processing is skipped and control proceeds to completion.
💻 Technical Criteria
EXCLUDING Container type validation has failed
When The system determines container type is invalid for integration
Then All GCCIIS integration processing is skipped and control proceeds to completion
R-GCX016-cbl-01123 Initialize Cargo Scan Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Cargo Scan Counter' is invoked, and assuming that multi-cargo release verification is starting, when the system begins scanning related cargo records, the desired outcome is that all cargo scan counters and release eligibility flags are reset to initial values.
💻 Technical Criteria
Given Multi-cargo release verification is starting
When The system begins scanning related cargo records
Then All cargo scan counters and release eligibility flags are reset to initial values
R-GCX016-cbl-01125 More Cargo Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo Records?' is invoked, and assuming that cargo records are being scanned for release verification, when the system checks for remaining unprocessed cargo records, the desired outcome is that if more cargo records exist, processing continues with the next record, otherwise the verification analysis phase begins.
💻 Technical Criteria
Given Cargo records are being scanned for release verification
When The system checks for remaining unprocessed cargo records
Then If more cargo records exist, processing continues with the next record, otherwise the verification analysis phase begins
R-GCX016-cbl-01127 Check Cargo Release Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check Cargo Release Status' is invoked, and assuming that a cargo record is being evaluated for release verification, when the system checks the cargo's current release status, the desired outcome is that the cargo's release status is determined and used to direct further validation checks.
💻 Technical Criteria
Given A cargo record is being evaluated for release verification
When The system checks the cargo's current release status
Then The cargo's release status is determined and used to direct further validation checks
R-GCX016-cbl-01128 Is Cargo Released?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Released?' is invoked, and assuming that cargo release status has been evaluated, when the system determines if the cargo is currently in released status, the desired outcome is that if cargo is not released, active hold checks are performed, otherwise manual release flag validation is conducted.
💻 Technical Criteria
Given Cargo release status has been evaluated
When The system determines if the cargo is currently in released status
Then If cargo is not released, active hold checks are performed, otherwise manual release flag validation is conducted
R-GCX016-cbl-01129 Check for Active Holds
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check for Active Holds', assuming that cargo is not currently in released status, when the system checks for active hold conditions on the cargo, the desired outcome is that all active hold flags and conditions are evaluated to determine if holds exist that prevent release.
💻 Technical Criteria
EXCLUDING Cargo is not currently in released status
When The system checks for active hold conditions on the cargo
Then All active hold flags and conditions are evaluated to determine if holds exist that prevent release
R-GCX016-cbl-01130 Has Active Holds?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Active Holds?' is invoked, and assuming that active hold conditions have been checked, when the system evaluates whether active holds exist, the desired outcome is that if active holds are present, cargo is marked as not release eligible, otherwise manual release flag checking continues.
💻 Technical Criteria
Given Active hold conditions have been checked
When The system evaluates whether active holds exist
Then If active holds are present, cargo is marked as not release eligible, otherwise manual release flag checking continues
R-GCX016-cbl-01131 Mark as Not Release Eligible
Action Rules
📊 Business Logic Narrative
When the process 'Mark as Not Release Eligible' is invoked, and assuming that cargo has active hold conditions, when the system processes cargo with active holds, the desired outcome is that the cargo is marked as not eligible for release and the release eligibility counter is updated accordingly.
💻 Technical Criteria
Given Cargo has active hold conditions
When The system processes cargo with active holds
Then The cargo is marked as not eligible for release and the release eligibility counter is updated accordingly
R-GCX016-cbl-01132 Check Manual Release Flag
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Manual Release Flag', assuming that cargo does not have active holds or is in released status, when the system checks for manual release authorization, the desired outcome is that the manual release flag is evaluated to determine if special release authorization has been granted.
💻 Technical Criteria
EXCLUDING Cargo does not have active holds or is in released status
When The system checks for manual release authorization
Then The manual release flag is evaluated to determine if special release authorization has been granted
R-GCX016-cbl-01133 Manually Released?
Decision Rules
📊 Business Logic Narrative
When the process 'Manually Released?' is invoked, and assuming that manual release flag has been checked, when the system evaluates manual release authorization, the desired outcome is that if manual release is authorized, cargo is marked as release eligible, otherwise quantity validation is performed.
💻 Technical Criteria
Given Manual release flag has been checked
When The system evaluates manual release authorization
Then If manual release is authorized, cargo is marked as release eligible, otherwise quantity validation is performed
R-GCX016-cbl-01134 Mark as Release Eligible
Action Rules
📊 Business Logic Narrative
When the process 'Mark as Release Eligible' is invoked, and assuming that cargo has manual release authorization or passes all validation checks, when the system processes cargo with release authorization, the desired outcome is that the cargo is marked as eligible for release and the release eligibility counter is updated.
💻 Technical Criteria
Given Cargo has manual release authorization or passes all validation checks
When The system processes cargo with release authorization
Then The cargo is marked as eligible for release and the release eligibility counter is updated
R-GCX016-cbl-01135 Check Quantity Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Quantity Validation', assuming that cargo does not have manual release authorization, when the system performs quantity validation for release eligibility, the desired outcome is that cargo quantities are compared against expected values and release thresholds to determine validation status.
💻 Technical Criteria
EXCLUDING Cargo does not have manual release authorization
When The system performs quantity validation for release eligibility
Then Cargo quantities are compared against expected values and release thresholds to determine validation status
R-GCX016-cbl-01136 Quantities Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantities Match?' is invoked, and assuming that quantity validation has been performed, when the system evaluates whether quantities match requirements, the desired outcome is that if quantities match, cargo is marked as release eligible, otherwise cargo is marked for partial release.
💻 Technical Criteria
Given Quantity validation has been performed
When The system evaluates whether quantities match requirements
Then If quantities match, cargo is marked as release eligible, otherwise cargo is marked for partial release
R-GCX016-cbl-01137 Mark as Partial Release
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark as Partial Release', assuming that cargo quantities do not match full release requirements, when the system processes cargo with quantity mismatches, the desired outcome is that the cargo is marked for partial release status and the release eligibility counter is updated to reflect partial release.
💻 Technical Criteria
EXCLUDING Cargo quantities do not match full release requirements
When The system processes cargo with quantity mismatches
Then The cargo is marked for partial release status and the release eligibility counter is updated to reflect partial release
R-GCX016-cbl-01138 Update Release Eligibility Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Update Release Eligibility Counter' is invoked, and assuming that cargo release eligibility has been determined, when the system updates release verification statistics, the desired outcome is that release eligibility counters are incremented based on the cargo's determined status (eligible, not eligible, or partial).
💻 Technical Criteria
Given Cargo release eligibility has been determined
When The system updates release verification statistics
Then Release eligibility counters are incremented based on the cargo's determined status (eligible, not eligible, or partial)
R-GCX016-cbl-01141 All Cargo Release Eligible?
Decision Rules
📊 Business Logic Narrative
When the process 'All Cargo Release Eligible?' is invoked, and assuming that overall release status analysis is complete, when the system determines final release authorization, the desired outcome is that if all cargo is release eligible, overall status is set to yes, otherwise overall status is set to no.
💻 Technical Criteria
Given Overall release status analysis is complete
When The system determines final release authorization
Then If all cargo is release eligible, overall status is set to YES, otherwise overall status is set to NO
R-GCX016-cbl-01144 Generate Release Verification Report
Action Rules
📊 Business Logic Narrative
When the process 'Generate Release Verification Report' is invoked, and assuming that release verification analysis is complete, when the system generates verification documentation, the desired outcome is that a detailed report is created showing all cargo evaluated, their individual statuses, and the final overall release determination.
💻 Technical Criteria
Given Release verification analysis is complete
When The system generates verification documentation
Then A detailed report is created showing all cargo evaluated, their individual statuses, and the final overall release determination
R-GCX016-cbl-01145 Return Release Verification Result
Process Rules
📊 Business Logic Narrative
When the process 'Return Release Verification Result' is invoked, and assuming that release verification process is complete and documented, when the system returns verification results, the desired outcome is that the final release status (yes/no) and supporting verification details are returned to enable appropriate cargo handling decisions.
💻 Technical Criteria
Given Release verification process is complete and documented
When The system returns verification results
Then The final release status (YES/NO) and supporting verification details are returned to enable appropriate cargo handling decisions
R-GCX016-cbl-01146 Manual Release Flag Set?
Validation Rules
📊 Business Logic Narrative
When the process 'Manual Release Flag Set?' is invoked, and assuming that a cargo record exists with status information, when the system checks for manual release flag in cargo status, the desired outcome is that the system identifies if manual release conditions apply and proceeds to validate manual release requirements.
💻 Technical Criteria
Given A cargo record exists with status information
When The system checks for manual release flag in cargo status
Then The system identifies if manual release conditions apply and proceeds to validate manual release requirements
R-GCX016-cbl-01147 Validate Manual Release Conditions
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Manual Release Conditions' is invoked, and assuming that cargo has manual release flag set, when the system validates manual release conditions including broker authorization and cargo status, the desired outcome is that the system confirms manual release is valid and clears destination index for further processing.
💻 Technical Criteria
Given Cargo has manual release flag set
When The system validates manual release conditions including broker authorization and cargo status
Then The system confirms manual release is valid and clears destination index for further processing
R-GCX016-cbl-01148 Cargo Currently Held?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Currently Held?' is invoked, and assuming that a cargo record with current status information, when the system examines cargo status for hold conditions including border holds, destination holds, fda holds, or seizure status, the desired outcome is that the system identifies if cargo is held and determines the type and location of hold.
💻 Technical Criteria
Given A cargo record with current status information
When The system examines cargo status for hold conditions including border holds, destination holds, FDA holds, or seizure status
Then The system identifies if cargo is held and determines the type and location of hold
R-GCX016-cbl-01149 Check Hold Location - Border vs Destination
Validation Rules
📊 Business Logic Narrative
When the process 'Check Hold Location - Border vs Destination' is invoked, and assuming that cargo is currently held, when the system checks hold location information in cargo status, the desired outcome is that the system identifies whether cargo is held at border, destination, or both locations and validates release authority for that location.
💻 Technical Criteria
Given Cargo is currently held
When The system checks hold location information in cargo status
Then The system identifies whether cargo is held at border, destination, or both locations and validates release authority for that location
R-GCX016-cbl-01150 Hold Status Valid for Release?
Authorization Rules
📊 Business Logic Narrative
When the process 'Hold Status Valid for Release?' is invoked, and assuming that cargo is held at a specific location with a particular hold type, when the system validates if the disposition code has authority to release the specific hold type at the specific location, the desired outcome is that the system confirms hold can be released or rejects release attempt if disposition code lacks authority.
💻 Technical Criteria
Given Cargo is held at a specific location with a particular hold type
When The system validates if the disposition code has authority to release the specific hold type at the specific location
Then The system confirms hold can be released or rejects release attempt if disposition code lacks authority
R-GCX016-cbl-01151 Validate Release Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Release Quantities' is invoked, and assuming that a release request with specified quantities, when the system compares requested release quantity against total cargo quantity and existing released quantity, the desired outcome is that the system validates that total released quantity does not exceed total cargo quantity and prevents negative quantities.
💻 Technical Criteria
Given A release request with specified quantities
When The system compares requested release quantity against total cargo quantity and existing released quantity
Then The system validates that total released quantity does not exceed total cargo quantity and prevents negative quantities
R-GCX016-cbl-01152 Released Quantity <= Total Quantity?
Validation Rules
📊 Business Logic Narrative
When the process 'Released Quantity <= Total Quantity?' is invoked, and assuming that cargo with existing released quantities and a new release request, when the system calculates total released quantity including the new release amount, the desired outcome is that the system confirms total released quantity is less than or equal to total cargo quantity, or rejects the release if it would exceed total.
💻 Technical Criteria
Given Cargo with existing released quantities and a new release request
When The system calculates total released quantity including the new release amount
Then The system confirms total released quantity is less than or equal to total cargo quantity, or rejects the release if it would exceed total
R-GCX016-cbl-01153 Check PTT Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check PTT Status' is invoked, and assuming that cargo with ptt (proceed to transfer) status, when the system checks ptt permit validity and associated conditions, the desired outcome is that the system validates ptt permit is current and allows for the requested release action.
💻 Technical Criteria
Given Cargo with PTT (Proceed to Transfer) status
When The system checks PTT permit validity and associated conditions
Then The system validates PTT permit is current and allows for the requested release action
R-GCX016-cbl-01154 PTT Permit Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'PTT Permit Valid?' is invoked, and assuming that cargo with ptt status and associated permit information, when the system validates ptt permit dates, conditions, and authorization, the desired outcome is that the system confirms ptt permit is valid for current release request or rejects if permit is expired or invalid.
💻 Technical Criteria
Given Cargo with PTT status and associated permit information
When The system validates PTT permit dates, conditions, and authorization
Then The system confirms PTT permit is valid for current release request or rejects if permit is expired or invalid
R-GCX016-cbl-01155 Validate Counterpart Codes Removed
Process Rules
📊 Business Logic Narrative
When the process 'Validate Counterpart Codes Removed' is invoked, and assuming that a disposition code that requires counterpart code removal, when the system processes the disposition code and checks for existing counterpart codes in cargo status, the desired outcome is that the system removes all applicable counterpart codes before applying the new disposition code.
💻 Technical Criteria
Given A disposition code that requires counterpart code removal
When The system processes the disposition code and checks for existing counterpart codes in cargo status
Then The system removes all applicable counterpart codes before applying the new disposition code
R-GCX016-cbl-01156 All Counterpart Codes Cleared?
Validation Rules
📊 Business Logic Narrative
When the process 'All Counterpart Codes Cleared?' is invoked, and assuming that disposition code processing that requires counterpart code removal, when the system completes counterpart code removal process, the desired outcome is that the system confirms all applicable counterpart codes have been cleared from cargo status array.
💻 Technical Criteria
Given Disposition code processing that requires counterpart code removal
When The system completes counterpart code removal process
Then The system confirms all applicable counterpart codes have been cleared from cargo status array
R-GCX016-cbl-01157 Check FDA Hold Status
Policy Rules
📊 Business Logic Narrative
When the process 'Check FDA Hold Status' is invoked, and assuming that cargo that may be subject to fda regulations, when the system checks for fda hold status in cargo disposition codes, the desired outcome is that the system identifies if cargo is under fda hold and determines if release is permitted.
💻 Technical Criteria
Given Cargo that may be subject to FDA regulations
When The system checks for FDA hold status in cargo disposition codes
Then The system identifies if cargo is under FDA hold and determines if release is permitted
R-GCX016-cbl-01158 FDA Hold Prevents Release?
Policy Rules
📊 Business Logic Narrative
When the process 'FDA Hold Prevents Release?' is invoked, and assuming that cargo with fda hold status, when the system evaluates if fda hold conditions prevent release, the desired outcome is that the system blocks release if fda hold is active or allows release if fda clearance is obtained.
💻 Technical Criteria
Given Cargo with FDA hold status
When The system evaluates if FDA hold conditions prevent release
Then The system blocks release if FDA hold is active or allows release if FDA clearance is obtained
R-GCX016-cbl-01159 Validate Bond Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Bond Information' is invoked, and assuming that cargo requiring bond validation for release, when the system checks bond number, bond type, and bond status information, the desired outcome is that the system validates bond information is complete and bond is active for cargo movement.
💻 Technical Criteria
Given Cargo requiring bond validation for release
When The system checks bond number, bond type, and bond status information
Then The system validates bond information is complete and bond is active for cargo movement
R-GCX016-cbl-01160 Bond Status Allows Release?
Authorization Rules
📊 Business Logic Narrative
When the process 'Bond Status Allows Release?' is invoked, and assuming that cargo with validated bond information, when the system checks if bond status and type allow for the requested release action, the desired outcome is that the system authorizes release if bond permits the action or rejects if bond restrictions apply.
💻 Technical Criteria
Given Cargo with validated bond information
When The system checks if bond status and type allow for the requested release action
Then The system authorizes release if bond permits the action or rejects if bond restrictions apply
R-GCX016-cbl-01161 Check Seizure Status
Policy Rules
📊 Business Logic Narrative
When the process 'Check Seizure Status' is invoked, and assuming that cargo and associated transportation equipment, when the system checks for seizure status on cargo or equipment, the desired outcome is that the system identifies if seizure conditions exist that would prevent release.
💻 Technical Criteria
Given Cargo and associated transportation equipment
When The system checks for seizure status on cargo or equipment
Then The system identifies if seizure conditions exist that would prevent release
R-GCX016-cbl-01162 Equipment Seized?
Policy Rules
📊 Business Logic Narrative
When the process 'Equipment Seized?' is invoked, and assuming that cargo with potential equipment seizure status, when the system evaluates if seizure status prevents cargo release, the desired outcome is that the system blocks release if equipment is seized or allows release if seizure is cleared.
💻 Technical Criteria
Given Cargo with potential equipment seizure status
When The system evaluates if seizure status prevents cargo release
Then The system blocks release if equipment is seized or allows release if seizure is cleared
R-GCX016-cbl-01163 Release Validation Passed
Decision Rules
📊 Business Logic Narrative
When the process 'Release Validation Passed' is invoked, and assuming that cargo that has passed all release validation checks, when all validation criteria including quantities, holds, permits, bonds, and seizure status are satisfied, the desired outcome is that the system confirms release validation is successful and cargo is eligible for release processing.
💻 Technical Criteria
Given Cargo that has passed all release validation checks
When All validation criteria including quantities, holds, permits, bonds, and seizure status are satisfied
Then The system confirms release validation is successful and cargo is eligible for release processing
R-GCX016-cbl-01164 Release Validation Failed
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Release Validation Failed', assuming that cargo that fails one or more release validation checks, when validation criteria for quantities, holds, permits, bonds, or seizure status are not satisfied, the desired outcome is that the system rejects the release request and maintains current cargo status.
💻 Technical Criteria
EXCLUDING Cargo that fails one or more release validation checks
When Validation criteria for quantities, holds, permits, bonds, or seizure status are not satisfied
Then The system rejects the release request and maintains current cargo status
R-GCX016-cbl-01165 Log Validation Results
Process Rules
📊 Business Logic Narrative
When the process 'Log Validation Results' is invoked, and assuming that completed release validation process with success or failure outcome, when the system completes all validation checks, the desired outcome is that the system logs validation results including specific reasons for success or failure and updates cargo processing history.
💻 Technical Criteria
Given Completed release validation process with success or failure outcome
When The system completes all validation checks
Then The system logs validation results including specific reasons for success or failure and updates cargo processing history
R-GCX016-cbl-01167 Include Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Cargo Information' is invoked, and assuming that a release message is being formatted, when cargo information needs to be included in the message, the desired outcome is that the system adds cargo status, identification numbers, and relevant cargo details to the message content.
💻 Technical Criteria
Given A release message is being formatted
When Cargo information needs to be included in the message
Then The system adds cargo status, identification numbers, and relevant cargo details to the message content
R-GCX016-cbl-01168 Add Disposition Code Details
Process Rules
📊 Business Logic Narrative
When the process 'Add Disposition Code Details' is invoked, and assuming that a release message contains cargo information, when disposition code details need to be added, the desired outcome is that the system includes the disposition code, its description, and associated customs action details in the message.
💻 Technical Criteria
Given A release message contains cargo information
When Disposition code details need to be added
Then The system includes the disposition code, its description, and associated customs action details in the message
R-GCX016-cbl-01172 Show Add/Subtract Operations?
Decision Rules
📊 Business Logic Narrative
When the process 'Show Add/Subtract Operations?' is invoked, and assuming that the release message formatting is in progress, when the system evaluates whether to show quantity operations, the desired outcome is that if quantity changes need to be displayed, the system shows add/subtract operations; otherwise, it proceeds to format equipment information.
💻 Technical Criteria
Given The release message formatting is in progress
When The system evaluates whether to show quantity operations
Then If quantity changes need to be displayed, the system shows add/subtract operations; otherwise, it proceeds to format equipment information
R-GCX016-cbl-01180 Receive N7 Equipment Segment
Process Rules
📊 Business Logic Narrative
When the process 'Receive N7 Equipment Segment' is invoked, and assuming that an n7 equipment segment is available in the message queue, when the system processes the n7 segment, the desired outcome is that equipment data including container type, car initial, and car number are extracted and made available for processing.
💻 Technical Criteria
Given An N7 equipment segment is available in the message queue
When The system processes the N7 segment
Then Equipment data including container type, car initial, and car number are extracted and made available for processing
R-GCX016-cbl-01181 Extract Container/Equipment Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Container/Equipment Type' is invoked, and assuming that n7 segment data contains equipment type information, when the system extracts container type from the segment, the desired outcome is that container type code is identified and stored for validation and processing.
💻 Technical Criteria
Given N7 segment data contains equipment type information
When The system extracts container type from the segment
Then Container type code is identified and stored for validation and processing
R-GCX016-cbl-01182 Validate Container Type Against System Tables
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Container Type Against System Tables' is invoked, and assuming that a container type code has been extracted from n7 segment, when the system validates the container type against gcstbrt container type tables, the desired outcome is that container type is confirmed as valid or invalid based on table lookup results.
💻 Technical Criteria
Given A container type code has been extracted from N7 segment
When The system validates the container type against GCSTBRT container type tables
Then Container type is confirmed as valid or invalid based on table lookup results
R-GCX016-cbl-01183 Container Type Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Container Type Valid?' is invoked, and assuming that container type validation has been performed against system tables, when the validation result indicates container type status, the desired outcome is that processing continues for valid container types or error handling is triggered for invalid types.
💻 Technical Criteria
Given Container type validation has been performed against system tables
When The validation result indicates container type status
Then Processing continues for valid container types or error handling is triggered for invalid types
R-GCX016-cbl-01184 Update Equipment Information in Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Information in Cargo Record' is invoked, and assuming that container type is valid and equipment data is available from n7 segment, when the system updates cargo record with equipment information, the desired outcome is that cargo record contains updated car initial, car number, and equipment type information from the n7 segment.
💻 Technical Criteria
Given Container type is valid and equipment data is available from N7 segment
When The system updates cargo record with equipment information
Then Cargo record contains updated car initial, car number, and equipment type information from the N7 segment
R-GCX016-cbl-01185 Integration Service Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Integration Service Required?' is invoked, and assuming that equipment information has been updated in cargo record, when the system evaluates integration service requirements based on cargo hold status and equipment type, the desired outcome is that integration service call is required for held cargo with container or trailer equipment types, or skipped for ptt status cargo.
💻 Technical Criteria
Given Equipment information has been updated in cargo record
When The system evaluates integration service requirements based on cargo hold status and equipment type
Then Integration service call is required for held cargo with container or trailer equipment types, or skipped for PTT status cargo
R-GCX016-cbl-01186 Prepare Container Data for Integration Call
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Container Data for Integration Call' is invoked, and assuming that integration service call is required for the container, when the system prepares data for gcciis integration, the desired outcome is that container data including equipment type, status, and cargo information is formatted and ready for integration service call.
💻 Technical Criteria
Given Integration service call is required for the container
When The system prepares data for GCCIIS integration
Then Container data including equipment type, status, and cargo information is formatted and ready for integration service call
R-GCX016-cbl-01187 Call GCCIIS Integration Service
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCIIS Integration Service' is invoked, and assuming that container data is prepared for integration service, when the system calls gcciis integration service, the desired outcome is that equipment interface system is notified of container status changes and processes hold or release actions accordingly.
💻 Technical Criteria
Given Container data is prepared for integration service
When The system calls GCCIIS integration service
Then Equipment interface system is notified of container status changes and processes hold or release actions accordingly
R-GCX016-cbl-01188 Export Container?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Container?' is invoked, and assuming that container processing is in progress, when the system evaluates export status based on cargo routing and destination information, the desired outcome is that container is identified as export or domestic based on routing criteria and cargo status.
💻 Technical Criteria
Given Container processing is in progress
When The system evaluates export status based on cargo routing and destination information
Then Container is identified as export or domestic based on routing criteria and cargo status
R-GCX016-cbl-01189 Route to USEXP Basket for Export Processing
Action Rules
📊 Business Logic Narrative
When the process 'Route to USEXP Basket for Export Processing' is invoked, and assuming that container is identified as export container, when the system routes container for export processing, the desired outcome is that container information is sent to usexp basket for export-specific processing and documentation.
💻 Technical Criteria
Given Container is identified as export container
When The system routes container for export processing
Then Container information is sent to USEXP basket for export-specific processing and documentation
R-GCX016-cbl-01190 Special Container Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Container Type?' is invoked, and assuming that container type has been validated and processing is in progress, when the system evaluates container type for special handling requirements, the desired outcome is that container is classified as requiring special handling or standard processing based on type characteristics.
💻 Technical Criteria
Given Container type has been validated and processing is in progress
When The system evaluates container type for special handling requirements
Then Container is classified as requiring special handling or standard processing based on type characteristics
R-GCX016-cbl-01191 Apply Special Container Handling Rules
Process Rules
📊 Business Logic Narrative
When the process 'Apply Special Container Handling Rules' is invoked, and assuming that container is identified as requiring special handling, when the system applies special container handling rules, the desired outcome is that container processing follows specialized rules appropriate for the specific container type characteristics.
💻 Technical Criteria
Given Container is identified as requiring special handling
When The system applies special container handling rules
Then Container processing follows specialized rules appropriate for the specific container type characteristics
R-GCX016-cbl-01192 Update Container Status in Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Container Status in Cargo Record' is invoked, and assuming that container processing including special handling (if required) has been completed, when the system updates container status in cargo record, the desired outcome is that cargo record reflects current container status including any status changes from processing activities.
💻 Technical Criteria
Given Container processing including special handling (if required) has been completed
When The system updates container status in cargo record
Then Cargo record reflects current container status including any status changes from processing activities
R-GCX016-cbl-01193 Log Container Processing Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Container Processing Information' is invoked, and assuming that container status has been updated in cargo record, when the system logs container processing information, the desired outcome is that processing activities, status changes, and container information are recorded in system logs for audit and tracking purposes.
💻 Technical Criteria
Given Container status has been updated in cargo record
When The system logs container processing information
Then Processing activities, status changes, and container information are recorded in system logs for audit and tracking purposes
R-GCX016-cbl-01194 Generate Container Type Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Container Type Error Message' is invoked, and assuming that container type validation has failed against system tables, when the system generates container type error message, the desired outcome is that error message is created indicating invalid container type and processing is directed to skip container processing.
💻 Technical Criteria
Given Container type validation has failed against system tables
When The system generates container type error message
Then Error message is created indicating invalid container type and processing is directed to skip container processing
R-GCX016-cbl-01195 Skip Container Processing
Process Rules
📊 Business Logic Narrative
When the process 'Skip Container Processing' is invoked, and assuming that container type error has been generated or invalid container type detected, when the system skips container processing, the desired outcome is that container processing is bypassed and system continues with next processing step without updating container information.
💻 Technical Criteria
Given Container type error has been generated or invalid container type detected
When The system skips container processing
Then Container processing is bypassed and system continues with next processing step without updating container information
R-GCX016-cbl-01196 Check Cargo Release Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check Cargo Release Status' is invoked, and assuming that a cargo record exists in the system with current status information, when the system checks the cargo release status during release processing, the desired outcome is that the system determines whether the cargo qualifies for im tag removal based on its release status.
💻 Technical Criteria
Given A cargo record exists in the system with current status information
When The system checks the cargo release status during release processing
Then The system determines whether the cargo qualifies for IM tag removal based on its release status
R-GCX016-cbl-01197 Verify Full Release Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'Verify Full Release Conditions' is invoked, and assuming that cargo has a release status and associated release quantities, when the system verifies full release conditions, the desired outcome is that the system confirms that released quantity equals or exceeds total quantity and no hold conditions exist.
💻 Technical Criteria
Given Cargo has a release status and associated release quantities
When The system verifies full release conditions
Then The system confirms that released quantity equals or exceeds total quantity AND no hold conditions exist
R-GCX016-cbl-01198 Is Cargo Fully Released?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Fully Released?' is invoked, and assuming that cargo has release quantity information and status array data, when the system evaluates if cargo is fully released, the desired outcome is that if released quantity is greater than or equal to total quantity and no active holds exist, then cargo is considered fully released, otherwise it is partially released or held.
💻 Technical Criteria
Given Cargo has release quantity information and status array data
When The system evaluates if cargo is fully released
Then If released quantity is greater than or equal to total quantity AND no active holds exist, then cargo is considered fully released, otherwise it is partially released or held
R-GCX016-cbl-01199 IM Tags Present?
Validation Rules
📊 Business Logic Narrative
When the process 'IM Tags Present?' is invoked, and assuming that cargo is confirmed as fully released, when the system checks for existing im inspection tags in the cargo status array, the desired outcome is that if im tags are found in the status array, proceed with tag removal, otherwise skip im tag processing.
💻 Technical Criteria
Given Cargo is confirmed as fully released
When The system checks for existing IM inspection tags in the cargo status array
Then If IM tags are found in the status array, proceed with tag removal, otherwise skip IM tag processing
R-GCX016-cbl-01200 Remove IM Inspection Tags
Action Rules
📊 Business Logic Narrative
When the process 'Remove IM Inspection Tags' is invoked, and assuming that cargo is fully released and im tags are present in the status array, when the system processes im tag removal, the desired outcome is that all im inspection tags are removed from the cargo status array.
💻 Technical Criteria
Given Cargo is fully released AND IM tags are present in the status array
When The system processes IM tag removal
Then All IM inspection tags are removed from the cargo status array
R-GCX016-cbl-01201 Update Cargo Status Records
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Records' is invoked, and assuming that im tags have been removed from the cargo status array, when the system updates cargo status records, the desired outcome is that the cargo record is updated in the database with the modified status array and the cargo status description is updated to reflect the removal.
💻 Technical Criteria
Given IM tags have been removed from the cargo status array
When The system updates cargo status records
Then The cargo record is updated in the database with the modified status array AND the cargo status description is updated to reflect the removal
R-GCX016-cbl-01202 Log IM Tag Removal
Process Rules
📊 Business Logic Narrative
When the process 'Log IM Tag Removal' is invoked, and assuming that im tags have been successfully removed from cargo, when the system logs the im tag removal activity, the desired outcome is that a log entry is created documenting the im tag removal with cargo identifier, timestamp, and removal details.
💻 Technical Criteria
Given IM tags have been successfully removed from cargo
When The system logs the IM tag removal activity
Then A log entry is created documenting the IM tag removal with cargo identifier, timestamp, and removal details
R-GCX016-cbl-01203 Skip IM Tag Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip IM Tag Processing', assuming that cargo is determined to be partially released, held, or not released, when the system evaluates im tag processing requirements, the desired outcome is that im tag processing is skipped and the system continues with standard release processing.
💻 Technical Criteria
EXCLUDING Cargo is determined to be partially released, held, or not released
When The system evaluates IM tag processing requirements
Then IM tag processing is skipped AND the system continues with standard release processing
R-GCX016-cbl-01204 Export Operation Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Operation Type?' is invoked, and assuming that a cargo export status has been detected in cargo processing, when the system evaluates the export operation type, the desired outcome is that the system identifies whether it is a standard export or export cancellation operation.
💻 Technical Criteria
Given A cargo export status has been detected in cargo processing
When The system evaluates the export operation type
Then The system identifies whether it is a standard export or export cancellation operation
R-GCX016-cbl-01208 Container Type Validation
Validation Rules
📊 Business Logic Narrative
When the process 'Container Type Validation' is invoked, and assuming that an export message has been prepared for transmission, when the system validates the container type, the desired outcome is that the system determines if the equipment type is a valid container for special routing.
💻 Technical Criteria
Given An export message has been prepared for transmission
When The system validates the container type
Then The system determines if the equipment type is a valid container for special routing
R-GCX016-cbl-01209 Route to USEXP Baskets for Container Types
Process Rules
📊 Business Logic Narrative
When the process 'Route to USEXP Baskets for Container Types' is invoked, and assuming that the container type validation has determined the equipment is a valid container, when the system routes the export message, the desired outcome is that the message is routed to usexp baskets for container-specific processing.
💻 Technical Criteria
Given The container type validation has determined the equipment is a valid container
When The system routes the export message
Then The message is routed to USEXP baskets for container-specific processing
R-GCX016-cbl-01211 Format Export Subject Line
Computation Rules
📊 Business Logic Narrative
When the process 'Format Export Subject Line' is invoked, and assuming that export message keywords have been configured, when the system formats the export subject line, the desired outcome is that the subject line contains formatted cargo and export operation information.
💻 Technical Criteria
Given Export message keywords have been configured
When The system formats the export subject line
Then The subject line contains formatted cargo and export operation information
R-GCX016-cbl-01237 Access Cargo Secondary Records
Action Rules
📊 Business Logic Narrative
When the process 'Access Cargo Secondary Records' is invoked, and assuming that a cargo record exists in the system, when the system needs to identify payer of freight information, the desired outcome is that the system accesses the cargo secondary records (gcsa2rt) to search for payer information.
💻 Technical Criteria
Given A cargo record exists in the system
When The system needs to identify payer of freight information
Then The system accesses the cargo secondary records (GCSA2RT) to search for payer information
R-GCX016-cbl-01238 Search for N101 Segments
Process Rules
📊 Business Logic Narrative
When the process 'Search for N101 Segments' is invoked, and assuming that cargo secondary records are accessible, when the system searches for payer of freight information, the desired outcome is that the system iterates through secondary records to find n101 segments containing payer codes.
💻 Technical Criteria
Given Cargo secondary records are accessible
When The system searches for payer of freight information
Then The system iterates through secondary records to find N101 segments containing payer codes
R-GCX016-cbl-01239 N101 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N101 Segment Found?' is invoked, and assuming that the system is searching cargo secondary records, when no n101 segments are found in the secondary records, the desired outcome is that the system returns with no payer found status.
💻 Technical Criteria
Given The system is searching cargo secondary records
When No N101 segments are found in the secondary records
Then The system returns with no payer found status
R-GCX016-cbl-01240 Extract Payer of Freight Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Payer of Freight Code' is invoked, and assuming that an n101 segment is found in cargo secondary records, when the system processes the n101 segment, the desired outcome is that the system extracts the payer of freight code from the segment data.
💻 Technical Criteria
Given An N101 segment is found in cargo secondary records
When The system processes the N101 segment
Then The system extracts the payer of freight code from the segment data
R-GCX016-cbl-01245 Store Payer of Freight Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Payer of Freight Information' is invoked, and assuming that payer of freight information has been identified through either broker lookup or standard processing, when the system completes payer identification, the desired outcome is that the system stores the payer of freight information in working storage for subsequent cargo processing.
💻 Technical Criteria
Given Payer of freight information has been identified through either broker lookup or standard processing
When The system completes payer identification
Then The system stores the payer of freight information in working storage for subsequent cargo processing
R-GCX016-cbl-01254 Initialize New Cargo Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize New Cargo Record', assuming that a foreign bill is not found in the existing cargo system, when the system needs to create a new cargo record, the desired outcome is that initialize a new cargo record structure and clear all data fields to default values.
💻 Technical Criteria
EXCLUDING A foreign bill is not found in the existing cargo system
When The system needs to create a new cargo record
Then Initialize a new cargo record structure and clear all data fields to default values
R-GCX016-cbl-01255 Set Default CPRS/USCS Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default CPRS/USCS Status' is invoked, and assuming that a new cargo record is being created, when the cargo record type is cprs, the desired outcome is that set the cargo status to 'error' and status description to 'error'.
💻 Technical Criteria
Given A new cargo record is being created
When The cargo record type is CPRS
Then Set the cargo status to 'ERROR' and status description to 'ERROR'
R-GCX016-cbl-01256 Set Default CPRS/USCS Status
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default CPRS/USCS Status', assuming that a new cargo record is being created, when the cargo record type is not cprs, the desired outcome is that set the cargo status to 'sent' and status description to 'sent'.
💻 Technical Criteria
EXCLUDING A new cargo record is being created
When The cargo record type is not CPRS
Then Set the cargo status to 'SENT' and status description to 'SENT'
R-GCX016-cbl-01257 Set Default CPRS/USCS Status
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default CPRS/USCS Status' is invoked, and assuming that a new cargo record is being created, when the current cargo status is blank or equals 'ack-r', the desired outcome is that set the acknowledgment status to 'ack' or 'ack-r' as default.
💻 Technical Criteria
Given A new cargo record is being created
When The current cargo status is blank or equals 'ACK-R'
Then Set the acknowledgment status to 'ACK' or 'ACK-R' as default
R-GCX016-cbl-01258 Set Default Broker Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Default Broker Information' is invoked, and assuming that a new cargo record is being created, when broker information needs to be initialized, the desired outcome is that set default broker fields and clear broker-specific data elements.
💻 Technical Criteria
Given A new cargo record is being created
When Broker information needs to be initialized
Then Set default broker fields and clear broker-specific data elements
R-GCX016-cbl-01259 Build M10 Manifest Information
Process Rules
📊 Business Logic Narrative
When the process 'Build M10 Manifest Information' is invoked, and assuming that a new cargo record requires manifest information, when m10 manifest data needs to be populated, the desired outcome is that build the manifest structure with vessel name, voyage number, and transportation details from the x4 segment.
💻 Technical Criteria
Given A new cargo record requires manifest information
When M10 manifest data needs to be populated
Then Build the manifest structure with vessel name, voyage number, and transportation details from the X4 segment
R-GCX016-cbl-01260 Entry Type Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type Code?' is invoked, and assuming that a new cargo record has an entry type code, when the entry type code is evaluated, the desired outcome is that route to master in-bond processing for codes 61, 62, 63, 69, border entry processing for code 00, or standard entry processing for other codes.
💻 Technical Criteria
Given A new cargo record has an entry type code
When The entry type code is evaluated
Then Route to master in-bond processing for codes 61, 62, 63, 69, border entry processing for code 00, or standard entry processing for other codes
R-GCX016-cbl-01261 Master In-Bond Processing Types 61,62,63,69
Policy Rules
📊 Business Logic Narrative
When the process 'Master In-Bond Processing Types 61,62,63,69' is invoked, and assuming that a new cargo record has an entry type code, when the entry type code is 61 (immediate transport), 62 (transport export), 63 (immediate export), or 69 (us-canada-us movement), the desired outcome is that set the m1109 master in-bond flag and process according to the specific entry type requirements.
💻 Technical Criteria
Given A new cargo record has an entry type code
When The entry type code is 61 (immediate transport), 62 (transport export), 63 (immediate export), or 69 (US-Canada-US movement)
Then Set the M1109 master in-bond flag and process according to the specific entry type requirements
R-GCX016-cbl-01262 Border Entry Processing Type 00
Policy Rules
📊 Business Logic Narrative
When the process 'Border Entry Processing Type 00' is invoked, and assuming that a new cargo record has an entry type code, when the entry type code is 00 (border processing), the desired outcome is that clear bond information and process as border entry with default border processing rules.
💻 Technical Criteria
Given A new cargo record has an entry type code
When The entry type code is 00 (border processing)
Then Clear bond information and process as border entry with default border processing rules
R-GCX016-cbl-01263 Standard Entry Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Standard Entry Processing', assuming that a new cargo record has an entry type code, when the entry type code is not 61, 62, 63, 69, or 00, the desired outcome is that process using standard entry processing rules without special in-bond or border handling.
💻 Technical Criteria
EXCLUDING A new cargo record has an entry type code
When The entry type code is not 61, 62, 63, 69, or 00
Then Process using standard entry processing rules without special in-bond or border handling
R-GCX016-cbl-01264 Map Transport Type Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Transport Type Codes' is invoked, and assuming that a cargo record is being processed for master in-bond entry, when the entry type code needs to be mapped to transport type, the desired outcome is that map code 61 to immediate transport, 62 to transport export, 63 to immediate export, and 69 to us-canada-us movement.
💻 Technical Criteria
Given A cargo record is being processed for master in-bond entry
When The entry type code needs to be mapped to transport type
Then Map code 61 to immediate transport, 62 to transport export, 63 to immediate export, and 69 to US-Canada-US movement
R-GCX016-cbl-01265 Clear Bond Information for Border Entry
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information for Border Entry' is invoked, and assuming that a cargo record is being processed as border entry type 00, when bond information needs to be cleared, the desired outcome is that clear all bond-related fields and set appropriate border processing flags.
💻 Technical Criteria
Given A cargo record is being processed as border entry type 00
When Bond information needs to be cleared
Then Clear all bond-related fields and set appropriate border processing flags
R-GCX016-cbl-01266 Set Manifest Data Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest Data Fields' is invoked, and assuming that a new cargo record requires manifest data, when manifest fields need to be populated, the desired outcome is that set manifest data fields from x4 segment including arrival date, arrival time, and manifest reference numbers.
💻 Technical Criteria
Given A new cargo record requires manifest data
When Manifest fields need to be populated
Then Set manifest data fields from X4 segment including arrival date, arrival time, and manifest reference numbers
R-GCX016-cbl-01267 Set SCAC Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code' is invoked, and assuming that a new cargo record is being created, when scac code needs to be assigned, the desired outcome is that set the scac code from the x4 segment to identify the transportation carrier.
💻 Technical Criteria
Given A new cargo record is being created
When SCAC code needs to be assigned
Then Set the SCAC code from the X4 segment to identify the transportation carrier
R-GCX016-cbl-01268 Set Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transport Type' is invoked, and assuming that a new cargo record requires transport type assignment, when transport type needs to be set, the desired outcome is that set the transport type code based on the transportation mode from the manifest information.
💻 Technical Criteria
Given A new cargo record requires transport type assignment
When Transport type needs to be set
Then Set the transport type code based on the transportation mode from the manifest information
R-GCX016-cbl-01269 Set Country Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Country Code' is invoked, and assuming that a new cargo record requires country identification, when country code needs to be assigned, the desired outcome is that set the appropriate country code from the manifest data to identify origin or destination country.
💻 Technical Criteria
Given A new cargo record requires country identification
When Country code needs to be assigned
Then Set the appropriate country code from the manifest data to identify origin or destination country
R-GCX016-cbl-01270 Set Vessel/Flight Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Vessel/Flight Information' is invoked, and assuming that a new cargo record requires conveyance information, when vessel or flight information needs to be set, the desired outcome is that set vessel name, voyage number, or flight details from the m10 manifest segment.
💻 Technical Criteria
Given A new cargo record requires conveyance information
When Vessel or flight information needs to be set
Then Set vessel name, voyage number, or flight details from the M10 manifest segment
R-GCX016-cbl-01271 Set Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Quantity Information' is invoked, and assuming that a new cargo record requires quantity data, when quantity information needs to be populated, the desired outcome is that set total quantity, release quantity, and unit of measure from the x4 segment data.
💻 Technical Criteria
Given A new cargo record requires quantity data
When Quantity information needs to be populated
Then Set total quantity, release quantity, and unit of measure from the X4 segment data
R-GCX016-cbl-01272 Set Manifest Type Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Manifest Type Code' is invoked, and assuming that a new cargo record requires manifest type classification, when manifest type code needs to be assigned, the desired outcome is that set the manifest type code based on the document type and transportation mode.
💻 Technical Criteria
Given A new cargo record requires manifest type classification
When Manifest type code needs to be assigned
Then Set the manifest type code based on the document type and transportation mode
R-GCX016-cbl-01273 Set Condition Response Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Condition Response Code' is invoked, and assuming that a new cargo record requires status indication, when condition response code needs to be set, the desired outcome is that set appropriate condition response codes to reflect the current processing status and any special handling requirements.
💻 Technical Criteria
Given A new cargo record requires status indication
When Condition response code needs to be set
Then Set appropriate condition response codes to reflect the current processing status and any special handling requirements
R-GCX016-cbl-01274 Store New Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Store New Cargo Record' is invoked, and assuming that a new cargo record has been fully populated with required data, when the record needs to be saved to the system, the desired outcome is that store the cargo record in the database and confirm successful creation.
💻 Technical Criteria
Given A new cargo record has been fully populated with required data
When The record needs to be saved to the system
Then Store the cargo record in the database and confirm successful creation
R-GCX016-cbl-01280 Extract Quantity from M10-07
Process Rules
📊 Business Logic Narrative
When the process 'Extract Quantity from M10-07' is invoked, and assuming that an m10 manifest segment is received with quantity information in field m10-07, when the system processes the m10 segment for manifest data integration, the desired outcome is that the quantity is extracted from m10-07 field and stored for cargo quantity tracking.
💻 Technical Criteria
Given An M10 manifest segment is received with quantity information in field M10-07
When The system processes the M10 segment for manifest data integration
Then The quantity is extracted from M10-07 field and stored for cargo quantity tracking
R-GCX016-cbl-01286 Build Manifest Information into Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Build Manifest Information into Cargo Record' is invoked, and assuming that all m10 manifest data elements have been extracted and validated, when the system builds the manifest information into cargo record structure, the desired outcome is that all manifest data is consolidated into a complete cargo record with scac, transport type, country, vessel, voyage, quantity, manifest type, and condition codes.
💻 Technical Criteria
Given All M10 manifest data elements have been extracted and validated
When The system builds the manifest information into cargo record structure
Then All manifest data is consolidated into a complete cargo record with SCAC, transport type, country, vessel, voyage, quantity, manifest type, and condition codes
R-GCX016-cbl-01287 Update Cargo Record with M10 Data
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with M10 Data' is invoked, and assuming that manifest information has been built into a structured cargo record format, when the system updates the cargo record with m10 manifest data, the desired outcome is that the cargo record is updated with all manifest information including carrier, transport mode, origin, vessel details, quantities, and status codes.
💻 Technical Criteria
Given Manifest information has been built into a structured cargo record format
When The system updates the cargo record with M10 manifest data
Then The cargo record is updated with all manifest information including carrier, transport mode, origin, vessel details, quantities, and status codes
R-GCX016-cbl-01299 Update Cargo Record with Station Data
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Station Data' is invoked, and assuming that station information has been formatted, when the system updates the cargo record, the desired outcome is that the system stores the station data in the appropriate cargo record fields.
💻 Technical Criteria
Given Station information has been formatted
When The system updates the cargo record
Then The system stores the station data in the appropriate cargo record fields
R-GCX016-cbl-01301 Location ID Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Location ID Available?' is invoked, and assuming that a cargo record is being processed for destination station lookup, when the system checks for location id availability in the cargo record, the desired outcome is that the system proceeds to extract location id if available, otherwise uses default/unknown station.
💻 Technical Criteria
Given A cargo record is being processed for destination station lookup
When The system checks for location ID availability in the cargo record
Then The system proceeds to extract location ID if available, otherwise uses default/unknown station
R-GCX016-cbl-01302 Extract Location ID from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Location ID from Cargo Record' is invoked, and assuming that a cargo record contains a valid location id, when the system extracts the location id from the cargo record, the desired outcome is that the location id is available for station table lookup operations.
💻 Technical Criteria
Given A cargo record contains a valid location ID
When The system extracts the location ID from the cargo record
Then The location ID is available for station table lookup operations
R-GCX016-cbl-01303 Lookup Station in DS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Station in DS Table' is invoked, and assuming that a location id has been extracted from the cargo record, when the system searches the ds table using the location id, the desired outcome is that the system retrieves station information if found or proceeds to secondary lookup.
💻 Technical Criteria
Given A location ID has been extracted from the cargo record
When The system searches the DS table using the location ID
Then The system retrieves station information if found or proceeds to secondary lookup
R-GCX016-cbl-01307 Extract Station Name and Description
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Name and Description' is invoked, and assuming that a station entry has been found in either ds or ks table, when the system extracts station name and description from the table entry, the desired outcome is that the station information is available for mapping to the cargo record.
💻 Technical Criteria
Given A station entry has been found in either DS or KS table
When The system extracts station name and description from the table entry
Then The station information is available for mapping to the cargo record
R-GCX016-cbl-01309 Update Cargo Record with Station Details
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Station Details' is invoked, and assuming that location id has been mapped to station information, when the system updates the cargo record with station details, the desired outcome is that the cargo record contains the station name and description for the location id.
💻 Technical Criteria
Given Location ID has been mapped to station information
When The system updates the cargo record with station details
Then The cargo record contains the station name and description for the location ID
R-GCX016-cbl-01310 KCSM Station Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Station Required?' is invoked, and assuming that the cargo record has been updated with station details, when the system checks if kcsm station lookup is required, the desired outcome is that the system performs kcsm station lookup if required, otherwise completes station lookup.
💻 Technical Criteria
Given The cargo record has been updated with station details
When The system checks if KCSM station lookup is required
Then The system performs KCSM station lookup if required, otherwise completes station lookup
R-GCX016-cbl-01311 Perform KCSM Station Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Perform KCSM Station Lookup' is invoked, and assuming that kcsm station lookup is required for the cargo record, when the system performs kcsm station lookup, the desired outcome is that the system retrieves kcsm-specific station information for mapping.
💻 Technical Criteria
Given KCSM station lookup is required for the cargo record
When The system performs KCSM station lookup
Then The system retrieves KCSM-specific station information for mapping
R-GCX016-cbl-01312 Apply KCSM Station Mapping
Process Rules
📊 Business Logic Narrative
When the process 'Apply KCSM Station Mapping' is invoked, and assuming that kcsm station lookup has been performed successfully, when the system applies kcsm station mapping, the desired outcome is that the cargo record is updated with kcsm-specific station information.
💻 Technical Criteria
Given KCSM station lookup has been performed successfully
When The system applies KCSM station mapping
Then The cargo record is updated with KCSM-specific station information
R-GCX016-cbl-01314 Use Default/Unknown Station
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Default/Unknown Station', assuming that station lookup has failed or location id is not available, when the system uses default/unknown station information, the desired outcome is that the cargo record is assigned default station details to complete processing.
💻 Technical Criteria
EXCLUDING Station lookup has failed or location ID is not available
When The system uses default/unknown station information
Then The cargo record is assigned default station details to complete processing
R-GCX016-cbl-01325 Format Standard Disposition Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Standard Disposition Message' is invoked, and assuming that a disposition code message needs to be formatted and message type is standard disposition message, when the system processes the message formatting request, the desired outcome is that the system creates a standard disposition message format with disposition code and cargo details.
💻 Technical Criteria
Given A disposition code message needs to be formatted AND message type is standard disposition message
When The system processes the message formatting request
Then The system creates a standard disposition message format with disposition code and cargo details
R-GCX016-cbl-01329 Determine Quantity Action
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Quantity Action' is invoked, and assuming that a disposition code is being processed that affects cargo quantities, when the system evaluates the quantity impact of the disposition code, the desired outcome is that the system determines whether quantities will be added, subtracted, or remain unchanged.
💻 Technical Criteria
Given A disposition code is being processed that affects cargo quantities
When The system evaluates the quantity impact of the disposition code
Then The system determines whether quantities will be added, subtracted, or remain unchanged
R-GCX016-cbl-01330 Format Add Quantity Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Add Quantity Message' is invoked, and assuming that quantity action type is determined to be add quantity, when the system formats the quantity action message, the desired outcome is that the message indicates that the specified quantity will be added to the cargo release amount.
💻 Technical Criteria
Given Quantity action type is determined to be add quantity
When The system formats the quantity action message
Then The message indicates that the specified quantity will be added to the cargo release amount
R-GCX016-cbl-01331 Format Subtract Quantity Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Subtract Quantity Message' is invoked, and assuming that quantity action type is determined to be subtract quantity, when the system formats the quantity action message, the desired outcome is that the message indicates that the specified quantity will be subtracted from the cargo release amount.
💻 Technical Criteria
Given Quantity action type is determined to be subtract quantity
When The system formats the quantity action message
Then The message indicates that the specified quantity will be subtracted from the cargo release amount
R-GCX016-cbl-01332 Format No Quantity Change Message
Process Rules
📊 Business Logic Narrative
When the process 'Format No Quantity Change Message' is invoked, and assuming that quantity action type is determined to be no change, when the system formats the quantity action message, the desired outcome is that the message indicates that no quantity changes will be made to the cargo.
💻 Technical Criteria
Given Quantity action type is determined to be no change
When The system formats the quantity action message
Then The message indicates that no quantity changes will be made to the cargo
R-GCX016-cbl-01339 Format Cargo Details
Process Rules
📊 Business Logic Narrative
When the process 'Format Cargo Details' is invoked, and assuming that a disposition message requires cargo details, when the system formats cargo details for the message, the desired outcome is that the message includes formatted cargo identification and tracking information.
💻 Technical Criteria
Given A disposition message requires cargo details
When The system formats cargo details for the message
Then The message includes formatted cargo identification and tracking information
R-GCX016-cbl-01340 Add Car ID Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Car ID Information' is invoked, and assuming that cargo details are being formatted and car id information is available, when the system adds car id information to the message, the desired outcome is that the message includes the railroad car identification for equipment tracking.
💻 Technical Criteria
Given Cargo details are being formatted AND car ID information is available
When The system adds car ID information to the message
Then The message includes the railroad car identification for equipment tracking
R-GCX016-cbl-01356 Include Broker Entry Number
Process Rules
📊 Business Logic Narrative
When the process 'Include Broker Entry Number' is invoked, and assuming that a quantity action display message is being formatted and broker entry number exists, when the system includes entry number information, the desired outcome is that the broker entry number is added to the message for cargo identification.
💻 Technical Criteria
Given A quantity action display message is being formatted and broker entry number exists
When The system includes entry number information
Then The broker entry number is added to the message for cargo identification
R-GCX016-cbl-01360 Processing Context?
Decision Rules
📊 Business Logic Narrative
When the process 'Processing Context?' is invoked, and assuming that a k1 comment segment is received for processing, when the system evaluates the current processing context, the desired outcome is that the system routes k1 processing to either train-level operations or cargo-level operations based on the context.
💻 Technical Criteria
Given A K1 comment segment is received for processing
When The system evaluates the current processing context
Then The system routes K1 processing to either train-level operations or cargo-level operations based on the context
R-GCX016-cbl-01362 Comment Count < 4?
Validation Rules
📊 Business Logic Narrative
When the process 'Comment Count < 4?' is invoked, and assuming that a k1 comment segment is being processed for cargo operations, when the system checks the current count of k1 comments already processed, the desired outcome is that if comment count is less than 4, the comment is added to the array, otherwise additional comments are skipped.
💻 Technical Criteria
Given A K1 comment segment is being processed for cargo operations
When The system checks the current count of K1 comments already processed
Then If comment count is less than 4, the comment is added to the array, otherwise additional comments are skipped
R-GCX016-cbl-01376 Equipment Type Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Type Present?' is invoked, and assuming that a cargo record is being processed for equipment integration, when the system retrieves the equipment type from the cargo record, the desired outcome is that the system should check if equipment type information is present and proceed to validation if available, or skip to invalid handling if not present.
💻 Technical Criteria
Given A cargo record is being processed for equipment integration
When The system retrieves the equipment type from the cargo record
Then The system should check if equipment type information is present and proceed to validation if available, or skip to invalid handling if not present
R-GCX016-cbl-01377 Is Valid Container/Equipment Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Valid Container/Equipment Type?' is invoked, and assuming that an equipment type has been retrieved from the cargo record, when the system checks the equipment type against the list of valid container and equipment types including containers, trailers, and various other equipment types, the desired outcome is that the system should classify the equipment type as valid if it matches approved container/equipment types, or invalid if it does not match.
💻 Technical Criteria
Given An equipment type has been retrieved from the cargo record
When The system checks the equipment type against the list of valid container and equipment types including containers, trailers, and various other equipment types
Then The system should classify the equipment type as valid if it matches approved container/equipment types, or invalid if it does not match
R-GCX016-cbl-01378 Set Integration Call Flag to Proceed
Action Rules
📊 Business Logic Narrative
When the process 'Set Integration Call Flag to Proceed' is invoked, and assuming that the equipment type has been validated as a recognized container or equipment type, when the validation process determines the equipment type is valid for integration, the desired outcome is that the system should set the integration call flag to proceed and allow the integration call to be made.
💻 Technical Criteria
Given The equipment type has been validated as a recognized container or equipment type
When The validation process determines the equipment type is valid for integration
Then The system should set the integration call flag to proceed and allow the integration call to be made
R-GCX016-cbl-01379 Log Invalid Equipment Type
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Invalid Equipment Type', assuming that the equipment type is either not present in the cargo record or does not match valid container/equipment types, when the validation process identifies an invalid or missing equipment type, the desired outcome is that the system should log the invalid equipment type occurrence and set the integration call flag to skip processing.
💻 Technical Criteria
EXCLUDING The equipment type is either not present in the cargo record or does not match valid container/equipment types
When The validation process identifies an invalid or missing equipment type
Then The system should log the invalid equipment type occurrence and set the integration call flag to skip processing
R-GCX016-cbl-01380 Set Integration Call Flag to Skip
Action Rules
📊 Business Logic Narrative
When the process 'Set Integration Call Flag to Skip' is invoked, and assuming that the equipment type validation has failed due to invalid or missing equipment type, when the system needs to determine the next processing step after validation failure, the desired outcome is that the system should set the integration call flag to skip and prevent any integration calls from being made.
💻 Technical Criteria
Given The equipment type validation has failed due to invalid or missing equipment type
When The system needs to determine the next processing step after validation failure
Then The system should set the integration call flag to skip and prevent any integration calls from being made
R-GCX016-cbl-01381 Map Hold Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Hold Status' is invoked, and assuming that a cargo record has an internal hold status, when the system processes the cargo status for integration service mapping, the desired outcome is that the system maps the hold status to appropriate integration service status description based on hold type (border hold, destination hold, or combined hold conditions).
💻 Technical Criteria
Given A cargo record has an internal hold status
When The system processes the cargo status for integration service mapping
Then The system maps the hold status to appropriate integration service status description based on hold type (border hold, destination hold, or combined hold conditions)
R-GCX016-cbl-01382 Map Release Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Release Status' is invoked, and assuming that a cargo record has an internal release status, when the system processes the cargo status for integration service mapping, the desired outcome is that the system maps the release status to appropriate integration service status description based on release type (full release when released quantity equals total quantity, or partial release when released quantity is less than total quantity).
💻 Technical Criteria
Given A cargo record has an internal release status
When The system processes the cargo status for integration service mapping
Then The system maps the release status to appropriate integration service status description based on release type (full release when released quantity equals total quantity, or partial release when released quantity is less than total quantity)
R-GCX016-cbl-01383 Map PTT Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Map PTT Status' is invoked, and assuming that a cargo record has an internal ptt (permit to transfer) status, when the system processes the cargo status for integration service mapping, the desired outcome is that the system maps the ptt status to 'permit to transfer' integration service status description.
💻 Technical Criteria
Given A cargo record has an internal PTT (Permit to Transfer) status
When The system processes the cargo status for integration service mapping
Then The system maps the PTT status to 'Permit to Transfer' integration service status description
R-GCX016-cbl-01384 Map Proceed Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Proceed Status' is invoked, and assuming that a cargo record has an internal proceed status with border arrival date, when the system processes the cargo status for integration service mapping, the desired outcome is that the system maps the proceed status to integration service status description that includes the border arrival date information.
💻 Technical Criteria
Given A cargo record has an internal proceed status with border arrival date
When The system processes the cargo status for integration service mapping
Then The system maps the proceed status to integration service status description that includes the border arrival date information
R-GCX016-cbl-01385 Map Arrival Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Arrival Status' is invoked, and assuming that a cargo record has an internal train arrival status, when the system processes the cargo status for integration service mapping, the desired outcome is that the system maps the arrival status to 'train arrival' integration service status description.
💻 Technical Criteria
Given A cargo record has an internal train arrival status
When The system processes the cargo status for integration service mapping
Then The system maps the arrival status to 'Train Arrival' integration service status description
R-GCX016-cbl-01386 Map Export Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Export Status' is invoked, and assuming that a cargo record has an internal export completion status, when the system processes the cargo status for integration service mapping, the desired outcome is that the system maps the export status to 'export complete' integration service status description.
💻 Technical Criteria
Given A cargo record has an internal export completion status
When The system processes the cargo status for integration service mapping
Then The system maps the export status to 'Export Complete' integration service status description
R-GCX016-cbl-01387 Map Seizure Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Seizure Status' is invoked, and assuming that a cargo record has an internal customs seizure status, when the system processes the cargo status for integration service mapping, the desired outcome is that the system maps the seizure status to 'customs seizure' integration service status description.
💻 Technical Criteria
Given A cargo record has an internal customs seizure status
When The system processes the cargo status for integration service mapping
Then The system maps the seizure status to 'Customs Seizure' integration service status description
R-GCX016-cbl-01388 Map FDA Hold Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Map FDA Hold Status' is invoked, and assuming that a cargo record has an internal fda hold status, when the system processes the cargo status for integration service mapping, the desired outcome is that the system maps the fda hold status to 'fda destination hold' integration service status description.
💻 Technical Criteria
Given A cargo record has an internal FDA hold status
When The system processes the cargo status for integration service mapping
Then The system maps the FDA hold status to 'FDA Destination Hold' integration service status description
R-GCX016-cbl-01390 Prepare Status for Integration Service Call
Action Rules
📊 Business Logic Narrative
When the process 'Prepare Status for Integration Service Call' is invoked, and assuming that a validated status description exists for a cargo record, when the system prepares the status for integration service transmission, the desired outcome is that the system formats and packages the status description for external integration service call.
💻 Technical Criteria
Given A validated status description exists for a cargo record
When The system prepares the status for integration service transmission
Then The system formats and packages the status description for external integration service call
R-GCX016-cbl-01409 Check Broker Preferences
Decision Rules
📊 Business Logic Narrative
When the process 'Check Broker Preferences' is invoked, and assuming that a broker notification is required for cargo processing, when the system checks broker preferences in the broker tables, the desired outcome is that the system retrieves broker contact information and routing preferences from bk/b1 tables.
💻 Technical Criteria
Given A broker notification is required for cargo processing
When The system checks broker preferences in the broker tables
Then The system retrieves broker contact information and routing preferences from BK/B1 tables
R-GCX016-cbl-01412 Format Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Email Message' is invoked, and assuming that notification is being routed via internet email, when the system prepares the message content, the desired outcome is that the system formats the message with cargo information, disposition codes, quantities, and broker-specific details for email delivery.
💻 Technical Criteria
Given Notification is being routed via internet email
When The system prepares the message content
Then The system formats the message with cargo information, disposition codes, quantities, and broker-specific details for email delivery
R-GCX016-cbl-01414 Format Merlin Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Merlin Message' is invoked, and assuming that notification is being routed via traditional merlin system, when the system prepares the message content, the desired outcome is that the system formats the message with cargo information, disposition codes, quantities, and broker-specific details according to merlin message standards.
💻 Technical Criteria
Given Notification is being routed via traditional Merlin system
When The system prepares the message content
Then The system formats the message with cargo information, disposition codes, quantities, and broker-specific details according to Merlin message standards
R-GCX016-cbl-01422 Access Cargo Secondary Records GCSA2RT Segment
Action Rules
📊 Business Logic Narrative
When the process 'Access Cargo Secondary Records GCSA2RT Segment' is invoked, and assuming that a cargo record exists in the system, when the system needs to access secondary cargo information, the desired outcome is that the system retrieves gcsa2rt segment data from cargo secondary records.
💻 Technical Criteria
Given A cargo record exists in the system
When The system needs to access secondary cargo information
Then The system retrieves GCSA2RT segment data from cargo secondary records
R-GCX016-cbl-01423 Secondary Records Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Secondary Records Available?' is invoked, and assuming that the system has accessed cargo secondary records, when the system checks for secondary record availability, the desired outcome is that the system determines if secondary records are available for processing or if no payer of freight information can be found.
💻 Technical Criteria
Given The system has accessed cargo secondary records
When The system checks for secondary record availability
Then The system determines if secondary records are available for processing or if no payer of freight information can be found
R-GCX016-cbl-01424 Initialize Secondary Record Search
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Secondary Record Search' is invoked, and assuming that secondary records are available for the cargo, when the system begins searching for payer of freight information, the desired outcome is that the system initializes the search process to examine n101 segments.
💻 Technical Criteria
Given Secondary records are available for the cargo
When The system begins searching for payer of freight information
Then The system initializes the search process to examine N101 segments
R-GCX016-cbl-01435 No Payer of Freight Information Found
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No Payer of Freight Information Found', assuming that secondary records are not available or contain no payer of freight information, when the system determines no payer of freight information is found, the desired outcome is that the system indicates that no payer of freight information is available for the cargo.
💻 Technical Criteria
EXCLUDING Secondary records are not available or contain no payer of freight information
When The system determines no payer of freight information is found
Then The system indicates that no payer of freight information is available for the cargo
R-GCX016-cbl-01456 Show Car ID Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Show Car ID Information' is invoked, and assuming that a cargo record with car identification exists, when car id information is requested for display, the desired outcome is that the system shows the car id from the cargo record.
💻 Technical Criteria
Given A cargo record with car identification exists
When Car ID information is requested for display
Then The system shows the car ID from the cargo record
R-GCX016-cbl-01459 Show CPRS Status Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Show CPRS Status Description' is invoked, and assuming that a cargo record with cprs status information exists, when cprs status description is requested for display, the desired outcome is that the system displays the cprs status description from the cargo record.
💻 Technical Criteria
Given A cargo record with CPRS status information exists
When CPRS status description is requested for display
Then The system displays the CPRS status description from the cargo record
R-GCX016-cbl-01460 Show USCS Status Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Show USCS Status Description' is invoked, and assuming that a cargo record with uscs status information exists, when uscs status description is requested for display, the desired outcome is that the system displays the uscs status description from the cargo record.
💻 Technical Criteria
Given A cargo record with USCS status information exists
When USCS status description is requested for display
Then The system displays the USCS status description from the cargo record
R-GCX016-cbl-01461 Show Total Quantity
Definitional Rules
📊 Business Logic Narrative
When the process 'Show Total Quantity' is invoked, and assuming that a cargo record with quantity information exists, when total quantity information is requested for display, the desired outcome is that the system displays the total quantity from the cargo record.
💻 Technical Criteria
Given A cargo record with quantity information exists
When Total quantity information is requested for display
Then The system displays the total quantity from the cargo record
R-GCX016-cbl-01462 Show Released Quantity
Definitional Rules
📊 Business Logic Narrative
When the process 'Show Released Quantity' is invoked, and assuming that a cargo record with release quantity information exists, when released quantity information is requested for display, the desired outcome is that the system displays the released quantity from the cargo record.
💻 Technical Criteria
Given A cargo record with release quantity information exists
When Released quantity information is requested for display
Then The system displays the released quantity from the cargo record
R-GCX016-cbl-01463 Show Broker Entry Numbers
Definitional Rules
📊 Business Logic Narrative
When the process 'Show Broker Entry Numbers' is invoked, and assuming that a cargo record with broker entry number information exists, when broker entry numbers are requested for display, the desired outcome is that the system displays the broker entry numbers from the cargo record.
💻 Technical Criteria
Given A cargo record with broker entry number information exists
When Broker entry numbers are requested for display
Then The system displays the broker entry numbers from the cargo record
R-GCX016-cbl-01464 Show Disposition Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Show Disposition Code' is invoked, and assuming that a cargo record with disposition code information exists, when disposition code is requested for display, the desired outcome is that the system displays the disposition code from the cargo status array.
💻 Technical Criteria
Given A cargo record with disposition code information exists
When Disposition code is requested for display
Then The system displays the disposition code from the cargo status array
R-GCX016-cbl-01465 Show Code Description
Action Rules
📊 Business Logic Narrative
When the process 'Show Code Description' is invoked, and assuming that a disposition code exists in the cargo status array, when code description is requested for display, the desired outcome is that the system retrieves and displays the disposition code description from the disposition code table.
💻 Technical Criteria
Given A disposition code exists in the cargo status array
When Code description is requested for display
Then The system retrieves and displays the disposition code description from the disposition code table
R-GCX016-cbl-01466 Show Processing Timestamp
Definitional Rules
📊 Business Logic Narrative
When the process 'Show Processing Timestamp' is invoked, and assuming that a cargo status entry with timestamp information exists, when processing timestamp is requested for display, the desired outcome is that the system displays the processing timestamp from the status array entry.
💻 Technical Criteria
Given A cargo status entry with timestamp information exists
When Processing timestamp is requested for display
Then The system displays the processing timestamp from the status array entry
R-GCX016-cbl-01467 Show Array Element Count
Definitional Rules
📊 Business Logic Narrative
When the process 'Show Array Element Count' is invoked, and assuming that a cargo record with status array exists, when status array element count is requested for display, the desired outcome is that the system displays the count of elements in the s09a status array.
💻 Technical Criteria
Given A cargo record with status array exists
When Status array element count is requested for display
Then The system displays the count of elements in the S09A status array
R-GCX016-cbl-01468 Show Individual Status Entries
Process Rules
📊 Business Logic Narrative
When the process 'Show Individual Status Entries' is invoked, and assuming that a cargo status array with multiple entries exists, when individual status entries are requested for display, the desired outcome is that the system displays each status entry from the s09a array with its associated details.
💻 Technical Criteria
Given A cargo status array with multiple entries exists
When Individual status entries are requested for display
Then The system displays each status entry from the S09A array with its associated details
R-GCX016-cbl-01469 Show Hold Location Border/Destination
Decision Rules
📊 Business Logic Narrative
When the process 'Show Hold Location Border/Destination' is invoked, and assuming that a cargo record with hold status information exists, when hold location information is requested for display, the desired outcome is that the system displays whether the cargo is held at border location or destination location based on the status array analysis.
💻 Technical Criteria
Given A cargo record with hold status information exists
When Hold location information is requested for display
Then The system displays whether the cargo is held at border location or destination location based on the status array analysis
R-GCX016-cbl-01470 Show Release Status
Decision Rules
📊 Business Logic Narrative
When the process 'Show Release Status' is invoked, and assuming that a cargo record with release status information exists, when release status information is requested for display, the desired outcome is that the system displays the release status based on analysis of the status array and release quantities.
💻 Technical Criteria
Given A cargo record with release status information exists
When Release status information is requested for display
Then The system displays the release status based on analysis of the status array and release quantities
R-GCX016-cbl-01471 Display PTT Status
Decision Rules
📊 Business Logic Narrative
When the process 'Display PTT Status' is invoked, and assuming that a cargo record with ptt status information exists, when ptt status information is requested for display, the desired outcome is that the system displays the ptt status based on analysis of the status array and quantity thresholds.
💻 Technical Criteria
Given A cargo record with PTT status information exists
When PTT status information is requested for display
Then The system displays the PTT status based on analysis of the status array and quantity thresholds
R-GCX016-cbl-01472 Show Proceed Status
Decision Rules
📊 Business Logic Narrative
When the process 'Show Proceed Status' is invoked, and assuming that a cargo record with proceed status information exists, when proceed status information is requested for display, the desired outcome is that the system displays the proceed status based on analysis of the status array.
💻 Technical Criteria
Given A cargo record with proceed status information exists
When Proceed status information is requested for display
Then The system displays the proceed status based on analysis of the status array
R-GCX016-cbl-01473 Display Arrival/Export Status
Decision Rules
📊 Business Logic Narrative
When the process 'Display Arrival/Export Status' is invoked, and assuming that a cargo record with arrival or export status information exists, when arrival/export status information is requested for display, the desired outcome is that the system displays the arrival or export status based on analysis of the status array.
💻 Technical Criteria
Given A cargo record with arrival or export status information exists
When Arrival/export status information is requested for display
Then The system displays the arrival or export status based on analysis of the status array
R-GCX016-cbl-01474 Format Status Report
Process Rules
📊 Business Logic Narrative
When the process 'Format Status Report' is invoked, and assuming that all cargo status information has been retrieved and analyzed, when a complete status report is requested, the desired outcome is that the system formats all status information including identification, quantities, codes, and status flags into a structured report.
💻 Technical Criteria
Given All cargo status information has been retrieved and analyzed
When A complete status report is requested
Then The system formats all status information including identification, quantities, codes, and status flags into a structured report
R-GCX016-cbl-01479 Export Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Export Message Type' is invoked, and assuming that a message needs to be processed and routed, when the message type is identified as export, the desired outcome is that the system should set export message keywords and proceed to container type validation for appropriate routing.
💻 Technical Criteria
Given A message needs to be processed and routed
When The message type is identified as EXPORT
Then The system should set export message keywords and proceed to container type validation for appropriate routing
R-GCX016-cbl-01480 Container Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Container Type Check' is invoked, and assuming that an export message needs to be routed, when the equipment type is container or trailer, the desired outcome is that the system should route the message to usexp baskets for specialized container/trailer processing.
💻 Technical Criteria
Given An export message needs to be routed
When The equipment type is container or trailer
Then The system should route the message to USEXP baskets for specialized container/trailer processing
R-GCX016-cbl-01481 Container Type Check
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Container Type Check', assuming that an export message needs to be routed, when the equipment type is not container or trailer, the desired outcome is that the system should route the message to standard export users for general export processing.
💻 Technical Criteria
EXCLUDING An export message needs to be routed
When The equipment type is not container or trailer
Then The system should route the message to standard export users for general export processing
R-GCX016-cbl-01497 Export Container Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Container Type?' is invoked, and assuming that message keywords have been set for categorization, when the system evaluates the message content and type, the desired outcome is that the system determines if this is an export container type message.
💻 Technical Criteria
Given Message keywords have been set for categorization
When The system evaluates the message content and type
Then The system determines if this is an export container type message
R-GCX016-cbl-01498 Route to USEXP Basket
Action Rules
📊 Business Logic Narrative
When the process 'Route to USEXP Basket' is invoked, and assuming that the message has been determined to be an export container type, when the system processes the specialized routing requirement, the desired outcome is that the message is routed to the usexp basket for export container processing.
💻 Technical Criteria
Given The message has been determined to be an export container type
When The system processes the specialized routing requirement
Then The message is routed to the USEXP basket for export container processing
R-GCX016-cbl-01499 Route to Standard Error Basket
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route to Standard Error Basket', assuming that the message has been determined to not be an export container type, when the system processes the standard routing requirement, the desired outcome is that the message is routed to the standard error basket for general error processing.
💻 Technical Criteria
EXCLUDING The message has been determined to not be an export container type
When The system processes the standard routing requirement
Then The message is routed to the standard error basket for general error processing
R-GCX016-cbl-01502 Set Error Message Keywords
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Message Keywords', assuming that a message type is determined to be an error message, when the system processes error messages for cargo not found or train processing failures, the desired outcome is that the system sets keywords 'cargo_error' for cargo-related errors and 'train_error' for train-related errors to enable proper message routing.
💻 Technical Criteria
EXCLUDING A message type is determined to be an error message
When The system processes error messages for cargo not found or train processing failures
Then The system sets keywords 'CARGO_ERROR' for cargo-related errors and 'TRAIN_ERROR' for train-related errors to enable proper message routing
R-GCX016-cbl-01503 Set Info Message Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Info Message Keywords' is invoked, and assuming that a message type is determined to be an informational message, when the system processes cargo status updates or general information messages, the desired outcome is that the system sets keywords 'cargo_info' and 'status_update' to ensure informational messages are routed to appropriate monitoring systems.
💻 Technical Criteria
Given A message type is determined to be an informational message
When The system processes cargo status updates or general information messages
Then The system sets keywords 'CARGO_INFO' and 'STATUS_UPDATE' to ensure informational messages are routed to appropriate monitoring systems
R-GCX016-cbl-01504 Set Unrelease Message Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Unrelease Message Keywords' is invoked, and assuming that a message type is determined to be an unrelease message, when the system processes messages that apply holds to cargo or reverse previous release actions, the desired outcome is that the system sets keywords 'unrelease' and 'hold_applied' to ensure hold notifications are properly categorized and routed.
💻 Technical Criteria
Given A message type is determined to be an unrelease message
When The system processes messages that apply holds to cargo or reverse previous release actions
Then The system sets keywords 'UNRELEASE' and 'HOLD_APPLIED' to ensure hold notifications are properly categorized and routed
R-GCX016-cbl-01505 Set Release Message Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Message Keywords' is invoked, and assuming that a message type is determined to be a release message, when the system processes messages that release cargo for movement or clear cargo holds, the desired outcome is that the system sets keywords 'release' and 'cargo_cleared' to ensure release notifications are properly identified and routed.
💻 Technical Criteria
Given A message type is determined to be a release message
When The system processes messages that release cargo for movement or clear cargo holds
Then The system sets keywords 'RELEASE' and 'CARGO_CLEARED' to ensure release notifications are properly identified and routed
R-GCX016-cbl-01506 Set Export Message Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Message Keywords' is invoked, and assuming that a message type is determined to be an export message, when the system processes messages related to cargo export operations or us export procedures, the desired outcome is that the system sets keywords 'export' and 'usexp' to ensure export-related messages are properly categorized for customs and export processing systems.
💻 Technical Criteria
Given A message type is determined to be an export message
When The system processes messages related to cargo export operations or US export procedures
Then The system sets keywords 'EXPORT' and 'USEXP' to ensure export-related messages are properly categorized for customs and export processing systems
R-GCX016-cbl-01507 Set Hold Message Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Message Keywords' is invoked, and assuming that a message type is determined to be a hold message, when the system processes messages that place cargo on hold for customs examination or inspection, the desired outcome is that the system sets keywords 'hold' and 'examination' to ensure hold notifications are properly routed to examination and inspection systems.
💻 Technical Criteria
Given A message type is determined to be a hold message
When The system processes messages that place cargo on hold for customs examination or inspection
Then The system sets keywords 'HOLD' and 'EXAMINATION' to ensure hold notifications are properly routed to examination and inspection systems
R-GCX016-cbl-01508 Set Broker Notification Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Broker Notification Keywords' is invoked, and assuming that a message type is determined to be a broker notification, when the system processes messages that notify brokers of quantity mismatches or other cargo-related issues, the desired outcome is that the system sets keywords 'broker' and 'quantity_mismatch' to ensure broker notifications are properly categorized and delivered.
💻 Technical Criteria
Given A message type is determined to be a broker notification
When The system processes messages that notify brokers of quantity mismatches or other cargo-related issues
Then The system sets keywords 'BROKER' and 'QUANTITY_MISMATCH' to ensure broker notifications are properly categorized and delivered
R-GCX016-cbl-01510 Apply Container Type Keywords
Decision Rules
📊 Business Logic Narrative
When the process 'Apply Container Type Keywords' is invoked, and assuming that message keywords have been initially set based on message type, when the system identifies the container or equipment type associated with the cargo, the desired outcome is that the system applies additional container type keywords to enhance message categorization and routing specificity.
💻 Technical Criteria
Given Message keywords have been initially set based on message type
When The system identifies the container or equipment type associated with the cargo
Then The system applies additional container type keywords to enhance message categorization and routing specificity
R-GCX016-cbl-01511 Apply Disposition Code Keywords
Decision Rules
📊 Business Logic Narrative
When the process 'Apply Disposition Code Keywords' is invoked, and assuming that container type keywords have been applied to the message, when the system identifies the disposition code associated with the cargo processing action, the desired outcome is that the system applies disposition code keywords to provide additional context for message routing and processing.
💻 Technical Criteria
Given Container type keywords have been applied to the message
When The system identifies the disposition code associated with the cargo processing action
Then The system applies disposition code keywords to provide additional context for message routing and processing
R-GCX016-cbl-01512 Apply Cargo Status Keywords
Decision Rules
📊 Business Logic Narrative
When the process 'Apply Cargo Status Keywords' is invoked, and assuming that disposition code keywords have been applied to the message, when the system determines the current status of the cargo (held, released, in-transit, etc.), the desired outcome is that the system applies cargo status keywords to indicate the current state of the cargo for proper message handling.
💻 Technical Criteria
Given Disposition code keywords have been applied to the message
When The system determines the current status of the cargo (held, released, in-transit, etc.)
Then The system applies cargo status keywords to indicate the current state of the cargo for proper message handling
R-GCX016-cbl-01513 Set Routing Priority Keywords
Process Rules
📊 Business Logic Narrative
When the process 'Set Routing Priority Keywords' is invoked, and assuming that cargo status keywords have been applied to the message, when the system evaluates the urgency and priority level of the message based on cargo status and disposition codes, the desired outcome is that the system sets routing priority keywords to ensure high-priority messages are processed and delivered with appropriate urgency.
💻 Technical Criteria
Given Cargo status keywords have been applied to the message
When The system evaluates the urgency and priority level of the message based on cargo status and disposition codes
Then The system sets routing priority keywords to ensure high-priority messages are processed and delivered with appropriate urgency
R-GCX016-cbl-01521 Export Message Subject
Process Rules
📊 Business Logic Narrative
When the process 'Export Message Subject' is invoked, and assuming that a message has been classified as an export type, when the message routing process is executed and equipment type is validated, the desired outcome is that the message is sent with export-specific subject formatting after equipment type validation.
💻 Technical Criteria
Given A message has been classified as an export type
When The message routing process is executed and equipment type is validated
Then The message is sent with export-specific subject formatting after equipment type validation
R-GCX016-cbl-01527 Set Export Message Routing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Export Message Routing' is invoked, and assuming that a message has been classified as export type, when the system configures routing destinations, the desired outcome is that equipment type validation is performed before setting routing destinations.
💻 Technical Criteria
Given A message has been classified as export type
When The system configures routing destinations
Then Equipment type validation is performed before setting routing destinations
R-GCX016-cbl-01531 Container Type Specific?
Decision Rules
📊 Business Logic Narrative
When the process 'Container Type Specific?' is invoked, and assuming that a message is being routed to multiple destinations, when the system evaluates if the message is container type specific, the desired outcome is that container type specific messages are routed to usexp basket and non-container type messages are routed to standard basket.
💻 Technical Criteria
Given A message is being routed to multiple destinations
When The system evaluates if the message is container type specific
Then Container type specific messages are routed to USEXP basket and non-container type messages are routed to standard basket
R-GCX016-cbl-01532 Route to USEXP Basket
Process Rules
📊 Business Logic Narrative
When the process 'Route to USEXP Basket' is invoked, and assuming that a message has been determined to be container type specific, when the system routes the export message, the desired outcome is that the message is routed to the usexp basket for specialized container processing.
💻 Technical Criteria
Given A message has been determined to be container type specific
When The system routes the export message
Then The message is routed to the USEXP basket for specialized container processing
R-GCX016-cbl-01533 Route to Standard Basket
Process Rules
📊 Business Logic Narrative
When the process 'Route to Standard Basket' is invoked, and assuming that a message has been determined to be non-container type specific, when the system routes the message, the desired outcome is that the message is routed to the standard basket for general processing.
💻 Technical Criteria
Given A message has been determined to be non-container type specific
When The system routes the message
Then The message is routed to the standard basket for general processing
R-GCX016-cbl-01562 Message Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type Check' is invoked, and assuming that a release message has been generated for cargo processing, when the system evaluates the message content and cargo status, the desired outcome is that the message is classified as either release, export, arrival, or cancellation type for proper routing.
💻 Technical Criteria
Given A release message has been generated for cargo processing
When The system evaluates the message content and cargo status
Then The message is classified as either release, export, arrival, or cancellation type for proper routing
R-GCX016-cbl-01563 Set Release Message Type
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Message Type' is invoked, and assuming that the message type has been determined from cargo status evaluation, when the system processes the release action (release, export, arrival, or cancellation), the desired outcome is that the appropriate message type flag is set to control downstream message formatting and routing.
💻 Technical Criteria
Given The message type has been determined from cargo status evaluation
When The system processes the release action (release, export, arrival, or cancellation)
Then The appropriate message type flag is set to control downstream message formatting and routing
R-GCX016-cbl-01564 Determine Target Users
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Target Users' is invoked, and assuming that a release message type has been set and cargo broker information is available, when the system evaluates broker configuration and payer of freight details, the desired outcome is that target users are identified including cargo broker, payer of freight broker, and configured notification recipients.
💻 Technical Criteria
Given A release message type has been set and cargo broker information is available
When The system evaluates broker configuration and payer of freight details
Then Target users are identified including cargo broker, payer of freight broker, and configured notification recipients
R-GCX016-cbl-01571 Set Message Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Message Keywords' is invoked, and assuming that message delivery method has been determined and basic message structure prepared, when the system processes message content for keyword assignment, the desired outcome is that relevant keywords are assigned based on message type, cargo details, and disposition codes.
💻 Technical Criteria
Given Message delivery method has been determined and basic message structure prepared
When The system processes message content for keyword assignment
Then Relevant keywords are assigned based on message type, cargo details, and disposition codes
R-GCX016-cbl-01572 Format Subject Line
Process Rules
📊 Business Logic Narrative
When the process 'Format Subject Line' is invoked, and assuming that message keywords have been set and cargo information is available, when the system formats the message subject line, the desired outcome is that subject line includes cargo identifier, disposition code, and action type for easy identification.
💻 Technical Criteria
Given Message keywords have been set and cargo information is available
When The system formats the message subject line
Then Subject line includes cargo identifier, disposition code, and action type for easy identification
R-GCX016-cbl-01574 Add Disposition Codes
Process Rules
📊 Business Logic Narrative
When the process 'Add Disposition Codes' is invoked, and assuming that cargo details have been added to the message and disposition codes are available, when the system processes disposition code information for inclusion, the desired outcome is that disposition codes and their business descriptions are added to provide context for the release action.
💻 Technical Criteria
Given Cargo details have been added to the message and disposition codes are available
When The system processes disposition code information for inclusion
Then Disposition codes and their business descriptions are added to provide context for the release action
R-GCX016-cbl-01575 Add Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Quantity Information' is invoked, and assuming that disposition codes have been added and quantity information is available from cargo processing, when the system adds quantity details to the release message, the desired outcome is that released quantities, total quantities, and remaining quantities are included to show the impact of the release action.
💻 Technical Criteria
Given Disposition codes have been added and quantity information is available from cargo processing
When The system adds quantity details to the release message
Then Released quantities, total quantities, and remaining quantities are included to show the impact of the release action
R-GCX016-cbl-01578 Send to Broker
Action Rules
📊 Business Logic Narrative
When the process 'Send to Broker' is invoked, and assuming that message has been sent to release basket and broker information is available, when the system processes broker notification requirements, the desired outcome is that release message is sent directly to the cargo broker using their configured notification method.
💻 Technical Criteria
Given Message has been sent to release basket and broker information is available
When The system processes broker notification requirements
Then Release message is sent directly to the cargo broker using their configured notification method
R-GCX016-cbl-01579 Send to Payer of Freight
Action Rules
📊 Business Logic Narrative
When the process 'Send to Payer of Freight' is invoked, and assuming that broker notification has been completed and payer of freight information is available, when the system evaluates payer of freight notification requirements, the desired outcome is that release message is sent to the payer of freight if they differ from the cargo broker.
💻 Technical Criteria
Given Broker notification has been completed and payer of freight information is available
When The system evaluates payer of freight notification requirements
Then Release message is sent to the payer of freight if they differ from the cargo broker
R-GCX016-cbl-01582 Check Container Type
Validation Rules
📊 Business Logic Narrative
When the process 'Check Container Type' is invoked, and assuming that an export message is generated for cargo processing, when the system evaluates the container type from the cargo record, the desired outcome is that the container type is identified and categorized for routing decisions.
💻 Technical Criteria
Given An export message is generated for cargo processing
When The system evaluates the container type from the cargo record
Then The container type is identified and categorized for routing decisions
R-GCX016-cbl-01583 Container Type Matches USEXP Criteria?
Decision Rules
📊 Business Logic Narrative
When the process 'Container Type Matches USEXP Criteria?' is invoked, and assuming that a container type has been identified from the cargo record, when the container type is evaluated against usexp routing criteria for export containers, special equipment, or regulated cargo, the desired outcome is that the system routes to usexp basket if criteria match, otherwise routes to standard export processing.
💻 Technical Criteria
Given A container type has been identified from the cargo record
When The container type is evaluated against USEXP routing criteria for export containers, special equipment, or regulated cargo
Then The system routes to USEXP basket if criteria match, otherwise routes to standard export processing
R-GCX016-cbl-01584 Set Export Message Keywords
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Message Keywords' is invoked, and assuming that a container has been qualified for usexp basket routing, when the system prepares the export message for usexp processing, the desired outcome is that appropriate export message keywords are set based on container type and export requirements.
💻 Technical Criteria
Given A container has been qualified for USEXP basket routing
When The system prepares the export message for USEXP processing
Then Appropriate export message keywords are set based on container type and export requirements
R-GCX016-cbl-01585 Format Export Message Content
Process Rules
📊 Business Logic Narrative
When the process 'Format Export Message Content' is invoked, and assuming that export message keywords have been set for usexp processing, when the system formats the message content with cargo details, container information, and export requirements, the desired outcome is that the export message is properly formatted with all required fields for usexp basket processing.
💻 Technical Criteria
Given Export message keywords have been set for USEXP processing
When The system formats the message content with cargo details, container information, and export requirements
Then The export message is properly formatted with all required fields for USEXP basket processing
R-GCX016-cbl-01588 Route to Standard Export Processing
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route to Standard Export Processing', assuming that a container type does not match usexp routing criteria, when the system processes the export message for non-usexp qualified containers, the desired outcome is that the export message is routed to standard export processing workflows.
💻 Technical Criteria
EXCLUDING A container type does not match USEXP routing criteria
When The system processes the export message for non-USEXP qualified containers
Then The export message is routed to standard export processing workflows
R-GCX016-cbl-01589 Log Export Message Routing
Process Rules
📊 Business Logic Narrative
When the process 'Log Export Message Routing' is invoked, and assuming that an export message has been routed to either usexp or standard processing, when the routing decision is completed, the desired outcome is that the system logs the routing decision, destination, container type, and processing path for audit purposes.
💻 Technical Criteria
Given An export message has been routed to either USEXP or standard processing
When The routing decision is completed
Then The system logs the routing decision, destination, container type, and processing path for audit purposes
R-GCX016-cbl-01600 Prepare Log Message with Cargo Details
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Message with Cargo Details' is invoked, and assuming that a cargo processing transaction is being executed, when the system needs to create an audit log entry, the desired outcome is that the system prepares a detailed log message containing cargo identification, processing context, and transaction details.
💻 Technical Criteria
Given A cargo processing transaction is being executed
When The system needs to create an audit log entry
Then The system prepares a detailed log message containing cargo identification, processing context, and transaction details
R-GCX016-cbl-01601 Include Security Information
Authorization Rules
📊 Business Logic Narrative
When the process 'Include Security Information' is invoked, and assuming that a log message is being prepared for cargo processing, when security information needs to be captured for audit purposes, the desired outcome is that the system includes current user security context, authentication details, and access permissions in the log entry.
💻 Technical Criteria
Given A log message is being prepared for cargo processing
When Security information needs to be captured for audit purposes
Then The system includes current user security context, authentication details, and access permissions in the log entry
R-GCX016-cbl-01602 Add Transaction Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Transaction Information' is invoked, and assuming that a cargo processing transaction is in progress, when transaction details need to be logged for audit purposes, the desired outcome is that the system adds transaction type, processing timestamps, transaction id, and related context information to the log entry.
💻 Technical Criteria
Given A cargo processing transaction is in progress
When Transaction details need to be logged for audit purposes
Then The system adds transaction type, processing timestamps, transaction ID, and related context information to the log entry
R-GCX016-cbl-01604 Include Disposition Code Information
Policy Rules
📊 Business Logic Narrative
When the process 'Include Disposition Code Information' is invoked, and assuming that a disposition code is being processed for cargo, when the processing details need to be logged for audit trail, the desired outcome is that the system includes disposition code value, description, processing action taken, and regulatory impact in the log entry.
💻 Technical Criteria
Given A disposition code is being processed for cargo
When The processing details need to be logged for audit trail
Then The system includes disposition code value, description, processing action taken, and regulatory impact in the log entry
R-GCX016-cbl-01605 Add Quantity Information
Computation Rules
📊 Business Logic Narrative
When the process 'Add Quantity Information' is invoked, and assuming that cargo quantities are being processed or modified, when quantity changes need to be documented for audit purposes, the desired outcome is that the system logs original quantities, modified quantities, release quantities, and quantity calculation details in the audit entry.
💻 Technical Criteria
Given Cargo quantities are being processed or modified
When Quantity changes need to be documented for audit purposes
Then The system logs original quantities, modified quantities, release quantities, and quantity calculation details in the audit entry
R-GCX016-cbl-01606 Include Status Changes
Process Rules
📊 Business Logic Narrative
When the process 'Include Status Changes' is invoked, and assuming that cargo status is being updated during processing, when status changes need to be logged for audit trail, the desired outcome is that the system documents previous status, new status, reason for change, and timestamp of status transition in the log entry.
💻 Technical Criteria
Given Cargo status is being updated during processing
When Status changes need to be logged for audit trail
Then The system documents previous status, new status, reason for change, and timestamp of status transition in the log entry
R-GCX016-cbl-01612 Continue Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing' is invoked, and assuming that audit logging activities have been completed (successfully or with error handling), when main processing workflow needs to continue, the desired outcome is that the system resumes normal cargo processing operations and continues with the next step in the business workflow.
💻 Technical Criteria
Given Audit logging activities have been completed (successfully or with error handling)
When Main processing workflow needs to continue
Then The system resumes normal cargo processing operations and continues with the next step in the business workflow
R-GCX016-cbl-01615 Format Cargo Processing Information
Process Rules
📊 Business Logic Narrative
When the process 'Format Cargo Processing Information' is invoked, and assuming that cargo processing activities have occurred that need to be logged, when cargo information needs to be formatted for the log message, the desired outcome is that the system formats cargo id information, status changes, and quantity details into the appropriate log message structure.
💻 Technical Criteria
Given Cargo processing activities have occurred that need to be logged
When Cargo information needs to be formatted for the log message
Then The system formats cargo ID information, status changes, and quantity details into the appropriate log message structure
R-GCX016-cbl-01616 Include Disposition Code Details
Process Rules
📊 Business Logic Narrative
When the process 'Include Disposition Code Details' is invoked, and assuming that a disposition code has been processed for cargo, when disposition code details need to be included in the log message, the desired outcome is that the system includes the disposition code, its description, and the processing action taken in the log message.
💻 Technical Criteria
Given A disposition code has been processed for cargo
When Disposition code details need to be included in the log message
Then The system includes the disposition code, its description, and the processing action taken in the log message
R-GCX016-cbl-01625 Logging Required?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Logging Required?', assuming that a cargo processing event occurs with a specific disposition code, when the system checks if logging is required and the disposition code is not '54' or '55', the desired outcome is that the system proceeds with audit trail logging preparation.
💻 Technical Criteria
EXCLUDING A cargo processing event occurs with a specific disposition code
When The system checks if logging is required AND the disposition code is not '54' or '55'
Then The system proceeds with audit trail logging preparation
R-GCX016-cbl-01626 Prepare Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Message' is invoked, and assuming that audit trail logging is required for a cargo processing event, when the system prepares the log message with cargo information, disposition codes, and processing context, the desired outcome is that a complete audit log message is formatted with all required business information.
💻 Technical Criteria
Given Audit trail logging is required for a cargo processing event
When The system prepares the log message with cargo information, disposition codes, and processing context
Then A complete audit log message is formatted with all required business information
R-GCX016-cbl-01629 Format Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Format Cargo Information' is invoked, and assuming that transaction details have been configured for the audit record, when the system formats cargo information including shipment identifiers, quantities, and cargo status, the desired outcome is that cargo information is properly formatted and included in the audit trail record.
💻 Technical Criteria
Given Transaction details have been configured for the audit record
When The system formats cargo information including shipment identifiers, quantities, and cargo status
Then Cargo information is properly formatted and included in the audit trail record
R-GCX016-cbl-01630 Include Disposition Code Details
Policy Rules
📊 Business Logic Narrative
When the process 'Include Disposition Code Details' is invoked, and assuming that cargo information has been formatted for the audit record, when the system includes disposition code details and associated processing actions, the desired outcome is that complete disposition code information is included in the audit trail record.
💻 Technical Criteria
Given Cargo information has been formatted for the audit record
When The system includes disposition code details and associated processing actions
Then Complete disposition code information is included in the audit trail record
R-GCX016-cbl-01638 Car ID Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Present?' is invoked, and assuming that a cargo record is being processed for car information display, when the system checks for car id presence in the cargo record, the desired outcome is that the system determines if car id exists and routes to appropriate processing path.
💻 Technical Criteria
Given A cargo record is being processed for car information display
When The system checks for car ID presence in the cargo record
Then The system determines if car ID exists and routes to appropriate processing path
R-GCX016-cbl-01639 Format Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Format Valid?' is invoked, and assuming that a car id has been retrieved and formatted according to standard rules, when the system validates the formatted car id against format requirements, the desired outcome is that the system determines if the format is valid and proceeds with display or error handling.
💻 Technical Criteria
Given A car ID has been retrieved and formatted according to standard rules
When The system validates the formatted car ID against format requirements
Then The system determines if the format is valid and proceeds with display or error handling
R-GCX016-cbl-01640 Format Car ID for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Car ID for Display' is invoked, and assuming that a valid car id exists in the cargo record, when the system formats the car id for display purposes, the desired outcome is that the car id is formatted according to standard display rules and prepared for report output.
💻 Technical Criteria
Given A valid car ID exists in the cargo record
When The system formats the car ID for display purposes
Then The car ID is formatted according to standard display rules and prepared for report output
R-GCX016-cbl-01641 Handle Missing Car ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Handle Missing Car ID', assuming that a cargo record does not contain car id information, when the system processes the record for car information display, the desired outcome is that the system sets a default display value for the missing car id information.
💻 Technical Criteria
EXCLUDING A cargo record does not contain car ID information
When The system processes the record for car information display
Then The system sets a default display value for the missing car ID information
R-GCX016-cbl-01642 Log Car ID Formatting Issue
Action Rules
📊 Business Logic Narrative
When the process 'Log Car ID Formatting Issue' is invoked, and assuming that a car id exists but fails format validation, when the system encounters a car id formatting issue, the desired outcome is that the system logs the formatting issue and proceeds with default value handling.
💻 Technical Criteria
Given A car ID exists but fails format validation
When The system encounters a car ID formatting issue
Then The system logs the formatting issue and proceeds with default value handling
R-GCX016-cbl-01649 Lookup CPRS Status Description
Action Rules
📊 Business Logic Narrative
When the process 'Lookup CPRS Status Description' is invoked, and assuming that a cprs status code exists in the cargo record, when the system needs to display cprs status information, the desired outcome is that the system looks up and retrieves the corresponding cprs status description from the status description tables.
💻 Technical Criteria
Given A CPRS status code exists in the cargo record
When The system needs to display CPRS status information
Then The system looks up and retrieves the corresponding CPRS status description from the status description tables
R-GCX016-cbl-01650 Lookup USCS Status Description
Action Rules
📊 Business Logic Narrative
When the process 'Lookup USCS Status Description' is invoked, and assuming that a uscs status code exists in the cargo record, when the system needs to display uscs status information, the desired outcome is that the system looks up and retrieves the corresponding uscs status description from the status description tables.
💻 Technical Criteria
Given A USCS status code exists in the cargo record
When The system needs to display USCS status information
Then The system looks up and retrieves the corresponding USCS status description from the status description tables
R-GCX016-cbl-01652 Get CPRS Status Code
Process Rules
📊 Business Logic Narrative
When the process 'Get CPRS Status Code' is invoked, and assuming that a cargo record exists with cprs status information, when the system processes status display requirements, the desired outcome is that the system retrieves the cprs status code from the cargo record.
💻 Technical Criteria
Given A cargo record exists with CPRS status information
When The system processes status display requirements
Then The system retrieves the CPRS status code from the cargo record
R-GCX016-cbl-01653 Get USCS Status Code
Process Rules
📊 Business Logic Narrative
When the process 'Get USCS Status Code' is invoked, and assuming that a cargo record exists with uscs status information, when the system processes status display requirements, the desired outcome is that the system retrieves the uscs status code from the cargo record.
💻 Technical Criteria
Given A cargo record exists with USCS status information
When The system processes status display requirements
Then The system retrieves the USCS status code from the cargo record
R-GCX016-cbl-01665 Capture Current System Date
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current System Date' is invoked, and assuming that a cargo processing transaction is initiated, when the system begins processing any segment or transaction, the desired outcome is that the current system date is captured and stored for timestamping purposes.
💻 Technical Criteria
Given A cargo processing transaction is initiated
When The system begins processing any segment or transaction
Then The current system date is captured and stored for timestamping purposes
R-GCX016-cbl-01666 Capture Current System Time
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current System Time' is invoked, and assuming that a cargo processing transaction is initiated, when the system begins processing any segment or transaction, the desired outcome is that the current system time is captured and stored for timestamping purposes.
💻 Technical Criteria
Given A cargo processing transaction is initiated
When The system begins processing any segment or transaction
Then The current system time is captured and stored for timestamping purposes
R-GCX016-cbl-01670 Add Timestamp to Segment Header
Process Rules
📊 Business Logic Narrative
When the process 'Add Timestamp to Segment Header' is invoked, and assuming that a cargo segment is being processed and a combined timestamp has been created, when the segment processing begins, the desired outcome is that the timestamp is added to the segment header for audit purposes.
💻 Technical Criteria
Given A cargo segment is being processed AND a combined timestamp has been created
When The segment processing begins
Then The timestamp is added to the segment header for audit purposes
R-GCX016-cbl-01671 Add Timestamp to Processing Log
Process Rules
📊 Business Logic Narrative
When the process 'Add Timestamp to Processing Log' is invoked, and assuming that cargo processing activities are occurring, when processing events need to be logged, the desired outcome is that timestamps are added to the processing log entries.
💻 Technical Criteria
Given Cargo processing activities are occurring
When Processing events need to be logged
Then Timestamps are added to the processing log entries
R-GCX016-cbl-01677 Get Cargo Quantity from Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Get Cargo Quantity from Manifest' is invoked, and assuming that a cargo manifest record exists in the system, when quantity mismatch detection is being performed, the desired outcome is that the total manifest quantity is retrieved from the cargo record.
💻 Technical Criteria
Given A cargo manifest record exists in the system
When Quantity mismatch detection is being performed
Then The total manifest quantity is retrieved from the cargo record
R-GCX016-cbl-01678 Get Released Quantity from Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Get Released Quantity from Status Array' is invoked, and assuming that a cargo status array contains release information, when quantity verification is required for broker notification, the desired outcome is that the released quantity is retrieved from the status array.
💻 Technical Criteria
Given A cargo status array contains release information
When Quantity verification is required for broker notification
Then The released quantity is retrieved from the status array
R-GCX016-cbl-01689 Disposition Code Has Quantity Action?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Has Quantity Action?' is invoked, and assuming that a disposition code is being processed for cargo release, when the system evaluates if the disposition code has quantity action requirements, the desired outcome is that the system should proceed with quantity processing if action exists, otherwise skip quantity operations.
💻 Technical Criteria
Given A disposition code is being processed for cargo release
When The system evaluates if the disposition code has quantity action requirements
Then The system should proceed with quantity processing if action exists, otherwise skip quantity operations
R-GCX016-cbl-01696 Apply Calculated Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Apply Calculated Quantity' is invoked, and assuming that a quantity calculation has been performed and validated, when the result is within acceptable business ranges, the desired outcome is that the system should apply the calculated quantity to the cargo release quantity.
💻 Technical Criteria
Given A quantity calculation has been performed and validated
When The result is within acceptable business ranges
Then The system should apply the calculated quantity to the cargo release quantity
R-GCX016-cbl-01697 Release Quantity Matches Total Quantity?
Decision Rules
📊 Business Logic Narrative
When the process 'Release Quantity Matches Total Quantity?' is invoked, and assuming that release quantity has been updated for a cargo item, when the system compares release quantity to total cargo quantity, the desired outcome is that the system should determine full release if quantities match or partial release if they differ.
💻 Technical Criteria
Given Release quantity has been updated for a cargo item
When The system compares release quantity to total cargo quantity
Then The system should determine full release if quantities match or partial release if they differ
R-GCX016-cbl-01698 Mark as Full Release
Action Rules
📊 Business Logic Narrative
When the process 'Mark as Full Release' is invoked, and assuming that release quantity equals or exceeds the total cargo quantity, when the system assigns release status, the desired outcome is that the system should mark the cargo as fully released.
💻 Technical Criteria
Given Release quantity equals or exceeds the total cargo quantity
When The system assigns release status
Then The system should mark the cargo as fully released
R-GCX016-cbl-01699 Mark as Partial Release
Action Rules
📊 Business Logic Narrative
When the process 'Mark as Partial Release' is invoked, and assuming that release quantity is less than the total cargo quantity, when the system assigns release status, the desired outcome is that the system should mark the cargo as partially released.
💻 Technical Criteria
Given Release quantity is less than the total cargo quantity
When The system assigns release status
Then The system should mark the cargo as partially released
R-GCX016-cbl-01700 Update Cargo Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array' is invoked, and assuming that release status and quantities have been determined, when the system updates the cargo status array, the desired outcome is that the system should record the new release quantities and status in the s09a status array.
💻 Technical Criteria
Given Release status and quantities have been determined
When The system updates the cargo status array
Then The system should record the new release quantities and status in the S09A status array
R-GCX016-cbl-01743 Initialize MQ Message Arrays
Action Rules
📊 Business Logic Narrative
When the process 'Initialize MQ Message Arrays' is invoked, and assuming that a train message is identified as coming from mq queue source, when the system processes the queue-based message, the desired outcome is that the system initializes mq message arrays for train and cargo processing.
💻 Technical Criteria
Given A train message is identified as coming from MQ Queue source
When The system processes the queue-based message
Then The system initializes MQ message arrays for train and cargo processing
R-GCX016-cbl-01749 Initialize Train Arrival Arrays
Action Rules
📊 Business Logic Narrative
When the process 'Initialize Train Arrival Arrays' is invoked, and assuming that arrival processing mode is activated, when the system prepares arrival data structures, the desired outcome is that the system initializes train arrival arrays for processing arrival-related cargo and equipment data.
💻 Technical Criteria
Given Arrival processing mode is activated
When The system prepares arrival data structures
Then The system initializes train arrival arrays for processing arrival-related cargo and equipment data
R-GCX016-cbl-01752 Initialize Cancellation Arrays
Action Rules
📊 Business Logic Narrative
When the process 'Initialize Cancellation Arrays' is invoked, and assuming that cancellation processing mode is activated, when the system prepares cancellation data structures, the desired outcome is that the system initializes cancellation arrays for processing cancellation-related cargo and equipment data.
💻 Technical Criteria
Given Cancellation processing mode is activated
When The system prepares cancellation data structures
Then The system initializes cancellation arrays for processing cancellation-related cargo and equipment data
R-GCX016-cbl-01754 Initialize Standard Train Arrays
Action Rules
📊 Business Logic Narrative
When the process 'Initialize Standard Train Arrays' is invoked, and assuming that default train processing mode is configured, when the system prepares standard train data structures, the desired outcome is that the system initializes standard train arrays for processing general train operations and cargo data.
💻 Technical Criteria
Given Default train processing mode is configured
When The system prepares standard train data structures
Then The system initializes standard train arrays for processing general train operations and cargo data
R-GCX016-cbl-01864 Combine Location Information
Process Rules
📊 Business Logic Narrative
When the process 'Combine Location Information' is invoked, and assuming that either station name from ds table or location description from ks table has been extracted, when the system processes the extracted location data, the desired outcome is that combine the location information into a complete location reference for cargo record update.
💻 Technical Criteria
Given Either station name from DS table or location description from KS table has been extracted
When The system processes the extracted location data
Then Combine the location information into a complete location reference for cargo record update
R-GCX016-cbl-01865 Set Default Location Name
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Location Name' is invoked, and assuming that either no location id is available or both ds and ks table lookups have failed, when the system cannot resolve location information from tables, the desired outcome is that set a default location name to ensure cargo record has location information.
💻 Technical Criteria
Given Either no location ID is available or both DS and KS table lookups have failed
When The system cannot resolve location information from tables
Then Set a default location name to ensure cargo record has location information
R-GCX016-cbl-01866 Update Cargo Record with Location Info
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Location Info' is invoked, and assuming that location information has been resolved through table lookups or default assignment, when the system updates the cargo record, the desired outcome is that store the location information in the gccc-cargo-root record for future reference.
💻 Technical Criteria
Given Location information has been resolved through table lookups or default assignment
When The system updates the cargo record
Then Store the location information in the GCCC-CARGO-ROOT record for future reference
R-GCX016-cbl-01867 Secondary Cargo Records Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Secondary Cargo Records Available?' is invoked, and assuming that a request for n9 reference processing is initiated, when the system checks for available secondary cargo records in gcsa2rt, the desired outcome is that the system proceeds to access secondary records if available, otherwise completes processing without n9 references.
💻 Technical Criteria
Given A request for N9 reference processing is initiated
When The system checks for available secondary cargo records in GCSA2RT
Then The system proceeds to access secondary records if available, otherwise completes processing without N9 references
R-GCX016-cbl-01868 Access GCSA2RT Secondary Records
Action Rules
📊 Business Logic Narrative
When the process 'Access GCSA2RT Secondary Records' is invoked, and assuming that secondary cargo records are available, when the system needs to retrieve n9 reference information, the desired outcome is that the system accesses gcsa2rt secondary records database.
💻 Technical Criteria
Given Secondary cargo records are available
When The system needs to retrieve N9 reference information
Then The system accesses GCSA2RT secondary records database
R-GCX016-cbl-01871 Extract Reference Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Reference Information' is invoked, and assuming that n9 reference segments have been found in secondary cargo records, when the system processes the n9 segments, the desired outcome is that the system extracts all reference information contained within the n9 segments.
💻 Technical Criteria
Given N9 reference segments have been found in secondary cargo records
When The system processes the N9 segments
Then The system extracts all reference information contained within the N9 segments
R-GCX016-cbl-01874 Store Reference Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Reference Information' is invoked, and assuming that reference data has been validated as correct, when the system processes valid reference information, the desired outcome is that the system stores the reference information in temporary storage for cargo record updating.
💻 Technical Criteria
Given Reference data has been validated as correct
When The system processes valid reference information
Then The system stores the reference information in temporary storage for cargo record updating
R-GCX016-cbl-01875 Update Cargo Record with References
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with References' is invoked, and assuming that valid reference information has been stored, when the system updates the cargo record, the desired outcome is that the system applies all n9 reference information to the appropriate fields in the cargo record.
💻 Technical Criteria
Given Valid reference information has been stored
When The system updates the cargo record
Then The system applies all N9 reference information to the appropriate fields in the cargo record
R-GCX016-cbl-01876 Log Reference Processing
Process Rules
📊 Business Logic Narrative
When the process 'Log Reference Processing' is invoked, and assuming that cargo record has been updated with reference information, when the system completes reference processing, the desired outcome is that the system creates log entries documenting the n9 reference processing activities.
💻 Technical Criteria
Given Cargo record has been updated with reference information
When The system completes reference processing
Then The system creates log entries documenting the N9 reference processing activities
R-GCX016-cbl-01877 No N9 References Found
Process Rules
📊 Business Logic Narrative
When the process 'No N9 References Found' is invoked, and assuming that a search for n9 reference segments has been completed, when no n9 segments are found in the secondary cargo records, the desired outcome is that the system completes processing without updating cargo records with reference information.
💻 Technical Criteria
Given A search for N9 reference segments has been completed
When No N9 segments are found in the secondary cargo records
Then The system completes processing without updating cargo records with reference information
R-GCX016-cbl-01878 Invalid Reference Data Error
Process Rules
📊 Business Logic Narrative
When the process 'Invalid Reference Data Error' is invoked, and assuming that reference data has been extracted from n9 segments, when the extracted reference data fails validation requirements, the desired outcome is that the system handles the invalid data error and completes processing without updating cargo records.
💻 Technical Criteria
Given Reference data has been extracted from N9 segments
When The extracted reference data fails validation requirements
Then The system handles the invalid data error and completes processing without updating cargo records
R-GCX016-cbl-01880 Segment Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Segment Type?' is invoked, and assuming that a database operation is being processed, when the system evaluates the segment type, the desired outcome is that the system routes to appropriate segment handler for s09 status, cargo root, table data, secondary, shipment, or transmission segments.
💻 Technical Criteria
Given A database operation is being processed
When The system evaluates the segment type
Then The system routes to appropriate segment handler for S09 Status, Cargo Root, Table Data, Secondary, Shipment, or Transmission segments
R-GCX016-cbl-01882 Cargo Root Segments
Process Rules
📊 Business Logic Narrative
When the process 'Cargo Root Segments' is invoked, and assuming that a database operation involves cargo root segments, when the system processes the cargo root segment type, the desired outcome is that the system accesses the gccc-cargo-root database for cargo segment operations.
💻 Technical Criteria
Given A database operation involves cargo root segments
When The system processes the cargo root segment type
Then The system accesses the GCCC-CARGO-ROOT database for cargo segment operations
R-GCX016-cbl-01896 Search Canadian Cargo Database
Action Rules
📊 Business Logic Narrative
When the process 'Search Canadian Cargo Database' is invoked, and assuming that a us cargo equipment id is provided for canadian cargo lookup, when the system searches the canadian cargo database using the equipment id, the desired outcome is that the system retrieves matching canadian cargo records if they exist.
💻 Technical Criteria
Given A US cargo equipment ID is provided for Canadian cargo lookup
When The system searches the Canadian cargo database using the equipment ID
Then The system retrieves matching Canadian cargo records if they exist
R-GCX016-cbl-01897 Validate Canadian Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Record Status' is invoked, and assuming that canadian cargo records are found in the database, when the system checks the record status and deletion flags, the desired outcome is that only non-deleted and valid status records are accepted for processing.
💻 Technical Criteria
Given Canadian cargo records are found in the database
When The system checks the record status and deletion flags
Then Only non-deleted and valid status records are accepted for processing
R-GCX016-cbl-01898 Record Valid for Processing?
Process Rules
📊 Business Logic Narrative
When the process 'Record Valid for Processing?' is invoked, and assuming that canadian cargo records are retrieved from the database, when the system evaluates record deletion status and bond creation flags, the desired outcome is that deleted records and new bond created records are filtered out from processing.
💻 Technical Criteria
Given Canadian cargo records are retrieved from the database
When The system evaluates record deletion status and bond creation flags
Then Deleted records and new bond created records are filtered out from processing
R-GCX016-cbl-01899 Establish Cross-Border Link
Process Rules
📊 Business Logic Narrative
When the process 'Establish Cross-Border Link' is invoked, and assuming that valid canadian cargo records are found and us cargo equipment id is available, when the system matches equipment ids between us and canadian systems, the desired outcome is that a cross-border coordination link is established between the cargo records.
💻 Technical Criteria
Given Valid Canadian cargo records are found and US cargo equipment ID is available
When The system matches equipment IDs between US and Canadian systems
Then A cross-border coordination link is established between the cargo records
R-GCX016-cbl-01900 Log Cross-Border Coordination
Process Rules
📊 Business Logic Narrative
When the process 'Log Cross-Border Coordination' is invoked, and assuming that cross-border cargo coordination is performed, when canadian cargo information is retrieved and linked with us cargo, the desired outcome is that the coordination activity is logged with cargo details and timestamp.
💻 Technical Criteria
Given Cross-border cargo coordination is performed
When Canadian cargo information is retrieved and linked with US cargo
Then The coordination activity is logged with cargo details and timestamp
R-GCX016-cbl-01901 Extract Equipment ID from US Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from US Cargo Record' is invoked, and assuming that a us cargo record exists with equipment information, when the system processes the cargo record for canadian matching, the desired outcome is that the equipment id is extracted and made available for canadian system lookup.
💻 Technical Criteria
Given A US cargo record exists with equipment information
When The system processes the cargo record for Canadian matching
Then The equipment ID is extracted and made available for Canadian system lookup
R-GCX016-cbl-01902 Format Equipment ID for Canadian System Lookup
Process Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID for Canadian System Lookup' is invoked, and assuming that an equipment id has been extracted from us cargo record, when the system prepares to search canadian cargo database, the desired outcome is that the equipment id is formatted according to canadian system requirements.
💻 Technical Criteria
Given An equipment ID has been extracted from US cargo record
When The system prepares to search Canadian cargo database
Then The equipment ID is formatted according to Canadian system requirements
R-GCX016-cbl-01903 Search Canadian Cargo Database by Equipment ID
Action Rules
📊 Business Logic Narrative
When the process 'Search Canadian Cargo Database by Equipment ID' is invoked, and assuming that a formatted equipment id is available for lookup, when the system searches the canadian cargo database, the desired outcome is that canadian cargo records matching the equipment id are retrieved.
💻 Technical Criteria
Given A formatted equipment ID is available for lookup
When The system searches the Canadian cargo database
Then Canadian cargo records matching the equipment ID are retrieved
R-GCX016-cbl-01904 Canadian Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Cargo Found?' is invoked, and assuming that a search has been performed in the canadian cargo database, when the system evaluates the search results, the desired outcome is that the system determines if canadian cargo records were found or not found.
💻 Technical Criteria
Given A search has been performed in the Canadian cargo database
When The system evaluates the search results
Then The system determines if Canadian cargo records were found or not found
R-GCX016-cbl-01905 Validate Canadian Cargo Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Cargo Record Status' is invoked, and assuming that canadian cargo records have been found for the equipment id, when the system validates the record status, the desired outcome is that the system determines if the canadian record is valid for processing.
💻 Technical Criteria
Given Canadian cargo records have been found for the equipment ID
When The system validates the record status
Then The system determines if the Canadian record is valid for processing
R-GCX016-cbl-01906 Canadian Record Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Record Valid?' is invoked, and assuming that canadian cargo record status has been validated, when the system evaluates the validation results, the desired outcome is that the system determines if the record is valid or invalid/deleted.
💻 Technical Criteria
Given Canadian cargo record status has been validated
When The system evaluates the validation results
Then The system determines if the record is valid or invalid/deleted
R-GCX016-cbl-01907 Match US and Canadian Cargo Records
Process Rules
📊 Business Logic Narrative
When the process 'Match US and Canadian Cargo Records' is invoked, and assuming that a valid canadian cargo record exists for the equipment id, when the system processes the matching logic, the desired outcome is that us and canadian cargo records are matched and linked.
💻 Technical Criteria
Given A valid Canadian cargo record exists for the equipment ID
When The system processes the matching logic
Then US and Canadian cargo records are matched and linked
R-GCX016-cbl-01908 Store Cross-Reference Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Cross-Reference Information' is invoked, and assuming that us and canadian cargo records have been successfully matched, when the system stores the match information, the desired outcome is that cross-reference data is saved for cross-border coordination.
💻 Technical Criteria
Given US and Canadian cargo records have been successfully matched
When The system stores the match information
Then Cross-reference data is saved for cross-border coordination
R-GCX016-cbl-01910 Log No Canadian Match Found
Process Rules
📊 Business Logic Narrative
When the process 'Log No Canadian Match Found' is invoked, and assuming that no canadian cargo records were found for the equipment id, when the system processes the no-match condition, the desired outcome is that the absence of canadian match is logged for tracking purposes.
💻 Technical Criteria
Given No Canadian cargo records were found for the equipment ID
When The system processes the no-match condition
Then The absence of Canadian match is logged for tracking purposes
R-GCX016-cbl-01911 Mark Canadian Record as Invalid/Deleted
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark Canadian Record as Invalid/Deleted', assuming that canadian cargo record exists but has invalid or deleted status, when the system processes the invalid record, the desired outcome is that the canadian record is marked as invalid/deleted and excluded from matching.
💻 Technical Criteria
EXCLUDING Canadian cargo record exists but has invalid or deleted status
When The system processes the invalid record
Then The Canadian record is marked as invalid/deleted and excluded from matching
R-GCX016-cbl-01912 Continue Processing Without Canadian Match
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Without Canadian Match' is invoked, and assuming that no canadian cargo match is found or canadian record is invalid, when the system continues with cargo processing, the desired outcome is that processing continues without canadian cross-reference information.
💻 Technical Criteria
Given No Canadian cargo match is found or Canadian record is invalid
When The system continues with cargo processing
Then Processing continues without Canadian cross-reference information
R-GCX016-cbl-01913 Continue with Cross-Border Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue with Cross-Border Processing' is invoked, and assuming that successful match has been logged for cross-border coordination, when the system continues processing, the desired outcome is that cross-border processing proceeds with linked cargo information.
💻 Technical Criteria
Given Successful match has been logged for cross-border coordination
When The system continues processing
Then Cross-border processing proceeds with linked cargo information
R-GCX016-cbl-01914 Record Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Record Exists?' is invoked, and assuming that a canadian cargo record retrieval operation is performed, when the system attempts to access the canadian cargo record, the desired outcome is that the system determines if the record exists and either proceeds to status validation or excludes the record from processing.
💻 Technical Criteria
Given A Canadian cargo record retrieval operation is performed
When The system attempts to access the Canadian cargo record
Then The system determines if the record exists and either proceeds to status validation or excludes the record from processing
R-GCX016-cbl-01915 Record Deleted?
Validation Rules
📊 Business Logic Narrative
When the process 'Record Deleted?' is invoked, and assuming that a canadian cargo record exists in the system, when the record's deletion status is evaluated, the desired outcome is that if the record is marked as deleted, it is excluded from processing, otherwise status validation continues.
💻 Technical Criteria
Given A Canadian cargo record exists in the system
When The record's deletion status is evaluated
Then If the record is marked as deleted, it is excluded from processing, otherwise status validation continues
R-GCX016-cbl-01916 Record Unusable?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Record Unusable?', assuming that a canadian cargo record exists and is not deleted, when the record's usability status is evaluated, the desired outcome is that if the record is marked as unusable, it is excluded from processing, otherwise the record is marked as valid for processing.
💻 Technical Criteria
EXCLUDING A Canadian cargo record exists and is not deleted
When The record's usability status is evaluated
Then If the record is marked as unusable, it is excluded from processing, otherwise the record is marked as valid for processing
R-GCX016-cbl-01917 Mark Record as Valid for Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark Record as Valid for Processing', assuming that a canadian cargo record exists, is not deleted, and is not unusable, when all validation checks are completed successfully, the desired outcome is that the record is marked as valid and available for subsequent business processing operations.
💻 Technical Criteria
EXCLUDING A Canadian cargo record exists, is not deleted, and is not unusable
When All validation checks are completed successfully
Then The record is marked as valid and available for subsequent business processing operations
R-GCX016-cbl-01918 Exclude Record from Processing
Process Rules
📊 Business Logic Narrative
When the process 'Exclude Record from Processing' is invoked, and assuming that a canadian cargo record fails one or more validation checks (non-existent, deleted, or unusable), when the validation failure is detected, the desired outcome is that the record is excluded from processing and the exclusion reason is logged.
💻 Technical Criteria
Given A Canadian cargo record fails one or more validation checks (non-existent, deleted, or unusable)
When The validation failure is detected
Then The record is excluded from processing and the exclusion reason is logged
R-GCX016-cbl-01919 Log Exclusion Reason
Action Rules
📊 Business Logic Narrative
When the process 'Log Exclusion Reason' is invoked, and assuming that a canadian cargo record has been excluded from processing, when the exclusion decision is made, the desired outcome is that the system logs the specific reason for exclusion (non-existent, deleted, or unusable status).
💻 Technical Criteria
Given A Canadian cargo record has been excluded from processing
When The exclusion decision is made
Then The system logs the specific reason for exclusion (non-existent, deleted, or unusable status)
R-GCX016-cbl-01920 Canadian Coordination Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Coordination Required?' is invoked, and assuming that us cargo has been released and cargo status has been updated to a release state, when the system evaluates cargo for canadian coordination requirements, the desired outcome is that canadian coordination is required if cargo status indicates manual release processing is needed.
💻 Technical Criteria
Given US cargo has been released and cargo status has been updated to a release state
When the system evaluates cargo for Canadian coordination requirements
Then Canadian coordination is required if cargo status indicates manual release processing is needed
R-GCX016-cbl-01921 Search for Matching Canadian Manifests
Action Rules
📊 Business Logic Narrative
When the process 'Search for Matching Canadian Manifests' is invoked, and assuming that canadian coordination is required for released us cargo and equipment id is available, when the system searches for matching canadian manifest records, the desired outcome is that system queries canadian cargo records using equipment id as the primary search key.
💻 Technical Criteria
Given Canadian coordination is required for released US cargo and equipment ID is available
When the system searches for matching Canadian manifest records
Then system queries Canadian cargo records using equipment ID as the primary search key
R-GCX016-cbl-01923 Canadian Manifest Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Found?' is invoked, and assuming that equipment id lookup has been performed against canadian cargo records, when the system checks for canadian manifest existence, the desired outcome is that canadian manifest is found if matching records exist and are not marked as deleted.
💻 Technical Criteria
Given equipment ID lookup has been performed against Canadian cargo records
When the system checks for Canadian manifest existence
Then Canadian manifest is found if matching records exist and are not marked as deleted
R-GCX016-cbl-01924 Canadian Record Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Record Valid?' is invoked, and assuming that canadian manifest records have been found for the equipment id, when the system validates canadian record status, the desired outcome is that canadian record is valid if it is not deleted and not marked as new bond created record.
💻 Technical Criteria
Given Canadian manifest records have been found for the equipment ID
When the system validates Canadian record status
Then Canadian record is valid if it is not deleted and not marked as new bond created record
R-GCX016-cbl-01925 Create Cross-border Log Message
Action Rules
📊 Business Logic Narrative
When the process 'Create Cross-border Log Message' is invoked, and assuming that valid canadian manifest records have been identified for released us cargo, when the system creates cross-border log message, the desired outcome is that system generates log message containing cargo release details, equipment information, and cross-border coordination status.
💻 Technical Criteria
Given valid Canadian manifest records have been identified for released US cargo
When the system creates cross-border log message
Then system generates log message containing cargo release details, equipment information, and cross-border coordination status
R-GCX016-cbl-01926 Update Canadian System Notification
Action Rules
📊 Business Logic Narrative
When the process 'Update Canadian System Notification' is invoked, and assuming that cross-border log message has been created for valid canadian records, when the system updates canadian system notification, the desired outcome is that system calls gcx105 logging system to record cargo release information for canadian coordination.
💻 Technical Criteria
Given cross-border log message has been created for valid Canadian records
When the system updates Canadian system notification
Then system calls GCX105 logging system to record cargo release information for Canadian coordination
R-GCX016-cbl-01927 Generate Audit Trail
Policy Rules
📊 Business Logic Narrative
When the process 'Generate Audit Trail' is invoked, and assuming that canadian system notification has been successfully updated, when the system generates audit trail, the desired outcome is that system creates complete audit record of cross-border coordination process including timestamps, cargo details, and processing results.
💻 Technical Criteria
Given Canadian system notification has been successfully updated
When the system generates audit trail
Then system creates complete audit record of cross-border coordination process including timestamps, cargo details, and processing results
R-GCX016-cbl-01937 KCSM Processing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Processing Required?' is invoked, and assuming that a cargo processing request is being handled, when the system evaluates whether kcsm processing is needed, the desired outcome is that the system should proceed to broker lookup if kcsm processing is required, otherwise continue with standard processing.
💻 Technical Criteria
Given A cargo processing request is being handled
When The system evaluates whether KCSM processing is needed
Then The system should proceed to broker lookup if KCSM processing is required, otherwise continue with standard processing
R-GCX016-cbl-01978 Check Disposition Code for KCSM
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code for KCSM' is invoked, and assuming that a disposition code is being processed for cargo release, when the system evaluates if kcsm edi transmission is required for the disposition code, the desired outcome is that the system should determine whether to proceed with kcsm edi transaction spawning or skip kcsm processing.
💻 Technical Criteria
Given A disposition code is being processed for cargo release
When The system evaluates if KCSM EDI transmission is required for the disposition code
Then The system should determine whether to proceed with KCSM EDI transaction spawning or skip KCSM processing
R-GCX016-cbl-01982 Create Dependent Segments with EDI Data
Process Rules
📊 Business Logic Narrative
When the process 'Create Dependent Segments with EDI Data' is invoked, and assuming that transmission control parameters have been established, when the system needs to populate edi message content with cargo and disposition data, the desired outcome is that the system should create a9dp dependent segments containing formatted edi data including cargo details, disposition codes, and transaction information.
💻 Technical Criteria
Given Transmission control parameters have been established
When The system needs to populate EDI message content with cargo and disposition data
Then The system should create A9DP dependent segments containing formatted EDI data including cargo details, disposition codes, and transaction information
R-GCX016-cbl-01983 Format Equipment Details from N7 Segments
Computation Rules
📊 Business Logic Narrative
When the process 'Format Equipment Details from N7 Segments' is invoked, and assuming that n7 equipment segments are available and dependent segments are being created, when the system needs to include equipment details in the edi transmission, the desired outcome is that the system should extract and format equipment information from n7 segments including car numbers, equipment types, and related identifiers.
💻 Technical Criteria
Given N7 equipment segments are available and dependent segments are being created
When The system needs to include equipment details in the EDI transmission
Then The system should extract and format equipment information from N7 segments including car numbers, equipment types, and related identifiers
R-GCX016-cbl-01984 Build Complete EDI 350 Message Copy
Process Rules
📊 Business Logic Narrative
When the process 'Build Complete EDI 350 Message Copy' is invoked, and assuming that all edi segments have been created and equipment details have been formatted, when the system needs to create the final edi message structure, the desired outcome is that the system should build a complete edi 350 message copy containing all root segments, dependent segments, and formatted data ready for transmission.
💻 Technical Criteria
Given All EDI segments have been created and equipment details have been formatted
When The system needs to create the final EDI message structure
Then The system should build a complete EDI 350 message copy containing all root segments, dependent segments, and formatted data ready for transmission
R-GCX016-cbl-02007 KCSM Processing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Processing Required?' is invoked, and assuming that a cargo processing transaction is being executed, when the system evaluates if kcsm logging is needed, the desired outcome is that kcsm processing is required if broker is configured for kcsm transmission and message type requires logging.
💻 Technical Criteria
Given A cargo processing transaction is being executed
When The system evaluates if KCSM logging is needed
Then KCSM processing is required if broker is configured for KCSM transmission and message type requires logging
R-GCX016-cbl-02011 Create Transmission Dependent Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Dependent Segment' is invoked, and assuming that transmission parameters have been logged, when detailed transmission information needs to be stored, the desired outcome is that a9dp transmission dependent segment is created with message details and cargo information.
💻 Technical Criteria
Given Transmission parameters have been logged
When Detailed transmission information needs to be stored
Then A9DP transmission dependent segment is created with message details and cargo information
R-GCX016-cbl-02012 Log EDI Message Details
Process Rules
📊 Business Logic Narrative
When the process 'Log EDI Message Details' is invoked, and assuming that a transmission dependent segment has been created, when edi message details need to be logged, the desired outcome is that message content, structure, and cargo details are recorded in a9dp segment.
💻 Technical Criteria
Given A transmission dependent segment has been created
When EDI message details need to be logged
Then Message content, structure, and cargo details are recorded in A9DP segment
R-GCX016-cbl-02022 VID Segments Available?
Decision Rules
📊 Business Logic Narrative
When the process 'VID Segments Available?' is invoked, and assuming that an hmi train hold disposition code has been processed, when the system checks for available vid segments in the message, the desired outcome is that if vid segments are available, proceed to read vid segments, otherwise complete equipment hold processing.
💻 Technical Criteria
Given An HMI train hold disposition code has been processed
When The system checks for available VID segments in the message
Then If VID segments are available, proceed to read VID segments, otherwise complete equipment hold processing
R-GCX016-cbl-02024 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment has been read from the message, when the system processes the vid segment content, the desired outcome is that extract the equipment id information from the vid segment data.
💻 Technical Criteria
Given A VID segment has been read from the message
When The system processes the VID segment content
Then Extract the equipment ID information from the VID segment data
R-GCX016-cbl-02025 Format Equipment ID using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM' is invoked, and assuming that equipment id has been extracted from the vid segment, when the system needs to format the equipment id for validation, the desired outcome is that call gcccarfm to format the equipment id into standard format.
💻 Technical Criteria
Given Equipment ID has been extracted from the VID segment
When The system needs to format the equipment ID for validation
Then Call GCCCARFM to format the equipment ID into standard format
R-GCX016-cbl-02026 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that equipment id has been formatted using gcccarfm, when the system validates the equipment id, the desired outcome is that if equipment id is valid, proceed to hold the equipment, otherwise skip this equipment and continue to next vid segment.
💻 Technical Criteria
Given Equipment ID has been formatted using GCCCARFM
When The system validates the equipment ID
Then If equipment ID is valid, proceed to hold the equipment, otherwise skip this equipment and continue to next VID segment
R-GCX016-cbl-02027 Hold Specific Equipment on Train
Process Rules
📊 Business Logic Narrative
When the process 'Hold Specific Equipment on Train' is invoked, and assuming that equipment id has been validated as valid, when the system processes the equipment hold request, the desired outcome is that apply hold status to the specific equipment on the train.
💻 Technical Criteria
Given Equipment ID has been validated as valid
When The system processes the equipment hold request
Then Apply hold status to the specific equipment on the train
R-GCX016-cbl-02028 Increment Held Equipment Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Held Equipment Counter' is invoked, and assuming that specific equipment has been successfully held on the train, when the system updates hold statistics, the desired outcome is that increment the held equipment counter by one.
💻 Technical Criteria
Given Specific equipment has been successfully held on the train
When The system updates hold statistics
Then Increment the held equipment counter by one
R-GCX016-cbl-02029 Log Equipment Hold Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Hold Action' is invoked, and assuming that equipment has been held and counter has been incremented, when the system completes the hold action, the desired outcome is that log the equipment hold action with equipment id and timestamp.
💻 Technical Criteria
Given Equipment has been held and counter has been incremented
When The system completes the hold action
Then Log the equipment hold action with equipment ID and timestamp
R-GCX016-cbl-02031 Skip Invalid Equipment ID
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Invalid Equipment ID', assuming that equipment id has been validated and found invalid, when the system encounters an invalid equipment id, the desired outcome is that skip hold processing for this equipment and continue to check for more vid segments.
💻 Technical Criteria
EXCLUDING Equipment ID has been validated and found invalid
When The system encounters an invalid equipment ID
Then Skip hold processing for this equipment and continue to check for more VID segments
R-GCX016-cbl-02032 Update Train Hold Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Train Hold Status' is invoked, and assuming that all vid segments have been processed, when the system finalizes equipment hold processing, the desired outcome is that update the train hold status based on the number of equipment units held.
💻 Technical Criteria
Given All VID segments have been processed
When The system finalizes equipment hold processing
Then Update the train hold status based on the number of equipment units held
R-GCX016-cbl-02033 All Equipment Held?
Decision Rules
📊 Business Logic Narrative
When the process 'All Equipment Held?' is invoked, and assuming that train hold status has been updated with held equipment count, when the system evaluates the completeness of equipment holds, the desired outcome is that if all equipment on train is held, set complete train hold status, otherwise set partial train hold status.
💻 Technical Criteria
Given Train hold status has been updated with held equipment count
When The system evaluates the completeness of equipment holds
Then If all equipment on train is held, set complete train hold status, otherwise set partial train hold status
R-GCX016-cbl-02034 Set Complete Train Hold Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Complete Train Hold Status' is invoked, and assuming that all equipment on the train has been successfully held, when the system sets the final train hold status, the desired outcome is that set the train status to complete hold.
💻 Technical Criteria
Given All equipment on the train has been successfully held
When The system sets the final train hold status
Then Set the train status to complete hold
R-GCX016-cbl-02035 Set Partial Train Hold Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Partial Train Hold Status' is invoked, and assuming that only some equipment on the train has been held (not all equipment), when the system sets the final train hold status, the desired outcome is that set the train status to partial hold.
💻 Technical Criteria
Given Only some equipment on the train has been held (not all equipment)
When The system sets the final train hold status
Then Set the train status to partial hold
R-GCX016-cbl-02036 Equipment Hold Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'Equipment Hold Processing Complete' is invoked, and assuming that train hold status has been set (either complete or partial hold), when the system finalizes equipment hold processing, the desired outcome is that complete the equipment hold processing workflow.
💻 Technical Criteria
Given Train hold status has been set (either complete or partial hold)
When The system finalizes equipment hold processing
Then Complete the equipment hold processing workflow
R-GCX016-cbl-02037 VID Segment Following HRE Code Detected
Decision Rules
📊 Business Logic Narrative
When the process 'VID Segment Following HRE Code Detected' is invoked, and assuming that a message contains hre disposition code followed by vid segments, when the system processes the message segments in sequence, the desired outcome is that vid segments following hre codes are identified for equipment release processing.
💻 Technical Criteria
Given A message contains HRE disposition code followed by VID segments
When The system processes the message segments in sequence
Then VID segments following HRE codes are identified for equipment release processing
R-GCX016-cbl-02038 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment contains equipment identification data, when the system processes the vid segment, the desired outcome is that equipment id is extracted from the vid segment for further processing.
💻 Technical Criteria
Given A VID segment contains equipment identification data
When The system processes the VID segment
Then Equipment ID is extracted from the VID segment for further processing
R-GCX016-cbl-02039 Format Equipment ID using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM' is invoked, and assuming that an equipment id has been extracted from vid segment, when the system needs to format the equipment id, the desired outcome is that gcccarfm utility is called to format the equipment id to standard format.
💻 Technical Criteria
Given An equipment ID has been extracted from VID segment
When The system needs to format the equipment ID
Then GCCCARFM utility is called to format the equipment ID to standard format
R-GCX016-cbl-02040 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been formatted, when the system validates the equipment id, the desired outcome is that equipment id is accepted if valid or rejected if invalid with appropriate error logging.
💻 Technical Criteria
Given An equipment ID has been formatted
When The system validates the equipment ID
Then Equipment ID is accepted if valid or rejected if invalid with appropriate error logging
R-GCX016-cbl-02041 Get Train Record from GCWTL-TRAIN-LIST
Action Rules
📊 Business Logic Narrative
When the process 'Get Train Record from GCWTL-TRAIN-LIST' is invoked, and assuming that a valid equipment id exists, when the system needs to process equipment release, the desired outcome is that train record is retrieved from gcwtl-train-list database.
💻 Technical Criteria
Given A valid equipment ID exists
When The system needs to process equipment release
Then Train record is retrieved from GCWTL-TRAIN-LIST database
R-GCX016-cbl-02043 Search for Equipment in Train's Held Equipment List
Process Rules
📊 Business Logic Narrative
When the process 'Search for Equipment in Train's Held Equipment List' is invoked, and assuming that a train record exists and equipment id is valid, when the system searches for equipment in the train's held equipment list, the desired outcome is that equipment is located in the held list or not found status is determined.
💻 Technical Criteria
Given A train record exists and equipment ID is valid
When The system searches for equipment in the train's held equipment list
Then Equipment is located in the held list or not found status is determined
R-GCX016-cbl-02044 Equipment Found in Held List?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Found in Held List?' is invoked, and assuming that equipment search in held list has been completed, when the system checks if equipment was found in held list, the desired outcome is that equipment release proceeds if found or error is logged if not found in held list.
💻 Technical Criteria
Given Equipment search in held list has been completed
When The system checks if equipment was found in held list
Then Equipment release proceeds if found or error is logged if not found in held list
R-GCX016-cbl-02045 Remove Equipment from Held Equipment List
Process Rules
📊 Business Logic Narrative
When the process 'Remove Equipment from Held Equipment List' is invoked, and assuming that equipment is found in the train's held equipment list, when equipment release is authorized, the desired outcome is that equipment is removed from the held equipment list.
💻 Technical Criteria
Given Equipment is found in the train's held equipment list
When Equipment release is authorized
Then Equipment is removed from the held equipment list
R-GCX016-cbl-02046 Decrement Train's Held Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Decrement Train's Held Equipment Count' is invoked, and assuming that equipment has been removed from held equipment list, when the system updates train statistics, the desired outcome is that train's held equipment count is decremented by one.
💻 Technical Criteria
Given Equipment has been removed from held equipment list
When The system updates train statistics
Then Train's held equipment count is decremented by one
R-GCX016-cbl-02047 Any Equipment Still Held on Train?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Equipment Still Held on Train?' is invoked, and assuming that equipment has been released and count has been decremented, when the system checks remaining held equipment count, the desired outcome is that train status is determined based on whether any equipment remains held.
💻 Technical Criteria
Given Equipment has been released and count has been decremented
When The system checks remaining held equipment count
Then Train status is determined based on whether any equipment remains held
R-GCX016-cbl-02048 Update Train Status to Released
Process Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Released' is invoked, and assuming that no equipment remains held on the train, when the system updates train status, the desired outcome is that train status is updated to released.
💻 Technical Criteria
Given No equipment remains held on the train
When The system updates train status
Then Train status is updated to released
R-GCX016-cbl-02049 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 has been modified with equipment release information, when the system commits changes, the desired outcome is that train record is updated in the database with current status and equipment information.
💻 Technical Criteria
Given Train record has been modified with equipment release information
When The system commits changes
Then Train record is updated in the database with current status and equipment information
R-GCX016-cbl-02050 Log Equipment Release Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Release Action' is invoked, and assuming that equipment has been successfully released from hold, when the system completes the release process, the desired outcome is that equipment release action is logged with relevant details for audit purposes.
💻 Technical Criteria
Given Equipment has been successfully released from hold
When The system completes the release process
Then Equipment release action is logged with relevant details for audit purposes
R-GCX016-cbl-02051 Log Equipment ID Format Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Equipment ID Format Error', assuming that equipment id formatting fails, when the system encounters invalid equipment id format, the desired outcome is that equipment id format error is logged and processing continues with next vid segment.
💻 Technical Criteria
EXCLUDING Equipment ID formatting fails
When The system encounters invalid equipment ID format
Then Equipment ID format error is logged and processing continues with next VID segment
R-GCX016-cbl-02053 Log Equipment Not Found in Held List
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Not Found in Held List' is invoked, and assuming that equipment search in held list returns no results, when the system cannot locate equipment in held list, the desired outcome is that equipment not found in held list error is logged and processing continues with next vid segment.
💻 Technical Criteria
Given Equipment search in held list returns no results
When The system cannot locate equipment in held list
Then Equipment not found in held list error is logged and processing continues with next VID segment
R-GCX016-cbl-02054 VID Segment Available?
Validation Rules
📊 Business Logic Narrative
When the process 'VID Segment Available?' is invoked, and assuming that a sei disposition code has been processed for a train, when the system checks for vid segments in the message, the desired outcome is that if vid segments are present, proceed to extract equipment information, otherwise complete seizure processing without equipment-specific actions.
💻 Technical Criteria
Given A SEI disposition code has been processed for a train
When The system checks for VID segments in the message
Then If VID segments are present, proceed to extract equipment information, otherwise complete seizure processing without equipment-specific actions
R-GCX016-cbl-02055 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment is available in the message, when the system processes the vid segment, the desired outcome is that extract the equipment id from the vid segment data for validation and seizure processing.
💻 Technical Criteria
Given A VID segment is available in the message
When The system processes the VID segment
Then Extract the equipment ID from the VID segment data for validation and seizure processing
R-GCX016-cbl-02056 Validate Equipment ID Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment ID Format' is invoked, and assuming that an equipment id has been extracted from a vid segment, when the system validates the equipment id format, the desired outcome is that verify the equipment id conforms to standard format requirements for train equipment identification.
💻 Technical Criteria
Given An equipment ID has been extracted from a VID segment
When The system validates the equipment ID format
Then Verify the equipment ID conforms to standard format requirements for train equipment identification
R-GCX016-cbl-02057 Equipment ID Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been validated for format compliance, when the system evaluates the validation results, the desired outcome is that if the equipment id is valid, proceed with seizure marking, otherwise skip the invalid equipment and log an error.
💻 Technical Criteria
Given An equipment ID has been validated for format compliance
When The system evaluates the validation results
Then If the equipment ID is valid, proceed with seizure marking, otherwise skip the invalid equipment and log an error
R-GCX016-cbl-02058 Mark Equipment as Seized
Action Rules
📊 Business Logic Narrative
When the process 'Mark Equipment as Seized' is invoked, and assuming that a valid equipment id has been identified for seizure, when the system processes the seizure action, the desired outcome is that mark the equipment as seized and update its status in the system.
💻 Technical Criteria
Given A valid equipment ID has been identified for seizure
When The system processes the seizure action
Then Mark the equipment as seized and update its status in the system
R-GCX016-cbl-02059 Update Equipment Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Seizure Status' is invoked, and assuming that equipment has been marked as seized, when the system updates equipment records, the desired outcome is that update the equipment seizure status in the database with current seizure information.
💻 Technical Criteria
Given Equipment has been marked as seized
When The system updates equipment records
Then Update the equipment seizure status in the database with current seizure information
R-GCX016-cbl-02060 Increment Train Seized Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Train Seized Equipment Count' is invoked, and assuming that equipment seizure status has been updated, when the system processes the seizure count, the desired outcome is that increment the train's seized equipment counter by one.
💻 Technical Criteria
Given Equipment seizure status has been updated
When The system processes the seizure count
Then Increment the train's seized equipment counter by one
R-GCX016-cbl-02061 Check if More VID Segments
Process Rules
📊 Business Logic Narrative
When the process 'Check if More VID Segments' is invoked, and assuming that one vid segment has been processed for equipment seizure, when the system checks for additional vid segments, the desired outcome is that determine if more vid segments are available for processing additional equipment seizures.
💻 Technical Criteria
Given One VID segment has been processed for equipment seizure
When The system checks for additional VID segments
Then Determine if more VID segments are available for processing additional equipment seizures
R-GCX016-cbl-02063 Update Train Seizure Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Seizure Status' is invoked, and assuming that all vid segments have been processed for equipment seizure, when the system updates train seizure status, the desired outcome is that update the train's overall seizure status based on the number of equipment items seized.
💻 Technical Criteria
Given All VID segments have been processed for equipment seizure
When The system updates train seizure status
Then Update the train's overall seizure status based on the number of equipment items seized
R-GCX016-cbl-02064 All Equipment Seized?
Decision Rules
📊 Business Logic Narrative
When the process 'All Equipment Seized?' is invoked, and assuming that train seizure status has been updated with seized equipment count, when the system evaluates total seizure coverage, the desired outcome is that if all equipment on the train is seized, set train as fully seized, otherwise set as partially seized.
💻 Technical Criteria
Given Train seizure status has been updated with seized equipment count
When The system evaluates total seizure coverage
Then If all equipment on the train is seized, set train as fully seized, otherwise set as partially seized
R-GCX016-cbl-02065 Set Train as Fully Seized
Action Rules
📊 Business Logic Narrative
When the process 'Set Train as Fully Seized' is invoked, and assuming that all equipment on the train has been seized, when the system sets the train seizure status, the desired outcome is that set the train status to fully seized indicating complete seizure of all equipment.
💻 Technical Criteria
Given All equipment on the train has been seized
When The system sets the train seizure status
Then Set the train status to fully seized indicating complete seizure of all equipment
R-GCX016-cbl-02066 Set Train as Partially Seized
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train as Partially Seized', assuming that some but not all equipment on the train has been seized, when the system sets the train seizure status, the desired outcome is that set the train status to partially seized indicating incomplete seizure of equipment.
💻 Technical Criteria
EXCLUDING Some but not all equipment on the train has been seized
When The system sets the train seizure status
Then Set the train status to partially seized indicating incomplete seizure of equipment
R-GCX016-cbl-02067 Log Equipment Seizure Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Seizure Action' is invoked, and assuming that equipment has been successfully seized and status updated, when the system performs logging operations, the desired outcome is that log the equipment seizure action with equipment id, seizure timestamp, and related details.
💻 Technical Criteria
Given Equipment has been successfully seized and status updated
When The system performs logging operations
Then Log the equipment seizure action with equipment ID, seizure timestamp, and related details
R-GCX016-cbl-02068 Skip Invalid Equipment ID
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Invalid Equipment ID', assuming that an equipment id has failed validation checks, when the system processes the invalid equipment id, the desired outcome is that skip seizure processing for the invalid equipment id and continue with next vid segment.
💻 Technical Criteria
EXCLUDING An equipment ID has failed validation checks
When The system processes the invalid equipment ID
Then Skip seizure processing for the invalid equipment ID and continue with next VID segment
R-GCX016-cbl-02069 Log Equipment ID Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment ID Error' is invoked, and assuming that an invalid equipment id has been skipped, when the system performs error logging, the desired outcome is that log the equipment id error with details about the validation failure and continue processing.
💻 Technical Criteria
Given An invalid equipment ID has been skipped
When The system performs error logging
Then Log the equipment ID error with details about the validation failure and continue processing
R-GCX016-cbl-02070 VID Segments Available?
Decision Rules
📊 Business Logic Narrative
When the process 'VID Segments Available?' is invoked, and assuming that a ser disposition code has been processed for a train, when the system checks for available vid segments to process equipment seizure release, the desired outcome is that if vid segments are available, proceed to process equipment seizure release, otherwise complete the seizure release process.
💻 Technical Criteria
Given A SER disposition code has been processed for a train
When The system checks for available VID segments to process equipment seizure release
Then If VID segments are available, proceed to process equipment seizure release, otherwise complete the seizure release process
R-GCX016-cbl-02071 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment is available for processing, when the system processes the vid segment, the desired outcome is that extract the equipment id from the vid segment data.
💻 Technical Criteria
Given A VID segment is available for processing
When The system processes the VID segment
Then Extract the equipment ID from the VID segment data
R-GCX016-cbl-02072 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been extracted from a vid segment, when the system validates the equipment id format, the desired outcome is that if the equipment id format is valid, proceed to find equipment in seized list, otherwise skip this invalid equipment id.
💻 Technical Criteria
Given An equipment ID has been extracted from a VID segment
When The system validates the equipment ID format
Then If the equipment ID format is valid, proceed to find equipment in seized list, otherwise skip this invalid equipment ID
R-GCX016-cbl-02073 Equipment Found in Seized List?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Found in Seized List?' is invoked, and assuming that a valid equipment id has been extracted from vid segment, when the system searches for the equipment in the train's seized equipment list, the desired outcome is that if equipment is found in the seized list, proceed to release it from seizure, otherwise no action is required as equipment is not currently seized.
💻 Technical Criteria
Given A valid equipment ID has been extracted from VID segment
When The system searches for the equipment in the train's seized equipment list
Then If equipment is found in the seized list, proceed to release it from seizure, otherwise no action is required as equipment is not currently seized
R-GCX016-cbl-02074 Remove Equipment from Seized Status
Action Rules
📊 Business Logic Narrative
When the process 'Remove Equipment from Seized Status' is invoked, and assuming that equipment is found in the train's seized equipment list, when the system processes the seizure release, the desired outcome is that remove the equipment from seized status and update the equipment seizure flag to released.
💻 Technical Criteria
Given Equipment is found in the train's seized equipment list
When The system processes the seizure release
Then Remove the equipment from seized status and update the equipment seizure flag to released
R-GCX016-cbl-02075 Decrement Train Seized Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Decrement Train Seized Equipment Count' is invoked, and assuming that equipment has been successfully removed from seized status, when the system updates train seizure statistics, the desired outcome is that decrement the train's total seized equipment count by one.
💻 Technical Criteria
Given Equipment has been successfully removed from seized status
When The system updates train seizure statistics
Then Decrement the train's total seized equipment count by one
R-GCX016-cbl-02076 More VID Segments?
Process Rules
📊 Business Logic Narrative
When the process 'More VID Segments?' is invoked, and assuming that one vid segment has been processed for equipment seizure release, when the system checks for additional vid segments, the desired outcome is that if more vid segments exist, continue processing the next vid segment, otherwise proceed to check train overall seizure status.
💻 Technical Criteria
Given One VID segment has been processed for equipment seizure release
When The system checks for additional VID segments
Then If more VID segments exist, continue processing the next VID segment, otherwise proceed to check train overall seizure status
R-GCX016-cbl-02077 Any Equipment Still Seized?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Equipment Still Seized?' is invoked, and assuming that all vid segments have been processed for equipment seizure release, when the system evaluates the train's overall seizure status, the desired outcome is that if any equipment is still seized, keep train in seized status, otherwise release train from seizure status.
💻 Technical Criteria
Given All VID segments have been processed for equipment seizure release
When The system evaluates the train's overall seizure status
Then If any equipment is still seized, keep train in seized status, otherwise release train from seizure status
R-GCX016-cbl-02079 Log Equipment Seizure Release Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Seizure Release Activity' is invoked, and assuming that equipment seizure release processing has been completed, when the system performs activity logging, the desired outcome is that log all equipment seizure release activities including equipment ids, timestamps, and status changes.
💻 Technical Criteria
Given Equipment seizure release processing has been completed
When The system performs activity logging
Then Log all equipment seizure release activities including equipment IDs, timestamps, and status changes
R-GCX016-cbl-02080 HMI - Hold Equipment
Decision Rules
📊 Business Logic Narrative
When the process 'HMI - Hold Equipment' is invoked, and assuming that a vid segment is received after an hmi event code and the disposition code is hmi, when the system processes the hmi disposition code for equipment hold, the desired outcome is that the equipment is added to the hold list and the held equipment counter is incremented and the train status is set to held.
💻 Technical Criteria
Given A VID segment is received after an HMI event code AND the disposition code is HMI
When The system processes the HMI disposition code for equipment hold
Then The equipment is added to the hold list AND the held equipment counter is incremented AND the train status is set to HELD
R-GCX016-cbl-02081 HRE - Release Equipment
Decision Rules
📊 Business Logic Narrative
When the process 'HRE - Release Equipment' is invoked, and assuming that a vid segment is received after an hre event code and the disposition code is hre, when the system processes the hre disposition code for equipment release, the desired outcome is that the equipment is removed from the hold list and the held equipment counter is decremented.
💻 Technical Criteria
Given A VID segment is received after an HRE event code AND the disposition code is HRE
When The system processes the HRE disposition code for equipment release
Then The equipment is removed from the hold list AND the held equipment counter is decremented
R-GCX016-cbl-02082 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment contains equipment information, when the system processes the vid segment for equipment hold or release, the desired outcome is that the equipment id is extracted from the vid segment data.
💻 Technical Criteria
Given A VID segment contains equipment information
When The system processes the VID segment for equipment hold or release
Then The equipment ID is extracted from the VID segment data
R-GCX016-cbl-02083 Format Equipment ID Using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID Using GCCCARFM' is invoked, and assuming that an equipment id has been extracted from a vid segment, when the system needs to format the equipment id for processing, the desired outcome is that the gcccarfm program is called to format the equipment id.
💻 Technical Criteria
Given An equipment ID has been extracted from a VID segment
When The system needs to format the equipment ID for processing
Then The GCCCARFM program is called to format the equipment ID
R-GCX016-cbl-02084 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been formatted using gcccarfm, when the system validates the equipment id, the desired outcome is that if the equipment id is valid then continue with hold/release processing else skip the invalid equipment.
💻 Technical Criteria
Given An equipment ID has been formatted using GCCCARFM
When The system validates the equipment ID
Then IF the equipment ID is valid THEN continue with hold/release processing ELSE skip the invalid equipment
R-GCX016-cbl-02085 Add Equipment to Hold List
Process Rules
📊 Business Logic Narrative
When the process 'Add Equipment to Hold List' is invoked, and assuming that equipment id is valid and disposition code is hmi, when the system processes the equipment hold request, the desired outcome is that the equipment is added to the train's equipment hold list.
💻 Technical Criteria
Given Equipment ID is valid AND disposition code is HMI
When The system processes the equipment hold request
Then The equipment is added to the train's equipment hold list
R-GCX016-cbl-02086 Increment Held Equipment Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Held Equipment Counter' is invoked, and assuming that equipment has been added to the hold list, when the system updates the held equipment count, the desired outcome is that the held equipment counter is incremented by one.
💻 Technical Criteria
Given Equipment has been added to the hold list
When The system updates the held equipment count
Then The held equipment counter is incremented by one
R-GCX016-cbl-02087 Remove Equipment from Hold List
Process Rules
📊 Business Logic Narrative
When the process 'Remove Equipment from Hold List' is invoked, and assuming that equipment id is valid and disposition code is hre, when the system processes the equipment release request, the desired outcome is that the equipment is removed from the train's equipment hold list.
💻 Technical Criteria
Given Equipment ID is valid AND disposition code is HRE
When The system processes the equipment release request
Then The equipment is removed from the train's equipment hold list
R-GCX016-cbl-02088 Decrement Held Equipment Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Decrement Held Equipment Counter' is invoked, and assuming that equipment has been removed from the hold list, when the system updates the held equipment count, the desired outcome is that the held equipment counter is decremented by one.
💻 Technical Criteria
Given Equipment has been removed from the hold list
When The system updates the held equipment count
Then The held equipment counter is decremented by one
R-GCX016-cbl-02089 Any Equipment Still Held?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Equipment Still Held?' is invoked, and assuming that the held equipment counter has been updated, when the system determines the train's overall hold status, the desired outcome is that if any equipment is still held then set train status to held else set train status to released.
💻 Technical Criteria
Given The held equipment counter has been updated
When The system determines the train's overall hold status
Then IF any equipment is still held THEN set train status to HELD ELSE set train status to RELEASED
R-GCX016-cbl-02090 Set Train Status: HELD
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Status: HELD' is invoked, and assuming that equipment has been added to hold list or equipment still remains on hold list after release processing, when the system updates the train status, the desired outcome is that the train status is set to held.
💻 Technical Criteria
Given Equipment has been added to hold list OR equipment still remains on hold list after release processing
When The system updates the train status
Then The train status is set to HELD
R-GCX016-cbl-02091 Set Train Status: RELEASED
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Status: RELEASED' is invoked, and assuming that no equipment remains on the hold list after release processing, when the system updates the train status, the desired outcome is that the train status is set to released.
💻 Technical Criteria
Given No equipment remains on the hold list after release processing
When The system updates the train status
Then The train status is set to RELEASED
R-GCX016-cbl-02093 Log Equipment Hold/Release Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Hold/Release Action' is invoked, and assuming that equipment hold or release processing has been completed, when the system logs the action, the desired outcome is that the equipment hold or release action is logged with equipment id and action type.
💻 Technical Criteria
Given Equipment hold or release processing has been completed
When The system logs the action
Then The equipment hold or release action is logged with equipment ID and action type
R-GCX016-cbl-02094 Skip Invalid Equipment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Invalid Equipment', assuming that equipment id validation fails, when the system encounters invalid equipment, the desired outcome is that the invalid equipment is skipped and processing continues with the next vid segment.
💻 Technical Criteria
EXCLUDING Equipment ID validation fails
When The system encounters invalid equipment
Then The invalid equipment is skipped AND processing continues with the next VID segment
R-GCX016-cbl-02095 VID Segment with SEI Disposition Code Received
Process Rules
📊 Business Logic Narrative
When the process 'VID Segment with SEI Disposition Code Received' is invoked, and assuming that a vid segment is received with sei disposition code, when the system processes the vid segment, the desired outcome is that the equipment id is extracted from the vid segment and seizure processing is initiated.
💻 Technical Criteria
Given A VID segment is received with SEI disposition code
When The system processes the VID segment
Then The equipment ID is extracted from the VID segment and seizure processing is initiated
R-GCX016-cbl-02096 Extract Equipment ID from VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from VID Segment' is invoked, and assuming that a vid segment contains equipment information, when the system processes the vid segment, the desired outcome is that the equipment id is extracted from the vid segment data.
💻 Technical Criteria
Given A VID segment contains equipment information
When The system processes the VID segment
Then The equipment ID is extracted from the VID segment data
R-GCX016-cbl-02097 Validate Equipment ID Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment ID Format' is invoked, and assuming that an equipment id has been extracted from vid segment, when the system validates the equipment id format, the desired outcome is that the equipment id format is checked against validation criteria.
💻 Technical Criteria
Given An equipment ID has been extracted from VID segment
When The system validates the equipment ID format
Then The equipment ID format is checked against validation criteria
R-GCX016-cbl-02098 Equipment ID Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been validated for format, when the system checks equipment id validity, the desired outcome is that if equipment id is valid, proceed with seizure processing, otherwise generate error for invalid equipment id.
💻 Technical Criteria
Given An equipment ID has been validated for format
When The system checks equipment ID validity
Then If equipment ID is valid, proceed with seizure processing, otherwise generate error for invalid equipment ID
R-GCX016-cbl-02099 Mark Equipment as Seized
Action Rules
📊 Business Logic Narrative
When the process 'Mark Equipment as Seized' is invoked, and assuming that equipment id is valid for seizure processing, when the system processes sei disposition code, the desired outcome is that the equipment is marked as seized in the system.
💻 Technical Criteria
Given Equipment ID is valid for seizure processing
When The system processes SEI disposition code
Then The equipment is marked as seized in the system
R-GCX016-cbl-02100 Increment Train Seized Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Train Seized Equipment Count' is invoked, and assuming that equipment has been marked as seized, when the system updates train seizure statistics, the desired outcome is that the train seized equipment count is incremented by one.
💻 Technical Criteria
Given Equipment has been marked as seized
When The system updates train seizure statistics
Then The train seized equipment count is incremented by one
R-GCX016-cbl-02101 Update Train Seizure Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Train Seizure Status' is invoked, and assuming that train seized equipment count has been incremented, when the system evaluates train seizure status, the desired outcome is that the train seizure status is updated based on seized equipment count.
💻 Technical Criteria
Given Train seized equipment count has been incremented
When The system evaluates train seizure status
Then The train seizure status is updated based on seized equipment count
R-GCX016-cbl-02102 All Equipment on Train Seized?
Decision Rules
📊 Business Logic Narrative
When the process 'All Equipment on Train Seized?' is invoked, and assuming that train seizure status has been updated, when the system checks if all equipment on train is seized, the desired outcome is that if all equipment is seized, set train to fully seized status, otherwise set to partially seized status.
💻 Technical Criteria
Given Train seizure status has been updated
When The system checks if all equipment on train is seized
Then If all equipment is seized, set train to fully seized status, otherwise set to partially seized status
R-GCX016-cbl-02103 Set Train Status to Fully Seized
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Status to Fully Seized' is invoked, and assuming that all equipment on the train has been seized, when the system updates train status, the desired outcome is that the train status is set to fully seized.
💻 Technical Criteria
Given All equipment on the train has been seized
When The system updates train status
Then The train status is set to fully seized
R-GCX016-cbl-02104 Set Train Status to Partially Seized
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train Status to Partially Seized', assuming that some equipment on the train has been seized but not all equipment, when the system updates train status, the desired outcome is that the train status is set to partially seized.
💻 Technical Criteria
EXCLUDING Some equipment on the train has been seized but not all equipment
When The system updates train status
Then The train status is set to partially seized
R-GCX016-cbl-02105 VID Segment with SER Disposition Code Received
Process Rules
📊 Business Logic Narrative
When the process 'VID Segment with SER Disposition Code Received' is invoked, and assuming that a vid segment is received with ser disposition code, when the system processes the vid segment, the desired outcome is that the equipment id is extracted from the vid segment and seizure release processing is initiated.
💻 Technical Criteria
Given A VID segment is received with SER disposition code
When The system processes the VID segment
Then The equipment ID is extracted from the VID segment and seizure release processing is initiated
R-GCX016-cbl-02106 Equipment ID Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been validated for format during release processing, when the system checks equipment id validity for release, the desired outcome is that if equipment id is valid, proceed with seizure release processing, otherwise generate error for invalid equipment id.
💻 Technical Criteria
Given An equipment ID has been validated for format during release processing
When The system checks equipment ID validity for release
Then If equipment ID is valid, proceed with seizure release processing, otherwise generate error for invalid equipment ID
R-GCX016-cbl-02107 Remove Seizure Status from Equipment
Action Rules
📊 Business Logic Narrative
When the process 'Remove Seizure Status from Equipment' is invoked, and assuming that equipment id is valid for seizure release processing, when the system processes ser disposition code, the desired outcome is that the seizure status is removed from the equipment in the system.
💻 Technical Criteria
Given Equipment ID is valid for seizure release processing
When The system processes SER disposition code
Then The seizure status is removed from the equipment in the system
R-GCX016-cbl-02108 Decrement Train Seized Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Decrement Train Seized Equipment Count' is invoked, and assuming that equipment seizure status has been removed, when the system updates train seizure statistics, the desired outcome is that the train seized equipment count is decremented by one.
💻 Technical Criteria
Given Equipment seizure status has been removed
When The system updates train seizure statistics
Then The train seized equipment count is decremented by one
R-GCX016-cbl-02109 Update Train Seizure Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Train Seizure Status' is invoked, and assuming that train seized equipment count has been decremented, when the system evaluates train seizure status, the desired outcome is that the train seizure status is updated based on remaining seized equipment count.
💻 Technical Criteria
Given Train seized equipment count has been decremented
When The system evaluates train seizure status
Then The train seizure status is updated based on remaining seized equipment count
R-GCX016-cbl-02110 Any Equipment Still Seized?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Equipment Still Seized?' is invoked, and assuming that train seizure status has been updated after equipment release, when the system checks if any equipment on train is still seized, the desired outcome is that if any equipment remains seized, set train to partially seized status, otherwise set to not seized status.
💻 Technical Criteria
Given Train seizure status has been updated after equipment release
When The system checks if any equipment on train is still seized
Then If any equipment remains seized, set train to partially seized status, otherwise set to not seized status
R-GCX016-cbl-02111 Set Train Status to Not Seized
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Status to Not Seized' is invoked, and assuming that no equipment on the train remains seized, when the system updates train status after release, the desired outcome is that the train status is set to not seized.
💻 Technical Criteria
Given No equipment on the train remains seized
When The system updates train status after release
Then The train status is set to not seized
R-GCX016-cbl-02112 Log Equipment Seizure Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Seizure Action' is invoked, and assuming that equipment has been marked as seized and train status updated, when the system completes seizure processing, the desired outcome is that the equipment seizure action is logged in the system.
💻 Technical Criteria
Given Equipment has been marked as seized and train status updated
When The system completes seizure processing
Then The equipment seizure action is logged in the system
R-GCX016-cbl-02113 Log Equipment Seizure Release Action
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Seizure Release Action' is invoked, and assuming that equipment seizure has been released and train status updated, when the system completes seizure release processing, the desired outcome is that the equipment seizure release action is logged in the system.
💻 Technical Criteria
Given Equipment seizure has been released and train status updated
When The system completes seizure release processing
Then The equipment seizure release action is logged in the system
R-GCX016-cbl-02114 Error: Invalid Equipment ID
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Error: Invalid Equipment ID', assuming that equipment id format validation has failed, when the system encounters invalid equipment id, the desired outcome is that an error is generated for invalid equipment id and processing stops.
💻 Technical Criteria
EXCLUDING Equipment ID format validation has failed
When The system encounters invalid equipment ID
Then An error is generated for invalid equipment ID and processing stops
R-GCX016-cbl-02143 Maintain Equipment Hold Status
Process Rules
📊 Business Logic Narrative
When the process 'Maintain Equipment Hold Status' is invoked, and assuming that equipment on the arriving train has existing hold status, when the system processes equipment during train arrival, the desired outcome is that maintain the existing equipment hold status and do not automatically release holds.
💻 Technical Criteria
Given Equipment on the arriving train has existing hold status
When The system processes equipment during train arrival
Then Maintain the existing equipment hold status and do not automatically release holds
R-GCX016-cbl-02146 Update Cargo Arrival Status for All Cargo on Train
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Arrival Status for All Cargo on Train' is invoked, and assuming that aei arrival notification has been generated, when the system processes cargo on the train, the desired outcome is that update the arrival status for all cargo records associated with the train.
💻 Technical Criteria
Given AEI arrival notification has been generated
When The system processes cargo on the train
Then Update the arrival status for all cargo records associated with the train
R-GCX016-cbl-02147 Set Border Arrival Date for In-Bond Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Date for In-Bond Cargo' is invoked, and assuming that cargo arrival status has been updated for all cargo on train, when the system identifies in-bond cargo on the train, the desired outcome is that set the border arrival date for all in-bond cargo to the train arrival date.
💻 Technical Criteria
Given Cargo arrival status has been updated for all cargo on train
When The system identifies in-bond cargo on the train
Then Set the border arrival date for all in-bond cargo to the train arrival date
R-GCX016-cbl-02148 Update Destination Arrival for Final Destination Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Update Destination Arrival for Final Destination Cargo' is invoked, and assuming that border arrival date has been set for in-bond cargo, when the system identifies cargo at final destination on the train, the desired outcome is that update the destination arrival status for cargo reaching final destination.
💻 Technical Criteria
Given Border arrival date has been set for in-bond cargo
When The system identifies cargo at final destination on the train
Then Update the destination arrival status for cargo reaching final destination
R-GCX016-cbl-02149 Log Train Arrival Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Log Train Arrival Transaction' is invoked, and assuming that all cargo arrival statuses have been updated, when the system completes arrival processing, the desired outcome is that log the train arrival transaction with all relevant details for audit trail.
💻 Technical Criteria
Given All cargo arrival statuses have been updated
When The system completes arrival processing
Then Log the train arrival transaction with all relevant details for audit trail
R-GCX016-cbl-02152 Train Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Found?' is invoked, and assuming that a train arrival event (pod or aad) is being processed, when the system validates the train name against the train list database, the desired outcome is that if the train exists, proceed with equipment processing; if not found, generate train not found error and terminate aei processing.
💻 Technical Criteria
Given A train arrival event (POD or AAD) is being processed
When The system validates the train name against the train list database
Then If the train exists, proceed with equipment processing; if not found, generate train not found error and terminate AEI processing
R-GCX016-cbl-02153 Get Train Equipment List
Action Rules
📊 Business Logic Narrative
When the process 'Get Train Equipment List' is invoked, and assuming that a valid train has been confirmed as arrived (pod or aad), when the system processes the train for aei notification generation, the desired outcome is that the system retrieves the complete equipment list associated with the train from the equipment records database.
💻 Technical Criteria
Given A valid train has been confirmed as arrived (POD or AAD)
When The system processes the train for AEI notification generation
Then The system retrieves the complete equipment list associated with the train from the equipment records database
R-GCX016-cbl-02154 Generate AEI Equipment Notification
Process Rules
📊 Business Logic Narrative
When the process 'Generate AEI Equipment Notification' is invoked, and assuming that a train's equipment list has been retrieved and train arrival is confirmed, when the system processes each individual equipment/car on the train, the desired outcome is that the system generates an aei notification including car id, equipment details, arrival date and time for each piece of equipment.
💻 Technical Criteria
Given A train's equipment list has been retrieved and train arrival is confirmed
When The system processes each individual equipment/car on the train
Then The system generates an AEI notification including car ID, equipment details, arrival date and time for each piece of equipment
R-GCX016-cbl-02155 Update Train Status to Arrived
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to Arrived' is invoked, and assuming that aei notifications have been generated for all equipment on the train, when the system completes individual equipment notification processing, the desired outcome is that the system updates the train status to 'arrived' with the corresponding arrival date and time.
💻 Technical Criteria
Given AEI notifications have been generated for all equipment on the train
When The system completes individual equipment notification processing
Then The system updates the train status to 'Arrived' with the corresponding arrival date and time
R-GCX016-cbl-02156 Send AEI Notification to Systems
Action Rules
📊 Business Logic Narrative
When the process 'Send AEI Notification to Systems' is invoked, and assuming that aei notifications have been generated with complete equipment details and arrival information, when the system is ready to distribute the notifications, the desired outcome is that the system sends the aei notifications to designated external aei systems for equipment tracking and monitoring.
💻 Technical Criteria
Given AEI notifications have been generated with complete equipment details and arrival information
When The system is ready to distribute the notifications
Then The system sends the AEI notifications to designated external AEI systems for equipment tracking and monitoring
R-GCX016-cbl-02157 Log AEI Notification Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log AEI Notification Activity' is invoked, and assuming that aei notifications have been successfully transmitted to external systems, when the system completes the notification transmission process, the desired outcome is that the system logs the aei notification activity including train id, equipment details, notification timestamp, and transmission status.
💻 Technical Criteria
Given AEI notifications have been successfully transmitted to external systems
When The system completes the notification transmission process
Then The system logs the AEI notification activity including train ID, equipment details, notification timestamp, and transmission status
R-GCX016-cbl-02158 More Equipment?
Process Rules
📊 Business Logic Narrative
When the process 'More Equipment?' is invoked, and assuming that the system is processing equipment on an arrived train for aei notifications, when the system completes processing for one piece of equipment, the desired outcome is that if more equipment exists on the train, continue processing the next equipment; if no more equipment, complete the aei train arrival process.
💻 Technical Criteria
Given The system is processing equipment on an arrived train for AEI notifications
When The system completes processing for one piece of equipment
Then If more equipment exists on the train, continue processing the next equipment; if no more equipment, complete the AEI train arrival process
R-GCX016-cbl-04157 VID Equipment Segments Present?
Decision Rules
📊 Business Logic Narrative
When the process 'VID Equipment Segments Present?' is invoked, and assuming that an edi 350 message being processed for kcsm transmission, when the system evaluates the message structure for vid segments, the desired outcome is that if vid equipment segments are present, they are processed and copied, otherwise the system continues to the next segment type.
💻 Technical Criteria
Given An EDI 350 message being processed for KCSM transmission
When The system evaluates the message structure for VID segments
Then If VID equipment segments are present, they are processed and copied, otherwise the system continues to the next segment type
R-GCX016-cbl-04158 Copy VID Equipment Information
Process Rules
📊 Business Logic Narrative
When the process 'Copy VID Equipment Information' is invoked, and assuming that an edi 350 message with vid equipment information segments, when the system processes vid segments for kcsm transmission, the desired outcome is that all vid equipment information is copied to the transmission file maintaining equipment details and relationships.
💻 Technical Criteria
Given An EDI 350 message with VID equipment information segments
When The system processes VID segments for KCSM transmission
Then All VID equipment information is copied to the transmission file maintaining equipment details and relationships
R-GCX016-cbl-04161 Copy N7 Equipment Details
Process Rules
📊 Business Logic Narrative
When the process 'Copy N7 Equipment Details' is invoked, and assuming that an edi 350 message with n7 equipment details segment, when the system creates kcsm transmission copy, the desired outcome is that the n7 segment with all equipment details and specifications is copied to the transmission file.
💻 Technical Criteria
Given An EDI 350 message with N7 equipment details segment
When The system creates KCSM transmission copy
Then The N7 segment with all equipment details and specifications is copied to the transmission file
R-GCX016-cbl-04162 Copy SE Transaction Set Trailer
Process Rules
📊 Business Logic Narrative
When the process 'Copy SE Transaction Set Trailer' is invoked, and assuming that an edi 350 message with se transaction set trailer segment, when the system completes kcsm transmission copy creation, the desired outcome is that the se trailer segment is copied to the transmission file with proper segment count and control number.
💻 Technical Criteria
Given An EDI 350 message with SE transaction set trailer segment
When The system completes KCSM transmission copy creation
Then The SE trailer segment is copied to the transmission file with proper segment count and control number
R-GCX016-cbl-02195 Copy N7 Equipment Details
Process Rules
📊 Business Logic Narrative
When the process 'Copy N7 Equipment Details' is invoked, and assuming that the x4 customs release information has been copied, when the system copies equipment data segments, the desired outcome is that the system copies the n7 equipment details segment preserving all equipment information for kcsm transmission.
💻 Technical Criteria
Given The X4 customs release information has been copied
When The system copies equipment data segments
Then The system copies the N7 equipment details segment preserving all equipment information for KCSM transmission
R-GCX016-cbl-02196 Copy K1 Remarks
Process Rules
📊 Business Logic Narrative
When the process 'Copy K1 Remarks' is invoked, and assuming that the n7 equipment details have been copied, when the system copies remarks data segments, the desired outcome is that the system copies the k1 remarks segment maintaining all remark information for kcsm transmission.
💻 Technical Criteria
Given The N7 equipment details have been copied
When The system copies remarks data segments
Then The system copies the K1 remarks segment maintaining all remark information for KCSM transmission
R-GCX016-cbl-02197 Copy SE Transaction Trailer
Process Rules
📊 Business Logic Narrative
When the process 'Copy SE Transaction Trailer' is invoked, and assuming that the k1 remarks have been copied, when the system copies transaction trailer segments, the desired outcome is that the system copies the se transaction trailer segment completing the edi message structure for kcsm transmission.
💻 Technical Criteria
Given The K1 remarks have been copied
When The system copies transaction trailer segments
Then The system copies the SE transaction trailer segment completing the EDI message structure for KCSM transmission
R-GCX016-cbl-02232 Is K1 Associated with X4 Segment?
Decision Rules
📊 Business Logic Narrative
When the process 'Is K1 Associated with X4 Segment?' is invoked, and assuming that a k1 remarks segment is received in the message queue, when the system checks if the k1 segment is associated with an x4 customs release segment, the desired outcome is that the k1 segment is processed for cargo remarks if associated with x4, otherwise it is skipped as non-cargo related.
💻 Technical Criteria
Given A K1 remarks segment is received in the message queue
When The system checks if the K1 segment is associated with an X4 customs release segment
Then The K1 segment is processed for cargo remarks if associated with X4, otherwise it is skipped as non-cargo related
R-GCX016-cbl-02234 Extract Free-form Comment Text
Process Rules
📊 Business Logic Narrative
When the process 'Extract Free-form Comment Text' is invoked, and assuming that a valid k1 remarks segment associated with an x4 segment, when the system extracts the free-form comment text from the k1 segment, the desired outcome is that the comment text is extracted and prepared for storage in the cargo record.
💻 Technical Criteria
Given A valid K1 remarks segment associated with an X4 segment
When The system extracts the free-form comment text from the K1 segment
Then The comment text is extracted and prepared for storage in the cargo record
R-GCX016-cbl-02236 Store Comment in Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Store Comment in Cargo Record' is invoked, and assuming that a valid comment extracted from k1 segment with comment count less than 4, when the system stores the comment in the cargo record, the desired outcome is that the comment is successfully stored in the cargo record and associated with the x4 segment.
💻 Technical Criteria
Given A valid comment extracted from K1 segment with comment count less than 4
When The system stores the comment in the cargo record
Then The comment is successfully stored in the cargo record and associated with the X4 segment
R-GCX016-cbl-02237 Increment Comment Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Comment Counter' is invoked, and assuming that a comment has been successfully stored in the cargo record, when the system increments the comment counter for the x4 segment, the desired outcome is that the comment counter is increased by 1 to reflect the new comment count.
💻 Technical Criteria
Given A comment has been successfully stored in the cargo record
When The system increments the comment counter for the X4 segment
Then The comment counter is increased by 1 to reflect the new comment count
R-GCX016-cbl-02239 Associate Comments with X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Associate Comments with X4 Segment' is invoked, and assuming that all k1 segments for an x4 segment have been processed, when the system associates the collected comments with the x4 segment, the desired outcome is that all comments are linked to the x4 segment for cargo record updates.
💻 Technical Criteria
Given All K1 segments for an X4 segment have been processed
When The system associates the collected comments with the X4 segment
Then All comments are linked to the X4 segment for cargo record updates
R-GCX016-cbl-02240 Update Cargo Record with Remarks
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Remarks' is invoked, and assuming that comments have been associated with an x4 segment, when the system updates the cargo record with the remarks, the desired outcome is that the cargo record is updated with all k1 remarks for future reference and processing.
💻 Technical Criteria
Given Comments have been associated with an X4 segment
When The system updates the cargo record with the remarks
Then The cargo record is updated with all K1 remarks for future reference and processing
R-GCX016-cbl-02245 Set KCSM Integration Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set KCSM Integration Flag' is invoked, and assuming that the disposition code is found in the kcsm configuration table and the port is laredo, when the system confirms kcsm processing is required, the desired outcome is that the system marks the cargo for kcsm processing and sets the kcsm integration flag to enable downstream kcsm system integration.
💻 Technical Criteria
Given The disposition code is found in the KCSM configuration table and the port is Laredo
When The system confirms KCSM processing is required
Then The system marks the cargo for KCSM processing and sets the KCSM integration flag to enable downstream KCSM system integration
R-GCX016-cbl-02278 Extract Event Details V9
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Event Details V9' is invoked, and assuming that edi 350 message contains v9 segment with event codes, when the system encounters v9 segment during processing, the desired outcome is that the system evaluates event codes (hmi, hre, pod, aad, rc, oca, coc, lck, ulc, sei, ser) and applies corresponding train or cargo status changes.
💻 Technical Criteria
Given EDI 350 message contains V9 segment with event codes
When The system encounters V9 segment during processing
Then The system evaluates event codes (HMI, HRE, POD, AAD, RC, OCA, COC, LCK, ULC, SEI, SER) and applies corresponding train or cargo status changes
R-GCX016-cbl-02279 Extract Equipment Information N7
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Information N7' is invoked, and assuming that edi 350 message contains n7 segment with equipment information, when the system encounters n7 segment during processing, the desired outcome is that the system extracts equipment details, updates car id information in cargo records, and handles multiple n7 segments per message.
💻 Technical Criteria
Given EDI 350 message contains N7 segment with equipment information
When The system encounters N7 segment during processing
Then The system extracts equipment details, updates car ID information in cargo records, and handles multiple N7 segments per message
R-GCX016-cbl-02290 Extract Equipment ID from N7 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from N7 Segment' is invoked, and assuming that an n7 equipment segment is received in the message, when the system processes the n7 segment, the desired outcome is that equipment id information is extracted from the n7 segment data.
💻 Technical Criteria
Given An N7 equipment segment is received in the message
When The system processes the N7 segment
Then Equipment ID information is extracted from the N7 segment data
R-GCX016-cbl-02291 Format Equipment ID using GCCCARFM Utility
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM Utility' is invoked, and assuming that equipment id has been extracted from n7 segment, when the system needs to format the equipment id, the desired outcome is that gcccarfm utility is called to standardize the equipment id format.
💻 Technical Criteria
Given Equipment ID has been extracted from N7 segment
When The system needs to format the equipment ID
Then GCCCARFM utility is called to standardize the equipment ID format
R-GCX016-cbl-02292 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that equipment id has been formatted using gcccarfm utility, when the system validates the equipment id, the desired outcome is that equipment id is confirmed as valid or invalid based on business validation rules.
💻 Technical Criteria
Given Equipment ID has been formatted using GCCCARFM utility
When The system validates the equipment ID
Then Equipment ID is confirmed as valid or invalid based on business validation rules
R-GCX016-cbl-02293 Update Car ID Information in Cargo Records
Process Rules
📊 Business Logic Narrative
When the process 'Update Car ID Information in Cargo Records' is invoked, and assuming that equipment id has been validated as valid, when the system processes cargo records associated with the equipment, the desired outcome is that car id information is updated in the relevant cargo records.
💻 Technical Criteria
Given Equipment ID has been validated as valid
When The system processes cargo records associated with the equipment
Then Car ID information is updated in the relevant cargo records
R-GCX016-cbl-02294 KCSM Processing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'KCSM Processing Required?' is invoked, and assuming that equipment id information has been processed and cargo records updated, when the system evaluates kcsm transmission requirements, the desired outcome is that system determines whether kcsm processing is required for this equipment.
💻 Technical Criteria
Given Equipment ID information has been processed and cargo records updated
When The system evaluates KCSM transmission requirements
Then System determines whether KCSM processing is required for this equipment
R-GCX016-cbl-02295 Check Disposition Code for KCSM Integration
Decision Rules
📊 Business Logic Narrative
When the process 'Check Disposition Code for KCSM Integration' is invoked, and assuming that kcsm processing has been determined as required, when the system checks the disposition code associated with the equipment, the desired outcome is that disposition code is evaluated to determine specific kcsm integration actions.
💻 Technical Criteria
Given KCSM processing has been determined as required
When The system checks the disposition code associated with the equipment
Then Disposition code is evaluated to determine specific KCSM integration actions
R-GCX016-cbl-02296 Extract Equipment Details for KCSM
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Details for KCSM' is invoked, and assuming that disposition code indicates kcsm integration is required, when the system extracts equipment details, the desired outcome is that all necessary equipment information is extracted for kcsm transmission.
💻 Technical Criteria
Given Disposition code indicates KCSM integration is required
When The system extracts equipment details
Then All necessary equipment information is extracted for KCSM transmission
R-GCX016-cbl-02297 Include N7 Segment in EDI 350 Message Copy
Process Rules
📊 Business Logic Narrative
When the process 'Include N7 Segment in EDI 350 Message Copy' is invoked, and assuming that equipment details have been extracted for kcsm processing, when the system creates edi 350 message copy, the desired outcome is that n7 segment information is included in the edi 350 message copy.
💻 Technical Criteria
Given Equipment details have been extracted for KCSM processing
When The system creates EDI 350 message copy
Then N7 segment information is included in the EDI 350 message copy
R-GCX016-cbl-02298 Add Equipment Information to Transmission File
Process Rules
📊 Business Logic Narrative
When the process 'Add Equipment Information to Transmission File' is invoked, and assuming that n7 segment has been included in edi 350 message copy, when the system processes transmission file updates, the desired outcome is that equipment information is added to the kcsm transmission file.
💻 Technical Criteria
Given N7 segment has been included in EDI 350 message copy
When The system processes transmission file updates
Then Equipment information is added to the KCSM transmission file
R-GCX016-cbl-02299 Create Transmission Dependent Segment with Equipment Data
Process Rules
📊 Business Logic Narrative
When the process 'Create Transmission Dependent Segment with Equipment Data' is invoked, and assuming that equipment information has been added to transmission file, when the system creates transmission dependent segments, the desired outcome is that dependent segments are created with equipment data for kcsm transmission.
💻 Technical Criteria
Given Equipment information has been added to transmission file
When The system creates transmission dependent segments
Then Dependent segments are created with equipment data for KCSM transmission
R-GCX016-cbl-02300 Queue Equipment Data for KCSM Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Queue Equipment Data for KCSM Transmission' is invoked, and assuming that transmission dependent segments have been created with equipment data, when the system queues data for kcsm transmission, the desired outcome is that equipment data is queued for transmission to kcsm system.
💻 Technical Criteria
Given Transmission dependent segments have been created with equipment data
When The system queues data for KCSM transmission
Then Equipment data is queued for transmission to KCSM system
R-GCX016-cbl-02301 Log Equipment Processing for KCSM
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Processing for KCSM' is invoked, and assuming that equipment data has been queued for kcsm transmission, when the system completes equipment processing, the desired outcome is that equipment processing activities are logged for kcsm audit trail.
💻 Technical Criteria
Given Equipment data has been queued for KCSM transmission
When The system completes equipment processing
Then Equipment processing activities are logged for KCSM audit trail
R-GCX016-cbl-02303 Equipment ID Validation Error
Process Rules
📊 Business Logic Narrative
When the process 'Equipment ID Validation Error' is invoked, and assuming that equipment id has been formatted using gcccarfm utility, when equipment id validation fails, the desired outcome is that system handles validation error and proceeds to equipment processing completion.
💻 Technical Criteria
Given Equipment ID has been formatted using GCCCARFM utility
When Equipment ID validation fails
Then System handles validation error and proceeds to equipment processing completion
R-GCX016-cbl-02304 Extract Bond Control Number from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Bond Control Number from X4 Segment' is invoked, and assuming that an x4 customs release segment is being processed, when the system needs to process cargo by bond number, the desired outcome is that the bond control number is extracted from the x4 segment and stored for cargo lookup operations.
💻 Technical Criteria
Given An X4 customs release segment is being processed
When The system needs to process cargo by bond number
Then The bond control number is extracted from the X4 segment and stored for cargo lookup operations
R-GCX016-cbl-02307 Initialize Cargo Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Cargo Counter' is invoked, and assuming that bond processing mode has been activated, when the system begins processing cargo records for a bond, the desired outcome is that the cargo counter is initialized to zero to track processing progress.
💻 Technical Criteria
Given Bond processing mode has been activated
When The system begins processing cargo records for a bond
Then The cargo counter is initialized to zero to track processing progress
R-GCX016-cbl-02308 Fetch First Cargo Record by Bond Number
Action Rules
📊 Business Logic Narrative
When the process 'Fetch First Cargo Record by Bond Number' is invoked, and assuming that a valid bond control number is available for processing, when the system searches for cargo records associated with the bond, the desired outcome is that the first cargo record matching the bond number is retrieved from the gccc-cargo-root database.
💻 Technical Criteria
Given A valid bond control number is available for processing
When The system searches for cargo records associated with the bond
Then The first cargo record matching the bond number is retrieved from the GCCC-CARGO-ROOT database
R-GCX016-cbl-02309 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a database search for cargo records by bond number has been executed, when the system evaluates the search results, the desired outcome is that if cargo records are found, processing continues; if no cargo records exist, bond processing is completed.
💻 Technical Criteria
Given A database search for cargo records by bond number has been executed
When The system evaluates the search results
Then If cargo records are found, processing continues; if no cargo records exist, bond processing is completed
R-GCX016-cbl-02310 Load Cargo Record Details
Process Rules
📊 Business Logic Narrative
When the process 'Load Cargo Record Details' is invoked, and assuming that a cargo record has been found for the current bond number, when the system prepares to process the cargo record, the desired outcome is that all cargo record details and associated status segments are loaded into working storage.
💻 Technical Criteria
Given A cargo record has been found for the current bond number
When The system prepares to process the cargo record
Then All cargo record details and associated status segments are loaded into working storage
R-GCX016-cbl-02311 Process Current Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Process Current Cargo Record' is invoked, and assuming that a cargo record has been loaded for processing within a bond group, when the system processes the individual cargo record, the desired outcome is that the cargo record is processed according to the disposition code rules and business logic.
💻 Technical Criteria
Given A cargo record has been loaded for processing within a bond group
When The system processes the individual cargo record
Then The cargo record is processed according to the disposition code rules and business logic
R-GCX016-cbl-02312 Apply Disposition Code to Cargo
Decision Rules
📊 Business Logic Narrative
When the process 'Apply Disposition Code to Cargo' is invoked, and assuming that a cargo record is being processed and a disposition code is available from the x4 segment, when the system applies the disposition code to the cargo, the desired outcome is that the disposition code is processed according to customs rules and the appropriate action is determined for the cargo.
💻 Technical Criteria
Given A cargo record is being processed and a disposition code is available from the X4 segment
When The system applies the disposition code to the cargo
Then The disposition code is processed according to customs rules and the appropriate action is determined for the cargo
R-GCX016-cbl-02313 Update Cargo Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status' is invoked, and assuming that a disposition code has been applied to a cargo record, when the system updates the cargo status, the desired outcome is that the cargo status is updated in the gcsuss09 status segments and the cargo record is saved to the database.
💻 Technical Criteria
Given A disposition code has been applied to a cargo record
When The system updates the cargo status
Then The cargo status is updated in the GCSUSS09 status segments and the cargo record is saved to the database
R-GCX016-cbl-02314 Increment Cargo Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Cargo Counter' is invoked, and assuming that a cargo record has been successfully processed within a bond group, when the system updates processing statistics, the desired outcome is that the cargo counter is incremented by one to reflect the completed processing.
💻 Technical Criteria
Given A cargo record has been successfully processed within a bond group
When The system updates processing statistics
Then The cargo counter is incremented by one to reflect the completed processing
R-GCX016-cbl-02315 Fetch Next Cargo Record with Same Bond
Action Rules
📊 Business Logic Narrative
When the process 'Fetch Next Cargo Record with Same Bond' is invoked, and assuming that a cargo record has been processed and more records may exist for the same bond, when the system searches for the next cargo record with the same bond number, the desired outcome is that the next cargo record matching the bond number is retrieved from the database if it exists.
💻 Technical Criteria
Given A cargo record has been processed and more records may exist for the same bond
When The system searches for the next cargo record with the same bond number
Then The next cargo record matching the bond number is retrieved from the database if it exists
R-GCX016-cbl-02316 More Cargo Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo Records?' is invoked, and assuming that the system has attempted to retrieve the next cargo record for a bond number, when the system evaluates if more cargo records exist, the desired outcome is that if more cargo records exist, processing continues with the next record; if no more records exist, bond processing moves to completion.
💻 Technical Criteria
Given The system has attempted to retrieve the next cargo record for a bond number
When The system evaluates if more cargo records exist
Then If more cargo records exist, processing continues with the next record; if no more records exist, bond processing moves to completion
R-GCX016-cbl-02317 Log Bond Processing Summary
Process Rules
📊 Business Logic Narrative
When the process 'Log Bond Processing Summary' is invoked, and assuming that all cargo records for a bond number have been processed, when the system completes bond processing, the desired outcome is that a summary log entry is created showing the bond number, cargo count processed, and processing results.
💻 Technical Criteria
Given All cargo records for a bond number have been processed
When The system completes bond processing
Then A summary log entry is created showing the bond number, cargo count processed, and processing results
R-GCX016-cbl-02318 Generate Bond Processing Report
Process Rules
📊 Business Logic Narrative
When the process 'Generate Bond Processing Report' is invoked, and assuming that bond processing has been completed and summary logged, when the system generates processing reports, the desired outcome is that a detailed bond processing report is created containing all cargo records processed and their final status.
💻 Technical Criteria
Given Bond processing has been completed and summary logged
When The system generates processing reports
Then A detailed bond processing report is created containing all cargo records processed and their final status
R-GCX016-cbl-02319 Complete Bond Processing
Process Rules
📊 Business Logic Narrative
When the process 'Complete Bond Processing' is invoked, and assuming that all cargo records for a bond have been processed and reports generated, when the system completes bond processing, the desired outcome is that bond processing is marked as complete and system resources are cleaned up.
💻 Technical Criteria
Given All cargo records for a bond have been processed and reports generated
When The system completes bond processing
Then Bond processing is marked as complete and system resources are cleaned up
R-GCX016-cbl-02325 Validate Car ID Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Car ID Format' is invoked, and assuming that car id is available from n7 segment, when the system validates the car id format for proper structure and length, the desired outcome is that car id must meet required format specifications to proceed with cargo search.
💻 Technical Criteria
Given Car ID is available from N7 segment
When The system validates the car ID format for proper structure and length
Then Car ID must meet required format specifications to proceed with cargo search
R-GCX016-cbl-02331 Update Cargo Status Information
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Information' is invoked, and assuming that a cargo record is being processed, when the system applies disposition codes and business rules to the cargo, the desired outcome is that cargo status information is updated to reflect the current processing state and any status changes.
💻 Technical Criteria
Given A cargo record is being processed
When The system applies disposition codes and business rules to the cargo
Then Cargo status information is updated to reflect the current processing state and any status changes
R-GCX016-cbl-02332 Apply Disposition Codes to Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Apply Disposition Codes to Cargo' is invoked, and assuming that cargo records are being processed with a specific disposition code, when the system applies the disposition code to each cargo record, the desired outcome is that the disposition code is processed according to its type (hold, release, status info) and applied to the cargo's status array.
💻 Technical Criteria
Given Cargo records are being processed with a specific disposition code
When The system applies the disposition code to each cargo record
Then The disposition code is processed according to its type (hold, release, status info) and applied to the cargo's status array
R-GCX016-cbl-02337 Bond Number Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Bond Number Present?' is invoked, and assuming that an x4 segment is received for cargo processing, when the system checks for bond control number presence in the x4 segment, the desired outcome is that if bond control number is empty or spaces, log bond validation error and skip bond-based processing, otherwise proceed to bond format validation.
💻 Technical Criteria
Given An X4 segment is received for cargo processing
When The system checks for bond control number presence in the X4 segment
Then If bond control number is empty or spaces, log bond validation error and skip bond-based processing, otherwise proceed to bond format validation
R-GCX016-cbl-02338 Valid Bond Format?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Bond Format?' is invoked, and assuming that a bond control number is present in the x4 segment, when the system validates the bond number format against system requirements, the desired outcome is that if bond format is invalid, log invalid bond format error and skip bond-based processing, otherwise proceed to search cargo records by bond number.
💻 Technical Criteria
Given A bond control number is present in the X4 segment
When The system validates the bond number format against system requirements
Then If bond format is invalid, log invalid bond format error and skip bond-based processing, otherwise proceed to search cargo records by bond number
R-GCX016-cbl-02339 Cargo Records Found with Bond?
Action Rules
📊 Business Logic Narrative
When the process 'Cargo Records Found with Bond?' is invoked, and assuming that a valid bond control number format is confirmed, when the system searches cargo records using the bond control number as search criteria, the desired outcome is that if no cargo records are found with the bond number, generate bond not found message and skip bond-based processing, otherwise proceed to validate bond number against system tables.
💻 Technical Criteria
Given A valid bond control number format is confirmed
When The system searches cargo records using the bond control number as search criteria
Then If no cargo records are found with the bond number, generate bond not found message and skip bond-based processing, otherwise proceed to validate bond number against system tables
R-GCX016-cbl-02340 Bond Number Exists in System?
Validation Rules
📊 Business Logic Narrative
When the process 'Bond Number Exists in System?' is invoked, and assuming that cargo records are found with the bond control number, when the system validates the bond number against authorized bond system tables, the desired outcome is that if bond number does not exist in system tables, log bond validation error and skip bond-based processing, otherwise mark bond as valid for processing.
💻 Technical Criteria
Given Cargo records are found with the bond control number
When The system validates the bond number against authorized bond system tables
Then If bond number does not exist in system tables, log bond validation error and skip bond-based processing, otherwise mark bond as valid for processing
R-GCX016-cbl-02341 Mark Bond as Valid for Processing
Process Rules
📊 Business Logic Narrative
When the process 'Mark Bond as Valid for Processing' is invoked, and assuming that bond number exists in system tables and cargo records are found, when the system completes bond validation successfully, the desired outcome is that mark bond as valid for processing and proceed to bond-based cargo processing.
💻 Technical Criteria
Given Bond number exists in system tables and cargo records are found
When The system completes bond validation successfully
Then Mark bond as valid for processing and proceed to bond-based cargo processing
R-GCX016-cbl-02343 Generate Bond Not Found Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Bond Not Found Message' is invoked, and assuming that no cargo records are found with the provided bond control number, when the system completes cargo record search with no results, the desired outcome is that generate bond not found message and skip bond-based processing.
💻 Technical Criteria
Given No cargo records are found with the provided bond control number
When The system completes cargo record search with no results
Then Generate bond not found message and skip bond-based processing
R-GCX016-cbl-02345 Proceed to Bond-based Cargo Processing
Process Rules
📊 Business Logic Narrative
When the process 'Proceed to Bond-based Cargo Processing' is invoked, and assuming that bond number is validated and marked as valid for processing, when the system completes bond validation successfully, the desired outcome is that proceed to bond-based cargo processing for all cargo records with the same bond control number.
💻 Technical Criteria
Given Bond number is validated and marked as valid for processing
When The system completes bond validation successfully
Then Proceed to bond-based cargo processing for all cargo records with the same bond control number
R-GCX016-cbl-02346 Format Car ID using GCCCARFM Utility
Validation Rules
📊 Business Logic Narrative
When the process 'Format Car ID using GCCCARFM Utility' is invoked, and assuming that a car id is received from n7 segment, when the system formats the car id using gcccarfm utility, the desired outcome is that the car id is standardized to proper format for validation.
💻 Technical Criteria
Given A car ID is received from N7 segment
When The system formats the car ID using GCCCARFM utility
Then The car ID is standardized to proper format for validation
R-GCX016-cbl-02354 Log Car ID Format Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Car ID Format Error' is invoked, and assuming that car id format is invalid, when the system logs car id format error, the desired outcome is that the system sets validation failure flag and skips cargo processing.
💻 Technical Criteria
Given Car ID format is invalid
When The system logs car ID format error
Then The system sets validation failure flag and skips cargo processing
R-GCX016-cbl-02356 Log Invalid Car ID Length Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Invalid Car ID Length Error', assuming that car id length is invalid, when the system logs invalid car id length error, the desired outcome is that the system sets validation failure flag and skips cargo processing.
💻 Technical Criteria
EXCLUDING Car ID length is invalid
When The system logs invalid car ID length error
Then The system sets validation failure flag and skips cargo processing
R-GCX016-cbl-02357 Log Car ID Standards Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Car ID Standards Error', assuming that car id does not meet system standards, when the system logs car id standards error, the desired outcome is that the system sets validation failure flag and skips cargo processing.
💻 Technical Criteria
EXCLUDING Car ID does not meet system standards
When The system logs car ID standards error
Then The system sets validation failure flag and skips cargo processing
R-GCX016-cbl-02359 Set Validation Failure Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Validation Failure Flag' is invoked, and assuming that any validation error has been logged, when the system sets validation failure flag, the desired outcome is that the system skips cargo processing.
💻 Technical Criteria
Given Any validation error has been logged
When The system sets validation failure flag
Then The system skips cargo processing
R-GCX016-cbl-02361 Call GCCCARFM Utility
Validation Rules
📊 Business Logic Narrative
When the process 'Call GCCCARFM Utility' is invoked, and assuming that an equipment identifier is received from n7 segment, when the system calls gcccarfm utility to validate the equipment id format, the desired outcome is that the system determines if the equipment id format is valid or invalid.
💻 Technical Criteria
Given An equipment identifier is received from N7 segment
When The system calls GCCCARFM utility to validate the equipment ID format
Then The system determines if the equipment ID format is valid or invalid
R-GCX016-cbl-02362 Standardize Equipment ID Format
Process Rules
📊 Business Logic Narrative
When the process 'Standardize Equipment ID Format' is invoked, and assuming that an equipment identifier has passed initial format validation, when the system processes the equipment id through standardization, the desired outcome is that the equipment id is converted to standard format for further processing.
💻 Technical Criteria
Given An equipment identifier has passed initial format validation
When The system processes the equipment ID through standardization
Then The equipment ID is converted to standard format for further processing
R-GCX016-cbl-02363 Validate Equipment ID Structure
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment ID Structure' is invoked, and assuming that an equipment identifier has been standardized, when the system validates the equipment id structure, the desired outcome is that the system determines if the structure validation passes or fails.
💻 Technical Criteria
Given An equipment identifier has been standardized
When The system validates the equipment ID structure
Then The system determines if the structure validation passes or fails
R-GCX016-cbl-02364 Update Cargo Record with Formatted Car ID
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Formatted Car ID' is invoked, and assuming that an equipment identifier has passed both format and structure validation, when the system updates the cargo record, the desired outcome is that the cargo record is updated with the formatted car id.
💻 Technical Criteria
Given An equipment identifier has passed both format and structure validation
When The system updates the cargo record
Then The cargo record is updated with the formatted car ID
R-GCX016-cbl-02365 Set Equipment ID in Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment ID in Working Storage' is invoked, and assuming that a cargo record has been updated with formatted car id, when the system sets the equipment id in working storage, the desired outcome is that the equipment id is available for further processing operations.
💻 Technical Criteria
Given A cargo record has been updated with formatted car ID
When The system sets the equipment ID in working storage
Then The equipment ID is available for further processing operations
R-GCX016-cbl-02366 Log Format Error
Action Rules
📊 Business Logic Narrative
When the process 'Log Format Error' is invoked, and assuming that an equipment identifier fails format validation, when the system encounters a format error, the desired outcome is that the system logs the format error and uses the original equipment id.
💻 Technical Criteria
Given An equipment identifier fails format validation
When The system encounters a format error
Then The system logs the format error and uses the original equipment ID
R-GCX016-cbl-02367 Log Validation Warning
Action Rules
📊 Business Logic Narrative
When the process 'Log Validation Warning' is invoked, and assuming that an equipment identifier fails structure validation, when the system encounters a validation failure, the desired outcome is that the system logs a validation warning and uses the original equipment id.
💻 Technical Criteria
Given An equipment identifier fails structure validation
When The system encounters a validation failure
Then The system logs a validation warning and uses the original equipment ID
R-GCX016-cbl-02368 Use Original Equipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Use Original Equipment ID' is invoked, and assuming that equipment identifier formatting or validation has failed, when the system needs to continue processing, the desired outcome is that the system uses the original equipment id and continues processing.
💻 Technical Criteria
Given Equipment identifier formatting or validation has failed
When The system needs to continue processing
Then The system uses the original equipment ID and continues processing
R-GCX016-cbl-02369 Extract Car ID from Equipment Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Car ID from Equipment Information' is invoked, and assuming that equipment information contains car identification data, when system needs to search for cargo using car id, the desired outcome is that car id is extracted from equipment information and formatted using gcccarfm utility for standardized format.
💻 Technical Criteria
Given Equipment information contains car identification data
When System needs to search for cargo using car ID
Then Car ID is extracted from equipment information and formatted using GCCCARFM utility for standardized format
R-GCX016-cbl-02370 Car ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Valid?' is invoked, and assuming that car id has been extracted and formatted from equipment information, when system validates the car id for search operations, the desired outcome is that if car id is invalid, mark cargo as not found and log the search attempt, otherwise proceed with car index search.
💻 Technical Criteria
Given Car ID has been extracted and formatted from equipment information
When System validates the car ID for search operations
Then If car ID is invalid, mark cargo as not found and log the search attempt, otherwise proceed with car index search
R-GCX016-cbl-02371 Build Car ID Index Key
Process Rules
📊 Business Logic Narrative
When the process 'Build Car ID Index Key' is invoked, and assuming that car id has been validated as valid, when system prepares to search cargo database using car id, the desired outcome is that car id index key is constructed with proper format for database query.
💻 Technical Criteria
Given Car ID has been validated as valid
When System prepares to search cargo database using car ID
Then Car ID index key is constructed with proper format for database query
R-GCX016-cbl-02372 Call GCCUSIO with Car Index
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO with Car Index' is invoked, and assuming that car id index key has been constructed, when system searches for cargo using the car id index, the desired outcome is that gccusio is called with car index parameters to retrieve matching cargo records.
💻 Technical Criteria
Given Car ID index key has been constructed
When System searches for cargo using the car ID index
Then GCCUSIO is called with car index parameters to retrieve matching cargo records
R-GCX016-cbl-02374 Validate Cargo Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Record Status' is invoked, and assuming that cargo record has been found using car id search, when system validates the cargo record, the desired outcome is that cargo record status and attributes are checked against business validation criteria.
💻 Technical Criteria
Given Cargo record has been found using car ID search
When System validates the cargo record
Then Cargo record status and attributes are checked against business validation criteria
R-GCX016-cbl-02378 Any Matching Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Matching Cargo?' is invoked, and assuming that comprehensive car id search has been completed, when system evaluates search results, the desired outcome is that if matching cargo is found, select best match based on criteria, otherwise mark as cargo not found.
💻 Technical Criteria
Given Comprehensive car ID search has been completed
When System evaluates search results
Then If matching cargo is found, select best match based on criteria, otherwise mark as cargo not found
R-GCX016-cbl-02379 Select Best Match Based on Criteria
Decision Rules
📊 Business Logic Narrative
When the process 'Select Best Match Based on Criteria' is invoked, and assuming that multiple cargo records match the car id, when system selects the best match, the desired outcome is that business criteria are applied to determine the most appropriate cargo record for processing.
💻 Technical Criteria
Given Multiple cargo records match the car ID
When System selects the best match
Then Business criteria are applied to determine the most appropriate cargo record for processing
R-GCX016-cbl-02380 Mark as Cargo Not Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark as Cargo Not Found', assuming that all car id search methods have failed to locate valid cargo or car id is invalid, when system processes cargo not found condition, the desired outcome is that cargo status is marked as not found for appropriate business handling.
💻 Technical Criteria
EXCLUDING All car ID search methods have failed to locate valid cargo OR car ID is invalid
When System processes cargo not found condition
Then Cargo status is marked as not found for appropriate business handling
R-GCX016-cbl-02381 Log Car ID Search Attempt
Process Rules
📊 Business Logic Narrative
When the process 'Log Car ID Search Attempt' is invoked, and assuming that car id search process has completed regardless of success or failure, when system logs the search attempt, the desired outcome is that search attempt details are recorded including car id used and search outcome.
💻 Technical Criteria
Given Car ID search process has completed regardless of success or failure
When System logs the search attempt
Then Search attempt details are recorded including car ID used and search outcome
R-GCX016-cbl-02383 Process Each Follower Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Process Each Follower Manifest' is invoked, and assuming that a follower manifest is being prepared for processing, when the system prepares the message for cargo processing, the desired outcome is that the system sets special action code to '350' and copies disposition code, quantity, and entry number from x4 segment.
💻 Technical Criteria
Given A follower manifest is being prepared for processing
When The system prepares the message for cargo processing
Then The system sets special action code to '350' AND copies disposition code, quantity, and entry number from X4 segment
R-GCX016-cbl-02389 Update Cargo Records
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Records' is invoked, and assuming that special or detour processing has been completed, when the system updates cargo records, the desired outcome is that the system updates cargo status to reflect special processing and maintains audit trail of changes and ensures data consistency across related cargo records.
💻 Technical Criteria
Given Special or detour processing has been completed
When The system updates cargo records
Then The system updates cargo status to reflect special processing AND maintains audit trail of changes AND ensures data consistency across related cargo records
R-GCX016-cbl-02392 Clear Bond Control Number
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Control Number' is invoked, and assuming that a cargo record has been retrieved for disposition code 95 processing, when bond clearing operations are initiated, the desired outcome is that the bond control number field is cleared from the cargo record.
💻 Technical Criteria
Given A cargo record has been retrieved for disposition code 95 processing
When Bond clearing operations are initiated
Then The bond control number field is cleared from the cargo record
R-GCX016-cbl-02393 Clear Broker Entry Number
Process Rules
📊 Business Logic Narrative
When the process 'Clear Broker Entry Number' is invoked, and assuming that the bond control number has been cleared from the cargo record, when continuing with disposition code 95 bond clearing process, the desired outcome is that the broker entry number field is cleared from the cargo record.
💻 Technical Criteria
Given The bond control number has been cleared from the cargo record
When Continuing with disposition code 95 bond clearing process
Then The broker entry number field is cleared from the cargo record
R-GCX016-cbl-02394 Clear Related Bond Data Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Related Bond Data Fields' is invoked, and assuming that bond control number and broker entry number have been cleared, when finalizing the bond clearing operation for disposition code 95, the desired outcome is that all related bond data fields including bond dates and references are cleared from the cargo record.
💻 Technical Criteria
Given Bond control number and broker entry number have been cleared
When Finalizing the bond clearing operation for disposition code 95
Then All related bond data fields including bond dates and references are cleared from the cargo record
R-GCX016-cbl-02395 Update Cargo Record Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record Status' is invoked, and assuming that all bond-related fields have been cleared from the cargo record, when completing the disposition code 95 processing, the desired outcome is that the cargo record status is updated to reflect the bond clearing action.
💻 Technical Criteria
Given All bond-related fields have been cleared from the cargo record
When Completing the disposition code 95 processing
Then The cargo record status is updated to reflect the bond clearing action
R-GCX016-cbl-02396 Log Bond Clearing Action
Policy Rules
📊 Business Logic Narrative
When the process 'Log Bond Clearing Action' is invoked, and assuming that the cargo record has been updated with cleared bond information, when finalizing the disposition code 95 transaction, the desired outcome is that a log entry is created documenting the bond clearing action with timestamp and cargo details.
💻 Technical Criteria
Given The cargo record has been updated with cleared bond information
When Finalizing the disposition code 95 transaction
Then A log entry is created documenting the bond clearing action with timestamp and cargo details
R-GCX016-cbl-02404 Set Transport Type in Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Set Transport Type in Cargo Record' is invoked, and assuming that a valid master in-bond entry type code has been processed, when the system updates the cargo record, the desired outcome is that the transport type should be set in the cargo record based on the entry type mapping.
💻 Technical Criteria
Given A valid master in-bond entry type code has been processed
When The system updates the cargo record
Then The transport type should be set in the cargo record based on the entry type mapping
R-GCX016-cbl-02405 Update In-Bond Status in Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update In-Bond Status in Cargo Record' is invoked, and assuming that a valid standard in-bond entry type code has been processed, when the system updates the cargo record, the desired outcome is that the in-bond status should be updated in the cargo record.
💻 Technical Criteria
Given A valid standard in-bond entry type code has been processed
When The system updates the cargo record
Then The in-bond status should be updated in the cargo record
R-GCX016-cbl-02406 Log Entry Type Processing
Process Rules
📊 Business Logic Narrative
When the process 'Log Entry Type Processing' is invoked, and assuming that an entry type code has been successfully processed and cargo record updated, when the system completes the entry type processing, the desired outcome is that the system should log the entry type processing activity.
💻 Technical Criteria
Given An entry type code has been successfully processed and cargo record updated
When The system completes the entry type processing
Then The system should log the entry type processing activity
R-GCX016-cbl-02408 Entry Type Code = '00'?
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type Code = '00'?' is invoked, and assuming that a cargo entry is being processed, when the entry type code equals '00', the desired outcome is that the system identifies this as a border entry requiring special processing.
💻 Technical Criteria
Given A cargo entry is being processed
When The entry type code equals '00'
Then The system identifies this as a border entry requiring special processing
R-GCX016-cbl-02409 Identify as Border Entry
Definitional Rules
📊 Business Logic Narrative
When the process 'Identify as Border Entry' is invoked, and assuming that a cargo entry has entry type code '00', when the system processes the entry type, the desired outcome is that the cargo is classified as a border entry.
💻 Technical Criteria
Given A cargo entry has entry type code '00'
When The system processes the entry type
Then The cargo is classified as a border entry
R-GCX016-cbl-02410 Clear Bond Control Number
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Control Number' is invoked, and assuming that a cargo entry is classified as border entry with type code '00', when the system processes the border entry, the desired outcome is that the bond control number field is cleared to spaces.
💻 Technical Criteria
Given A cargo entry is classified as border entry with type code '00'
When The system processes the border entry
Then The bond control number field is cleared to spaces
R-GCX016-cbl-02411 Clear Broker Entry Number
Action Rules
📊 Business Logic Narrative
When the process 'Clear Broker Entry Number' is invoked, and assuming that a cargo entry is classified as border entry with type code '00', when the system processes the border entry, the desired outcome is that the broker entry number field is cleared to spaces.
💻 Technical Criteria
Given A cargo entry is classified as border entry with type code '00'
When The system processes the border entry
Then The broker entry number field is cleared to spaces
R-GCX016-cbl-02412 Clear Related Bond Data
Action Rules
📊 Business Logic Narrative
When the process 'Clear Related Bond Data' is invoked, and assuming that a cargo entry is classified as border entry with type code '00', when the system processes the border entry, the desired outcome is that all related bond data fields including bond number, bond type, and bond status are cleared.
💻 Technical Criteria
Given A cargo entry is classified as border entry with type code '00'
When The system processes the border entry
Then All related bond data fields including bond number, bond type, and bond status are cleared
R-GCX016-cbl-02413 Set Border Entry Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Entry Flag' is invoked, and assuming that a cargo entry is classified as border entry with type code '00', when the system processes the border entry, the desired outcome is that the border entry flag is set to indicate border processing mode.
💻 Technical Criteria
Given A cargo entry is classified as border entry with type code '00'
When The system processes the border entry
Then The border entry flag is set to indicate border processing mode
R-GCX016-cbl-02414 Update Cargo Record with Border Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Border Status' is invoked, and assuming that a cargo entry has been processed as border entry with cleared bond data and set border flag, when the system updates the cargo record, the desired outcome is that the cargo record is updated with border entry status and all border processing indicators.
💻 Technical Criteria
Given A cargo entry has been processed as border entry with cleared bond data and set border flag
When The system updates the cargo record
Then The cargo record is updated with border entry status and all border processing indicators
R-GCX016-cbl-02415 Log Border Entry Processing
Action Rules
📊 Business Logic Narrative
When the process 'Log Border Entry Processing' is invoked, and assuming that a cargo entry has been processed as border entry with updated status, when the system completes border entry processing, the desired outcome is that the border entry processing is logged with entry details and processing timestamp.
💻 Technical Criteria
Given A cargo entry has been processed as border entry with updated status
When The system completes border entry processing
Then The border entry processing is logged with entry details and processing timestamp
R-GCX016-cbl-02416 Process as Regular Entry
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process as Regular Entry', assuming that a cargo entry is being processed, when the entry type code is not equal to '00', the desired outcome is that the cargo is processed through the regular entry processing path without border-specific modifications.
💻 Technical Criteria
EXCLUDING A cargo entry is being processed
When The entry type code is not equal to '00'
Then The cargo is processed through the regular entry processing path without border-specific modifications
R-GCX016-cbl-02417 Entry Type 61 Master In-Bond
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type 61 Master In-Bond' is invoked, and assuming that a cargo record with disposition code requiring master in-bond processing, when the entry type code is 61, the desired outcome is that set master in-bond flag m1109 and configure for immediate transport processing.
💻 Technical Criteria
Given A cargo record with disposition code requiring master in-bond processing
When The entry type code is 61
Then Set master in-bond flag M1109 and configure for immediate transport processing
R-GCX016-cbl-02418 Entry Type 62 Master In-Bond
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type 62 Master In-Bond' is invoked, and assuming that a cargo record with disposition code requiring master in-bond processing, when the entry type code is 62, the desired outcome is that set master in-bond flag m1109 and configure for transport export processing.
💻 Technical Criteria
Given A cargo record with disposition code requiring master in-bond processing
When The entry type code is 62
Then Set master in-bond flag M1109 and configure for transport export processing
R-GCX016-cbl-02419 Entry Type 63 Master In-Bond
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type 63 Master In-Bond' is invoked, and assuming that a cargo record with disposition code requiring master in-bond processing, when the entry type code is 63, the desired outcome is that set master in-bond flag m1109 and configure for immediate export processing.
💻 Technical Criteria
Given A cargo record with disposition code requiring master in-bond processing
When The entry type code is 63
Then Set master in-bond flag M1109 and configure for immediate export processing
R-GCX016-cbl-02420 Entry Type 69 Master In-Bond
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type 69 Master In-Bond' is invoked, and assuming that a cargo record with disposition code requiring master in-bond processing, when the entry type code is 69, the desired outcome is that set master in-bond flag m1109 and configure for us-canada-us movement processing.
💻 Technical Criteria
Given A cargo record with disposition code requiring master in-bond processing
When The entry type code is 69
Then Set master in-bond flag M1109 and configure for US-Canada-US movement processing
R-GCX016-cbl-02421 Set Master In-Bond Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Master In-Bond Flag' is invoked, and assuming that a cargo record with entry type code in (61, 62, 63, 69), when processing disposition codes 1j, 69, or 55, the desired outcome is that set the m1109 master in-bond flag to indicate master in-bond processing is required.
💻 Technical Criteria
Given A cargo record with entry type code in (61, 62, 63, 69)
When Processing disposition codes 1J, 69, or 55
Then Set the M1109 master in-bond flag to indicate master in-bond processing is required
R-GCX016-cbl-02422 Check Entry Type Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entry Type Code' is invoked, and assuming that a cargo record with a disposition code requiring evaluation, when the entry type code is evaluated, the desired outcome is that route to appropriate master in-bond processing based on entry type (61, 62, 63, 69) or skip if not a master in-bond type.
💻 Technical Criteria
Given A cargo record with a disposition code requiring evaluation
When The entry type code is evaluated
Then Route to appropriate master in-bond processing based on entry type (61, 62, 63, 69) or skip if not a master in-bond type
R-GCX016-cbl-02423 Skip - Not Master In-Bond Type
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip - Not Master In-Bond Type', assuming that a cargo record with an entry type code, when the entry type code is not 61, 62, 63, or 69, the desired outcome is that skip master in-bond processing and continue with standard cargo processing.
💻 Technical Criteria
EXCLUDING A cargo record with an entry type code
When The entry type code is not 61, 62, 63, or 69
Then Skip master in-bond processing and continue with standard cargo processing
R-GCX016-cbl-02425 Cross-Border Shipment Detected
Decision Rules
📊 Business Logic Narrative
When the process 'Cross-Border Shipment Detected' is invoked, and assuming that a cargo record is being processed, when the system evaluates the shipment for cross-border requirements, the desired outcome is that the system detects if cross-border processing is needed and initiates port mapping workflow.
💻 Technical Criteria
Given A cargo record is being processed
When The system evaluates the shipment for cross-border requirements
Then The system detects if cross-border processing is needed and initiates port mapping workflow
R-GCX016-cbl-02426 US Port Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'US Port Code Present?' is invoked, and assuming that a cross-border shipment has been detected, when the system checks for us port code in the cargo record, the desired outcome is that the system either proceeds with port code extraction if present or completes mapping process if absent.
💻 Technical Criteria
Given A cross-border shipment has been detected
When The system checks for US port code in the cargo record
Then The system either proceeds with port code extraction if present or completes mapping process if absent
R-GCX016-cbl-02427 Extract US Port Code from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract US Port Code from Cargo Record' is invoked, and assuming that a us port code is present in the cargo record, when the system extracts the port code information, the desired outcome is that the us port code is retrieved and prepared for ds table lookup.
💻 Technical Criteria
Given A US port code is present in the cargo record
When The system extracts the port code information
Then The US port code is retrieved and prepared for DS table lookup
R-GCX016-cbl-02428 Access DS Table for Port Mapping
Action Rules
📊 Business Logic Narrative
When the process 'Access DS Table for Port Mapping' is invoked, and assuming that a us port code has been extracted from the cargo record, when the system accesses the ds table for port mapping lookup, the desired outcome is that the ds table is queried using the us port code as the search key.
💻 Technical Criteria
Given A US port code has been extracted from the cargo record
When The system accesses the DS table for port mapping lookup
Then The DS table is queried using the US port code as the search key
R-GCX016-cbl-02433 Update Cargo Record with Canadian Port Name
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Canadian Port Name' is invoked, and assuming that a canadian port name has been determined (either from ds table or default), when the system updates the cargo record, the desired outcome is that the cargo record is updated with the canadian port name information.
💻 Technical Criteria
Given A Canadian port name has been determined (either from DS table or default)
When The system updates the cargo record
Then The cargo record is updated with the Canadian port name information
R-GCX016-cbl-02434 Set Cross-Border Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Cross-Border Flag' is invoked, and assuming that the cargo record has been updated with canadian port information, when the system sets processing flags, the desired outcome is that the cross-border flag is set to indicate special cross-border processing requirements.
💻 Technical Criteria
Given The cargo record has been updated with Canadian port information
When The system sets processing flags
Then The cross-border flag is set to indicate special cross-border processing requirements
R-GCX016-cbl-02437 Process Next Port Code
Process Rules
📊 Business Logic Narrative
When the process 'Process Next Port Code' is invoked, and assuming that additional port codes exist in the cargo record, when the system processes the next port code, the desired outcome is that the system returns to port code extraction for the next us port code.
💻 Technical Criteria
Given Additional port codes exist in the cargo record
When The system processes the next port code
Then The system returns to port code extraction for the next US port code
R-GCX016-cbl-02438 Port Mapping Complete
Process Rules
📊 Business Logic Narrative
When the process 'Port Mapping Complete' is invoked, and assuming that all port codes have been processed or no port codes exist, when the port mapping workflow reaches completion, the desired outcome is that the system finalizes the port mapping process and the cargo record is ready for further processing.
💻 Technical Criteria
Given All port codes have been processed or no port codes exist
When The port mapping workflow reaches completion
Then The system finalizes the port mapping process and the cargo record is ready for further processing
R-GCX016-cbl-02442 Store FDA Reference in Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Store FDA Reference in Cargo Record' is invoked, and assuming that an fda reference number has been validated as properly formatted, when the system updates the cargo record, the desired outcome is that the fda reference number is stored in the cargo record for future compliance processing.
💻 Technical Criteria
Given An FDA reference number has been validated as properly formatted
When The system updates the cargo record
Then The FDA reference number is stored in the cargo record for future compliance processing
R-GCX016-cbl-02443 Link to Secondary Cargo Records
Action Rules
📊 Business Logic Narrative
When the process 'Link to Secondary Cargo Records' is invoked, and assuming that fda reference information has been stored in the primary cargo record, when secondary cargo records exist for the same shipment, the desired outcome is that the fda reference information is linked to all related secondary cargo records.
💻 Technical Criteria
Given FDA reference information has been stored in the primary cargo record
When Secondary cargo records exist for the same shipment
Then The FDA reference information is linked to all related secondary cargo records
R-GCX016-cbl-02444 A1/A3 Disposition Code Present?
Decision Rules
📊 Business Logic Narrative
When the process 'A1/A3 Disposition Code Present?' is invoked, and assuming that fda reference information has been processed and linked to cargo records, when the system evaluates disposition codes associated with the cargo, the desired outcome is that the system determines if a1 or a3 disposition codes are present requiring fda compliance actions.
💻 Technical Criteria
Given FDA reference information has been processed and linked to cargo records
When The system evaluates disposition codes associated with the cargo
Then The system determines if A1 or A3 disposition codes are present requiring FDA compliance actions
R-GCX016-cbl-02446 Update FDA Status in Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Update FDA Status in Status Array' is invoked, and assuming that fda compliance requirements have been processed, when the system updates the cargo status array, the desired outcome is that fda-related status codes are added to the gcsuss09 status segments.
💻 Technical Criteria
Given FDA compliance requirements have been processed
When The system updates the cargo status array
Then FDA-related status codes are added to the GCSUSS09 status segments
R-GCX016-cbl-02447 Generate FDA Hold if Required
Policy Rules
📊 Business Logic Narrative
When the process 'Generate FDA Hold if Required' is invoked, and assuming that fda status has been updated in the status array, when fda compliance requirements indicate a hold is necessary, the desired outcome is that an fda hold is generated and applied to the cargo preventing release.
💻 Technical Criteria
Given FDA status has been updated in the status array
When FDA compliance requirements indicate a hold is necessary
Then An FDA hold is generated and applied to the cargo preventing release
R-GCX016-cbl-02451 Extract Bond Control Number from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Bond Control Number from X4 Segment' is invoked, and assuming that an x4 customs release segment is being processed, when the system processes the x4 segment for bond number information, the desired outcome is that the bond control number is extracted from the x4 segment and made available for cargo grouping operations.
💻 Technical Criteria
Given An X4 customs release segment is being processed
When The system processes the X4 segment for bond number information
Then The bond control number is extracted from the X4 segment and made available for cargo grouping operations
R-GCX016-cbl-02453 Validate Bond Number Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Bond Number Format' is invoked, and assuming that a bond control number has been extracted from the x4 segment, when the system validates the bond number format against customs requirements, the desired outcome is that processing continues to cargo search if format is valid, otherwise bond number error processing is triggered.
💻 Technical Criteria
Given A bond control number has been extracted from the X4 segment
When The system validates the bond number format against customs requirements
Then Processing continues to cargo search if format is valid, otherwise bond number error processing is triggered
R-GCX016-cbl-02454 Search All Cargo Records with Same Bond Number
Action Rules
📊 Business Logic Narrative
When the process 'Search All Cargo Records with Same Bond Number' is invoked, and assuming that a valid bond control number has been extracted and validated, when the system searches the cargo database using the bond control number as the key, the desired outcome is that all cargo records with matching bond numbers are retrieved for disposition code processing.
💻 Technical Criteria
Given A valid bond control number has been extracted and validated
When The system searches the cargo database using the bond control number as the key
Then All cargo records with matching bond numbers are retrieved for disposition code processing
R-GCX016-cbl-02455 Cargo Records Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Records Found?' is invoked, and assuming that a search has been performed for cargo records with a specific bond number, when the system evaluates the search results, the desired outcome is that processing continues to cargo processing if records are found, otherwise no cargo found message is generated.
💻 Technical Criteria
Given A search has been performed for cargo records with a specific bond number
When The system evaluates the search results
Then Processing continues to cargo processing if records are found, otherwise no cargo found message is generated
R-GCX016-cbl-02456 Process Each Cargo Record with Bond Number
Process Rules
📊 Business Logic Narrative
When the process 'Process Each Cargo Record with Bond Number' is invoked, and assuming that cargo records with matching bond numbers have been found, when the system processes each cargo record individually, the desired outcome is that each cargo record is prepared for disposition code application and status updates.
💻 Technical Criteria
Given Cargo records with matching bond numbers have been found
When The system processes each cargo record individually
Then Each cargo record is prepared for disposition code application and status updates
R-GCX016-cbl-02457 Apply Disposition Code to All Bond Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Apply Disposition Code to All Bond Cargo' is invoked, and assuming that cargo records with matching bond numbers are being processed and a disposition code exists in the x4 segment, when the system applies the disposition code to each cargo record in the bond group, the desired outcome is that all cargo records in the bond group receive the same disposition code treatment for consistent processing.
💻 Technical Criteria
Given Cargo records with matching bond numbers are being processed and a disposition code exists in the X4 segment
When The system applies the disposition code to each cargo record in the bond group
Then All cargo records in the bond group receive the same disposition code treatment for consistent processing
R-GCX016-cbl-02458 Update Status Arrays for All Bond Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Arrays for All Bond Cargo' is invoked, and assuming that disposition codes have been applied to all cargo records in a bond group, when the system updates the status arrays for each cargo record, the desired outcome is that all cargo records in the bond group have their status arrays updated to reflect the new disposition code status.
💻 Technical Criteria
Given Disposition codes have been applied to all cargo records in a bond group
When The system updates the status arrays for each cargo record
Then All cargo records in the bond group have their status arrays updated to reflect the new disposition code status
R-GCX016-cbl-02459 Validate Disposition Code Against Bond Cargo
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Disposition Code Against Bond Cargo' is invoked, and assuming that disposition codes have been applied and status arrays updated for bond cargo, when the system validates the disposition code against each cargo record's current status and characteristics, the desired outcome is that the disposition code application is confirmed as valid for each cargo record or validation errors are identified.
💻 Technical Criteria
Given Disposition codes have been applied and status arrays updated for bond cargo
When The system validates the disposition code against each cargo record's current status and characteristics
Then The disposition code application is confirmed as valid for each cargo record or validation errors are identified
R-GCX016-cbl-02460 More Cargo Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo Records?' is invoked, and assuming that a cargo record in the bond group has been processed, when the system checks if more cargo records in the bond group need processing, the desired outcome is that processing continues with the next cargo record if more exist, otherwise proceeds to message generation.
💻 Technical Criteria
Given A cargo record in the bond group has been processed
When The system checks if more cargo records in the bond group need processing
Then Processing continues with the next cargo record if more exist, otherwise proceeds to message generation
R-GCX016-cbl-02461 Generate Bond Processing Messages
Action Rules
📊 Business Logic Narrative
When the process 'Generate Bond Processing Messages' is invoked, and assuming that all cargo records in the bond group have been processed, when the system generates processing messages for the bond operation, the desired outcome is that messages are created documenting the disposition code application results for all cargo in the bond group.
💻 Technical Criteria
Given All cargo records in the bond group have been processed
When The system generates processing messages for the bond operation
Then Messages are created documenting the disposition code application results for all cargo in the bond group
R-GCX016-cbl-02464 Generate No Cargo Found Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate No Cargo Found Message' is invoked, and assuming that a search for cargo records by bond number has returned no results, when the system generates a no cargo found message, the desired outcome is that a message is created indicating that no cargo records exist for the specified bond number.
💻 Technical Criteria
Given A search for cargo records by bond number has returned no results
When The system generates a no cargo found message
Then A message is created indicating that no cargo records exist for the specified bond number
R-GCX016-cbl-02465 Extract Car ID from N7 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Car ID from N7 Segment' is invoked, and assuming that an n7 equipment segment is available in the message, when the system processes the n7 segment for car identification, the desired outcome is that the car initial and car number are extracted and combined to form the complete car id.
💻 Technical Criteria
Given An N7 equipment segment is available in the message
When The system processes the N7 segment for car identification
Then The car initial and car number are extracted and combined to form the complete car ID
R-GCX016-cbl-02467 Format Equipment ID using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM' is invoked, and assuming that car initial and car number have been extracted from n7 segment, when the system needs to format the equipment id for database operations, the desired outcome is that the gcccarfm formatting routine is called to standardize the equipment id format.
💻 Technical Criteria
Given Car initial and car number have been extracted from N7 segment
When The system needs to format the equipment ID for database operations
Then The GCCCARFM formatting routine is called to standardize the equipment ID format
R-GCX016-cbl-02473 Validate Cargo Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Record Status' is invoked, and assuming that cargo records have been retrieved from the database, when the system validates each cargo record status, the desired outcome is that only cargo records with valid processing status are included in subsequent operations.
💻 Technical Criteria
Given Cargo records have been retrieved from the database
When The system validates each cargo record status
Then Only cargo records with valid processing status are included in subsequent operations
R-GCX016-cbl-02474 Multiple Records Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Multiple Records Found?' is invoked, and assuming that valid cargo records have been retrieved and validated, when the system counts the number of valid cargo records, the desired outcome is that if multiple records exist, batch processing is initiated, otherwise single record processing is performed.
💻 Technical Criteria
Given Valid cargo records have been retrieved and validated
When The system counts the number of valid cargo records
Then If multiple records exist, batch processing is initiated, otherwise single record processing is performed
R-GCX016-cbl-02477 Update Cargo Status Arrays
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Arrays' is invoked, and assuming that disposition codes have been applied to cargo records, when the system updates cargo status information, the desired outcome is that cargo status arrays are updated with new disposition codes, release quantities, and status flags.
💻 Technical Criteria
Given Disposition codes have been applied to cargo records
When The system updates cargo status information
Then Cargo status arrays are updated with new disposition codes, release quantities, and status flags
R-GCX016-cbl-02479 Process All Cars in Consist?
Decision Rules
📊 Business Logic Narrative
When the process 'Process All Cars in Consist?' is invoked, and assuming that current car processing is complete and related equipment has been checked, when the system evaluates whether additional cars need processing, the desired outcome is that if additional cars require processing, the system moves to the next car, otherwise it proceeds to release validation.
💻 Technical Criteria
Given Current car processing is complete and related equipment has been checked
When The system evaluates whether additional cars need processing
Then If additional cars require processing, the system moves to the next car, otherwise it proceeds to release validation
R-GCX016-cbl-02480 Move to Next Car in Consist
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Car in Consist' is invoked, and assuming that additional cars in the consist require processing, when the system moves to the next car, the desired outcome is that processing continues with the next car id extraction and cargo record processing.
💻 Technical Criteria
Given Additional cars in the consist require processing
When The system moves to the next car
Then Processing continues with the next car ID extraction and cargo record processing
R-GCX016-cbl-02481 Validate Release Eligibility Across All Cars
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Release Eligibility Across All Cars' is invoked, and assuming that all cars in the consist have been processed, when the system validates release eligibility across all cars, the desired outcome is that release eligibility is confirmed for all cargo records before proceeding with release message generation.
💻 Technical Criteria
Given All cars in the consist have been processed
When The system validates release eligibility across all cars
Then Release eligibility is confirmed for all cargo records before proceeding with release message generation
R-GCX016-cbl-02483 Update All Related Cargo Records
Action Rules
📊 Business Logic Narrative
When the process 'Update All Related Cargo Records' is invoked, and assuming that release messages have been generated for eligible cargo, when the system updates cargo records, the desired outcome is that all related cargo records are updated with final status, disposition codes, and processing timestamps.
💻 Technical Criteria
Given Release messages have been generated for eligible cargo
When The system updates cargo records
Then All related cargo records are updated with final status, disposition codes, and processing timestamps
R-GCX016-cbl-02489 Extract Equipment ID from N7-01
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from N7-01' is invoked, and assuming that an n7 equipment segment is received with equipment data, when the system processes the n7 segment, the desired outcome is that the equipment id is extracted from the n7-01 field for further processing.
💻 Technical Criteria
Given An N7 equipment segment is received with equipment data
When The system processes the N7 segment
Then The equipment ID is extracted from the N7-01 field for further processing
R-GCX016-cbl-02490 Call GCCCARFM Utility for Formatting
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCARFM Utility for Formatting' is invoked, and assuming that an equipment id has been extracted from the n7 segment, when the system needs to format the equipment id, the desired outcome is that the gcccarfm utility is called to format and validate the equipment identifier.
💻 Technical Criteria
Given An equipment ID has been extracted from the N7 segment
When The system needs to format the equipment ID
Then The GCCCARFM utility is called to format and validate the equipment identifier
R-GCX016-cbl-02491 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been processed through the gcccarfm formatting utility, when the system checks the validity of the formatted equipment id, the desired outcome is that the equipment id is determined to be either valid or invalid based on formatting standards.
💻 Technical Criteria
Given An equipment ID has been processed through the GCCCARFM formatting utility
When The system checks the validity of the formatted equipment ID
Then The equipment ID is determined to be either valid or invalid based on formatting standards
R-GCX016-cbl-02492 Standardize Equipment Format
Process Rules
📊 Business Logic Narrative
When the process 'Standardize Equipment Format' is invoked, and assuming that an equipment id has been validated as correct, when the system standardizes the equipment format, the desired outcome is that the equipment id is formatted according to standard specifications for consistent processing.
💻 Technical Criteria
Given An equipment ID has been validated as correct
When The system standardizes the equipment format
Then The equipment ID is formatted according to standard specifications for consistent processing
R-GCX016-cbl-02493 Update Cargo Record with Car ID
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Car ID' is invoked, and assuming that an equipment id has been standardized and validated, when the system updates the cargo record, the desired outcome is that the cargo record is updated with the standardized car id information from the n7 segment.
💻 Technical Criteria
Given An equipment ID has been standardized and validated
When The system updates the cargo record
Then The cargo record is updated with the standardized car ID information from the N7 segment
R-GCX016-cbl-02494 Log Equipment Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Information' is invoked, and assuming that a cargo record has been successfully updated with equipment information, when the system completes equipment processing, the desired outcome is that equipment information is logged for audit and tracking purposes.
💻 Technical Criteria
Given A cargo record has been successfully updated with equipment information
When The system completes equipment processing
Then Equipment information is logged for audit and tracking purposes
R-GCX016-cbl-02495 Generate Equipment ID Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Equipment ID Error', assuming that an equipment id has failed validation checks, when the system determines the equipment id is invalid, the desired outcome is that an equipment id error is generated and the equipment update is skipped.
💻 Technical Criteria
EXCLUDING An equipment ID has failed validation checks
When The system determines the equipment ID is invalid
Then An equipment ID error is generated and the equipment update is skipped
R-GCX016-cbl-02496 Skip Equipment Update
Process Rules
📊 Business Logic Narrative
When the process 'Skip Equipment Update' is invoked, and assuming that an equipment id error has been generated due to invalid equipment data, when the system processes the error condition, the desired outcome is that the equipment update is skipped and processing continues without updating cargo records.
💻 Technical Criteria
Given An equipment ID error has been generated due to invalid equipment data
When The system processes the error condition
Then The equipment update is skipped and processing continues without updating cargo records
R-GCX016-cbl-02501 Spawn GCT0161E Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT0161E Transaction' is invoked, and assuming that edi 350 message is prepared for a follower manifest, when the system spawns the gct0161e transaction, the desired outcome is that the follower manifest is submitted for independent cargo processing with the prepared message data.
💻 Technical Criteria
Given EDI 350 message is prepared for a follower manifest
When The system spawns the GCT0161E transaction
Then The follower manifest is submitted for independent cargo processing with the prepared message data
R-GCX016-cbl-02505 Status Array Initialization
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Status Array Initialization', assuming that a cargo record that does not have existing s09 status segments, when the system needs to create status tracking for the cargo, the desired outcome is that an empty s09a status array is created and initialized with default values.
💻 Technical Criteria
EXCLUDING A cargo record that does not have existing S09 status segments
When The system needs to create status tracking for the cargo
Then An empty S09A status array is created and initialized with default values
R-GCX016-cbl-02506 Status Array Population
Action Rules
📊 Business Logic Narrative
When the process 'Status Array Population' is invoked, and assuming that a cargo record with existing s09 status segments in the database, when the system needs to load current status information, the desired outcome is that all s09 segments are fetched from gcsuss09 ims segment and loaded into the status array.
💻 Technical Criteria
Given A cargo record with existing S09 status segments in the database
When The system needs to load current status information
Then All S09 segments are fetched from GCSUSS09 IMS segment and loaded into the status array
R-GCX016-cbl-02512 Status Array Persistence
Action Rules
📊 Business Logic Narrative
When the process 'Status Array Persistence' is invoked, and assuming that s09 segments containing updated status information from the status array, when the system persists the changes to the database, the desired outcome is that the cargo records in gccc-cargo-root ims segment are updated with the new status information.
💻 Technical Criteria
Given S09 segments containing updated status information from the status array
When The system persists the changes to the database
Then The cargo records in GCCC-CARGO-ROOT IMS segment are updated with the new status information
R-GCX016-cbl-02513 Extract Car ID from Equipment Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Car ID from Equipment Information' is invoked, and assuming that an n7 equipment segment contains car identification data, when the system needs to extract car id for cargo lookup, the desired outcome is that the car initial and car number are extracted from the n7 segment and combined to form the complete car id.
💻 Technical Criteria
Given An N7 equipment segment contains car identification data
When The system needs to extract car ID for cargo lookup
Then The car initial and car number are extracted from the N7 segment and combined to form the complete car ID
R-GCX016-cbl-02514 Format Car ID Using GCCCARFM Utility
Action Rules
📊 Business Logic Narrative
When the process 'Format Car ID Using GCCCARFM Utility' is invoked, and assuming that car initial and car number have been extracted from equipment data, when the system needs to format the car id for database lookup, the desired outcome is that the gcccarfm utility is called to format the car id into standardized format.
💻 Technical Criteria
Given Car initial and car number have been extracted from equipment data
When The system needs to format the car ID for database lookup
Then The GCCCARFM utility is called to format the car ID into standardized format
R-GCX016-cbl-02515 Car ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Valid?' is invoked, and assuming that a car id has been formatted using the gcccarfm utility, when the system validates the car id for lookup operations, the desired outcome is that the car id is considered valid if it is not spaces and meets format requirements, otherwise the lookup process terminates.
💻 Technical Criteria
Given A car ID has been formatted using the GCCCARFM utility
When The system validates the car ID for lookup operations
Then The car ID is considered valid if it is not spaces and meets format requirements, otherwise the lookup process terminates
R-GCX016-cbl-02516 Build Car Index Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Build Car Index Search Key' is invoked, and assuming that a valid car id has been confirmed, when the system needs to search cargo records by car index, the desired outcome is that the car index search key is built using the car id as the primary search criterion.
💻 Technical Criteria
Given A valid car ID has been confirmed
When The system needs to search cargo records by car index
Then The car index search key is built using the car ID as the primary search criterion
R-GCX016-cbl-02517 Search Cargo Database by Car Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Cargo Database by Car Index' is invoked, and assuming that a car index search key has been constructed, when the system searches the cargo database by car index, the desired outcome is that the system queries the gccc-cargo-root database using the car id index to find matching cargo records.
💻 Technical Criteria
Given A car index search key has been constructed
When The system searches the cargo database by car index
Then The system queries the GCCC-CARGO-ROOT database using the car ID index to find matching cargo records
R-GCX016-cbl-02518 Cargo Found by Car ID?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found by Car ID?' is invoked, and assuming that a car index search has been performed on the cargo database, when the system evaluates the search results, the desired outcome is that if cargo records are found, proceed with validation; if no cargo records are found, attempt broader search methods.
💻 Technical Criteria
Given A car index search has been performed on the cargo database
When The system evaluates the search results
Then If cargo records are found, proceed with validation; if no cargo records are found, attempt broader search methods
R-GCX016-cbl-02519 Validate Cargo Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Record Status' is invoked, and assuming that cargo records have been found using car id index search, when the system validates the cargo record status, the desired outcome is that only cargo records that are not deleted and have valid processing status are considered acceptable for further operations.
💻 Technical Criteria
Given Cargo records have been found using car ID index search
When The system validates the cargo record status
Then Only cargo records that are not deleted and have valid processing status are considered acceptable for further operations
R-GCX016-cbl-02525 Log Car ID Search Results
Process Rules
📊 Business Logic Narrative
When the process 'Log Car ID Search Results' is invoked, and assuming that all car id search methods have been exhausted without finding valid cargo, when the system logs the search results, the desired outcome is that the search attempts and results are recorded for audit purposes before returning no cargo found status.
💻 Technical Criteria
Given All car ID search methods have been exhausted without finding valid cargo
When The system logs the search results
Then The search attempts and results are recorded for audit purposes before returning no cargo found status
R-GCX016-cbl-02526 Return No Cargo Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Return No Cargo Found Status' is invoked, and assuming that all car id search methods have failed to locate valid cargo records, when the system completes the search process, the desired outcome is that a no cargo found status is returned to indicate that cargo lookup by car id was unsuccessful.
💻 Technical Criteria
Given All car ID search methods have failed to locate valid cargo records
When The system completes the search process
Then A no cargo found status is returned to indicate that cargo lookup by car ID was unsuccessful
R-GCX016-cbl-02527 Return Matched Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Return Matched Cargo Record' is invoked, and assuming that a valid cargo record has been found through any of the car id search methods, when the system completes the successful search, the desired outcome is that the matched cargo record is returned with appropriate status for continued processing.
💻 Technical Criteria
Given A valid cargo record has been found through any of the car ID search methods
When The system completes the successful search
Then The matched cargo record is returned with appropriate status for continued processing
R-GCX016-cbl-02528 Proceed with Found Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Proceed with Found Cargo' is invoked, and assuming that a valid cargo record has been successfully returned from car id search, when the system proceeds with cargo processing, the desired outcome is that the found cargo record is used for subsequent business operations and status updates.
💻 Technical Criteria
Given A valid cargo record has been successfully returned from car ID search
When The system proceeds with cargo processing
Then The found cargo record is used for subsequent business operations and status updates
R-GCX016-cbl-02529 Initialize New Cargo Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize New Cargo Record', assuming that a foreign bill does not exist in the system, when the system needs to create a new cargo record, the desired outcome is that initialize a new cargo record structure and clear all fields to default values.
💻 Technical Criteria
EXCLUDING A foreign bill does not exist in the system
When The system needs to create a new cargo record
Then Initialize a new cargo record structure and clear all fields to default values
R-GCX016-cbl-02530 Set Default CPRS/USCS Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default CPRS/USCS Status' is invoked, and assuming that a new cargo record is being created, when the cargo type is cprs, the desired outcome is that set cargo status to 'error' with description 'error'.
💻 Technical Criteria
Given A new cargo record is being created
When The cargo type is CPRS
Then Set cargo status to 'ERROR' with description 'ERROR'
R-GCX016-cbl-02531 Set Default CPRS/USCS Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default CPRS/USCS Status', assuming that a new cargo record is being created, when the cargo type is not cprs, the desired outcome is that set cargo status to 'sent' with description 'sent'.
💻 Technical Criteria
EXCLUDING A new cargo record is being created
When The cargo type is not CPRS
Then Set cargo status to 'SENT' with description 'SENT'
R-GCX016-cbl-02532 Set Default Broker Information
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Broker Information' is invoked, and assuming that a new cargo record is being processed, when the current cargo status is blank or equals 'ack-r', the desired outcome is that set the acknowledgment status to default value 'ack' or 'ack-r'.
💻 Technical Criteria
Given A new cargo record is being processed
When The current cargo status is blank or equals 'ACK-R'
Then Set the acknowledgment status to default value 'ACK' or 'ACK-R'
R-GCX016-cbl-02533 Check Entry Type Code
Decision Rules
📊 Business Logic Narrative
When the process 'Check Entry Type Code' is invoked, and assuming that a new cargo record with disposition codes '1j', '69', or '55', when the entry type code is '61', '62', '63', or '69', the desired outcome is that process as master in-bond entry requiring special customs handling.
💻 Technical Criteria
Given A new cargo record with disposition codes '1J', '69', or '55'
When The entry type code is '61', '62', '63', or '69'
Then Process as master in-bond entry requiring special customs handling
R-GCX016-cbl-02534 Map Transport Type Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Transport Type Codes' is invoked, and assuming that a master in-bond cargo entry, when the entry type code is '61', the desired outcome is that set transport classification to immediate transport.
💻 Technical Criteria
Given A master in-bond cargo entry
When The entry type code is '61'
Then Set transport classification to immediate transport
R-GCX016-cbl-02535 Map Transport Type Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Transport Type Codes' is invoked, and assuming that a master in-bond cargo entry, when the entry type code is '62', the desired outcome is that set transport classification to transport for export.
💻 Technical Criteria
Given A master in-bond cargo entry
When The entry type code is '62'
Then Set transport classification to transport for export
R-GCX016-cbl-02536 Map Transport Type Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Transport Type Codes' is invoked, and assuming that a master in-bond cargo entry, when the entry type code is '63', the desired outcome is that set transport classification to immediate export.
💻 Technical Criteria
Given A master in-bond cargo entry
When The entry type code is '63'
Then Set transport classification to immediate export
R-GCX016-cbl-02537 Map Transport Type Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Transport Type Codes' is invoked, and assuming that a master in-bond cargo entry, when the entry type code is '69', the desired outcome is that set transport classification to us-canada-us movement.
💻 Technical Criteria
Given A master in-bond cargo entry
When The entry type code is '69'
Then Set transport classification to US-Canada-US movement
R-GCX016-cbl-02538 Process Border Entry Type Code 00
Decision Rules
📊 Business Logic Narrative
When the process 'Process Border Entry Type Code 00' is invoked, and assuming that a new cargo entry, when the entry type code is '00', the desired outcome is that process as default border entry with standard customs handling.
💻 Technical Criteria
Given A new cargo entry
When The entry type code is '00'
Then Process as default border entry with standard customs handling
R-GCX016-cbl-02539 Clear Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information' is invoked, and assuming that a border entry with type code '00', when processing the cargo record, the desired outcome is that clear all bond-related fields and information.
💻 Technical Criteria
Given A border entry with type code '00'
When Processing the cargo record
Then Clear all bond-related fields and information
R-GCX016-cbl-02540 Build M10 Manifest Information
Validation Rules
📊 Business Logic Narrative
When the process 'Build M10 Manifest Information' is invoked, and assuming that a cargo record with an entry number, when the entry number starts with 'v', the desired outcome is that place the entry number in the entry number field, otherwise place it in the in-bond control number field.
💻 Technical Criteria
Given A cargo record with an entry number
When The entry number starts with 'V'
Then Place the entry number in the entry number field, otherwise place it in the in-bond control number field
R-GCX016-cbl-02541 Set SCAC Code
Process Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code' is invoked, and assuming that a new cargo record being created, when manifest information contains scac code, the desired outcome is that set the cargo scac code from the manifest scac information.
💻 Technical Criteria
Given A new cargo record being created
When Manifest information contains SCAC code
Then Set the cargo SCAC code from the manifest SCAC information
R-GCX016-cbl-02542 Set Transport Type
Process Rules
📊 Business Logic Narrative
When the process 'Set Transport Type' is invoked, and assuming that a new cargo record being created, when manifest information contains transport type, the desired outcome is that set the cargo transport type from the manifest transport information.
💻 Technical Criteria
Given A new cargo record being created
When Manifest information contains transport type
Then Set the cargo transport type from the manifest transport information
R-GCX016-cbl-02543 Set Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Country Code' is invoked, and assuming that a new cargo record being created, when manifest information contains country code, the desired outcome is that set the cargo country code from the manifest country information.
💻 Technical Criteria
Given A new cargo record being created
When Manifest information contains country code
Then Set the cargo country code from the manifest country information
R-GCX016-cbl-02544 Set Vessel/Flight Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Vessel/Flight Information' is invoked, and assuming that a new cargo record being created, when manifest information contains vessel or flight details, the desired outcome is that set the cargo vessel/flight information from the manifest transportation details.
💻 Technical Criteria
Given A new cargo record being created
When Manifest information contains vessel or flight details
Then Set the cargo vessel/flight information from the manifest transportation details
R-GCX016-cbl-02545 Set Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Quantity Information' is invoked, and assuming that a new cargo record being created, when manifest information contains quantity details, the desired outcome is that set the cargo quantity information from the manifest quantity data.
💻 Technical Criteria
Given A new cargo record being created
When Manifest information contains quantity details
Then Set the cargo quantity information from the manifest quantity data
R-GCX016-cbl-02546 Set Manifest Type Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest Type Code' is invoked, and assuming that a new cargo record being created, when processing manifest information, the desired outcome is that set the manifest type code based on the manifest classification.
💻 Technical Criteria
Given A new cargo record being created
When Processing manifest information
Then Set the manifest type code based on the manifest classification
R-GCX016-cbl-02547 Set Condition Response Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Condition Response Code' is invoked, and assuming that a new cargo record being created, when processing cargo conditions, the desired outcome is that set the condition response code based on cargo processing requirements.
💻 Technical Criteria
Given A new cargo record being created
When Processing cargo conditions
Then Set the condition response code based on cargo processing requirements
R-GCX016-cbl-02548 Store New Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Store New Cargo Record' is invoked, and assuming that a fully populated new cargo record, when all required information has been set, the desired outcome is that insert the new cargo record into the system database.
💻 Technical Criteria
Given A fully populated new cargo record
When All required information has been set
Then Insert the new cargo record into the system database
R-GCX016-cbl-02549 Format Car ID using GCCCARFM Utility
Validation Rules
📊 Business Logic Narrative
When the process 'Format Car ID using GCCCARFM Utility' is invoked, and assuming that a car id is received for cargo matching, when the system formats the car id using gcccarfm utility, the desired outcome is that the car id format is validated and standardized for subsequent matching operations.
💻 Technical Criteria
Given A car ID is received for cargo matching
When The system formats the car ID using GCCCARFM utility
Then The car ID format is validated and standardized for subsequent matching operations
R-GCX016-cbl-02552 Search Cargo Database by Car ID Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Cargo Database by Car ID Index' is invoked, and assuming that partial matching is required due to exact match failure, when the system searches the cargo database using car id index, the desired outcome is that potential cargo matches are identified based on car id indexing.
💻 Technical Criteria
Given Partial matching is required due to exact match failure
When The system searches the cargo database using car ID index
Then Potential cargo matches are identified based on car ID indexing
R-GCX016-cbl-02553 Validate Matched Cargo Record
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Matched Cargo Record' is invoked, and assuming that a partial match has been found in the cargo database, when the system validates the matched cargo record, the desired outcome is that if the cargo record is valid, it is accepted as a match, otherwise it is rejected.
💻 Technical Criteria
Given A partial match has been found in the cargo database
When The system validates the matched cargo record
Then If the cargo record is valid, it is accepted as a match, otherwise it is rejected
R-GCX016-cbl-02554 Log Car ID Match Failure
Process Rules
📊 Business Logic Narrative
When the process 'Log Car ID Match Failure' is invoked, and assuming that no valid cargo match was found using either exact or partial matching, when the system logs the car id match failure, the desired outcome is that the failure is recorded with relevant details for audit trail.
💻 Technical Criteria
Given No valid cargo match was found using either exact or partial matching
When The system logs the car ID match failure
Then The failure is recorded with relevant details for audit trail
R-GCX016-cbl-02555 Log Invalid Car ID Format Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Invalid Car ID Format Error', assuming that a car id fails format validation, when the system encounters an invalid car id format, the desired outcome is that the invalid format error is logged for data quality monitoring.
💻 Technical Criteria
EXCLUDING A car ID fails format validation
When The system encounters an invalid car ID format
Then The invalid format error is logged for data quality monitoring
R-GCX016-cbl-02556 Return No Match Found Status
Decision Rules
📊 Business Logic Narrative
When the process 'Return No Match Found Status' is invoked, and assuming that all matching attempts have failed or car id format is invalid, when the system completes the matching process without finding valid cargo, the desired outcome is that a no match found status is returned to the calling process.
💻 Technical Criteria
Given All matching attempts have failed or car ID format is invalid
When The system completes the matching process without finding valid cargo
Then A no match found status is returned to the calling process
R-GCX016-cbl-02572 Prepare Log Message with Cargo Details
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Message with Cargo Details' is invoked, and assuming that a cargo processing transaction is being executed, when the system needs to log cargo information for audit purposes, the desired outcome is that the system shall prepare a log message containing cargo id, current status, processing context, and transaction details.
💻 Technical Criteria
Given A cargo processing transaction is being executed
When The system needs to log cargo information for audit purposes
Then The system shall prepare a log message containing cargo ID, current status, processing context, and transaction details
R-GCX016-cbl-02573 Include Disposition Code Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Disposition Code Information' is invoked, and assuming that a cargo processing transaction involves disposition code changes, when the system is preparing audit log information, the desired outcome is that the system shall include the disposition code, its description, and the associated processing action in the log message.
💻 Technical Criteria
Given A cargo processing transaction involves disposition code changes
When The system is preparing audit log information
Then The system shall include the disposition code, its description, and the associated processing action in the log message
R-GCX016-cbl-02574 Add Cargo Quantities and Status
Process Rules
📊 Business Logic Narrative
When the process 'Add Cargo Quantities and Status' is invoked, and assuming that cargo processing involves quantity or status changes, when the system is creating an audit log entry, the desired outcome is that the system shall include total quantities, released quantities, current cargo status, and any status changes in the log message.
💻 Technical Criteria
Given Cargo processing involves quantity or status changes
When The system is creating an audit log entry
Then The system shall include total quantities, released quantities, current cargo status, and any status changes in the log message
R-GCX016-cbl-02575 Format Processing Timestamps
Process Rules
📊 Business Logic Narrative
When the process 'Format Processing Timestamps' is invoked, and assuming that a cargo processing transaction is being logged, when the system needs to record timing information, the desired outcome is that the system shall format and include current processing timestamp, transaction start time, and any relevant date/time information in the log message.
💻 Technical Criteria
Given A cargo processing transaction is being logged
When The system needs to record timing information
Then The system shall format and include current processing timestamp, transaction start time, and any relevant date/time information in the log message
R-GCX016-cbl-02576 Include Security Information
Authorization Rules
📊 Business Logic Narrative
When the process 'Include Security Information' is invoked, and assuming that a user is performing cargo processing operations, when the system is creating audit log entries, the desired outcome is that the system shall include user identification, security context, and authorization level information in the log message.
💻 Technical Criteria
Given A user is performing cargo processing operations
When The system is creating audit log entries
Then The system shall include user identification, security context, and authorization level information in the log message
R-GCX016-cbl-02577 Add Transaction Audit Trail Data
Process Rules
📊 Business Logic Narrative
When the process 'Add Transaction Audit Trail Data' is invoked, and assuming that a cargo processing transaction is being executed, when the system needs to create complete audit trail information, the desired outcome is that the system shall add transaction type, source system, processing context, and related audit trail data to the log message.
💻 Technical Criteria
Given A cargo processing transaction is being executed
When The system needs to create complete audit trail information
Then The system shall add transaction type, source system, processing context, and related audit trail data to the log message
R-GCX016-cbl-02579 Spawn GCT1051E Logging Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Logging Transaction' is invoked, and assuming that a log message is prepared with all required parameters and cargo processing information, when the system needs to record the audit log entry, the desired outcome is that the system shall spawn gct1051e logging transaction excluding disposition codes 54 and 55 from logging.
💻 Technical Criteria
Given A log message is prepared with all required parameters and cargo processing information
When The system needs to record the audit log entry
Then The system shall spawn GCT1051E logging transaction excluding disposition codes 54 and 55 from logging
R-GCX016-cbl-02583 K1 Segment Type?
Decision Rules
📊 Business Logic Narrative
When the process 'K1 Segment Type?' is invoked, and assuming that a k1 segment is received for processing, when the system evaluates the segment context and operational scope, the desired outcome is that the k1 segment is classified as either train-level processing or cargo-level processing based on the current processing context.
💻 Technical Criteria
Given A K1 segment is received for processing
When The system evaluates the segment context and operational scope
Then The K1 segment is classified as either train-level processing or cargo-level processing based on the current processing context
R-GCX016-cbl-02587 Store K1 Comment in Array
Process Rules
📊 Business Logic Narrative
When the process 'Store K1 Comment in Array' is invoked, and assuming that a k1 comment has been validated as acceptable, when the system processes the valid comment for storage, the desired outcome is that the k1 comment is stored in the comment array for later association with cargo records.
💻 Technical Criteria
Given A K1 comment has been validated as acceptable
When The system processes the valid comment for storage
Then The K1 comment is stored in the comment array for later association with cargo records
R-GCX016-cbl-02589 Check K1 Comment Count
Validation Rules
📊 Business Logic Narrative
When the process 'Check K1 Comment Count' is invoked, and assuming that all k1 segments have been processed and stored in array, when the system counts the total number of k1 comments collected, the desired outcome is that the comment count is evaluated against maximum allowed limit of 4 comments per cargo.
💻 Technical Criteria
Given All K1 segments have been processed and stored in array
When The system counts the total number of K1 comments collected
Then The comment count is evaluated against maximum allowed limit of 4 comments per cargo
R-GCX016-cbl-02590 Count ≤ 4?
Policy Rules
📊 Business Logic Narrative
When the process 'Count ≤ 4?' is invoked, and assuming that k1 comment count has been determined, when the system evaluates if comment count is less than or equal to 4, the desired outcome is that comments are accepted for cargo association if count is 4 or less, or processing completes if limit exceeded.
💻 Technical Criteria
Given K1 comment count has been determined
When The system evaluates if comment count is less than or equal to 4
Then Comments are accepted for cargo association if count is 4 or less, or processing completes if limit exceeded
R-GCX016-cbl-02591 Add K1 Comment to Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Add K1 Comment to Cargo Record' is invoked, and assuming that k1 comments have passed count validation (≤ 4), when the system processes comments for cargo association, the desired outcome is that k1 comments are added to the cargo record for inclusion in disposition code processing.
💻 Technical Criteria
Given K1 comments have passed count validation (≤ 4)
When The system processes comments for cargo association
Then K1 comments are added to the cargo record for inclusion in disposition code processing
R-GCX016-cbl-02592 Log K1 Remarks with Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Log K1 Remarks with Cargo Information' is invoked, and assuming that k1 comments have been added to cargo record, when the system processes cargo with associated k1 remarks, the desired outcome is that k1 remarks are logged with cargo identification information for audit trail.
💻 Technical Criteria
Given K1 comments have been added to cargo record
When The system processes cargo with associated K1 remarks
Then K1 remarks are logged with cargo identification information for audit trail
R-GCX016-cbl-02593 Associate K1 with Disposition Code
Process Rules
📊 Business Logic Narrative
When the process 'Associate K1 with Disposition Code' is invoked, and assuming that k1 remarks have been logged with cargo information, when the system processes disposition codes for the cargo, the desired outcome is that k1 remarks are associated with the relevant disposition code for customs release processing.
💻 Technical Criteria
Given K1 remarks have been logged with cargo information
When The system processes disposition codes for the cargo
Then K1 remarks are associated with the relevant disposition code for customs release processing
R-GCX016-cbl-02594 Update Cargo Processing Log
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Processing Log' is invoked, and assuming that k1 remarks have been associated with disposition code, when the system completes k1 processing for cargo, the desired outcome is that cargo processing log is updated to record k1 remarks inclusion in disposition code processing.
💻 Technical Criteria
Given K1 remarks have been associated with disposition code
When The system completes K1 processing for cargo
Then Cargo processing log is updated to record K1 remarks inclusion in disposition code processing
R-GCX016-cbl-02595 Reject Invalid Comment
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Reject Invalid Comment', assuming that a k1 comment has failed validation criteria, when the system processes the invalid comment, the desired outcome is that the k1 comment is rejected and excluded from cargo processing.
💻 Technical Criteria
EXCLUDING A K1 comment has failed validation criteria
When The system processes the invalid comment
Then The K1 comment is rejected and excluded from cargo processing
R-GCX016-cbl-02597 Is this CPRS Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Is this CPRS Cargo?' is invoked, and assuming that a cargo lookup has failed and cargo record information is available, when the system evaluates the cargo type to determine if it is cprs cargo, the desired outcome is that the system routes to cprs-specific error handling if cargo is cprs type, otherwise skips specialized error processing.
💻 Technical Criteria
Given A cargo lookup has failed and cargo record information is available
When The system evaluates the cargo type to determine if it is CPRS cargo
Then The system routes to CPRS-specific error handling if cargo is CPRS type, otherwise skips specialized error processing
R-GCX016-cbl-02598 Generate CPRS Cargo Not Found Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate CPRS Cargo Not Found Error Message' is invoked, and assuming that a cprs cargo record lookup has failed, when the system needs to generate an error notification, the desired outcome is that the system creates a cprs-specific 'cargo not found' error message and increments the error counter.
💻 Technical Criteria
Given A CPRS cargo record lookup has failed
When The system needs to generate an error notification
Then The system creates a CPRS-specific 'cargo not found' error message and increments the error counter
R-GCX016-cbl-02601 Add Disposition Code Information
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Disposition Code Information', assuming that a cprs cargo not found error is being formatted, when a disposition code was being processed for the missing cargo, the desired outcome is that the system includes the disposition code in the error message to identify what customs action was attempted.
💻 Technical Criteria
EXCLUDING A CPRS cargo not found error is being formatted
When A disposition code was being processed for the missing cargo
Then The system includes the disposition code in the error message to identify what customs action was attempted
R-GCX016-cbl-02602 Set Error Message Type
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Message Type', assuming that a cprs cargo not found error message has been formatted, when the system needs to classify the message for routing, the desired outcome is that the system sets the message type as 'error' to ensure proper handling and routing.
💻 Technical Criteria
EXCLUDING A CPRS cargo not found error message has been formatted
When The system needs to classify the message for routing
Then The system sets the message type as 'ERROR' to ensure proper handling and routing
R-GCX016-cbl-02604 Log Error for Audit Trail
Process Rules
📊 Business Logic Narrative
When the process 'Log Error for Audit Trail' is invoked, and assuming that a cprs error message has been routed to destinations, when the system completes error processing, the desired outcome is that the system logs the error occurrence for audit trail and sets the cargo not found flag for downstream processing.
💻 Technical Criteria
Given A CPRS error message has been routed to destinations
When The system completes error processing
Then The system logs the error occurrence for audit trail and sets the cargo not found flag for downstream processing
R-GCX016-cbl-02605 Continue Processing Next Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Next Cargo' is invoked, and assuming that cprs error processing has been completed or skipped, when the system finishes error handling for current cargo, the desired outcome is that the system continues processing the next cargo record in the queue.
💻 Technical Criteria
Given CPRS error processing has been completed or skipped
When The system finishes error handling for current cargo
Then The system continues processing the next cargo record in the queue
R-GCX016-cbl-02606 Skip Error Generation
Decision Rules
📊 Business Logic Narrative
When the process 'Skip Error Generation' is invoked, and assuming that a cargo lookup has failed, when the cargo is determined to be non-cprs cargo type, the desired outcome is that the system skips cprs-specific error message generation and continues with standard processing.
💻 Technical Criteria
Given A cargo lookup has failed
When The cargo is determined to be non-CPRS cargo type
Then The system skips CPRS-specific error message generation and continues with standard processing
R-GCX016-cbl-02611 Continue Processing with Warning Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue Processing with Warning Flag', assuming that a train not arrived warning has been generated and routed, when the system continues with cargo processing operations, the desired outcome is that processing continues with appropriate warning flags set to indicate the train arrival issue.
💻 Technical Criteria
EXCLUDING A train not arrived warning has been generated and routed
When The system continues with cargo processing operations
Then Processing continues with appropriate warning flags set to indicate the train arrival issue
R-GCX016-cbl-02612 Normal Train Processing
Process Rules
📊 Business Logic Narrative
When the process 'Normal Train Processing' is invoked, and assuming that a train is found to be properly arrived in the uscs system, when the system processes the train request, the desired outcome is that normal cargo processing operations proceed without generating warning messages.
💻 Technical Criteria
Given A train is found to be properly arrived in the USCS system
When The system processes the train request
Then Normal cargo processing operations proceed without generating warning messages
R-GCX016-cbl-02628 Does Cargo Have Existing S09 Status Segments?
Validation Rules
📊 Business Logic Narrative
When the process 'Does Cargo Have Existing S09 Status Segments?' is invoked, and assuming that a cargo record is identified for status array creation, when the system checks for existing s09 status segments for the cargo, the desired outcome is that the system identifies whether status segments exist or need to be created.
💻 Technical Criteria
Given A cargo record is identified for status array creation
When The system checks for existing S09 status segments for the cargo
Then The system identifies whether status segments exist or need to be created
R-GCX016-cbl-02629 Retrieve Existing S09 Segments from Database
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Existing S09 Segments from Database' is invoked, and assuming that a cargo record has existing s09 status segments in the database, when the system needs to work with cargo status information, the desired outcome is that the system retrieves all existing s09 status segments for the cargo record.
💻 Technical Criteria
Given A cargo record has existing S09 status segments in the database
When The system needs to work with cargo status information
Then The system retrieves all existing S09 status segments for the cargo record
R-GCX016-cbl-02630 Initialize Empty Status Array Structure
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize Empty Status Array Structure', assuming that a cargo record does not have existing s09 status segments, when the system needs to create status tracking for the cargo, the desired outcome is that the system initializes an empty status array structure.
💻 Technical Criteria
EXCLUDING A cargo record does not have existing S09 status segments
When The system needs to create status tracking for the cargo
Then The system initializes an empty status array structure
R-GCX016-cbl-02631 Set Array Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Set Array Counter to Zero' is invoked, and assuming that a new status array is being created for a cargo record, when the system initializes the array structure, the desired outcome is that the array counter is set to zero to indicate no status entries exist.
💻 Technical Criteria
Given A new status array is being created for a cargo record
When The system initializes the array structure
Then The array counter is set to zero to indicate no status entries exist
R-GCX016-cbl-02634 Mark Array as New/Empty
Process Rules
📊 Business Logic Narrative
When the process 'Mark Array as New/Empty' is invoked, and assuming that a status array has been created and configured, when the system needs to track the array state, the desired outcome is that the array is marked as new and empty for proper processing.
💻 Technical Criteria
Given A status array has been created and configured
When The system needs to track the array state
Then The array is marked as new and empty for proper processing
R-GCX016-cbl-02636 Status Array Ready for Use
Process Rules
📊 Business Logic Narrative
When the process 'Status Array Ready for Use' is invoked, and assuming that a status array has been created and prepared for disposition code processing, when the system completes array initialization, the desired outcome is that the status array is ready for use in cargo status operations.
💻 Technical Criteria
Given A status array has been created and prepared for disposition code processing
When The system completes array initialization
Then The status array is ready for use in cargo status operations
R-GCX016-cbl-02637 Status Array Has Data?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Array Has Data?' is invoked, and assuming that a cargo status array (s09a-array) exists for processing, when the system checks if the status array has any data elements, the desired outcome is that if the array is empty or has no valid entries, skip processing and complete the operation, otherwise proceed with status array processing.
💻 Technical Criteria
Given A cargo status array (S09A-ARRAY) exists for processing
When The system checks if the status array has any data elements
Then If the array is empty or has no valid entries, skip processing and complete the operation, otherwise proceed with status array processing
R-GCX016-cbl-02639 More Array Elements?
Process Rules
📊 Business Logic Narrative
When the process 'More Array Elements?' is invoked, and assuming that a status array with multiple elements exists, when processing status array elements sequentially, the desired outcome is that continue processing if more array elements exist, otherwise proceed to update the cargo root record.
💻 Technical Criteria
Given A status array with multiple elements exists
When Processing status array elements sequentially
Then Continue processing if more array elements exist, otherwise proceed to update the cargo root record
R-GCX016-cbl-02650 Update Cargo Root with New Status Count
Definitional Rules
📊 Business Logic Narrative
When the process 'Update Cargo Root with New Status Count' is invoked, and assuming that all status array elements have been processed and s09 segments created, when updating the cargo root record, the desired outcome is that set the status segment count in the cargo root to match the number of s09 segments created.
💻 Technical Criteria
Given All status array elements have been processed and S09 segments created
When Updating the cargo root record
Then Set the status segment count in the cargo root to match the number of S09 segments created
R-GCX016-cbl-02651 Replace Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Replace Cargo Record in Database' is invoked, and assuming that the cargo root record has been updated with new status information, when replacing the cargo record in the database, the desired outcome is that update the existing cargo record in the gcsusrt cargo root database with the modified data.
💻 Technical Criteria
Given The cargo root record has been updated with new status information
When Replacing the cargo record in the database
Then Update the existing cargo record in the GCSUSRT cargo root database with the modified data
R-GCX016-cbl-02652 Database Update Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Update Successful?' is invoked, and assuming that a cargo record replacement operation has been attempted, when checking the database update result, the desired outcome is that if the update was successful, proceed to logging, otherwise handle the database error.
💻 Technical Criteria
Given A cargo record replacement operation has been attempted
When Checking the database update result
Then If the update was successful, proceed to logging, otherwise handle the database error
R-GCX016-cbl-02653 Log Status Array Update
Action Rules
📊 Business Logic Narrative
When the process 'Log Status Array Update' is invoked, and assuming that the cargo record and s09 segments have been successfully updated in the database, when completing the status array replacement process, the desired outcome is that create a log entry documenting the successful status array update operation.
💻 Technical Criteria
Given The cargo record and S09 segments have been successfully updated in the database
When Completing the status array replacement process
Then Create a log entry documenting the successful status array update operation
R-GCX016-cbl-02672 S09 Status Segments Exist?
Decision Rules
📊 Business Logic Narrative
When the process 'S09 Status Segments Exist?' is invoked, and assuming that a cargo record has been identified for processing, when the system checks for existing s09 status segments associated with the cargo record, the desired outcome is that the system identifies whether s09 segments exist and routes processing accordingly.
💻 Technical Criteria
Given A cargo record has been identified for processing
When The system checks for existing S09 status segments associated with the cargo record
Then The system identifies whether S09 segments exist and routes processing accordingly
R-GCX016-cbl-02673 Fetch Existing S09 Segments from Database
Action Rules
📊 Business Logic Narrative
When the process 'Fetch Existing S09 Segments from Database' is invoked, and assuming that s09 status segments exist for the cargo record in the database, when the system needs to load existing status information, the desired outcome is that the system fetches all s09 segments associated with the cargo record from gcsuss09 ims segment.
💻 Technical Criteria
Given S09 status segments exist for the cargo record in the database
When The system needs to load existing status information
Then The system fetches all S09 segments associated with the cargo record from GCSUSS09 IMS segment
R-GCX016-cbl-02674 Initialize Empty S09A Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Empty S09A Status Array' is invoked, and assuming that no s09 status segments exist for the cargo record, when the system needs to create a new status array for processing, the desired outcome is that the system initializes an empty s09a status array structure.
💻 Technical Criteria
Given No S09 status segments exist for the cargo record
When The system needs to create a new status array for processing
Then The system initializes an empty S09A status array structure
R-GCX016-cbl-02675 Set Array Element Count to Zero
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Array Element Count to Zero' is invoked, and assuming that an empty s09a status array has been initialized, when the system sets up the array structure properties, the desired outcome is that the array element count is set to zero to reflect no existing status entries.
💻 Technical Criteria
Given An empty S09A status array has been initialized
When The system sets up the array structure properties
Then The array element count is set to zero to reflect no existing status entries
R-GCX016-cbl-02677 Set Default Array Properties
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Array Properties' is invoked, and assuming that the status array memory structure has been allocated, when the system configures the array for cargo status operations, the desired outcome is that the system sets default properties and characteristics for the status array.
💻 Technical Criteria
Given The status array memory structure has been allocated
When The system configures the array for cargo status operations
Then The system sets default properties and characteristics for the status array
R-GCX016-cbl-02679 Status Array Ready for Processing
Validation Rules
📊 Business Logic Narrative
When the process 'Status Array Ready for Processing' is invoked, and assuming that the status array has been either fetched from existing segments or newly initialized, when all array setup operations have been completed, the desired outcome is that the status array is ready for cargo status processing operations.
💻 Technical Criteria
Given The status array has been either fetched from existing segments or newly initialized
When All array setup operations have been completed
Then The status array is ready for cargo status processing operations
R-GCX016-cbl-02680 Initialize S09A Array Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize S09A Array Counter to Zero' is invoked, and assuming that a cargo record requires status information to be loaded, when the status array population process begins, the desired outcome is that the s09a array counter is set to zero to start fresh population.
💻 Technical Criteria
Given A cargo record requires status information to be loaded
When The status array population process begins
Then The S09A array counter is set to zero to start fresh population
R-GCX016-cbl-02681 Call GCCUSIO to Get First S09 Status Segment
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO to Get First S09 Status Segment' is invoked, and assuming that a cargo record exists in the system with potential status segments, when the system needs to load status information, the desired outcome is that the system calls gccusio to retrieve the first s09 status segment for the cargo.
💻 Technical Criteria
Given A cargo record exists in the system with potential status segments
When The system needs to load status information
Then The system calls GCCUSIO to retrieve the first S09 status segment for the cargo
R-GCX016-cbl-02687 Call GCCUSIO to Get Next S09 Status Segment
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO to Get Next S09 Status Segment' is invoked, and assuming that the array has capacity for more elements and previous segments have been processed, when additional status segments need to be retrieved, the desired outcome is that the system calls gccusio to get the next s09 status segment for the same cargo.
💻 Technical Criteria
Given The array has capacity for more elements and previous segments have been processed
When Additional status segments need to be retrieved
Then The system calls GCCUSIO to get the next S09 status segment for the same cargo
R-GCX016-cbl-02695 Status Entries Exist?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Entries Exist?' is invoked, and assuming that number of status entries has been calculated, when the system checks if status entries exist, the desired outcome is that if status entries exist, proceed with s09 segment replacement, otherwise proceed directly to cargo record update.
💻 Technical Criteria
Given Number of status entries has been calculated
When The system checks if status entries exist
Then If status entries exist, proceed with S09 segment replacement, otherwise proceed directly to cargo record update
R-GCX016-cbl-02697 Update Cargo Root Record Status Flags
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Root Record Status Flags' is invoked, and assuming that s09 segment has been updated or no status entries exist, when the system updates cargo root record status flags, the desired outcome is that set appropriate status flags in the cargo root record based on the final status array analysis.
💻 Technical Criteria
Given S09 segment has been updated or no status entries exist
When The system updates cargo root record status flags
Then Set appropriate status flags in the cargo root record based on the final status array analysis
R-GCX016-cbl-02698 Replace GCSUSRT Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Replace GCSUSRT Cargo Record' is invoked, and assuming that cargo root record status flags have been updated, when the system replaces the gcsusrt cargo record, the desired outcome is that update the database cargo record with all modified fields including status, quantities, and processing flags.
💻 Technical Criteria
Given Cargo root record status flags have been updated
When The system replaces the GCSUSRT cargo record
Then Update the database cargo record with all modified fields including status, quantities, and processing flags
R-GCX016-cbl-02699 Database Update Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Update Successful?' is invoked, and assuming that cargo record replacement has been attempted, when the system checks if the database update was successful, the desired outcome is that if successful, proceed to log changes, otherwise handle database error and retry operation.
💻 Technical Criteria
Given Cargo record replacement has been attempted
When The system checks if the database update was successful
Then If successful, proceed to log changes, otherwise handle database error and retry operation
R-GCX016-cbl-02710 Extract Removal Flag
Process Rules
📊 Business Logic Narrative
When the process 'Extract Removal Flag' is invoked, and assuming that disposition code record is available from the dc table, when the system processes removal-related information, the desired outcome is that the removal flag is extracted to determine whether existing disposition codes should be removed from cargo status.
💻 Technical Criteria
Given Disposition code record is available from the DC table
When The system processes removal-related information
Then The removal flag is extracted to determine whether existing disposition codes should be removed from cargo status
R-GCX016-cbl-02718 Search Status Array for Counterpart Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Counterpart Codes' is invoked, and assuming that a counterpart code exists for the current disposition code, when the system searches through all entries in the cargo status array, the desired outcome is that the system identifies all occurrences of the counterpart disposition code in the array.
💻 Technical Criteria
Given A counterpart code exists for the current disposition code
When The system searches through all entries in the cargo status array
Then The system identifies all occurrences of the counterpart disposition code in the array
R-GCX016-cbl-02725 Compact Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Array Elements' is invoked, and assuming that counterpart codes have been removed from the status array, when the system compacts the array to eliminate empty positions, the desired outcome is that all remaining status entries are moved to fill gaps and maintain array integrity.
💻 Technical Criteria
Given Counterpart codes have been removed from the status array
When The system compacts the array to eliminate empty positions
Then All remaining status entries are moved to fill gaps and maintain array integrity
R-GCX016-cbl-02727 Status Information Code Processing Start
Process Rules
📊 Business Logic Narrative
When the process 'Status Information Code Processing Start' is invoked, and assuming that a disposition code is being processed for cargo status update, when the system initiates status information code processing, the desired outcome is that the system should begin evaluating the disposition code type and prepare for status array updates.
💻 Technical Criteria
Given A disposition code is being processed for cargo status update
When The system initiates status information code processing
Then The system should begin evaluating the disposition code type and prepare for status array updates
R-GCX016-cbl-02735 Skip Processing - No Duplicate Entry
Process Rules
📊 Business Logic Narrative
When the process 'Skip Processing - No Duplicate Entry' is invoked, and assuming that a status information code already exists in the cargo status array, when the system determines that duplicate processing should be skipped, the desired outcome is that the system should bypass the addition process and continue to the next disposition code processing.
💻 Technical Criteria
Given A status information code already exists in the cargo status array
When The system determines that duplicate processing should be skipped
Then The system should bypass the addition process and continue to the next disposition code processing
R-GCX016-cbl-02736 Add Status Info Code to Array
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Status Info Code to Array', assuming that a status information code does not exist in the cargo status array, when the system adds the new status information code to the s09a array, the desired outcome is that the system should successfully insert the status code with appropriate sequence and occurrence numbers.
💻 Technical Criteria
EXCLUDING A status information code does not exist in the cargo status array
When The system adds the new status information code to the S09A array
Then The system should successfully insert the status code with appropriate sequence and occurrence numbers
R-GCX016-cbl-02737 Set Status Information Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Status Information Flag' is invoked, and assuming that a status information code has been added to the status array, when the system sets the status information flag, the desired outcome is that the system should mark the cargo record as having received status information updates.
💻 Technical Criteria
Given A status information code has been added to the status array
When The system sets the status information flag
Then The system should mark the cargo record as having received status information updates
R-GCX016-cbl-02738 Preserve Original Cargo Quantities
Policy Rules
📊 Business Logic Narrative
When the process 'Preserve Original Cargo Quantities' is invoked, and assuming that a status information code is being processed, when the system processes the status update, the desired outcome is that the system should maintain all original cargo quantities unchanged as status information codes are informational only.
💻 Technical Criteria
Given A status information code is being processed
When The system processes the status update
Then The system should maintain all original cargo quantities unchanged as status information codes are informational only
R-GCX016-cbl-02740 Log Status Information Update
Process Rules
📊 Business Logic Narrative
When the process 'Log Status Information Update' is invoked, and assuming that a status information code has been successfully added to the cargo status array, when the system logs the status information update, the desired outcome is that the system should record the status change with timestamp and disposition code details for audit purposes.
💻 Technical Criteria
Given A status information code has been successfully added to the cargo status array
When The system logs the status information update
Then The system should record the status change with timestamp and disposition code details for audit purposes
R-GCX016-cbl-02754 Compact Status Array After Removal
Process Rules
📊 Business Logic Narrative
When the process 'Compact Status Array After Removal' is invoked, and assuming that counterpart codes have been removed from the status array, when the system compacts the array structure, the desired outcome is that the status array is reorganized without empty positions and maintains proper sequencing.
💻 Technical Criteria
Given Counterpart codes have been removed from the status array
When The system compacts the array structure
Then The status array is reorganized without empty positions and maintains proper sequencing
R-GCX016-cbl-02756 Set Released Flag in Status Element
Action Rules
📊 Business Logic Narrative
When the process 'Set Released Flag in Status Element' is invoked, and assuming that a release status code has been added to the array, when the system sets the release flag in the status element, the desired outcome is that the status element is marked as released for cargo processing.
💻 Technical Criteria
Given A release status code has been added to the array
When The system sets the release flag in the status element
Then The status element is marked as released for cargo processing
R-GCX016-cbl-02758 Set Quantity Action if Required
Decision Rules
📊 Business Logic Narrative
When the process 'Set Quantity Action if Required' is invoked, and assuming that a release status code has been processed with location information, when the system determines if quantity action is required, the desired outcome is that quantity action flags are set if the release code impacts cargo release quantities.
💻 Technical Criteria
Given A release status code has been processed with location information
When The system determines if quantity action is required
Then Quantity action flags are set if the release code impacts cargo release quantities
R-GCX016-cbl-02764 Search Status Array for Counterpart Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Counterpart Codes' is invoked, and assuming that an information code with removal processing is being executed and a status array exists for the cargo, when the system searches for counterpart codes in the status array, the desired outcome is that all matching counterpart codes should be identified and flagged for removal.
💻 Technical Criteria
Given An information code with removal processing is being executed AND a status array exists for the cargo
When The system searches for counterpart codes in the status array
Then All matching counterpart codes should be identified and flagged for removal
R-GCX016-cbl-02767 Check for Existing Information Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Existing Information Code' is invoked, and assuming that a new informational status code is being added to the cargo status array, when the same information code already exists in the status array, the desired outcome is that the system should skip adding the duplicate entry and maintain the existing code.
💻 Technical Criteria
Given A new informational status code is being added to the cargo status array
When The same information code already exists in the status array
Then The system should skip adding the duplicate entry and maintain the existing code
R-GCX016-cbl-02769 Update Cargo Status Flags
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Flags' is invoked, and assuming that an informational status code has been successfully added to the cargo status array, when the processing is complete, the desired outcome is that the system should update the cargo status flags to reflect the current state including the new informational status.
💻 Technical Criteria
Given An informational status code has been successfully added to the cargo status array
When The processing is complete
Then The system should update the cargo status flags to reflect the current state including the new informational status
R-GCX016-cbl-02770 Initialize Status Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Status Flags' is invoked, and assuming that a cargo record requires status analysis, when the status array analysis process begins, the desired outcome is that all status flags (hold, release, ptt, proceed, arrival, export, fda hold) are set to false and quantity counters are reset to zero.
💻 Technical Criteria
Given A cargo record requires status analysis
When The status array analysis process begins
Then All status flags (hold, release, PTT, proceed, arrival, export, FDA hold) are set to false and quantity counters are reset to zero
R-GCX016-cbl-02771 Scan S09A Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Scan S09A Status Array' is invoked, and assuming that the s09a status array contains status entries for a cargo record, when status analysis is performed, the desired outcome is that each array element is examined sequentially until all elements are processed.
💻 Technical Criteria
Given The S09A status array contains status entries for a cargo record
When Status analysis is performed
Then Each array element is examined sequentially until all elements are processed
R-GCX016-cbl-02780 Set PTT Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set PTT Status Flag' is invoked, and assuming that a ptt disposition code has been identified, when the ptt status is processed, the desired outcome is that the ptt status flag is set to true and the ptt quantity is validated against cargo requirements.
💻 Technical Criteria
Given A PTT disposition code has been identified
When The PTT status is processed
Then The PTT status flag is set to true and the PTT quantity is validated against cargo requirements
R-GCX016-cbl-02784 Set Arrival Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Arrival Status Flag' is invoked, and assuming that an arrival disposition code has been identified, when the arrival status is processed, the desired outcome is that the arrival status flag is set to true to indicate cargo has reached its destination.
💻 Technical Criteria
Given An arrival disposition code has been identified
When The arrival status is processed
Then The arrival status flag is set to true to indicate cargo has reached its destination
R-GCX016-cbl-02786 Set Export Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Status Flag' is invoked, and assuming that an export disposition code has been identified, when the export status is processed, the desired outcome is that the export status flag is set to true to indicate cargo is being exported.
💻 Technical Criteria
Given An export disposition code has been identified
When The export status is processed
Then The export status flag is set to true to indicate cargo is being exported
R-GCX016-cbl-02789 Determine Final Cargo Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Final Cargo Status' is invoked, and assuming that all status flags have been analyzed from the s09a array, when the final cargo status needs to be determined, the desired outcome is that the system applies priority logic where hold statuses take precedence over release statuses, and specific hold types are prioritized based on business rules.
💻 Technical Criteria
Given All status flags have been analyzed from the S09A array
When The final cargo status needs to be determined
Then The system applies priority logic where hold statuses take precedence over release statuses, and specific hold types are prioritized based on business rules
R-GCX016-cbl-02790 Set Final Status: Hold at Border
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Hold at Border' is invoked, and assuming that status analysis shows cargo has active border hold conditions, when final status determination is performed, the desired outcome is that the cargo status is set to 'hold at border' and appropriate status codes are applied.
💻 Technical Criteria
Given Status analysis shows cargo has active border hold conditions
When Final status determination is performed
Then The cargo status is set to 'Hold at Border' and appropriate status codes are applied
R-GCX016-cbl-02791 Set Final Status: Hold at Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Hold at Destination' is invoked, and assuming that status analysis shows cargo has active destination hold conditions and no border holds, when final status determination is performed, the desired outcome is that the cargo status is set to 'hold at destination' and appropriate status codes are applied.
💻 Technical Criteria
Given Status analysis shows cargo has active destination hold conditions and no border holds
When Final status determination is performed
Then The cargo status is set to 'Hold at Destination' and appropriate status codes are applied
R-GCX016-cbl-02792 Set Final Status: Released
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Released' is invoked, and assuming that status analysis shows cargo has no active hold conditions and has release authorization, when final status determination is performed, the desired outcome is that the cargo status is set to 'released' and cargo is authorized for movement.
💻 Technical Criteria
Given Status analysis shows cargo has no active hold conditions and has release authorization
When Final status determination is performed
Then The cargo status is set to 'Released' and cargo is authorized for movement
R-GCX016-cbl-02793 Set Final Status: PTT
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: PTT' is invoked, and assuming that status analysis shows cargo has active ptt conditions with no holds or releases, when final status determination is performed, the desired outcome is that the cargo status is set to 'ptt' (proceed to transfer) for continued processing.
💻 Technical Criteria
Given Status analysis shows cargo has active PTT conditions with no holds or releases
When Final status determination is performed
Then The cargo status is set to 'PTT' (Proceed to Transfer) for continued processing
R-GCX016-cbl-02794 Set Final Status: Proceed
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Proceed' is invoked, and assuming that status analysis shows cargo has active proceed conditions with no holds, releases, or ptt status, when final status determination is performed, the desired outcome is that the cargo status is set to 'proceed' allowing cargo movement to continue.
💻 Technical Criteria
Given Status analysis shows cargo has active proceed conditions with no holds, releases, or PTT status
When Final status determination is performed
Then The cargo status is set to 'Proceed' allowing cargo movement to continue
R-GCX016-cbl-02795 Set Final Status: Arrived/Export
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status: Arrived/Export' is invoked, and assuming that status analysis shows cargo has active arrival or export conditions with no holds, releases, ptt, or proceed status, when final status determination is performed, the desired outcome is that the cargo status is set to either 'arrived' or 'export' based on the specific condition identified.
💻 Technical Criteria
Given Status analysis shows cargo has active arrival or export conditions with no holds, releases, PTT, or proceed status
When Final status determination is performed
Then The cargo status is set to either 'Arrived' or 'Export' based on the specific condition identified
R-GCX016-cbl-04169 ARL Auto Release Code
Decision Rules
📊 Business Logic Narrative
When the process 'ARL Auto Release Code' is invoked, and assuming that a disposition code of type arl (auto release) is being processed, when the system evaluates the disposition code type, the desired outcome is that the auto release flag is set and the status array is re-evaluated to determine the final cargo release status.
💻 Technical Criteria
Given A disposition code of type ARL (Auto Release) is being processed
When The system evaluates the disposition code type
Then The auto release flag is set and the status array is re-evaluated to determine the final cargo release status
R-GCX016-cbl-04177 Check Hold Location
Decision Rules
📊 Business Logic Narrative
When the process 'Check Hold Location' is invoked, and assuming that cargo status array has been analyzed for hold conditions, when hold status is present in the status array, the desired outcome is that system checks hold location and sets appropriate hold classification flag.
💻 Technical Criteria
Given Cargo status array has been analyzed for hold conditions
When Hold status is present in the status array
Then System checks hold location and sets appropriate hold classification flag
R-GCX016-cbl-04178 Set Border Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Status' is invoked, and assuming that hold status is detected in cargo status array, when hold location is classified as border hold, the desired outcome is that system sets border hold status flag for the cargo.
💻 Technical Criteria
Given Hold status is detected in cargo status array
When Hold location is classified as border hold
Then System sets border hold status flag for the cargo
R-GCX016-cbl-04179 Set Destination Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Status' is invoked, and assuming that hold status is detected in cargo status array, when hold location is classified as destination hold, the desired outcome is that system sets destination hold status flag for the cargo.
💻 Technical Criteria
Given Hold status is detected in cargo status array
When Hold location is classified as destination hold
Then System sets destination hold status flag for the cargo
R-GCX016-cbl-04180 Check Release Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Check Release Quantities' is invoked, and assuming that release status is present in cargo status array, when released quantity is greater than or equal to total cargo quantity, the desired outcome is that system classifies as full release.
💻 Technical Criteria
Given Release status is present in cargo status array
When Released quantity is greater than or equal to total cargo quantity
Then System classifies as full release
R-GCX016-cbl-04181 Set Full Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Full Release Status' is invoked, and assuming that release quantities have been validated, when released quantity equals or exceeds total cargo quantity, the desired outcome is that system sets full release status flag for the cargo.
💻 Technical Criteria
Given Release quantities have been validated
When Released quantity equals or exceeds total cargo quantity
Then System sets full release status flag for the cargo
R-GCX016-cbl-04182 Set Partial Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Partial Release Status' is invoked, and assuming that release quantities have been validated, when released quantity is less than total cargo quantity, the desired outcome is that system sets partial release status flag for the cargo.
💻 Technical Criteria
Given Release quantities have been validated
When Released quantity is less than total cargo quantity
Then System sets partial release status flag for the cargo
R-GCX016-cbl-04183 Validate PTT Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PTT Quantities' is invoked, and assuming that ptt status is detected in cargo status array, when cargo quantities meet or exceed ptt threshold requirements, the desired outcome is that system validates ptt quantity eligibility.
💻 Technical Criteria
Given PTT status is detected in cargo status array
When Cargo quantities meet or exceed PTT threshold requirements
Then System validates PTT quantity eligibility
R-GCX016-cbl-04184 Set PTT Status
Action Rules
📊 Business Logic Narrative
When the process 'Set PTT Status' is invoked, and assuming that ptt quantities have been validated successfully, when cargo meets all ptt eligibility criteria, the desired outcome is that system sets ptt status flag for the cargo.
💻 Technical Criteria
Given PTT quantities have been validated successfully
When Cargo meets all PTT eligibility criteria
Then System sets PTT status flag for the cargo
R-GCX016-cbl-04185 Set Proceed with Border Date
Action Rules
📊 Business Logic Narrative
When the process 'Set Proceed with Border Date' is invoked, and assuming that proceed status is detected in cargo status array, when cargo is eligible for proceed status, the desired outcome is that system sets proceed status flag and assigns border arrival date.
💻 Technical Criteria
Given Proceed status is detected in cargo status array
When Cargo is eligible for proceed status
Then System sets proceed status flag and assigns border arrival date
R-GCX016-cbl-04186 Set Arrival Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Arrival Status' is invoked, and assuming that arrival status is detected in cargo status array, when cargo arrival conditions are met, the desired outcome is that system sets arrival status flag for the cargo.
💻 Technical Criteria
Given Arrival status is detected in cargo status array
When Cargo arrival conditions are met
Then System sets arrival status flag for the cargo
R-GCX016-cbl-04187 Set Export Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Status' is invoked, and assuming that export status is detected in cargo status array, when cargo export conditions are met, the desired outcome is that system sets export status flag for the cargo.
💻 Technical Criteria
Given Export status is detected in cargo status array
When Cargo export conditions are met
Then System sets export status flag for the cargo
R-GCX016-cbl-04188 Set FDA Hold at Destination
Policy Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold at Destination' is invoked, and assuming that fda hold status is detected in cargo status array, when fda regulatory hold is required at destination, the desired outcome is that system sets fda hold status flag at destination location.
💻 Technical Criteria
Given FDA hold status is detected in cargo status array
When FDA regulatory hold is required at destination
Then System sets FDA hold status flag at destination location
R-GCX016-cbl-04189 Manual Release Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Manual Release Required?' is invoked, and assuming that all status flags have been combined and analyzed, when cargo conditions indicate manual intervention is required for release, the desired outcome is that system identifies manual release requirement.
💻 Technical Criteria
Given All status flags have been combined and analyzed
When Cargo conditions indicate manual intervention is required for release
Then System identifies manual release requirement
R-GCX016-cbl-04190 Set Manual Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Manual Release Flag' is invoked, and assuming that manual release requirement has been determined, when cargo requires manual release processing, the desired outcome is that system sets manual release flag for the cargo.
💻 Technical Criteria
Given Manual release requirement has been determined
When Cargo requires manual release processing
Then System sets manual release flag for the cargo
R-GCX016-cbl-04191 Unrelease Detected?
Decision Rules
📊 Business Logic Narrative
When the process 'Unrelease Detected?' is invoked, and assuming that manual release processing has been evaluated, when system detects cargo has been unreleased from previous release status, the desired outcome is that system identifies unrelease condition.
💻 Technical Criteria
Given Manual release processing has been evaluated
When System detects cargo has been unreleased from previous release status
Then System identifies unrelease condition
R-GCX016-cbl-04192 Set Unrelease Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Unrelease Status' is invoked, and assuming that unrelease condition has been detected, when cargo release status needs to be reversed, the desired outcome is that system sets unrelease status flag for the cargo.
💻 Technical Criteria
Given Unrelease condition has been detected
When Cargo release status needs to be reversed
Then System sets unrelease status flag for the cargo
R-GCX016-cbl-04193 Apply Business Rules Priority
Process Rules
📊 Business Logic Narrative
When the process 'Apply Business Rules Priority' is invoked, and assuming that multiple status flags and conditions have been identified, when conflicting or multiple status conditions exist for the same cargo, the desired outcome is that system applies business rule priority hierarchy to determine final status precedence.
💻 Technical Criteria
Given Multiple status flags and conditions have been identified
When Conflicting or multiple status conditions exist for the same cargo
Then System applies business rule priority hierarchy to determine final status precedence
R-GCX016-cbl-04194 Set Final Cargo Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Final Cargo Status' is invoked, and assuming that all status conditions have been analyzed and business rule priorities applied, when final status determination is required, the desired outcome is that system sets the definitive cargo status based on highest priority applicable condition.
💻 Technical Criteria
Given All status conditions have been analyzed and business rule priorities applied
When Final status determination is required
Then System sets the definitive cargo status based on highest priority applicable condition
R-GCX016-cbl-04195 Update Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record' is invoked, and assuming that final cargo status has been determined, when cargo record update is required, the desired outcome is that system updates cargo record with final status, dates, and related status information.
💻 Technical Criteria
Given Final cargo status has been determined
When Cargo record update is required
Then System updates cargo record with final status, dates, and related status information
R-GCX016-cbl-02796 Analyze S09A Status Array
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze S09A Status Array' is invoked, and assuming that a cargo record exists with s09a status array containing disposition codes, when the system processes the status array to determine hold conditions, the desired outcome is that all disposition codes in the array are evaluated and hold/release flags are set based on code analysis.
💻 Technical Criteria
Given A cargo record exists with S09A status array containing disposition codes
When The system processes the status array to determine hold conditions
Then All disposition codes in the array are evaluated and hold/release flags are set based on code analysis
R-GCX016-cbl-02797 Identify Hold Location Code
Decision Rules
📊 Business Logic Narrative
When the process 'Identify Hold Location Code' is invoked, and assuming that a hold disposition code is found in the cargo status array, when the system evaluates the disposition code to determine hold location, the desired outcome is that the hold location is identified as either border hold or destination hold based on the specific disposition code.
💻 Technical Criteria
Given A hold disposition code is found in the cargo status array
When The system evaluates the disposition code to determine hold location
Then The hold location is identified as either border hold or destination hold based on the specific disposition code
R-GCX016-cbl-02798 Set Border Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Status' is invoked, and assuming that a border hold disposition code is identified in the status array, when the system processes the border hold code, the desired outcome is that the cargo border hold flag is set to true and border hold status is established.
💻 Technical Criteria
Given A border hold disposition code is identified in the status array
When The system processes the border hold code
Then The cargo border hold flag is set to true and border hold status is established
R-GCX016-cbl-02799 Set Destination Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Status' is invoked, and assuming that a destination hold disposition code is identified in the status array, when the system processes the destination hold code, the desired outcome is that the cargo destination hold flag is set to true and destination hold status is established.
💻 Technical Criteria
Given A destination hold disposition code is identified in the status array
When The system processes the destination hold code
Then The cargo destination hold flag is set to true and destination hold status is established
R-GCX016-cbl-02800 Set Combined Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Combined Hold Status' is invoked, and assuming that both border hold and destination hold disposition codes are found in the status array, when the system processes multiple hold locations, the desired outcome is that both border hold and destination hold flags are set to true indicating cargo is held at multiple locations.
💻 Technical Criteria
Given Both border hold and destination hold disposition codes are found in the status array
When The system processes multiple hold locations
Then Both border hold and destination hold flags are set to true indicating cargo is held at multiple locations
R-GCX016-cbl-02801 Evaluate Release vs Hold Priority
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Release vs Hold Priority' is invoked, and assuming that both hold and release disposition codes exist for the same cargo in the status array, when the system evaluates the priority between conflicting hold and release codes, the desired outcome is that the release code overrides the hold code and the cargo hold status is cleared if release has higher priority.
💻 Technical Criteria
Given Both hold and release disposition codes exist for the same cargo in the status array
When The system evaluates the priority between conflicting hold and release codes
Then The release code overrides the hold code and the cargo hold status is cleared if release has higher priority
R-GCX016-cbl-02802 Clear Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Clear Hold Status' is invoked, and assuming that a release disposition code has higher priority than an existing hold code, when the system processes the release override condition, the desired outcome is that all hold flags are set to false and the cargo hold status is cleared.
💻 Technical Criteria
Given A release disposition code has higher priority than an existing hold code
When The system processes the release override condition
Then All hold flags are set to false and the cargo hold status is cleared
R-GCX016-cbl-02805 Determine Final Hold Location
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Final Hold Location' is invoked, and assuming that all disposition codes have been processed and hold/release flags have been evaluated, when the system determines the final hold status classification, the desired outcome is that the cargo is classified as either no hold, border hold only, destination hold only, or combined hold at both locations.
💻 Technical Criteria
Given All disposition codes have been processed and hold/release flags have been evaluated
When The system determines the final hold status classification
Then The cargo is classified as either no hold, border hold only, destination hold only, or combined hold at both locations
R-GCX016-cbl-02806 Update Cargo Hold Flags
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Hold Flags' is invoked, and assuming that the final hold status has been determined for the cargo, when the system updates the cargo record with hold information, the desired outcome is that all relevant hold flags are updated in the cargo record and the hold location status is persisted.
💻 Technical Criteria
Given The final hold status has been determined for the cargo
When The system updates the cargo record with hold information
Then All relevant hold flags are updated in the cargo record and the hold location status is persisted
R-GCX016-cbl-02807 Start Release Quantity Calculation
Process Rules
📊 Business Logic Narrative
When the process 'Start Release Quantity Calculation' is invoked, and assuming that a cargo record exists with current release quantity and a disposition code is being processed, when the disposition code contains quantity action instructions, the desired outcome is that the system initiates release quantity calculation process.
💻 Technical Criteria
Given A cargo record exists with current release quantity and a disposition code is being processed
When The disposition code contains quantity action instructions
Then The system initiates release quantity calculation process
R-GCX016-cbl-02808 Disposition Code Has Quantity Action?
Validation Rules
📊 Business Logic Narrative
When the process 'Disposition Code Has Quantity Action?' is invoked, and assuming that a disposition code is being processed for cargo release, when the system checks if the disposition code has quantity action defined, the desired outcome is that if quantity action exists, proceed with quantity calculation, otherwise skip quantity processing.
💻 Technical Criteria
Given A disposition code is being processed for cargo release
When The system checks if the disposition code has quantity action defined
Then If quantity action exists, proceed with quantity calculation, otherwise skip quantity processing
R-GCX016-cbl-02809 Get Current Release Quantity
Action Rules
📊 Business Logic Narrative
When the process 'Get Current Release Quantity' is invoked, and assuming that a cargo record with existing release quantity information, when quantity action processing is required, the desired outcome is that the system retrieves the current release quantity from the cargo status array.
💻 Technical Criteria
Given A cargo record with existing release quantity information
When Quantity action processing is required
Then The system retrieves the current release quantity from the cargo status array
R-GCX016-cbl-02817 Validate Against Total Cargo Quantity
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Against Total Cargo Quantity' is invoked, and assuming that an updated release quantity and total cargo quantity, when the release quantity has been calculated and updated, the desired outcome is that the system validates the release quantity against the total cargo quantity.
💻 Technical Criteria
Given An updated release quantity and total cargo quantity
When The release quantity has been calculated and updated
Then The system validates the release quantity against the total cargo quantity
R-GCX016-cbl-02818 Release Quantity > Total Quantity?
Validation Rules
📊 Business Logic Narrative
When the process 'Release Quantity > Total Quantity?' is invoked, and assuming that a calculated release quantity and total cargo quantity, when the system compares release quantity to total quantity, the desired outcome is that if release quantity is greater than total quantity, the system identifies this as an excessive release condition.
💻 Technical Criteria
Given A calculated release quantity and total cargo quantity
When The system compares release quantity to total quantity
Then If release quantity is greater than total quantity, the system identifies this as an excessive release condition
R-GCX016-cbl-02819 Cap Release Quantity at Total
Validation Rules
📊 Business Logic Narrative
When the process 'Cap Release Quantity at Total' is invoked, and assuming that a release quantity that exceeds the total cargo quantity, when the system detects excessive release quantity condition, the desired outcome is that the system caps the release quantity to equal the total cargo quantity.
💻 Technical Criteria
Given A release quantity that exceeds the total cargo quantity
When The system detects excessive release quantity condition
Then The system caps the release quantity to equal the total cargo quantity
R-GCX016-cbl-02820 Store Updated Release Quantity in Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Store Updated Release Quantity in Status Array' is invoked, and assuming that a final validated release quantity that complies with all business rules, when all quantity validations and calculations are complete, the desired outcome is that the system stores the updated release quantity in the cargo status array.
💻 Technical Criteria
Given A final validated release quantity that complies with all business rules
When All quantity validations and calculations are complete
Then The system stores the updated release quantity in the cargo status array
R-GCX016-cbl-02822 Border Hold Detected?
Decision Rules
📊 Business Logic Narrative
When the process 'Border Hold Detected?' is invoked, and assuming that a cargo record with s09a status array containing disposition codes, when the system analyzes the status array for border hold indicators, the desired outcome is that the system sets border hold flag to true if border hold disposition codes are found in the array.
💻 Technical Criteria
Given A cargo record with S09A status array containing disposition codes
When The system analyzes the status array for border hold indicators
Then The system sets border hold flag to true if border hold disposition codes are found in the array
R-GCX016-cbl-02823 Destination Hold Detected?
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Hold Detected?' is invoked, and assuming that a cargo record with s09a status array containing disposition codes, when the system analyzes the status array for destination hold indicators, the desired outcome is that the system sets destination hold flag to true if destination hold disposition codes are found in the array.
💻 Technical Criteria
Given A cargo record with S09A status array containing disposition codes
When The system analyzes the status array for destination hold indicators
Then The system sets destination hold flag to true if destination hold disposition codes are found in the array
R-GCX016-cbl-02824 Both Border and Destination Holds?
Decision Rules
📊 Business Logic Narrative
When the process 'Both Border and Destination Holds?' is invoked, and assuming that a cargo record with border hold flag and destination hold flag both evaluated, when both border hold flag and destination hold flag are set to true, the desired outcome is that the system sets hold location to 'both' indicating cargo is held at both border and destination.
💻 Technical Criteria
Given A cargo record with border hold flag and destination hold flag both evaluated
When Both border hold flag and destination hold flag are set to true
Then The system sets hold location to 'Both' indicating cargo is held at both border and destination
R-GCX016-cbl-02825 Set Hold Location = Border
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Location = Border' is invoked, and assuming that a cargo record with border hold detected and no destination hold, when the border hold flag is true and destination hold flag is false, the desired outcome is that the system sets hold location to 'border'.
💻 Technical Criteria
Given A cargo record with border hold detected and no destination hold
When The border hold flag is true and destination hold flag is false
Then The system sets hold location to 'Border'
R-GCX016-cbl-02826 Set Hold Location = Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Location = Destination' is invoked, and assuming that a cargo record with destination hold detected and no border hold, when the destination hold flag is true and border hold flag is false, the desired outcome is that the system sets hold location to 'destination'.
💻 Technical Criteria
Given A cargo record with destination hold detected and no border hold
When The destination hold flag is true and border hold flag is false
Then The system sets hold location to 'Destination'
R-GCX016-cbl-02827 Set Hold Location = Both
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold Location = Both' is invoked, and assuming that a cargo record with both border and destination holds detected, when both border hold flag and destination hold flag are true, the desired outcome is that the system sets hold location to 'both'.
💻 Technical Criteria
Given A cargo record with both border and destination holds detected
When Both border hold flag and destination hold flag are true
Then The system sets hold location to 'Both'
R-GCX016-cbl-02828 Cargo at Border?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo at Border?' is invoked, and assuming that a cargo record with current location information available, when the system checks the cargo's current physical location, the desired outcome is that the system returns true if cargo is currently at border location, false otherwise.
💻 Technical Criteria
Given A cargo record with current location information available
When The system checks the cargo's current physical location
Then The system returns true if cargo is currently at border location, false otherwise
R-GCX016-cbl-02829 Cargo at Destination?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo at Destination?', assuming that a cargo record with current location information available and cargo not at border, when the system checks the cargo's current physical location, the desired outcome is that the system returns true if cargo is currently at destination location, false otherwise.
💻 Technical Criteria
EXCLUDING A cargo record with current location information available and cargo not at border
When The system checks the cargo's current physical location
Then The system returns true if cargo is currently at destination location, false otherwise
R-GCX016-cbl-02830 Priority: Border Hold Message
Process Rules
📊 Business Logic Narrative
When the process 'Priority: Border Hold Message' is invoked, and assuming that a cargo record with holds detected and cargo currently at border location, when the cargo is physically at border and has hold conditions, the desired outcome is that the system assigns priority to border hold message processing.
💻 Technical Criteria
Given A cargo record with holds detected and cargo currently at border location
When The cargo is physically at border and has hold conditions
Then The system assigns priority to border hold message processing
R-GCX016-cbl-02831 Priority: Destination Hold Message
Process Rules
📊 Business Logic Narrative
When the process 'Priority: Destination Hold Message' is invoked, and assuming that a cargo record with holds detected and cargo currently at destination location, when the cargo is physically at destination and has hold conditions, the desired outcome is that the system assigns priority to destination hold message processing.
💻 Technical Criteria
Given A cargo record with holds detected and cargo currently at destination location
When The cargo is physically at destination and has hold conditions
Then The system assigns priority to destination hold message processing
R-GCX016-cbl-02832 Route to Border Processing
Process Rules
📊 Business Logic Narrative
When the process 'Route to Border Processing' is invoked, and assuming that a cargo record with hold location determined as 'border', when the hold location equals 'border', the desired outcome is that the system routes the hold message to border processing workflow.
💻 Technical Criteria
Given A cargo record with hold location determined as 'Border'
When The hold location equals 'Border'
Then The system routes the hold message to border processing workflow
R-GCX016-cbl-02833 Route to Destination Processing
Process Rules
📊 Business Logic Narrative
When the process 'Route to Destination Processing' is invoked, and assuming that a cargo record with hold location determined as 'destination', when the hold location equals 'destination', the desired outcome is that the system routes the hold message to destination processing workflow.
💻 Technical Criteria
Given A cargo record with hold location determined as 'Destination'
When The hold location equals 'Destination'
Then The system routes the hold message to destination processing workflow
R-GCX016-cbl-02834 Route to Both Border and Destination
Process Rules
📊 Business Logic Narrative
When the process 'Route to Both Border and Destination' is invoked, and assuming that a cargo record with hold location determined as 'both', when the hold location equals 'both', the desired outcome is that the system routes the hold message to both border and destination processing workflows.
💻 Technical Criteria
Given A cargo record with hold location determined as 'Both'
When The hold location equals 'Both'
Then The system routes the hold message to both border and destination processing workflows
R-GCX016-cbl-02835 Generate Hold Message with Location Details
Action Rules
📊 Business Logic Narrative
When the process 'Generate Hold Message with Location Details' is invoked, and assuming that a cargo record with determined hold location and routing decisions made, when the system generates the hold message, the desired outcome is that the system creates a hold message containing specific location details, disposition codes, and routing information.
💻 Technical Criteria
Given A cargo record with determined hold location and routing decisions made
When The system generates the hold message
Then The system creates a hold message containing specific location details, disposition codes, and routing information
R-GCX016-cbl-02853 Status Array Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Array Empty?' is invoked, and assuming that a new disposition code needs to be processed for cargo, when the system accesses the current status array s09a, the desired outcome is that if the status array is empty, skip duplicate detection and proceed directly to add the new code.
💻 Technical Criteria
Given A new disposition code needs to be processed for cargo
When The system accesses the current status array S09A
Then If the status array is empty, skip duplicate detection and proceed directly to add the new code
R-GCX016-cbl-02870 Access Current Cargo Status Array S09A
Action Rules
📊 Business Logic Narrative
When the process 'Access Current Cargo Status Array S09A' is invoked, and assuming that a valid arl disposition code has been validated, when the system needs to access current cargo status information, the desired outcome is that retrieve the s09a status array from gcsuss09 segments for the cargo record.
💻 Technical Criteria
Given A valid ARL disposition code has been validated
When The system needs to access current cargo status information
Then Retrieve the S09A status array from GCSUSS09 segments for the cargo record
R-GCX016-cbl-02871 Preserve Current Array State
Process Rules
📊 Business Logic Narrative
When the process 'Preserve Current Array State' is invoked, and assuming that the current cargo status array s09a has been accessed, when the system prepares to re-evaluate the array for auto release, the desired outcome is that create a backup copy of the current array state to preserve original status information.
💻 Technical Criteria
Given The current cargo status array S09A has been accessed
When The system prepares to re-evaluate the array for auto release
Then Create a backup copy of the current array state to preserve original status information
R-GCX016-cbl-02873 Evaluate Hold Status at Border
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Hold Status at Border' is invoked, and assuming that existing disposition codes have been re-analyzed, when the system evaluates hold status at border location, the desired outcome is that if any border hold codes are found in the status array, mark cargo as held at border and prevent auto release.
💻 Technical Criteria
Given Existing disposition codes have been re-analyzed
When The system evaluates hold status at border location
Then If any border hold codes are found in the status array, mark cargo as held at border and prevent auto release
R-GCX016-cbl-02874 Evaluate Hold Status at Destination
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Hold Status at Destination' is invoked, and assuming that border hold status has been evaluated, when the system evaluates hold status at destination location, the desired outcome is that if any destination hold codes are found in the status array, mark cargo as held at destination and prevent auto release.
💻 Technical Criteria
Given Border hold status has been evaluated
When The system evaluates hold status at destination location
Then If any destination hold codes are found in the status array, mark cargo as held at destination and prevent auto release
R-GCX016-cbl-02875 Check PTT Permit to Transfer Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check PTT Permit to Transfer Status' is invoked, and assuming that hold status at both border and destination has been evaluated, when the system checks for ptt permit to transfer status, the desired outcome is that if cargo has valid ptt status and meets quantity thresholds, allow auto release consideration, otherwise maintain current status.
💻 Technical Criteria
Given Hold status at both border and destination has been evaluated
When The system checks for PTT permit to transfer status
Then If cargo has valid PTT status and meets quantity thresholds, allow auto release consideration, otherwise maintain current status
R-GCX016-cbl-02876 Validate Release Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Release Quantities' is invoked, and assuming that ptt status has been validated, when the system validates release quantities against total cargo quantities, the desired outcome is that if released quantity is less than total quantity, maintain partial release status, if equal or greater, allow full release consideration.
💻 Technical Criteria
Given PTT status has been validated
When The system validates release quantities against total cargo quantities
Then If released quantity is less than total quantity, maintain partial release status, if equal or greater, allow full release consideration
R-GCX016-cbl-02878 Set Auto Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Auto Release Flag' is invoked, and assuming that all release conditions have been met for auto release, when the system sets the auto release flag, the desired outcome is that mark cargo as eligible for auto release and set appropriate processing flags for downstream systems.
💻 Technical Criteria
Given All release conditions have been met for auto release
When The system sets the auto release flag
Then Mark cargo as eligible for auto release and set appropriate processing flags for downstream systems
R-GCX016-cbl-02879 Update Cargo Status Flags
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Flags' is invoked, and assuming that auto release flag has been set, when the system updates cargo status flags, the desired outcome is that update release status, hold status, and processing flags to reflect auto release approval without modifying the disposition code array.
💻 Technical Criteria
Given Auto release flag has been set
When The system updates cargo status flags
Then Update release status, hold status, and processing flags to reflect auto release approval without modifying the disposition code array
R-GCX016-cbl-02880 Trigger Release Processing
Action Rules
📊 Business Logic Narrative
When the process 'Trigger Release Processing' is invoked, and assuming that cargo status flags have been updated for auto release, when the system triggers release processing, the desired outcome is that initiate standard cargo release procedures including broker notifications and system updates.
💻 Technical Criteria
Given Cargo status flags have been updated for auto release
When The system triggers release processing
Then Initiate standard cargo release procedures including broker notifications and system updates
R-GCX016-cbl-02884 Is Cargo CPRS?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Cargo CPRS?' is invoked, and assuming that a manual release request is received for cargo, when the system checks the cargo type in the cargo record, the desired outcome is that if cargo type is cprs, processing continues; otherwise, the request is rejected with appropriate error message.
💻 Technical Criteria
Given A manual release request is received for cargo
When The system checks the cargo type in the cargo record
Then If cargo type is CPRS, processing continues; otherwise, the request is rejected with appropriate error message
R-GCX016-cbl-02885 Validate MRL Disposition Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate MRL Disposition Code' is invoked, and assuming that a cprs cargo manual release request with mrl disposition code, when the system validates the disposition code against the dc table, the desired outcome is that if mrl code is found and valid, processing continues; otherwise, an error is generated.
💻 Technical Criteria
Given A CPRS cargo manual release request with MRL disposition code
When The system validates the disposition code against the DC table
Then If MRL code is found and valid, processing continues; otherwise, an error is generated
R-GCX016-cbl-02886 Check Current Cargo Status
Action Rules
📊 Business Logic Narrative
When the process 'Check Current Cargo Status' is invoked, and assuming that a validated cprs cargo with mrl disposition code, when the system reads the current cargo status from cargo records and status segments, the desired outcome is that the current status is retrieved and made available for hold status evaluation.
💻 Technical Criteria
Given A validated CPRS cargo with MRL disposition code
When The system reads the current cargo status from cargo records and status segments
Then The current status is retrieved and made available for hold status evaluation
R-GCX016-cbl-02887 Cargo Currently Held?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Currently Held?' is invoked, and assuming that cprs cargo with current status information available, when the system evaluates if cargo has any active hold conditions (border hold, destination hold, fda hold, or other hold types), the desired outcome is that if cargo is held, manual release processing continues; if not held, the request is rejected.
💻 Technical Criteria
Given CPRS cargo with current status information available
When The system evaluates if cargo has any active hold conditions (border hold, destination hold, FDA hold, or other hold types)
Then If cargo is held, manual release processing continues; if not held, the request is rejected
R-GCX016-cbl-02888 Clear Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that cprs cargo that is currently held and approved for manual release, when the system processes the manual release, the desired outcome is that the destination index field is cleared to remove destination routing constraints.
💻 Technical Criteria
Given CPRS cargo that is currently held and approved for manual release
When The system processes the manual release
Then The destination index field is cleared to remove destination routing constraints
R-GCX016-cbl-02889 Update Cargo Status to Released
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to Released' is invoked, and assuming that cprs cargo with cleared destination index ready for release, when the system updates the cargo status, the desired outcome is that cargo status is changed to released, hold flags are cleared, and release quantities are updated appropriately.
💻 Technical Criteria
Given CPRS cargo with cleared destination index ready for release
When The system updates the cargo status
Then Cargo status is changed to released, hold flags are cleared, and release quantities are updated appropriately
R-GCX016-cbl-02892 Generate Canadian Log Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Canadian Log Message' is invoked, and assuming that released cprs cargo with corresponding canadian manifest records found, when the system processes the canadian manifest coordination, the desired outcome is that a specialized log message is generated to gcx105 system documenting the cross-border cargo release.
💻 Technical Criteria
Given Released CPRS cargo with corresponding Canadian manifest records found
When The system processes the Canadian manifest coordination
Then A specialized log message is generated to GCX105 system documenting the cross-border cargo release
R-GCX016-cbl-02893 Update Status Array without New Code
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array without New Code' is invoked, and assuming that cprs cargo processed for manual release with or without canadian manifest coordination, when the system updates the status array, the desired outcome is that the status array is updated to reflect the release without adding mrl as a new disposition code entry.
💻 Technical Criteria
Given CPRS cargo processed for manual release with or without Canadian manifest coordination
When The system updates the status array
Then The status array is updated to reflect the release without adding MRL as a new disposition code entry
R-GCX016-cbl-02894 Generate Special CPRS Logging
Policy Rules
📊 Business Logic Narrative
When the process 'Generate Special CPRS Logging' is invoked, and assuming that cprs cargo with updated status array after manual release processing, when the system generates audit logs, the desired outcome is that special cprs manual release logging is created with cargo details, release information, and processing timestamps.
💻 Technical Criteria
Given CPRS cargo with updated status array after manual release processing
When The system generates audit logs
Then Special CPRS manual release logging is created with cargo details, release information, and processing timestamps
R-GCX016-cbl-02895 Send Manual Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Send Manual Release Notification' is invoked, and assuming that cprs cargo with completed manual release processing and audit logging, when the system sends notifications, the desired outcome is that manual release notifications are sent to configured recipients with cargo details and release confirmation.
💻 Technical Criteria
Given CPRS cargo with completed manual release processing and audit logging
When The system sends notifications
Then Manual release notifications are sent to configured recipients with cargo details and release confirmation
R-GCX016-cbl-02896 Reject - Not CPRS Cargo
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Reject - Not CPRS Cargo', assuming that a manual release request for cargo that is not cprs type, when the system validates the cargo type, the desired outcome is that the request is rejected with an error message indicating manual release is only available for cprs cargo.
💻 Technical Criteria
EXCLUDING A manual release request for cargo that is not CPRS type
When The system validates the cargo type
Then The request is rejected with an error message indicating manual release is only available for CPRS cargo
R-GCX016-cbl-02897 Reject - Cargo Not Held
Validation Rules
📊 Business Logic Narrative
When the process 'Reject - Cargo Not Held' is invoked, and assuming that cprs cargo with valid mrl disposition code but no active hold status, when the system evaluates the hold status, the desired outcome is that the request is rejected with an error message indicating cargo must be held to qualify for manual release.
💻 Technical Criteria
Given CPRS cargo with valid MRL disposition code but no active hold status
When The system evaluates the hold status
Then The request is rejected with an error message indicating cargo must be held to qualify for manual release
R-GCX016-cbl-02898 Remove Code from Array
Process Rules
📊 Business Logic Narrative
When the process 'Remove Code from Array' is invoked, and assuming that a disposition code needs to be removed from the cargo status array and the s09a status array contains existing disposition codes, when the system searches for matching codes in the array and finds a code that matches the entry number and matches the quantity and matches the status information, the desired outcome is that the system marks the code for removal and removes the code from the array and compacts the remaining array elements.
💻 Technical Criteria
Given A disposition code needs to be removed from the cargo status array AND the S09A status array contains existing disposition codes
When The system searches for matching codes in the array AND finds a code that matches the entry number AND matches the quantity AND matches the status information
Then The system marks the code for removal AND removes the code from the array AND compacts the remaining array elements
R-GCX016-cbl-02905 Update Cargo Record Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record Status' is invoked, and assuming that disposition codes have been removed from the status array and the database has been updated, when the cargo record needs to reflect the status changes, the desired outcome is that the system updates the cargo record status based on the remaining disposition codes in the status array.
💻 Technical Criteria
Given Disposition codes have been removed from the status array AND the database has been updated
When The cargo record needs to reflect the status changes
Then The system updates the cargo record status based on the remaining disposition codes in the status array
R-GCX016-cbl-02906 Log Removal Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log Removal Activity' is invoked, and assuming that disposition codes have been successfully removed from the cargo status, when the removal processing is complete, the desired outcome is that the system logs the removal activity including the codes removed and the cargo identifier and the timestamp.
💻 Technical Criteria
Given Disposition codes have been successfully removed from the cargo status
When The removal processing is complete
Then The system logs the removal activity including the codes removed AND the cargo identifier AND the timestamp
R-GCX016-cbl-02907 Disposition Code Has Counterpart Removal?
Decision Rules
📊 Business Logic Narrative
When the process 'Disposition Code Has Counterpart Removal?' is invoked, and assuming that a disposition code is being processed for cargo release, when the system evaluates the disposition code configuration, the desired outcome is that the system identifies whether counterpart removal is required based on the disposition code type.
💻 Technical Criteria
Given A disposition code is being processed for cargo release
When The system evaluates the disposition code configuration
Then The system identifies whether counterpart removal is required based on the disposition code type
R-GCX016-cbl-02908 Search Status Array for Counterpart Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Counterpart Codes' is invoked, and assuming that a disposition code requires counterpart removal and the cargo has an existing status array, when the system searches through all status entries in the array, the desired outcome is that the system identifies all counterpart codes that match the removal criteria for the current disposition code.
💻 Technical Criteria
Given A disposition code requires counterpart removal and the cargo has an existing status array
When The system searches through all status entries in the array
Then The system identifies all counterpart codes that match the removal criteria for the current disposition code
R-GCX016-cbl-02921 Search Status Array for Counterpart Codes
Process Rules
📊 Business Logic Narrative
When the process 'Search Status Array for Counterpart Codes' is invoked, and assuming that an information code with removal flag is being processed and a status array exists for the cargo, when the system searches for counterpart codes in the status array using the disposition code's counterpart definition, the desired outcome is that the system identifies all matching counterpart codes that need to be removed.
💻 Technical Criteria
Given An information code with removal flag is being processed AND a status array exists for the cargo
When The system searches for counterpart codes in the status array using the disposition code's counterpart definition
Then The system identifies all matching counterpart codes that need to be removed
R-GCX016-cbl-02922 Remove Matching Counterpart Codes
Action Rules
📊 Business Logic Narrative
When the process 'Remove Matching Counterpart Codes' is invoked, and assuming that counterpart codes are found in the status array and an information code with removal flag is being processed, when the system removes all matching counterpart codes from the status array, the desired outcome is that the conflicting disposition codes are eliminated from the cargo status.
💻 Technical Criteria
Given Counterpart codes are found in the status array AND an information code with removal flag is being processed
When The system removes all matching counterpart codes from the status array
Then The conflicting disposition codes are eliminated from the cargo status
R-GCX016-cbl-02923 Compact Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Compact Status Array' is invoked, and assuming that counterpart codes have been removed from the status array creating gaps, when the system compacts the array by moving remaining entries to fill the gaps, the desired outcome is that the status array maintains proper sequence without empty slots and preserves data integrity.
💻 Technical Criteria
Given Counterpart codes have been removed from the status array creating gaps
When The system compacts the array by moving remaining entries to fill the gaps
Then The status array maintains proper sequence without empty slots and preserves data integrity
R-GCX016-cbl-02924 Add New Informational Status Code
Action Rules
📊 Business Logic Narrative
When the process 'Add New Informational Status Code' is invoked, and assuming that counterpart codes have been removed and the status array has been compacted, when the system adds the new information disposition code to the status array, the desired outcome is that the new informational status is recorded in the cargo status history.
💻 Technical Criteria
Given Counterpart codes have been removed and the status array has been compacted
When The system adds the new information disposition code to the status array
Then The new informational status is recorded in the cargo status history
R-GCX016-cbl-02925 Set Information Status Flag
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Information Status Flag' is invoked, and assuming that an information disposition code has been added to the status array, when the system sets the information status flag for the new entry, the desired outcome is that the disposition code is marked as informational and will not affect cargo quantities or release processing.
💻 Technical Criteria
Given An information disposition code has been added to the status array
When The system sets the information status flag for the new entry
Then The disposition code is marked as informational and will not affect cargo quantities or release processing
R-GCX016-cbl-02926 Preserve Cargo Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Preserve Cargo Quantities' is invoked, and assuming that an information disposition code is being processed, when the system updates the cargo status with the information code, the desired outcome is that the cargo release quantities and total quantities remain unchanged as information codes are for status tracking only.
💻 Technical Criteria
Given An information disposition code is being processed
When The system updates the cargo status with the information code
Then The cargo release quantities and total quantities remain unchanged as information codes are for status tracking only
R-GCX016-cbl-02927 Log Status Change Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Status Change Information' is invoked, and assuming that counterpart codes have been removed and an information code has been added to the cargo status, when the system logs the status change activity, the desired outcome is that the audit trail captures both the removal of counterpart codes and addition of the information code with timestamps and user information.
💻 Technical Criteria
Given Counterpart codes have been removed AND an information code has been added to the cargo status
When The system logs the status change activity
Then The audit trail captures both the removal of counterpart codes and addition of the information code with timestamps and user information
R-GCX016-cbl-02935 Process Disposition Code
Action Rules
📊 Business Logic Narrative
When the process 'Process Disposition Code' is invoked, and assuming that new code addition has been authorized and array capacity is available, when the disposition code processing is executed, the desired outcome is that the disposition code is processed according to business rules and cargo status is updated appropriately.
💻 Technical Criteria
Given New code addition has been authorized and array capacity is available
When The disposition code processing is executed
Then The disposition code is processed according to business rules and cargo status is updated appropriately
R-GCX016-cbl-02938 Add Quantity to Release Amount
Computation Rules
📊 Business Logic Narrative
When the process 'Add Quantity to Release Amount' is invoked, and assuming that a disposition code with quantity action 'a' (add) and a quantity value from x4-05 edi segment, when the system processes the quantity action for cargo release, the desired outcome is that the system adds the x4-05 quantity to the current cargo release quantity.
💻 Technical Criteria
Given A disposition code with quantity action 'A' (ADD) and a quantity value from X4-05 EDI segment
When The system processes the quantity action for cargo release
Then The system adds the X4-05 quantity to the current cargo release quantity
R-GCX016-cbl-02939 Subtract Quantity from Release Amount
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract Quantity from Release Amount' is invoked, and assuming that a disposition code with quantity action 's' (subtract) and a quantity value from x4-05 edi segment, when the system processes the quantity action for cargo release, the desired outcome is that the system subtracts the x4-05 quantity from the current cargo release quantity.
💻 Technical Criteria
Given A disposition code with quantity action 'S' (SUBTRACT) and a quantity value from X4-05 EDI segment
When The system processes the quantity action for cargo release
Then The system subtracts the X4-05 quantity from the current cargo release quantity
R-GCX016-cbl-02940 No Quantity Change Required
Decision Rules
📊 Business Logic Narrative
When the process 'No Quantity Change Required' is invoked, and assuming that a disposition code with quantity action that is neither 'a' (add) nor 's' (subtract), when the system processes the quantity action for cargo release, the desired outcome is that the system does not modify the current cargo release quantity.
💻 Technical Criteria
Given A disposition code with quantity action that is neither 'A' (ADD) nor 'S' (SUBTRACT)
When The system processes the quantity action for cargo release
Then The system does not modify the current cargo release quantity
R-GCX016-cbl-02941 Set Quantity to Zero
Validation Rules
📊 Business Logic Narrative
When the process 'Set Quantity to Zero' is invoked, and assuming that a calculated cargo release quantity that is less than zero, when the system validates the quantity calculation result, the desired outcome is that the system sets the cargo release quantity to zero to prevent negative values.
💻 Technical Criteria
Given A calculated cargo release quantity that is less than zero
When The system validates the quantity calculation result
Then The system sets the cargo release quantity to zero to prevent negative values
R-GCX016-cbl-02942 Log Quantity Action in Message
Process Rules
📊 Business Logic Narrative
When the process 'Log Quantity Action in Message' is invoked, and assuming that a processed quantity action that modified cargo release quantities, when the system completes the quantity update processing, the desired outcome is that the system logs the quantity action details in the processing message for audit trail.
💻 Technical Criteria
Given A processed quantity action that modified cargo release quantities
When The system completes the quantity update processing
Then The system logs the quantity action details in the processing message for audit trail
R-GCX016-cbl-02944 Hold Message Generation Required
Action Rules
📊 Business Logic Narrative
When the process 'Hold Message Generation Required' is invoked, and assuming that a cargo record requires hold message generation, when the system determines that hold cargo messaging is needed, the desired outcome is that the hold message generation process is initiated.
💻 Technical Criteria
Given A cargo record requires hold message generation
When The system determines that hold cargo messaging is needed
Then The hold message generation process is initiated
R-GCX016-cbl-02945 Analyze Cargo Status Array
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Cargo Status Array' is invoked, and assuming that a cargo record with populated s09a status array exists, when the system analyzes the status array for hold flags and location indicators, the desired outcome is that hold status flags and location requirements are identified from the array.
💻 Technical Criteria
Given A cargo record with populated S09A status array exists
When The system analyzes the status array for hold flags and location indicators
Then Hold status flags and location requirements are identified from the array
R-GCX016-cbl-02946 Cargo Hold Location?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Hold Location?' is invoked, and assuming that cargo status array has been analyzed for hold conditions, when the system evaluates hold location flags in the status array, the desired outcome is that the system identifies hold location as border, destination, or both locations.
💻 Technical Criteria
Given Cargo status array has been analyzed for hold conditions
When The system evaluates hold location flags in the status array
Then The system identifies hold location as border, destination, or both locations
R-GCX016-cbl-02947 Determine Border Hold
Process Rules
📊 Business Logic Narrative
When the process 'Determine Border Hold' is invoked, and assuming that cargo status indicates border hold condition, when the system processes border hold requirements, the desired outcome is that border hold processing is initiated and border location details are prepared.
💻 Technical Criteria
Given Cargo status indicates border hold condition
When The system processes border hold requirements
Then Border hold processing is initiated and border location details are prepared
R-GCX016-cbl-02948 Determine Destination Hold
Process Rules
📊 Business Logic Narrative
When the process 'Determine Destination Hold' is invoked, and assuming that cargo status indicates destination hold condition, when the system processes destination hold requirements, the desired outcome is that destination hold processing is initiated and destination location details are prepared.
💻 Technical Criteria
Given Cargo status indicates destination hold condition
When The system processes destination hold requirements
Then Destination hold processing is initiated and destination location details are prepared
R-GCX016-cbl-02954 Add Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Quantity Information' is invoked, and assuming that hold message with cargo information exists, when the system adds quantity information to the message, the desired outcome is that total quantities and affected quantities are included in the hold message.
💻 Technical Criteria
Given Hold message with cargo information exists
When The system adds quantity information to the message
Then Total quantities and affected quantities are included in the hold message
R-GCX016-cbl-02961 Initialize Status Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Status Flags' is invoked, and assuming that a cargo status transition analysis is starting, when the system begins status array analysis, the desired outcome is that all status flags (hold, release, ptt, proceed, arrival, export, fda hold) are set to false and quantity counters are reset to zero.
💻 Technical Criteria
Given A cargo status transition analysis is starting
When The system begins status array analysis
Then All status flags (hold, release, PTT, proceed, arrival, export, FDA hold) are set to false and quantity counters are reset to zero
R-GCX016-cbl-02962 Scan S09A Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Scan S09A Status Array' is invoked, and assuming that the s09a status array contains cargo status entries, when the system performs status transition analysis, the desired outcome is that each array element is examined sequentially for status code analysis.
💻 Technical Criteria
Given The S09A status array contains cargo status entries
When The system performs status transition analysis
Then Each array element is examined sequentially for status code analysis
R-GCX016-cbl-02987 Determine Final Cargo State
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Final Cargo State' is invoked, and assuming that all status array elements have been analyzed and flags are set, when the system determines final cargo state, the desired outcome is that the cargo state is determined based on the combination of status flags and business rules.
💻 Technical Criteria
Given All status array elements have been analyzed and flags are set
When The system determines final cargo state
Then The cargo state is determined based on the combination of status flags and business rules
R-GCX016-cbl-02988 Manual Release Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Manual Release Required?' is invoked, and assuming that final cargo state analysis is complete, when the system checks for manual release requirements, the desired outcome is that if manual release conditions are met, set manual release flag to true.
💻 Technical Criteria
Given Final cargo state analysis is complete
When The system checks for manual release requirements
Then If manual release conditions are met, set manual release flag to true
R-GCX016-cbl-02991 Set Hold on Piece Count Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Count Status' is invoked, and assuming that partial release status has been identified, when the system processes partial release conditions, the desired outcome is that hold on piece count status is set to indicate remaining quantity is held.
💻 Technical Criteria
Given Partial release status has been identified
When The system processes partial release conditions
Then Hold on piece count status is set to indicate remaining quantity is held
R-GCX016-cbl-02994 Unrelease Detected?
Decision Rules
📊 Business Logic Narrative
When the process 'Unrelease Detected?' is invoked, and assuming that cargo status transition analysis is complete, when the system checks for unrelease conditions, the desired outcome is that if previous release status has been removed, unrelease condition is detected.
💻 Technical Criteria
Given Cargo status transition analysis is complete
When The system checks for unrelease conditions
Then If previous release status has been removed, unrelease condition is detected
R-GCX016-cbl-02997 Age Calculation Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Age Calculation Required?' is invoked, and assuming that cargo status analysis is nearing completion, when the system checks age calculation requirements, the desired outcome is that if business rules require age calculation, proceed with julian date calculation.
💻 Technical Criteria
Given Cargo status analysis is nearing completion
When The system checks age calculation requirements
Then If business rules require age calculation, proceed with Julian date calculation
R-GCX016-cbl-02998 Calculate Cargo Age using Julian Date
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Cargo Age using Julian Date' is invoked, and assuming that age calculation is required and cargo dates are available, when the system calculates cargo age, the desired outcome is that cargo age is computed using julian date conversion and current date comparison.
💻 Technical Criteria
Given Age calculation is required and cargo dates are available
When The system calculates cargo age
Then Cargo age is computed using Julian date conversion and current date comparison
R-GCX016-cbl-02999 Set Final Status Flags
Action Rules
📊 Business Logic Narrative
When the process 'Set Final Status Flags' is invoked, and assuming that all status analysis and calculations are complete, when the system sets final status flags, the desired outcome is that all relevant status flags are set to reflect the final cargo state.
💻 Technical Criteria
Given All status analysis and calculations are complete
When The system sets final status flags
Then All relevant status flags are set to reflect the final cargo state
R-GCX016-cbl-03001 Clear Destination Index
Decision Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that a cargo record is being processed for status determination, when the manual release flag is set to true, the desired outcome is that the system clears the destination index and initiates canadian manifest coordination processing.
💻 Technical Criteria
Given A cargo record is being processed for status determination
When The manual release flag is set to true
Then The system clears the destination index and initiates Canadian manifest coordination processing
R-GCX016-cbl-03002 Set FDA Hold Status with Code 66
Decision Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Status with Code 66' is invoked, and assuming that a cargo record is being evaluated for status assignment, when fda hold flag is present at destination location, the desired outcome is that the system sets cargo status to fda hold with status code 66.
💻 Technical Criteria
Given A cargo record is being evaluated for status assignment
When FDA hold flag is present at destination location
Then The system sets cargo status to FDA hold with status code 66
R-GCX016-cbl-03003 Save Current PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current PTT Status' is invoked, and assuming that a cargo record has existing ptt status, when complex status logic processing is initiated, the desired outcome is that the system saves and preserves the current ptt status for continued processing.
💻 Technical Criteria
Given A cargo record has existing PTT status
When Complex status logic processing is initiated
Then The system saves and preserves the current PTT status for continued processing
R-GCX016-cbl-03004 Set Hold on Piece Counts Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts Status' is invoked, and assuming that a cargo record with total quantity and released quantity values, when the released quantity is less than the total quantity, the desired outcome is that the system sets hold status on piece counts for the unreleased portion.
💻 Technical Criteria
Given A cargo record with total quantity and released quantity values
When The released quantity is less than the total quantity
Then The system sets hold status on piece counts for the unreleased portion
R-GCX016-cbl-03005 Process Full Release
Decision Rules
📊 Business Logic Narrative
When the process 'Process Full Release' is invoked, and assuming that a cargo record with released quantity equal to total quantity, when full release conditions are met, the desired outcome is that the system processes full release and clears the destination index.
💻 Technical Criteria
Given A cargo record with released quantity equal to total quantity
When Full release conditions are met
Then The system processes full release and clears the destination index
R-GCX016-cbl-03006 Set Proceed Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Proceed Status' is invoked, and assuming that a cargo record being evaluated for proceed status, when proceed status flag is present in the cargo evaluation, the desired outcome is that the system sets proceed status and updates the border arrival date.
💻 Technical Criteria
Given A cargo record being evaluated for proceed status
When Proceed status flag is present in the cargo evaluation
Then The system sets proceed status and updates the border arrival date
R-GCX016-cbl-03007 Set Border Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Status' is invoked, and assuming that a cargo record with hold status present, when the hold location is determined to be at the border, the desired outcome is that the system assigns border hold status to the cargo.
💻 Technical Criteria
Given A cargo record with hold status present
When The hold location is determined to be at the border
Then The system assigns border hold status to the cargo
R-GCX016-cbl-03008 Set Destination Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Status' is invoked, and assuming that a cargo record with hold status present, when the hold location is determined to be at the destination (not border), the desired outcome is that the system assigns destination hold status to the cargo.
💻 Technical Criteria
Given A cargo record with hold status present
When The hold location is determined to be at the destination (not border)
Then The system assigns destination hold status to the cargo
R-GCX016-cbl-03009 Set Arrival Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Arrival Status' is invoked, and assuming that a cargo record being processed for arrival status, when arrival status flag is present in the evaluation, the desired outcome is that the system sets arrival status and clears the destination index.
💻 Technical Criteria
Given A cargo record being processed for arrival status
When Arrival status flag is present in the evaluation
Then The system sets arrival status and clears the destination index
R-GCX016-cbl-03010 Set Export Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Export Status' is invoked, and assuming that a cargo record being evaluated for export status, when export status flag is present in the cargo evaluation, the desired outcome is that the system sets export status and clears the destination index.
💻 Technical Criteria
Given A cargo record being evaluated for export status
When Export status flag is present in the cargo evaluation
Then The system sets export status and clears the destination index
R-GCX016-cbl-03011 Process Unrelease Scenario
Process Rules
📊 Business Logic Narrative
When the process 'Process Unrelease Scenario' is invoked, and assuming that a cargo record with cancel release status detected, when unrelease scenario processing is required, the desired outcome is that the system processes the unrelease scenario and generates unrelease notifications.
💻 Technical Criteria
Given A cargo record with cancel release status detected
When Unrelease scenario processing is required
Then The system processes the unrelease scenario and generates unrelease notifications
R-GCX016-cbl-03012 Calculate Cargo Age using Julian Date
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Cargo Age using Julian Date' is invoked, and assuming that a cargo record requiring age calculation, when age calculation is required for cargo processing, the desired outcome is that the system calculates cargo age using julian date conversion methods.
💻 Technical Criteria
Given A cargo record requiring age calculation
When Age calculation is required for cargo processing
Then The system calculates cargo age using Julian date conversion methods
R-GCX016-cbl-03013 Re-establish Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Re-establish Destination Index' is invoked, and assuming that a cargo record that has completed age calculation, when destination index re-establishment is required, the desired outcome is that the system re-establishes the destination index for the cargo record.
💻 Technical Criteria
Given A cargo record that has completed age calculation
When Destination index re-establishment is required
Then The system re-establishes the destination index for the cargo record
R-GCX016-cbl-03014 Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that a cargo record that has undergone status changes, when status changes have been made to the cargo record, the desired outcome is that the system updates the cargo record in the database with the new status information.
💻 Technical Criteria
Given A cargo record that has undergone status changes
When Status changes have been made to the cargo record
Then The system updates the cargo record in the database with the new status information
R-GCX016-cbl-03015 Check Current Cargo Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Current Cargo Status' is invoked, and assuming that a cargo record is being processed for status updates, when the system checks the current cargo status, the desired outcome is that the system identifies whether ptt status is present and requires preservation.
💻 Technical Criteria
Given A cargo record is being processed for status updates
When The system checks the current cargo status
Then The system identifies whether PTT status is present and requires preservation
R-GCX016-cbl-03016 PTT Status Present?
Validation Rules
📊 Business Logic Narrative
When the process 'PTT Status Present?' is invoked, and assuming that a cargo record with current status information, when the system evaluates if ptt status is present in the cargo status, the desired outcome is that the system sets a flag indicating ptt status presence and proceeds to either save ptt status or continue with normal processing.
💻 Technical Criteria
Given A cargo record with current status information
When The system evaluates if PTT status is present in the cargo status
Then The system sets a flag indicating PTT status presence and proceeds to either save PTT status or continue with normal processing
R-GCX016-cbl-03017 Save Current PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current PTT Status' is invoked, and assuming that a cargo record with existing ptt status, when the system needs to process new disposition codes that might affect ptt status, the desired outcome is that the system saves the current ptt status information to temporary storage for potential restoration.
💻 Technical Criteria
Given A cargo record with existing PTT status
When The system needs to process new disposition codes that might affect PTT status
Then The system saves the current PTT status information to temporary storage for potential restoration
R-GCX016-cbl-03018 Store PTT Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Store PTT Quantity Information' is invoked, and assuming that a cargo record with ptt status and associated quantity information, when the system prepares to process disposition codes that may affect quantities, the desired outcome is that the system stores ptt quantity information including release quantities and quantity thresholds for later validation.
💻 Technical Criteria
Given A cargo record with PTT status and associated quantity information
When The system prepares to process disposition codes that may affect quantities
Then The system stores PTT quantity information including release quantities and quantity thresholds for later validation
R-GCX016-cbl-03019 Process New Disposition Codes
Action Rules
📊 Business Logic Narrative
When the process 'Process New Disposition Codes' is invoked, and assuming that a cargo record with saved ptt status information and new disposition codes to process, when the system processes the new disposition codes, the desired outcome is that the system applies the disposition codes and updates the cargo status array while preserving the ability to restore ptt status.
💻 Technical Criteria
Given A cargo record with saved PTT status information and new disposition codes to process
When The system processes the new disposition codes
Then The system applies the disposition codes and updates the cargo status array while preserving the ability to restore PTT status
R-GCX016-cbl-03020 Analyze Status Array Changes
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Status Array Changes' is invoked, and assuming that a cargo record with processed disposition codes and updated status array, when the system analyzes the changes made to the status array, the desired outcome is that the system determines whether the ptt status is still valid based on the new status conditions.
💻 Technical Criteria
Given A cargo record with processed disposition codes and updated status array
When The system analyzes the changes made to the status array
Then The system determines whether the PTT status is still valid based on the new status conditions
R-GCX016-cbl-03021 PTT Still Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Still Valid?' is invoked, and assuming that a cargo record with processed disposition codes and analyzed status changes, when the system evaluates whether ptt status remains valid after the changes, the desired outcome is that the system decides to either continue with ptt status validation or clear ptt status based on validity conditions.
💻 Technical Criteria
Given A cargo record with processed disposition codes and analyzed status changes
When The system evaluates whether PTT status remains valid after the changes
Then The system decides to either continue with PTT status validation or clear PTT status based on validity conditions
R-GCX016-cbl-03022 Quantity Validation Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Validation Required?' is invoked, and assuming that a cargo record with valid ptt status after disposition code processing, when the system evaluates if quantity validation is needed for ptt status maintenance, the desired outcome is that the system either proceeds with quantity validation or directly restores ptt status based on validation requirements.
💻 Technical Criteria
Given A cargo record with valid PTT status after disposition code processing
When The system evaluates if quantity validation is needed for PTT status maintenance
Then The system either proceeds with quantity validation or directly restores PTT status based on validation requirements
R-GCX016-cbl-03023 Validate PTT Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PTT Quantities' is invoked, and assuming that a cargo record requiring ptt quantity validation with stored quantity information, when the system validates ptt quantities against current cargo quantities and thresholds, the desired outcome is that the system determines if quantities match the ptt requirements for status maintenance.
💻 Technical Criteria
Given A cargo record requiring PTT quantity validation with stored quantity information
When The system validates PTT quantities against current cargo quantities and thresholds
Then The system determines if quantities match the PTT requirements for status maintenance
R-GCX016-cbl-03024 Quantities Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Quantities Match?' is invoked, and assuming that a cargo record with validated ptt quantities, when the system compares current quantities with ptt requirements, the desired outcome is that the system decides to either maintain ptt status, adjust ptt for partial release, or proceed with standard ptt restoration.
💻 Technical Criteria
Given A cargo record with validated PTT quantities
When The system compares current quantities with PTT requirements
Then The system decides to either maintain PTT status, adjust PTT for partial release, or proceed with standard PTT restoration
R-GCX016-cbl-03025 Maintain PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Maintain PTT Status' is invoked, and assuming that a cargo record with validated quantities that match ptt requirements, when the system determines ptt status should be maintained without changes, the desired outcome is that the system preserves the current ptt status and proceeds with restoration process.
💻 Technical Criteria
Given A cargo record with validated quantities that match PTT requirements
When The system determines PTT status should be maintained without changes
Then The system preserves the current PTT status and proceeds with restoration process
R-GCX016-cbl-03026 Adjust PTT for Partial Release
Computation Rules
📊 Business Logic Narrative
When the process 'Adjust PTT for Partial Release' is invoked, and assuming that a cargo record with quantities that don't fully match ptt requirements due to partial releases, when the system determines ptt status should be adjusted rather than cleared, the desired outcome is that the system modifies ptt quantities and status to reflect partial release conditions while maintaining ptt designation.
💻 Technical Criteria
Given A cargo record with quantities that don't fully match PTT requirements due to partial releases
When The system determines PTT status should be adjusted rather than cleared
Then The system modifies PTT quantities and status to reflect partial release conditions while maintaining PTT designation
R-GCX016-cbl-03027 Restore Saved PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Restore Saved PTT Status' is invoked, and assuming that a cargo record with saved ptt status information and completed validation process, when the system restores the ptt status to the cargo record, the desired outcome is that the system applies the saved or adjusted ptt status information to the current cargo status.
💻 Technical Criteria
Given A cargo record with saved PTT status information and completed validation process
When The system restores the PTT status to the cargo record
Then The system applies the saved or adjusted PTT status information to the current cargo status
R-GCX016-cbl-03028 Update PTT Quantity
Process Rules
📊 Business Logic Narrative
When the process 'Update PTT Quantity' is invoked, and assuming that a cargo record with restored ptt status, when the system updates ptt quantity information, the desired outcome is that the system applies the final ptt quantity values including any adjustments made during the preservation process.
💻 Technical Criteria
Given A cargo record with restored PTT status
When The system updates PTT quantity information
Then The system applies the final PTT quantity values including any adjustments made during the preservation process
R-GCX016-cbl-03029 Clear PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Clear PTT Status' is invoked, and assuming that a cargo record where ptt status is determined to be invalid after disposition code processing, when the system clears ptt status from the cargo record, the desired outcome is that the system removes all ptt-related status information and quantities from the cargo record.
💻 Technical Criteria
Given A cargo record where PTT status is determined to be invalid after disposition code processing
When The system clears PTT status from the cargo record
Then The system removes all PTT-related status information and quantities from the cargo record
R-GCX016-cbl-03030 Update Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record' is invoked, and assuming that a cargo record with completed ptt status preservation processing, when the system updates the cargo record with final status information, the desired outcome is that the system commits the final cargo status including ptt status preservation results to the cargo record.
💻 Technical Criteria
Given A cargo record with completed PTT status preservation processing
When The system updates the cargo record with final status information
Then The system commits the final cargo status including PTT status preservation results to the cargo record
R-GCX016-cbl-03031 Check Released Quantity vs Total Quantity
Decision Rules
📊 Business Logic Narrative
When the process 'Check Released Quantity vs Total Quantity' is invoked, and assuming that a cargo record exists with total quantity and released quantity values, when the system compares released quantity against total quantity, the desired outcome is that the system identifies if cargo requires partial release processing when released quantity is less than total quantity.
💻 Technical Criteria
Given A cargo record exists with total quantity and released quantity values
When The system compares released quantity against total quantity
Then The system identifies if cargo requires partial release processing when released quantity is less than total quantity
R-GCX016-cbl-03032 Calculate Remaining Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Remaining Quantity' is invoked, and assuming that cargo has been identified as partially released with released quantity less than total quantity, when the system calculates remaining quantity, the desired outcome is that the remaining quantity equals total quantity minus released quantity.
💻 Technical Criteria
Given Cargo has been identified as partially released with released quantity less than total quantity
When The system calculates remaining quantity
Then The remaining quantity equals total quantity minus released quantity
R-GCX016-cbl-03033 Set Hold on Piece Counts Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts Status' is invoked, and assuming that cargo has remaining unreleased quantity after partial release, when the system processes partial release status, the desired outcome is that the system sets hold on piece counts status (holdpcs) to indicate partial hold condition.
💻 Technical Criteria
Given Cargo has remaining unreleased quantity after partial release
When The system processes partial release status
Then The system sets hold on piece counts status (HOLDPCS) to indicate partial hold condition
R-GCX016-cbl-03034 Update Cargo Status to Partial Release
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to Partial Release' is invoked, and assuming that cargo has been determined to be in partial release state with hold on piece counts, when the system updates cargo status, the desired outcome is that the cargo status is set to partial release with appropriate status description.
💻 Technical Criteria
Given Cargo has been determined to be in partial release state with hold on piece counts
When The system updates cargo status
Then The cargo status is set to partial release with appropriate status description
R-GCX016-cbl-03035 Preserve PTT Status if Exists
Process Rules
📊 Business Logic Narrative
When the process 'Preserve PTT Status if Exists' is invoked, and assuming that cargo has existing ptt status and is being processed for partial release, when the system updates cargo status for partial release, the desired outcome is that the existing ptt status is preserved and not overwritten by partial release processing.
💻 Technical Criteria
Given Cargo has existing PTT status and is being processed for partial release
When The system updates cargo status for partial release
Then The existing PTT status is preserved and not overwritten by partial release processing
R-GCX016-cbl-03036 Update Status Array with Partial Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array with Partial Release Flag' is invoked, and assuming that cargo is in partial release state with calculated remaining quantities, when the system updates the status array, the desired outcome is that the status array includes partial release flags, hold indicators, and quantity information.
💻 Technical Criteria
Given Cargo is in partial release state with calculated remaining quantities
When The system updates the status array
Then The status array includes partial release flags, hold indicators, and quantity information
R-GCX016-cbl-03037 Set Hold Location - Border or Destination
Decision Rules
📊 Business Logic Narrative
When the process 'Set Hold Location - Border or Destination' is invoked, and assuming that cargo is in partial release state requiring hold location assignment, when the system determines hold location, the desired outcome is that the hold location is set to either border or destination based on cargo routing and processing requirements.
💻 Technical Criteria
Given Cargo is in partial release state requiring hold location assignment
When The system determines hold location
Then The hold location is set to either border or destination based on cargo routing and processing requirements
R-GCX016-cbl-03038 Destination Index Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Index Required?' is invoked, and assuming that cargo is being processed for partial release with determined hold location, when the system evaluates destination index requirements, the desired outcome is that the system determines whether to maintain or clear destination index based on cargo status and routing needs.
💻 Technical Criteria
Given Cargo is being processed for partial release with determined hold location
When The system evaluates destination index requirements
Then The system determines whether to maintain or clear destination index based on cargo status and routing needs
R-GCX016-cbl-03039 Maintain Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Maintain Destination Index' is invoked, and assuming that cargo in partial release state requires continued destination processing, when the system processes destination index requirements, the desired outcome is that the destination index is maintained to ensure proper routing and processing continuation.
💻 Technical Criteria
Given Cargo in partial release state requires continued destination processing
When The system processes destination index requirements
Then The destination index is maintained to ensure proper routing and processing continuation
R-GCX016-cbl-03040 Clear Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that cargo in partial release state requires border-only processing, when the system processes destination index requirements, the desired outcome is that the destination index is cleared to prevent destination processing.
💻 Technical Criteria
Given Cargo in partial release state requires border-only processing
When The system processes destination index requirements
Then The destination index is cleared to prevent destination processing
R-GCX016-cbl-03041 Update Cargo Record with Partial Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Partial Status' is invoked, and assuming that all partial release processing has been completed with status determinations, when the system updates the cargo record, the desired outcome is that the cargo record is updated with partial release status, quantities, hold information, and destination index settings.
💻 Technical Criteria
Given All partial release processing has been completed with status determinations
When The system updates the cargo record
Then The cargo record is updated with partial release status, quantities, hold information, and destination index settings
R-GCX016-cbl-03042 Generate Partial Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Partial Release Notification' is invoked, and assuming that cargo record has been updated with partial release status, when the system generates notifications, the desired outcome is that appropriate notifications are sent to brokers, customs, and other stakeholders regarding partial release and remaining holds.
💻 Technical Criteria
Given Cargo record has been updated with partial release status
When The system generates notifications
Then Appropriate notifications are sent to brokers, customs, and other stakeholders regarding partial release and remaining holds
R-GCX016-cbl-03044 Previously Released Cargo Detected
Decision Rules
📊 Business Logic Narrative
When the process 'Previously Released Cargo Detected' is invoked, and assuming that a cargo record exists in the system with historical release status, when the system processes a new disposition code message for this cargo, the desired outcome is that the system detects that this cargo was previously released and flags it for unrelease processing.
💻 Technical Criteria
Given A cargo record exists in the system with historical release status
When The system processes a new disposition code message for this cargo
Then The system detects that this cargo was previously released and flags it for unrelease processing
R-GCX016-cbl-03045 Check Current Status Array
Validation Rules
📊 Business Logic Narrative
When the process 'Check Current Status Array' is invoked, and assuming that a cargo record has a populated status array with current disposition codes, when the system analyzes the status array for release and hold conditions, the desired outcome is that the system identifies current status flags including release quantities, hold statuses, and disposition codes.
💻 Technical Criteria
Given A cargo record has a populated status array with current disposition codes
When The system analyzes the status array for release and hold conditions
Then The system identifies current status flags including release quantities, hold statuses, and disposition codes
R-GCX016-cbl-03047 Unrelease Condition Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Unrelease Condition Found?' is invoked, and assuming that a disposition code has been analyzed and its action type determined, when the disposition code action type is 'dc remove+release', 'dc removal', or adds a hold status to previously released cargo, the desired outcome is that the system determines that unrelease processing is required and proceeds with status change logic.
💻 Technical Criteria
Given A disposition code has been analyzed and its action type determined
When The disposition code action type is 'DC Remove+Release', 'DC Removal', or adds a hold status to previously released cargo
Then The system determines that unrelease processing is required and proceeds with status change logic
R-GCX016-cbl-03048 Detect Status Change from Released to Unreleased
Decision Rules
📊 Business Logic Narrative
When the process 'Detect Status Change from Released to Unreleased' is invoked, and assuming that cargo currently has release status flags set and release quantities greater than zero, when a disposition code will remove release status or add hold conditions that override the release, the desired outcome is that the system detects this as an unrelease condition and prepares to update the cargo status accordingly.
💻 Technical Criteria
Given Cargo currently has release status flags set and release quantities greater than zero
When A disposition code will remove release status or add hold conditions that override the release
Then The system detects this as an unrelease condition and prepares to update the cargo status accordingly
R-GCX016-cbl-03049 Save Current Cargo Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Cargo Status' is invoked, and assuming that cargo is about to be unreleased and current status needs to be preserved, when the system saves the current cargo status description and release quantities, the desired outcome is that the previous status information is stored for comparison and logging purposes.
💻 Technical Criteria
Given Cargo is about to be unreleased and current status needs to be preserved
When The system saves the current cargo status description and release quantities
Then The previous status information is stored for comparison and logging purposes
R-GCX016-cbl-03050 Update Status Array with Unrelease Code
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array with Unrelease Code' is invoked, and assuming that an unrelease disposition code needs to be added to the cargo status array, when the system processes the disposition code and determines its placement in the status array, the desired outcome is that the new disposition code is added to the status array with appropriate sequence and occurrence numbers.
💻 Technical Criteria
Given An unrelease disposition code needs to be added to the cargo status array
When The system processes the disposition code and determines its placement in the status array
Then The new disposition code is added to the status array with appropriate sequence and occurrence numbers
R-GCX016-cbl-03051 Remove Release Status Flags
Action Rules
📊 Business Logic Narrative
When the process 'Remove Release Status Flags' is invoked, and assuming that cargo has existing release status flags and release quantities set, when an unrelease disposition code requires removal of release status, the desired outcome is that the system clears release flags, resets release quantities, and removes release-related status codes from the array.
💻 Technical Criteria
Given Cargo has existing release status flags and release quantities set
When An unrelease disposition code requires removal of release status
Then The system clears release flags, resets release quantities, and removes release-related status codes from the array
R-GCX016-cbl-03052 Restore Hold Status if Applicable
Decision Rules
📊 Business Logic Narrative
When the process 'Restore Hold Status if Applicable' is invoked, and assuming that cargo is being unreleased and may require hold status to be applied, when the disposition code indicates a hold condition or the cargo's previous state included hold requirements, the desired outcome is that the system applies the appropriate hold status based on the cargo's location and disposition requirements.
💻 Technical Criteria
Given Cargo is being unreleased and may require hold status to be applied
When The disposition code indicates a hold condition or the cargo's previous state included hold requirements
Then The system applies the appropriate hold status based on the cargo's location and disposition requirements
R-GCX016-cbl-03053 Border or Destination Hold?
Decision Rules
📊 Business Logic Narrative
When the process 'Border or Destination Hold?' is invoked, and assuming that cargo requires hold status as part of unrelease processing, when the system evaluates the cargo's current location, destination, and disposition code requirements, the desired outcome is that the system determines whether to apply border hold, destination hold, or both based on the cargo's routing and customs requirements.
💻 Technical Criteria
Given Cargo requires hold status as part of unrelease processing
When The system evaluates the cargo's current location, destination, and disposition code requirements
Then The system determines whether to apply border hold, destination hold, or both based on the cargo's routing and customs requirements
R-GCX016-cbl-03054 Set Border Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Status' is invoked, and assuming that unreleased cargo requires border hold status, when the cargo is at or destined for border processing location, the desired outcome is that the system sets border hold status flags and updates the cargo status to reflect border hold conditions.
💻 Technical Criteria
Given Unreleased cargo requires border hold status
When The cargo is at or destined for border processing location
Then The system sets border hold status flags and updates the cargo status to reflect border hold conditions
R-GCX016-cbl-03055 Set Destination Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Status' is invoked, and assuming that unreleased cargo requires destination hold status, when the cargo is at or destined for destination processing location, the desired outcome is that the system sets destination hold status flags and updates the cargo status to reflect destination hold conditions.
💻 Technical Criteria
Given Unreleased cargo requires destination hold status
When The cargo is at or destined for destination processing location
Then The system sets destination hold status flags and updates the cargo status to reflect destination hold conditions
R-GCX016-cbl-03056 Re-establish Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Re-establish Destination Index' is invoked, and assuming that cargo is being unreleased and had destination information cleared during previous release, when the cargo requires destination hold or routing information to be restored, the desired outcome is that the system re-establishes the destination index and routing information from the cargo's sd segment data.
💻 Technical Criteria
Given Cargo is being unreleased and had destination information cleared during previous release
When The cargo requires destination hold or routing information to be restored
Then The system re-establishes the destination index and routing information from the cargo's SD segment data
R-GCX016-cbl-03057 Generate Unrelease Notification Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Unrelease Notification Message' is invoked, and assuming that cargo has been successfully unreleased and status updated, when the system prepares notification messages for the unrelease action, the desired outcome is that the system generates merlin messages containing cargo details, unrelease reason, and new status information for distribution to appropriate users.
💻 Technical Criteria
Given Cargo has been successfully unreleased and status updated
When The system prepares notification messages for the unrelease action
Then The system generates Merlin messages containing cargo details, unrelease reason, and new status information for distribution to appropriate users
R-GCX016-cbl-03058 Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that cargo status has been changed to unreleased with updated status array and flags, when the system commits the cargo record changes to the database, the desired outcome is that the cargo record is updated with new status, status description, hold flags, and cleared release quantities.
💻 Technical Criteria
Given Cargo status has been changed to unreleased with updated status array and flags
When The system commits the cargo record changes to the database
Then The cargo record is updated with new status, status description, hold flags, and cleared release quantities
R-GCX016-cbl-03059 Call Integration Services for Status Change
Action Rules
📊 Business Logic Narrative
When the process 'Call Integration Services for Status Change' is invoked, and assuming that cargo has been unreleased and database updated successfully, when the cargo requires notification to external systems for equipment or container processing, the desired outcome is that the system calls gcciis integration services to notify external systems of the status change from released to unreleased.
💻 Technical Criteria
Given Cargo has been unreleased and database updated successfully
When The cargo requires notification to external systems for equipment or container processing
Then The system calls GCCIIS integration services to notify external systems of the status change from released to unreleased
R-GCX016-cbl-03060 Log Unrelease Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Log Unrelease Transaction' is invoked, and assuming that cargo unrelease processing has been completed successfully, when the system logs the transaction details for audit purposes, the desired outcome is that the system calls gct1051e to log the unrelease transaction with cargo details, disposition codes, and status changes.
💻 Technical Criteria
Given Cargo unrelease processing has been completed successfully
When The system logs the transaction details for audit purposes
Then The system calls GCT1051E to log the unrelease transaction with cargo details, disposition codes, and status changes
R-GCX016-cbl-03061 Route Unrelease Message to Appropriate Users
Action Rules
📊 Business Logic Narrative
When the process 'Route Unrelease Message to Appropriate Users' is invoked, and assuming that unrelease notification message has been generated, when the system determines the appropriate recipients based on cargo location and broker information, the desired outcome is that the system routes the unrelease message to station-specific merlin ids, broker notification systems, and error handling destinations as appropriate.
💻 Technical Criteria
Given Unrelease notification message has been generated
When The system determines the appropriate recipients based on cargo location and broker information
Then The system routes the unrelease message to station-specific Merlin IDs, broker notification systems, and error handling destinations as appropriate
R-GCX016-cbl-03062 US Cargo Released?
Validation Rules
📊 Business Logic Narrative
When the process 'US Cargo Released?' is invoked, and assuming that a us cargo record exists in the system, when the system checks the cargo release status for cross-border coordination, the desired outcome is that the system should proceed with canadian manifest processing only if the us cargo is in released status, otherwise skip cross-border coordination.
💻 Technical Criteria
Given A US cargo record exists in the system
When The system checks the cargo release status for cross-border coordination
Then The system should proceed with Canadian manifest processing only if the US cargo is in released status, otherwise skip cross-border coordination
R-GCX016-cbl-03063 Get Equipment ID from US Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Get Equipment ID from US Cargo' is invoked, and assuming that a us cargo record is confirmed as released, when the system needs to identify the associated equipment for canadian manifest lookup, the desired outcome is that the system should extract the equipment id from the us cargo record for cross-reference matching.
💻 Technical Criteria
Given A US cargo record is confirmed as released
When The system needs to identify the associated equipment for Canadian manifest lookup
Then The system should extract the equipment ID from the US cargo record for cross-reference matching
R-GCX016-cbl-03064 Search Canadian Cargo Database
Action Rules
📊 Business Logic Narrative
When the process 'Search Canadian Cargo Database' is invoked, and assuming that an equipment id has been extracted from the us cargo record, when the system searches for corresponding canadian cargo records, the desired outcome is that the system should query the canadian cargo database using the equipment id as the search key.
💻 Technical Criteria
Given An equipment ID has been extracted from the US cargo record
When The system searches for corresponding Canadian cargo records
Then The system should query the Canadian cargo database using the equipment ID as the search key
R-GCX016-cbl-03065 Match by Equipment ID
Decision Rules
📊 Business Logic Narrative
When the process 'Match by Equipment ID' is invoked, and assuming that canadian cargo database search has been initiated with equipment id, when the system attempts to match records between us and canadian systems, the desired outcome is that the system should identify matching records where the equipment id corresponds between us and canadian cargo.
💻 Technical Criteria
Given Canadian cargo database search has been initiated with equipment ID
When The system attempts to match records between US and Canadian systems
Then The system should identify matching records where the equipment ID corresponds between US and Canadian cargo
R-GCX016-cbl-03066 Canadian Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Cargo Found?' is invoked, and assuming that equipment id matching has been performed against canadian cargo database, when the system evaluates the search results, the desired outcome is that the system should determine if one or more canadian cargo records were found and proceed accordingly or skip cross-border coordination if no matches exist.
💻 Technical Criteria
Given Equipment ID matching has been performed against Canadian cargo database
When The system evaluates the search results
Then The system should determine if one or more Canadian cargo records were found and proceed accordingly or skip cross-border coordination if no matches exist
R-GCX016-cbl-03067 Multiple Canadian Records?
Decision Rules
📊 Business Logic Narrative
When the process 'Multiple Canadian Records?' is invoked, and assuming that canadian cargo records have been found for the equipment id, when the system evaluates the number of matching records, the desired outcome is that the system should process each canadian record individually if multiple records exist, or proceed with single record processing if only one record is found.
💻 Technical Criteria
Given Canadian cargo records have been found for the equipment ID
When The system evaluates the number of matching records
Then The system should process each Canadian record individually if multiple records exist, or proceed with single record processing if only one record is found
R-GCX016-cbl-03068 Process Each Canadian Record
Process Rules
📊 Business Logic Narrative
When the process 'Process Each Canadian Record' is invoked, and assuming that multiple canadian cargo records have been identified for the same equipment id, when the system processes cross-border coordination, the desired outcome is that the system should iterate through each canadian record and apply validation and coordination logic to each record separately.
💻 Technical Criteria
Given Multiple Canadian cargo records have been identified for the same equipment ID
When The system processes cross-border coordination
Then The system should iterate through each Canadian record and apply validation and coordination logic to each record separately
R-GCX016-cbl-03069 Validate Canadian Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Record Status' is invoked, and assuming that canadian cargo records have been identified for processing, when the system validates record eligibility for cross-border coordination, the desired outcome is that the system should verify that canadian records are in valid status and exclude any records that are deleted or in unusable status.
💻 Technical Criteria
Given Canadian cargo records have been identified for processing
When The system validates record eligibility for cross-border coordination
Then The system should verify that Canadian records are in valid status and exclude any records that are deleted or in unusable status
R-GCX016-cbl-03070 Exclude Deleted Records
Validation Rules
📊 Business Logic Narrative
When the process 'Exclude Deleted Records' is invoked, and assuming that canadian cargo records are being validated for cross-border coordination, when the system encounters records marked as deleted, the desired outcome is that the system should exclude deleted records from further processing and continue with remaining valid records.
💻 Technical Criteria
Given Canadian cargo records are being validated for cross-border coordination
When The system encounters records marked as deleted
Then The system should exclude deleted records from further processing and continue with remaining valid records
R-GCX016-cbl-03071 Exclude Unusable Records
Validation Rules
📊 Business Logic Narrative
When the process 'Exclude Unusable Records' is invoked, and assuming that canadian cargo records are being validated after deleted record exclusion, when the system encounters records in unusable status, the desired outcome is that the system should exclude unusable records from cross-border coordination processing.
💻 Technical Criteria
Given Canadian cargo records are being validated after deleted record exclusion
When The system encounters records in unusable status
Then The system should exclude unusable records from cross-border coordination processing
R-GCX016-cbl-03072 Record Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Valid?' is invoked, and assuming that canadian cargo record has passed deleted and unusable status checks, when the system performs final validity assessment, the desired outcome is that the system should determine if the record is valid for cross-border coordination and proceed with coordination if valid, or skip to no match processing if invalid.
💻 Technical Criteria
Given Canadian cargo record has passed deleted and unusable status checks
When The system performs final validity assessment
Then The system should determine if the record is valid for cross-border coordination and proceed with coordination if valid, or skip to no match processing if invalid
R-GCX016-cbl-03073 Create Cross-Border Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Create Cross-Border Log Message' is invoked, and assuming that a valid canadian cargo record has been identified for cross-border coordination, when the system creates audit documentation, the desired outcome is that the system should generate a cross-border log message documenting the coordination between us and canadian cargo records.
💻 Technical Criteria
Given A valid Canadian cargo record has been identified for cross-border coordination
When The system creates audit documentation
Then The system should generate a cross-border log message documenting the coordination between US and Canadian cargo records
R-GCX016-cbl-03077 No Canadian Match Found
Process Rules
📊 Business Logic Narrative
When the process 'No Canadian Match Found' is invoked, and assuming that equipment id search in canadian cargo database yields no results or all records are invalid, when the system determines no valid canadian matches exist, the desired outcome is that the system should proceed to skip cross-border coordination and complete processing without canadian cargo updates.
💻 Technical Criteria
Given Equipment ID search in Canadian cargo database yields no results or all records are invalid
When The system determines no valid Canadian matches exist
Then The system should proceed to skip cross-border coordination and complete processing without Canadian cargo updates
R-GCX016-cbl-03078 Skip Cross-Border Coordination
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Cross-Border Coordination', assuming that us cargo is not in released status or no valid canadian cargo matches are found, when the system determines cross-border coordination is not applicable, the desired outcome is that the system should skip all cross-border coordination activities and proceed to completion.
💻 Technical Criteria
EXCLUDING US cargo is not in released status or no valid Canadian cargo matches are found
When The system determines cross-border coordination is not applicable
Then The system should skip all cross-border coordination activities and proceed to completion
R-GCX016-cbl-03079 Clear Existing Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Existing Destination Index' is invoked, and assuming that a cargo record has an existing destination index and a cargo status change has been detected, when the system processes the status change, the desired outcome is that the existing destination index is cleared to prepare for re-establishment.
💻 Technical Criteria
Given A cargo record has an existing destination index AND a cargo status change has been detected
When The system processes the status change
Then The existing destination index is cleared to prepare for re-establishment
R-GCX016-cbl-03080 Re-establishment Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Re-establishment Required?' is invoked, and assuming that a cargo status change has occurred, when the system evaluates the status change type (arrival, export, bond change, or release), the desired outcome is that the system determines if destination index re-establishment is required based on business rules for each status change type.
💻 Technical Criteria
Given A cargo status change has occurred
When The system evaluates the status change type (arrival, export, bond change, or release)
Then The system determines if destination index re-establishment is required based on business rules for each status change type
R-GCX016-cbl-03081 Calculate New Index Parameters
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate New Index Parameters' is invoked, and assuming that destination index re-establishment is required and cargo status information is available, when the system calculates new index parameters, the desired outcome is that new destination index parameters are calculated based on current cargo status, location, and bond information.
💻 Technical Criteria
Given Destination index re-establishment is required AND cargo status information is available
When The system calculates new index parameters
Then New destination index parameters are calculated based on current cargo status, location, and bond information
R-GCX016-cbl-03082 Set Border Arrival Date
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Date' is invoked, and assuming that new destination index parameters are being calculated and border arrival information is available, when the system sets the border arrival date, the desired outcome is that the border arrival date is established based on current cargo arrival status and timing information.
💻 Technical Criteria
Given New destination index parameters are being calculated AND border arrival information is available
When The system sets the border arrival date
Then The border arrival date is established based on current cargo arrival status and timing information
R-GCX016-cbl-03083 Set Export Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Export Status' is invoked, and assuming that new destination index parameters are being calculated and export status information is available, when the system sets the export status, the desired outcome is that the export status is established based on current cargo export conditions and requirements.
💻 Technical Criteria
Given New destination index parameters are being calculated AND export status information is available
When The system sets the export status
Then The export status is established based on current cargo export conditions and requirements
R-GCX016-cbl-03087 Update Cargo Record with New Index
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with New Index' is invoked, and assuming that a new destination index has been successfully created, when the system updates the cargo record, the desired outcome is that the cargo record is updated to reference the new destination index.
💻 Technical Criteria
Given A new destination index has been successfully created
When The system updates the cargo record
Then The cargo record is updated to reference the new destination index
R-GCX016-cbl-03088 Log Index Re-establishment
Process Rules
📊 Business Logic Narrative
When the process 'Log Index Re-establishment' is invoked, and assuming that a destination index has been re-established and cargo record has been updated, when the system logs the activity, the desired outcome is that the destination index re-establishment activity is logged with relevant cargo and index information.
💻 Technical Criteria
Given A destination index has been re-established AND cargo record has been updated
When The system logs the activity
Then The destination index re-establishment activity is logged with relevant cargo and index information
R-GCX016-cbl-03090 Skip Index Re-establishment
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Index Re-establishment', assuming that a cargo status change has occurred and destination index re-establishment is not required, when the system evaluates re-establishment requirements, the desired outcome is that the destination index re-establishment process is skipped and processing continues.
💻 Technical Criteria
EXCLUDING A cargo status change has occurred AND destination index re-establishment is not required
When The system evaluates re-establishment requirements
Then The destination index re-establishment process is skipped and processing continues
R-GCX016-cbl-03101 Compact Array Elements
Process Rules
📊 Business Logic Narrative
When the process 'Compact Array Elements' is invoked, and assuming that one or more counterpart codes have been removed from the status array, when the system compacts the array structure, the desired outcome is that all remaining elements are shifted up to eliminate empty positions and maintain array integrity.
💻 Technical Criteria
Given One or more counterpart codes have been removed from the status array
When The system compacts the array structure
Then All remaining elements are shifted up to eliminate empty positions and maintain array integrity
R-GCX016-cbl-03105 FDA Hold Status Processing Start
Process Rules
📊 Business Logic Narrative
When the process 'FDA Hold Status Processing Start' is invoked, and assuming that a cargo record exists in the system, when fda hold status processing is initiated, the desired outcome is that the system begins evaluation of fda hold requirements.
💻 Technical Criteria
Given A cargo record exists in the system
When FDA hold status processing is initiated
Then The system begins evaluation of FDA hold requirements
R-GCX016-cbl-03106 Cargo Status Analysis Complete?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Status Analysis Complete?' is invoked, and assuming that fda hold status processing has been initiated, when the system checks if cargo status analysis is complete, the desired outcome is that the system either proceeds with fda hold conditions check or continues with standard processing.
💻 Technical Criteria
Given FDA hold status processing has been initiated
When The system checks if cargo status analysis is complete
Then The system either proceeds with FDA hold conditions check or continues with standard processing
R-GCX016-cbl-03107 Check for FDA Hold Conditions
Validation Rules
📊 Business Logic Narrative
When the process 'Check for FDA Hold Conditions' is invoked, and assuming that cargo status analysis is complete, when the system checks for fda hold conditions, the desired outcome is that the system identifies whether fda regulatory hold requirements exist for the cargo.
💻 Technical Criteria
Given Cargo status analysis is complete
When The system checks for FDA hold conditions
Then The system identifies whether FDA regulatory hold requirements exist for the cargo
R-GCX016-cbl-03109 Set FDA Hold Status Code
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Status Code' is invoked, and assuming that fda hold is required at destination, when the system sets fda hold status code, the desired outcome is that the cargo is assigned the fda-specific hold status code.
💻 Technical Criteria
Given FDA hold is required at destination
When The system sets FDA hold status code
Then The cargo is assigned the FDA-specific hold status code
R-GCX016-cbl-03110 Update Cargo Status to FDA Hold
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to FDA Hold' is invoked, and assuming that fda hold status code has been set, when the system updates cargo status to fda hold, the desired outcome is that the cargo status is changed to fda hold status.
💻 Technical Criteria
Given FDA hold status code has been set
When The system updates cargo status to FDA hold
Then The cargo status is changed to FDA hold status
R-GCX016-cbl-03111 Set Destination Hold Location
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Location' is invoked, and assuming that cargo status has been updated to fda hold, when the system sets destination hold location, the desired outcome is that the hold location is designated as the destination location.
💻 Technical Criteria
Given Cargo status has been updated to FDA hold
When The system sets destination hold location
Then The hold location is designated as the destination location
R-GCX016-cbl-03112 Apply FDA-Specific Status Description
Action Rules
📊 Business Logic Narrative
When the process 'Apply FDA-Specific Status Description' is invoked, and assuming that destination hold location has been set, when the system applies fda-specific status description, the desired outcome is that the cargo record contains fda-specific status description indicating regulatory hold.
💻 Technical Criteria
Given Destination hold location has been set
When The system applies FDA-specific status description
Then The cargo record contains FDA-specific status description indicating regulatory hold
R-GCX016-cbl-03117 Update Cargo Record with FDA Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with FDA Status' is invoked, and assuming that fda hold notification has been generated, when the system updates cargo record with fda status, the desired outcome is that the cargo record in the database reflects fda hold status and related information.
💻 Technical Criteria
Given FDA hold notification has been generated
When The system updates cargo record with FDA status
Then The cargo record in the database reflects FDA hold status and related information
R-GCX016-cbl-03118 FDA Hold Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'FDA Hold Processing Complete' is invoked, and assuming that cargo record has been updated with fda status or standard processing has been completed, when fda hold processing reaches completion, the desired outcome is that all fda hold processing activities are finalized and the system is ready for next operations.
💻 Technical Criteria
Given Cargo record has been updated with FDA status OR standard processing has been completed
When FDA hold processing reaches completion
Then All FDA hold processing activities are finalized and the system is ready for next operations
R-GCX016-cbl-03119 Continue with Standard Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue with Standard Processing', assuming that cargo status analysis is not complete or fda hold is not required at destination, when the system continues with standard processing, the desired outcome is that normal cargo processing workflow proceeds without fda hold restrictions.
💻 Technical Criteria
EXCLUDING Cargo status analysis is not complete OR FDA hold is not required at destination
When The system continues with standard processing
Then Normal cargo processing workflow proceeds without FDA hold restrictions
R-GCX016-cbl-03120 Proceed Flag Set in Status Array?
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed Flag Set in Status Array?' is invoked, and assuming that a cargo record has completed status analysis and status array contains various status flags, when the system checks the proceed flag in the s09a status array, the desired outcome is that if proceed flag is set to true, continue with proceed status processing, otherwise skip proceed processing and continue with next status processing step.
💻 Technical Criteria
Given A cargo record has completed status analysis and status array contains various status flags
When The system checks the proceed flag in the S09A status array
Then If proceed flag is set to true, continue with proceed status processing, otherwise skip proceed processing and continue with next status processing step
R-GCX016-cbl-03121 Cargo Currently Held?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Currently Held?' is invoked, and assuming that proceed flag is set in status array and cargo record exists with current status information, when the system evaluates the current cargo status from gccc-cargo-root record, the desired outcome is that if cargo is currently held (has any hold status flags active), proceed with setting proceed status flag, otherwise skip proceed processing.
💻 Technical Criteria
Given Proceed flag is set in status array and cargo record exists with current status information
When The system evaluates the current cargo status from GCCC-CARGO-ROOT record
Then If cargo is currently held (has any hold status flags active), proceed with setting proceed status flag, otherwise skip proceed processing
R-GCX016-cbl-03122 Set Proceed Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Proceed Status Flag' is invoked, and assuming that cargo is currently held and proceed flag is set in status array, when the system processes proceed status assignment, the desired outcome is that set the proceed status flag to active in the cargo processing variables.
💻 Technical Criteria
Given Cargo is currently held and proceed flag is set in status array
When The system processes proceed status assignment
Then Set the proceed status flag to active in the cargo processing variables
R-GCX016-cbl-03123 Border Date Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Border Date Available?' is invoked, and assuming that proceed status flag has been set and border arrival date update is required, when the system checks for availability of border date in the message or cargo data, the desired outcome is that if border date is available and valid, use the provided border date, otherwise use current system date as border arrival date.
💻 Technical Criteria
Given Proceed status flag has been set and border arrival date update is required
When The system checks for availability of border date in the message or cargo data
Then If border date is available and valid, use the provided border date, otherwise use current system date as border arrival date
R-GCX016-cbl-03124 Use Current System Date
Computation Rules
📊 Business Logic Narrative
When the process 'Use Current System Date' is invoked, and assuming that proceed status processing is active and no border date is available in message data, when the system needs to update border arrival date, the desired outcome is that assign current system date as the border arrival date for the cargo record.
💻 Technical Criteria
Given Proceed status processing is active and no border date is available in message data
When The system needs to update border arrival date
Then Assign current system date as the border arrival date for the cargo record
R-GCX016-cbl-03125 Use Provided Border Date
Action Rules
📊 Business Logic Narrative
When the process 'Use Provided Border Date' is invoked, and assuming that proceed status processing is active and border date is available in message data, when the system updates border arrival date, the desired outcome is that use the provided border date from the message as the border arrival date for the cargo record.
💻 Technical Criteria
Given Proceed status processing is active and border date is available in message data
When The system updates border arrival date
Then Use the provided border date from the message as the border arrival date for the cargo record
R-GCX016-cbl-03126 Clear Hold Status Flags
Action Rules
📊 Business Logic Narrative
When the process 'Clear Hold Status Flags' is invoked, and assuming that border arrival date has been updated and proceed status is being applied, when the system processes hold status flag clearing, the desired outcome is that clear all active hold status flags in the cargo status array and processing variables.
💻 Technical Criteria
Given Border arrival date has been updated and proceed status is being applied
When The system processes hold status flag clearing
Then Clear all active hold status flags in the cargo status array and processing variables
R-GCX016-cbl-03127 Update Cargo Record Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record Status' is invoked, and assuming that hold status flags have been cleared and proceed status flag is set with updated border arrival date, when the system updates the cargo record status, the desired outcome is that update gccc-cargo-root record with proceed status, cleared hold flags, and updated border arrival date.
💻 Technical Criteria
Given Hold status flags have been cleared and proceed status flag is set with updated border arrival date
When The system updates the cargo record status
Then Update GCCC-CARGO-ROOT record with proceed status, cleared hold flags, and updated border arrival date
R-GCX016-cbl-03128 Log Proceed Status Change
Action Rules
📊 Business Logic Narrative
When the process 'Log Proceed Status Change' is invoked, and assuming that cargo record status has been updated with proceed status and cleared hold flags, when the system completes proceed status processing, the desired outcome is that log the proceed status change with cargo identifier, previous status, new status, and timestamp for audit trail.
💻 Technical Criteria
Given Cargo record status has been updated with proceed status and cleared hold flags
When The system completes proceed status processing
Then Log the proceed status change with cargo identifier, previous status, new status, and timestamp for audit trail
R-GCX016-cbl-03129 Export Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Flag Set?' is invoked, and assuming that a cargo record has completed status analysis, when the system checks the export flag status, the desired outcome is that if export flag is set, proceed to cargo status verification; otherwise skip export processing and continue to next step.
💻 Technical Criteria
Given A cargo record has completed status analysis
When The system checks the export flag status
Then If export flag is set, proceed to cargo status verification; otherwise skip export processing and continue to next step
R-GCX016-cbl-03130 Check Current Cargo Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check Current Cargo Status' is invoked, and assuming that cargo has been flagged for export processing, when the system evaluates the current cargo status, the desired outcome is that the system determines whether cargo is currently at destination location for proper export handling.
💻 Technical Criteria
Given Cargo has been flagged for export processing
When The system evaluates the current cargo status
Then The system determines whether cargo is currently at destination location for proper export handling
R-GCX016-cbl-03131 Cargo Currently at Destination?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Currently at Destination?' is invoked, and assuming that cargo status has been checked and export flag is active, when the system evaluates cargo location against destination, the desired outcome is that if cargo is at destination, proceed with export status setting; otherwise skip export processing.
💻 Technical Criteria
Given Cargo status has been checked and export flag is active
When The system evaluates cargo location against destination
Then If cargo is at destination, proceed with export status setting; otherwise skip export processing
R-GCX016-cbl-03132 Set Export Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Status Flag' is invoked, and assuming that cargo is confirmed to be at destination location and flagged for export, when the system processes export status assignment, the desired outcome is that the export status flag is set for the cargo record.
💻 Technical Criteria
Given Cargo is confirmed to be at destination location and flagged for export
When The system processes export status assignment
Then The export status flag is set for the cargo record
R-GCX016-cbl-03133 Clear Destination Index RT076
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index RT076' is invoked, and assuming that cargo has been assigned export status flag, when the system processes destination index cleanup, the desired outcome is that the rt076 destination index is cleared from the cargo record.
💻 Technical Criteria
Given Cargo has been assigned export status flag
When The system processes destination index cleanup
Then The RT076 destination index is cleared from the cargo record
R-GCX016-cbl-03134 Update Cargo Export Date
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Export Date' is invoked, and assuming that cargo export status has been set and destination index cleared, when the system updates cargo export information, the desired outcome is that the current date is assigned as the cargo export date.
💻 Technical Criteria
Given Cargo export status has been set and destination index cleared
When The system updates cargo export information
Then The current date is assigned as the cargo export date
R-GCX016-cbl-03135 Remove Destination Location Code
Action Rules
📊 Business Logic Narrative
When the process 'Remove Destination Location Code' is invoked, and assuming that cargo export date has been updated, when the system processes location code cleanup, the desired outcome is that the destination location code is removed from the cargo record.
💻 Technical Criteria
Given Cargo export date has been updated
When The system processes location code cleanup
Then The destination location code is removed from the cargo record
R-GCX016-cbl-03136 Set Export Processing Complete Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Export Processing Complete Flag' is invoked, and assuming that destination location code has been removed from cargo, when the system finalizes export processing, the desired outcome is that the export processing complete flag is set for the cargo record.
💻 Technical Criteria
Given Destination location code has been removed from cargo
When The system finalizes export processing
Then The export processing complete flag is set for the cargo record
R-GCX016-cbl-03137 Log Export Status Change
Action Rules
📊 Business Logic Narrative
When the process 'Log Export Status Change' is invoked, and assuming that export processing complete flag has been set, when the system performs audit logging, the desired outcome is that an export status change entry is logged with cargo details and timestamp.
💻 Technical Criteria
Given Export processing complete flag has been set
When The system performs audit logging
Then An export status change entry is logged with cargo details and timestamp
R-GCX016-cbl-03138 Check Current Cargo Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check Current Cargo Status' is invoked, and assuming that an arrival cancellation request is received for a cargo record, when the system checks the current cargo status, the desired outcome is that the system verifies the cargo record exists and has a valid status for cancellation processing.
💻 Technical Criteria
Given An arrival cancellation request is received for a cargo record
When The system checks the current cargo status
Then The system verifies the cargo record exists and has a valid status for cancellation processing
R-GCX016-cbl-03139 Validate Arrival Status Exists
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Arrival Status Exists' is invoked, and assuming that a cargo record with current status information, when the system validates arrival status exists for cancellation, the desired outcome is that the system confirms arrival status is present or returns invalid arrival status error if no arrival status exists.
💻 Technical Criteria
Given A cargo record with current status information
When The system validates arrival status exists for cancellation
Then The system confirms arrival status is present OR returns invalid arrival status error if no arrival status exists
R-GCX016-cbl-03140 Previous Bond Date Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Previous Bond Date Available?' is invoked, and assuming that a cargo record requiring arrival cancellation with arrival status validated, when the system checks for previous bond date availability, the desired outcome is that the system returns yes if previous bond start date exists or returns no if no previous bond date is available.
💻 Technical Criteria
Given A cargo record requiring arrival cancellation with arrival status validated
When The system checks for previous bond date availability
Then The system returns YES if previous bond start date exists OR returns NO if no previous bond date is available
R-GCX016-cbl-03141 Retrieve Previous Bond Start Date
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Previous Bond Start Date' is invoked, and assuming that a cargo record with confirmed previous bond date availability, when the system retrieves previous bond start date from bond date history, the desired outcome is that the system successfully retrieves and loads the previous bond start date for restoration.
💻 Technical Criteria
Given A cargo record with confirmed previous bond date availability
When The system retrieves previous bond start date from bond date history
Then The system successfully retrieves and loads the previous bond start date for restoration
R-GCX016-cbl-03142 Clear Current Arrival Status
Process Rules
📊 Business Logic Narrative
When the process 'Clear Current Arrival Status' is invoked, and assuming that a cargo record with validated arrival status and retrieved previous bond date, when the system clears current arrival status, the desired outcome is that the system removes arrival status flags and arrival-related information from the cargo record.
💻 Technical Criteria
Given A cargo record with validated arrival status and retrieved previous bond date
When The system clears current arrival status
Then The system removes arrival status flags and arrival-related information from the cargo record
R-GCX016-cbl-03143 Restore Previous Bond Date
Process Rules
📊 Business Logic Narrative
When the process 'Restore Previous Bond Date' is invoked, and assuming that a cargo record with cleared arrival status and retrieved previous bond start date, when the system restores previous bond date, the desired outcome is that the system updates the cargo record with the previous bond start date information.
💻 Technical Criteria
Given A cargo record with cleared arrival status and retrieved previous bond start date
When The system restores previous bond date
Then The system updates the cargo record with the previous bond start date information
R-GCX016-cbl-03144 Update Cargo Record Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record Status' is invoked, and assuming that a cargo record with restored previous bond date, when the system updates cargo record status, the desired outcome is that the system saves the updated cargo record with cancelled arrival status and restored bond information.
💻 Technical Criteria
Given A cargo record with restored previous bond date
When The system updates cargo record status
Then The system saves the updated cargo record with cancelled arrival status and restored bond information
R-GCX016-cbl-03145 Clear Destination Index if Required
Decision Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index if Required' is invoked, and assuming that a cargo record with updated status after arrival cancellation, when the system evaluates if destination index should be cleared, the desired outcome is that the system clears destination index if cargo status requires it or leaves destination index unchanged if not required.
💻 Technical Criteria
Given A cargo record with updated status after arrival cancellation
When The system evaluates if destination index should be cleared
Then The system clears destination index if cargo status requires it OR leaves destination index unchanged if not required
R-GCX016-cbl-03146 Generate Arrival Cancellation Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Arrival Cancellation Message' is invoked, and assuming that a cargo record with processed arrival cancellation and updated status, when the system generates arrival cancellation message, the desired outcome is that the system creates a formatted arrival cancellation message with cargo details and cancellation information.
💻 Technical Criteria
Given A cargo record with processed arrival cancellation and updated status
When The system generates arrival cancellation message
Then The system creates a formatted arrival cancellation message with cargo details and cancellation information
R-GCX016-cbl-03147 Update Status Array with Cancellation Code
Process Rules
📊 Business Logic Narrative
When the process 'Update Status Array with Cancellation Code' is invoked, and assuming that a cargo record with generated arrival cancellation message, when the system updates status array with cancellation code, the desired outcome is that the system adds the arrival cancellation disposition code to the cargo status array.
💻 Technical Criteria
Given A cargo record with generated arrival cancellation message
When The system updates status array with cancellation code
Then The system adds the arrival cancellation disposition code to the cargo status array
R-GCX016-cbl-03148 Log Cancellation Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Log Cancellation Transaction' is invoked, and assuming that a cargo record with updated status array containing cancellation code, when the system logs cancellation transaction, the desired outcome is that the system creates audit log entry with cancellation details, timestamps, and cargo information.
💻 Technical Criteria
Given A cargo record with updated status array containing cancellation code
When The system logs cancellation transaction
Then The system creates audit log entry with cancellation details, timestamps, and cargo information
R-GCX016-cbl-03149 Send Notification to Customs
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification to Customs' is invoked, and assuming that a cargo record with logged cancellation transaction, when the system sends notification to customs, the desired outcome is that the system transmits arrival cancellation notification to appropriate customs systems and authorities.
💻 Technical Criteria
Given A cargo record with logged cancellation transaction
When The system sends notification to customs
Then The system transmits arrival cancellation notification to appropriate customs systems and authorities
R-GCX016-cbl-03150 Error: No Previous Bond Date
Process Rules
📊 Business Logic Narrative
When the process 'Error: No Previous Bond Date' is invoked, and assuming that a cargo record requiring arrival cancellation, when no previous bond date is available for restoration, the desired outcome is that the system generates error condition indicating no previous bond date available and completes cancellation process without bond date restoration.
💻 Technical Criteria
Given A cargo record requiring arrival cancellation
When No previous bond date is available for restoration
Then The system generates error condition indicating no previous bond date available and completes cancellation process without bond date restoration
R-GCX016-cbl-03151 Error: Invalid Arrival Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Error: Invalid Arrival Status', assuming that a cargo record with arrival cancellation request, when the cargo does not have valid arrival status for cancellation, the desired outcome is that the system generates error condition indicating invalid arrival status and completes cancellation process without status changes.
💻 Technical Criteria
EXCLUDING A cargo record with arrival cancellation request
When The cargo does not have valid arrival status for cancellation
Then The system generates error condition indicating invalid arrival status and completes cancellation process without status changes
R-GCX016-cbl-03152 Validate Export Status Exists
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Export Status Exists' is invoked, and assuming that an export cancellation request is received for cargo, when the system checks the current cargo status for export indicators, the desired outcome is that the system validates that export status exists and is valid for cancellation processing.
💻 Technical Criteria
Given An export cancellation request is received for cargo
When The system checks the current cargo status for export indicators
Then The system validates that export status exists and is valid for cancellation processing
R-GCX016-cbl-03153 Clear Export Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Clear Export Status Flag' is invoked, and assuming that cargo has a valid export status that needs to be cancelled, when export cancellation processing begins, the desired outcome is that the system clears the export status flag from the cargo record.
💻 Technical Criteria
Given Cargo has a valid export status that needs to be cancelled
When Export cancellation processing begins
Then The system clears the export status flag from the cargo record
R-GCX016-cbl-03154 Restore Previous Bond Date
Process Rules
📊 Business Logic Narrative
When the process 'Restore Previous Bond Date' is invoked, and assuming that export status has been cleared from cargo, when the system processes bond date restoration, the desired outcome is that the previous bond date is restored to re-establish the cargo's bond timeline.
💻 Technical Criteria
Given Export status has been cleared from cargo
When The system processes bond date restoration
Then The previous bond date is restored to re-establish the cargo's bond timeline
R-GCX016-cbl-03155 Calculate Cargo Age from Bond Start Date
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Cargo Age from Bond Start Date' is invoked, and assuming that bond date has been restored for cargo, when the system calculates cargo age from the bond start date to current date, the desired outcome is that a valid age calculation is produced for destination index determination.
💻 Technical Criteria
Given Bond date has been restored for cargo
When The system calculates cargo age from the bond start date to current date
Then A valid age calculation is produced for destination index determination
R-GCX016-cbl-03156 Age Calculation Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Age Calculation Valid?' is invoked, and assuming that cargo age has been calculated from bond start date, when the system validates the age calculation result, the desired outcome is that the age calculation is confirmed as valid and within business rules or flagged as invalid.
💻 Technical Criteria
Given Cargo age has been calculated from bond start date
When The system validates the age calculation result
Then The age calculation is confirmed as valid and within business rules or flagged as invalid
R-GCX016-cbl-03157 Re-establish Destination Index RT076
Process Rules
📊 Business Logic Narrative
When the process 'Re-establish Destination Index RT076' is invoked, and assuming that cargo age calculation is valid, when the system processes destination index re-establishment, the desired outcome is that the rt076 destination index is re-established with the calculated age information.
💻 Technical Criteria
Given Cargo age calculation is valid
When The system processes destination index re-establishment
Then The RT076 destination index is re-established with the calculated age information
R-GCX016-cbl-03158 Set Destination Index with Age
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Index with Age' is invoked, and assuming that destination index rt076 is being re-established, when the system sets the destination index with calculated age, the desired outcome is that the destination index is updated with the age-based information for proper cargo tracking.
💻 Technical Criteria
Given Destination index RT076 is being re-established
When The system sets the destination index with calculated age
Then The destination index is updated with the age-based information for proper cargo tracking
R-GCX016-cbl-03159 Update Cargo Record Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record Status' is invoked, and assuming that destination index has been set with age information, when the system updates the cargo record, the desired outcome is that the cargo status is updated to reflect the export cancellation and restored bond status.
💻 Technical Criteria
Given Destination index has been set with age information
When The system updates the cargo record
Then The cargo status is updated to reflect the export cancellation and restored bond status
R-GCX016-cbl-03160 Generate Export Cancellation Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Export Cancellation Message' is invoked, and assuming that cargo record status has been updated for export cancellation, when the system generates export cancellation message, the desired outcome is that a notification message is created documenting the export cancellation and status change.
💻 Technical Criteria
Given Cargo record status has been updated for export cancellation
When The system generates export cancellation message
Then A notification message is created documenting the export cancellation and status change
R-GCX016-cbl-03162 Error: Invalid Export Status
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Error: Invalid Export Status', assuming that an export cancellation request is received, when the cargo does not have a valid export status for cancellation, the desired outcome is that the system generates an error indicating invalid export status and terminates cancellation processing.
💻 Technical Criteria
EXCLUDING An export cancellation request is received
When The cargo does not have a valid export status for cancellation
Then The system generates an error indicating invalid export status and terminates cancellation processing
R-GCX016-cbl-03163 Error: Age Calculation Failed
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Error: Age Calculation Failed', assuming that bond date has been restored for export cancellation, when the cargo age calculation from bond start date fails or produces invalid results, the desired outcome is that the system generates an error indicating age calculation failure and terminates destination index processing.
💻 Technical Criteria
EXCLUDING Bond date has been restored for export cancellation
When The cargo age calculation from bond start date fails or produces invalid results
Then The system generates an error indicating age calculation failure and terminates destination index processing
R-GCX016-cbl-03170 Clear Empty Array Positions
Validation Rules
📊 Business Logic Narrative
When the process 'Clear Empty Array Positions' is invoked, and assuming that array elements have been shifted and counter updated, when empty positions exist at the end of the array, the desired outcome is that the system clears all unused array positions to initialize them to empty state.
💻 Technical Criteria
Given Array elements have been shifted and counter updated
When Empty positions exist at the end of the array
Then The system clears all unused array positions to initialize them to empty state
R-GCX016-cbl-03171 Array Compaction Complete?
Decision Rules
📊 Business Logic Narrative
When the process 'Array Compaction Complete?' is invoked, and assuming that array compaction operations are in progress, when the system needs to verify completion, the desired outcome is that the system checks if all elements have been properly shifted and all empty positions cleared.
💻 Technical Criteria
Given Array compaction operations are in progress
When The system needs to verify completion
Then The system checks if all elements have been properly shifted and all empty positions cleared
R-GCX016-cbl-03179 Process Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Process Release Quantities' is invoked, and assuming that a disposition code with quantity impact is being processed, when quantity action is required, the desired outcome is that the system must process and update the release quantities for the cargo.
💻 Technical Criteria
Given A disposition code with quantity impact is being processed
When Quantity action is required
Then The system must process and update the release quantities for the cargo
R-GCX016-cbl-03184 Check DC-STATUS-INFO Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Check DC-STATUS-INFO Flag' is invoked, and assuming that a disposition code is being processed in the cargo system, when the system evaluates the disposition code type against the dc-status-info flag, the desired outcome is that the system determines if the code should be processed as status information only.
💻 Technical Criteria
Given A disposition code is being processed in the cargo system
When The system evaluates the disposition code type against the DC-STATUS-INFO flag
Then The system determines if the code should be processed as status information only
R-GCX016-cbl-03186 Check for Duplicate in S09A Array
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Duplicate in S09A Array' is invoked, and assuming that a status information code is ready to be added to the cargo status array, when the system searches the s09a array for existing identical status information entries, the desired outcome is that the system identifies whether the status information already exists to prevent duplication.
💻 Technical Criteria
Given A status information code is ready to be added to the cargo status array
When The system searches the S09A array for existing identical status information entries
Then The system identifies whether the status information already exists to prevent duplication
R-GCX016-cbl-03193 Mark as Informational Only
Action Rules
📊 Business Logic Narrative
When the process 'Mark as Informational Only' is invoked, and assuming that a status information entry is being configured in the s09a array, when the system marks the entry as informational only, the desired outcome is that the system sets the appropriate flag to indicate this status does not trigger cargo actions.
💻 Technical Criteria
Given A status information entry is being configured in the S09A array
When The system marks the entry as informational only
Then The system sets the appropriate flag to indicate this status does not trigger cargo actions
R-GCX016-cbl-03194 Do Not Affect Quantities
Process Rules
📊 Business Logic Narrative
When the process 'Do Not Affect Quantities' is invoked, and assuming that a status information code is being processed, when the system evaluates quantity impact requirements, the desired outcome is that the system ensures the status information does not modify cargo release quantities or total quantities.
💻 Technical Criteria
Given A status information code is being processed
When The system evaluates quantity impact requirements
Then The system ensures the status information does not modify cargo release quantities or total quantities
R-GCX016-cbl-03196 Log Status Information Added
Action Rules
📊 Business Logic Narrative
When the process 'Log Status Information Added' is invoked, and assuming that a status information entry has been successfully added to the cargo status array, when the system performs logging operations, the desired outcome is that the system creates an audit log entry documenting the status information addition with relevant details.
💻 Technical Criteria
Given A status information entry has been successfully added to the cargo status array
When The system performs logging operations
Then The system creates an audit log entry documenting the status information addition with relevant details
R-GCX016-cbl-03197 Border Hold Code Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Border Hold Code Found?' is invoked, and assuming that a cargo record with populated s09a status array containing disposition codes, when the system scans through all status entries in the array for border hold codes, the desired outcome is that the border hold flag is set to true if any border hold disposition codes are found, otherwise it remains false.
💻 Technical Criteria
Given A cargo record with populated S09A status array containing disposition codes
When The system scans through all status entries in the array for border hold codes
Then The border hold flag is set to true if any border hold disposition codes are found, otherwise it remains false
R-GCX016-cbl-03198 Destination Hold Code Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Hold Code Found?' is invoked, and assuming that a cargo record with populated s09a status array containing disposition codes, when the system scans through all status entries in the array for destination hold codes, the desired outcome is that the destination hold flag is set to true if any destination hold disposition codes are found, otherwise it remains false.
💻 Technical Criteria
Given A cargo record with populated S09A status array containing disposition codes
When The system scans through all status entries in the array for destination hold codes
Then The destination hold flag is set to true if any destination hold disposition codes are found, otherwise it remains false
R-GCX016-cbl-03199 Both Border and Destination Holds?
Decision Rules
📊 Business Logic Narrative
When the process 'Both Border and Destination Holds?' is invoked, and assuming that a cargo record with border hold flag and destination hold flag both evaluated, when both border hold flag and destination hold flag are set to true, the desired outcome is that the cargo hold status is set to indicate holds at both border and destination locations.
💻 Technical Criteria
Given A cargo record with border hold flag and destination hold flag both evaluated
When Both border hold flag and destination hold flag are set to true
Then The cargo hold status is set to indicate holds at both border and destination locations
R-GCX016-cbl-03200 Only Border Hold?
Decision Rules
📊 Business Logic Narrative
When the process 'Only Border Hold?' is invoked, and assuming that a cargo record with border hold flag set to true and destination hold flag set to false, when the system evaluates hold location flags and finds only border hold is active, the desired outcome is that the cargo hold status is set to border hold only.
💻 Technical Criteria
Given A cargo record with border hold flag set to true and destination hold flag set to false
When The system evaluates hold location flags and finds only border hold is active
Then The cargo hold status is set to border hold only
R-GCX016-cbl-03201 Only Destination Hold?
Decision Rules
📊 Business Logic Narrative
When the process 'Only Destination Hold?' is invoked, and assuming that a cargo record with destination hold flag set to true and border hold flag set to false, when the system evaluates hold location flags and finds only destination hold is active, the desired outcome is that the cargo hold status is set to destination hold only.
💻 Technical Criteria
Given A cargo record with destination hold flag set to true and border hold flag set to false
When The system evaluates hold location flags and finds only destination hold is active
Then The cargo hold status is set to destination hold only
R-GCX016-cbl-03202 FDA Hold at Destination?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold at Destination?' is invoked, and assuming that a cargo record with destination hold status and fda-related disposition codes in the status array, when the system checks for fda hold codes (a3 disposition codes) in the destination hold context, the desired outcome is that the fda destination hold flag is set if fda hold codes are present at destination.
💻 Technical Criteria
Given A cargo record with destination hold status and FDA-related disposition codes in the status array
When The system checks for FDA hold codes (A3 disposition codes) in the destination hold context
Then The FDA destination hold flag is set if FDA hold codes are present at destination
R-GCX016-cbl-03203 Set No Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set No Hold Status' is invoked, and assuming that a cargo record with both border hold flag and destination hold flag set to false, when the system evaluates hold location flags and finds no active holds, the desired outcome is that the cargo hold status is set to indicate no holds are active.
💻 Technical Criteria
Given A cargo record with both border hold flag and destination hold flag set to false
When The system evaluates hold location flags and finds no active holds
Then The cargo hold status is set to indicate no holds are active
R-GCX016-cbl-03204 Analyze S09A Status Array
Process Rules
📊 Business Logic Narrative
When the process 'Analyze S09A Status Array' is invoked, and assuming that a cargo record with s09a status array containing multiple disposition code entries, when the system processes each status entry to identify hold codes and their associated locations, the desired outcome is that hold flags are populated based on the disposition codes found and their location indicators.
💻 Technical Criteria
Given A cargo record with S09A status array containing multiple disposition code entries
When The system processes each status entry to identify hold codes and their associated locations
Then Hold flags are populated based on the disposition codes found and their location indicators
R-GCX016-cbl-03205 Manual Release Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Manual Release Required?' is invoked, and assuming that a cargo record is being processed for status transition, when the cargo has a manual release flag set (ws-mrl-found is true), the desired outcome is that the system clears the destination index and processes canadian manifest coordination.
💻 Technical Criteria
Given A cargo record is being processed for status transition
When The cargo has a manual release flag set (WS-MRL-FOUND is true)
Then The system clears the destination index and processes Canadian manifest coordination
R-GCX016-cbl-03206 FDA Hold at Destination?
Decision Rules
📊 Business Logic Narrative
When the process 'FDA Hold at Destination?' is invoked, and assuming that a cargo record is being evaluated for status assignment, when the cargo has destination hold conditions and a3 disposition codes are present, the desired outcome is that the system sets fda hold status with specific fda codes.
💻 Technical Criteria
Given A cargo record is being evaluated for status assignment
When The cargo has destination hold conditions AND A3 disposition codes are present
Then The system sets FDA hold status with specific FDA codes
R-GCX016-cbl-03207 PTT Status Required?
Validation Rules
📊 Business Logic Narrative
When the process 'PTT Status Required?' is invoked, and assuming that a cargo record is being processed for status determination, when the cargo meets ptt quantity requirements and has appropriate disposition codes, the desired outcome is that the system validates ptt quantity requirements and saves/restores ptt status accordingly.
💻 Technical Criteria
Given A cargo record is being processed for status determination
When The cargo meets PTT quantity requirements AND has appropriate disposition codes
Then The system validates PTT quantity requirements and saves/restores PTT status accordingly
R-GCX016-cbl-03208 Partial Release Scenario?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Release Scenario?' is invoked, and assuming that a cargo record with release quantity information, when the released quantity is less than the total cargo quantity, the desired outcome is that the system sets hold on piece counts status to indicate partial release.
💻 Technical Criteria
Given A cargo record with release quantity information
When The released quantity is less than the total cargo quantity
Then The system sets hold on piece counts status to indicate partial release
R-GCX016-cbl-03209 Full Release Conditions Met?
Decision Rules
📊 Business Logic Narrative
When the process 'Full Release Conditions Met?' is invoked, and assuming that a cargo record with release quantity information, when the released quantity is greater than or equal to the total cargo quantity, the desired outcome is that the system clears the destination index and processes full release.
💻 Technical Criteria
Given A cargo record with release quantity information
When The released quantity is greater than or equal to the total cargo quantity
Then The system clears the destination index and processes full release
R-GCX016-cbl-03210 Cargo Previously Released but Now Unreleased?
Process Rules
📊 Business Logic Narrative
When the process 'Cargo Previously Released but Now Unreleased?' is invoked, and assuming that a cargo record that was previously in released status, when the cargo status changes from released to unreleased state, the desired outcome is that the system generates unrelease notifications and detects status change requirements.
💻 Technical Criteria
Given A cargo record that was previously in released status
When The cargo status changes from released to unreleased state
Then The system generates unrelease notifications and detects status change requirements
R-GCX016-cbl-03211 Arrival Status Required?
Action Rules
📊 Business Logic Narrative
When the process 'Arrival Status Required?' is invoked, and assuming that a cargo record being processed for status transition, when the cargo requires arrival status based on location and movement conditions, the desired outcome is that the system sets arrival status and updates the border arrival date.
💻 Technical Criteria
Given A cargo record being processed for status transition
When The cargo requires arrival status based on location and movement conditions
Then The system sets arrival status and updates the border arrival date
R-GCX016-cbl-03212 Export Status Required?
Action Rules
📊 Business Logic Narrative
When the process 'Export Status Required?' is invoked, and assuming that a cargo record being evaluated for export processing, when the cargo meets export status requirements based on disposition codes and location, the desired outcome is that the system sets export status and clears the destination index.
💻 Technical Criteria
Given A cargo record being evaluated for export processing
When The cargo meets export status requirements based on disposition codes and location
Then The system sets export status and clears the destination index
R-GCX016-cbl-03213 Hold Location Determination Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Location Determination Required?' is invoked, and assuming that a cargo record with hold requirements, when the system needs to determine the appropriate hold location, the desired outcome is that the system determines border versus destination hold and sets appropriate hold status.
💻 Technical Criteria
Given A cargo record with hold requirements
When The system needs to determine the appropriate hold location
Then The system determines border versus destination hold and sets appropriate hold status
R-GCX016-cbl-03214 Destination Index Re-establishment Required?
Computation Rules
📊 Business Logic Narrative
When the process 'Destination Index Re-establishment Required?' is invoked, and assuming that a cargo record requiring destination index updates, when the cargo status transition requires destination index re-establishment, the desired outcome is that the system calculates cargo age using julian dates, re-establishes rt076 destination index, and updates bond date management.
💻 Technical Criteria
Given A cargo record requiring destination index updates
When The cargo status transition requires destination index re-establishment
Then The system calculates cargo age using Julian dates, re-establishes RT076 destination index, and updates bond date management
R-GCX016-cbl-04197 Validate Manual Release Authority
Authorization Rules
📊 Business Logic Narrative
When the process 'Validate Manual Release Authority' is invoked, and assuming that a cprs cargo requires manual release, when the system validates the manual release authority, the desired outcome is that if authorized, allow manual release processing, otherwise reject the request.
💻 Technical Criteria
Given A CPRS cargo requires manual release
When The system validates the manual release authority
Then If authorized, allow manual release processing, otherwise reject the request
R-GCX016-cbl-04198 Clear Destination Index RT076
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index RT076' is invoked, and assuming that manual release authority is validated for cprs cargo, when the system processes the manual release, the desired outcome is that clear the rt076 destination index to remove destination constraints.
💻 Technical Criteria
Given Manual release authority is validated for CPRS cargo
When The system processes the manual release
Then Clear the RT076 destination index to remove destination constraints
R-GCX016-cbl-04199 Save Current Cargo Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Cargo Status' is invoked, and assuming that destination index has been cleared for manual release, when the system prepares to update cargo status, the desired outcome is that save the current cargo status information for potential restoration.
💻 Technical Criteria
Given Destination index has been cleared for manual release
When The system prepares to update cargo status
Then Save the current cargo status information for potential restoration
R-GCX016-cbl-04200 Update Cargo to Manual Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo to Manual Release Status' is invoked, and assuming that current cargo status has been saved, when the system applies manual release processing, the desired outcome is that update cargo status to manual release (mrl) and set manual release indicators.
💻 Technical Criteria
Given Current cargo status has been saved
When The system applies manual release processing
Then Update cargo status to manual release (MRL) and set manual release indicators
R-GCX016-cbl-04203 Update Canadian Manifest Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Canadian Manifest Status' is invoked, and assuming that canadian log message has been generated, when the system coordinates with canadian manifest system, the desired outcome is that update canadian manifest status to reflect the cargo release and maintain cross-border coordination.
💻 Technical Criteria
Given Canadian log message has been generated
When The system coordinates with Canadian manifest system
Then Update Canadian manifest status to reflect the cargo release and maintain cross-border coordination
R-GCX016-cbl-04204 Restore Cargo Status Information
Process Rules
📊 Business Logic Narrative
When the process 'Restore Cargo Status Information' is invoked, and assuming that canadian manifest processing is complete or no canadian manifest was found, when the system finalizes manual release processing, the desired outcome is that restore the preserved cargo status information while maintaining manual release indicators.
💻 Technical Criteria
Given Canadian manifest processing is complete or no Canadian manifest was found
When The system finalizes manual release processing
Then Restore the preserved cargo status information while maintaining manual release indicators
R-GCX016-cbl-04205 Generate Manual Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Manual Release Notification' is invoked, and assuming that cargo status information has been restored, when the system completes manual release processing, the desired outcome is that generate manual release notification messages to inform relevant parties of the cargo release.
💻 Technical Criteria
Given Cargo status information has been restored
When The system completes manual release processing
Then Generate manual release notification messages to inform relevant parties of the cargo release
R-GCX016-cbl-04206 Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that manual release notification has been generated, when the system finalizes the manual release transaction, the desired outcome is that update the cargo record in database with all manual release changes and status modifications.
💻 Technical Criteria
Given Manual release notification has been generated
When The system finalizes the manual release transaction
Then Update the cargo record in database with all manual release changes and status modifications
R-GCX016-cbl-04207 Manual Release Complete
Process Rules
📊 Business Logic Narrative
When the process 'Manual Release Complete' is invoked, and assuming that cargo record has been updated in database, when all manual release processing steps are completed successfully, the desired outcome is that confirm manual release completion and return success status.
💻 Technical Criteria
Given Cargo record has been updated in database
When All manual release processing steps are completed successfully
Then Confirm manual release completion and return success status
R-GCX016-cbl-04208 Manual Release Rejected
Process Rules
📊 Business Logic Narrative
When the process 'Manual Release Rejected' is invoked, and assuming that manual release request fails validation or authorization, when the system determines manual release cannot be processed, the desired outcome is that reject the manual release request and return appropriate error status without modifying cargo.
💻 Technical Criteria
Given Manual release request fails validation or authorization
When The system determines manual release cannot be processed
Then Reject the manual release request and return appropriate error status without modifying cargo
R-GCX016-cbl-04347 Canadian Manifest Coordination Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Coordination Required?' is invoked, and assuming that a us cargo record has been processed for release, when the system evaluates if canadian manifest coordination is needed, the desired outcome is that canadian manifest processing is initiated if cargo is manually released or meets specific release criteria.
💻 Technical Criteria
Given A US cargo record has been processed for release
When The system evaluates if Canadian manifest coordination is needed
Then Canadian manifest processing is initiated if cargo is manually released or meets specific release criteria
R-GCX016-cbl-04350 Matching Canadian Manifest Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Matching Canadian Manifest Found?' is invoked, and assuming that canadian cargo records have been retrieved from the database, when the system validates matching criteria between us and canadian cargo, the desired outcome is that a match is confirmed if canadian cargo exists and meets validation criteria, otherwise no match is found.
💻 Technical Criteria
Given Canadian cargo records have been retrieved from the database
When The system validates matching criteria between US and Canadian cargo
Then A match is confirmed if Canadian cargo exists and meets validation criteria, otherwise no match is found
R-GCX016-cbl-04352 Update Canadian Manifest Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Canadian Manifest Status' is invoked, and assuming that a cross-border log message has been generated for matching canadian cargo, when the system updates canadian manifest status, the desired outcome is that canadian cargo records are updated to reflect the cross-border coordination and us cargo release status.
💻 Technical Criteria
Given A cross-border log message has been generated for matching Canadian cargo
When The system updates Canadian manifest status
Then Canadian cargo records are updated to reflect the cross-border coordination and US cargo release status
R-GCX016-cbl-04353 Create Audit Trail for Canadian System
Process Rules
📊 Business Logic Narrative
When the process 'Create Audit Trail for Canadian System' is invoked, and assuming that canadian manifest status has been updated for cross-border coordination, when the system creates an audit trail for the canadian system, the desired outcome is that a complete audit record is generated documenting the cross-border cargo coordination, including timestamps, cargo details, and system integration information.
💻 Technical Criteria
Given Canadian manifest status has been updated for cross-border coordination
When The system creates an audit trail for the Canadian system
Then A complete audit record is generated documenting the cross-border cargo coordination, including timestamps, cargo details, and system integration information
R-GCX016-cbl-04540 Extract Equipment ID from US Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from US Cargo' is invoked, and assuming that a us cargo record exists with equipment information, when the system initiates canadian manifest search process, the desired outcome is that the equipment id is extracted from the us cargo record for database query purposes.
💻 Technical Criteria
Given A US cargo record exists with equipment information
When The system initiates Canadian manifest search process
Then The equipment ID is extracted from the US cargo record for database query purposes
R-GCX016-cbl-04541 Query Canadian Cargo Database
Action Rules
📊 Business Logic Narrative
When the process 'Query Canadian Cargo Database' is invoked, and assuming that an equipment id has been extracted from us cargo record, when the system queries the canadian cargo database, the desired outcome is that all canadian cargo records matching the equipment id are retrieved from the database.
💻 Technical Criteria
Given An equipment ID has been extracted from US cargo record
When The system queries the Canadian cargo database
Then All Canadian cargo records matching the equipment ID are retrieved from the database
R-GCX016-cbl-04542 Canadian Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Record Found?' is invoked, and assuming that a query has been executed against the canadian cargo database, when the system evaluates the query results, the desired outcome is that if canadian records are found, proceed to record validation, otherwise check for more equipment ids to process.
💻 Technical Criteria
Given A query has been executed against the Canadian cargo database
When The system evaluates the query results
Then If Canadian records are found, proceed to record validation, otherwise check for more equipment IDs to process
R-GCX016-cbl-04543 Validate Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Record Status' is invoked, and assuming that canadian cargo records have been found for the equipment id, when the system validates each record's status, the desired outcome is that record status is checked against valid status criteria for further processing eligibility.
💻 Technical Criteria
Given Canadian cargo records have been found for the equipment ID
When The system validates each record's status
Then Record status is checked against valid status criteria for further processing eligibility
R-GCX016-cbl-04544 Record Status Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Status Valid?' is invoked, and assuming that a canadian cargo record status has been validated, when the system determines record validity, the desired outcome is that if record status is valid, proceed to usability check, otherwise skip to next equipment id processing.
💻 Technical Criteria
Given A Canadian cargo record status has been validated
When The system determines record validity
Then If record status is valid, proceed to usability check, otherwise skip to next equipment ID processing
R-GCX016-cbl-04545 Check Record Usability
Validation Rules
📊 Business Logic Narrative
When the process 'Check Record Usability' is invoked, and assuming that a canadian cargo record has valid status, when the system checks record usability criteria, the desired outcome is that record is evaluated against usability requirements including deletion status and bond creation flags.
💻 Technical Criteria
Given A Canadian cargo record has valid status
When The system checks record usability criteria
Then Record is evaluated against usability requirements including deletion status and bond creation flags
R-GCX016-cbl-04546 Record Usable?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Usable?' is invoked, and assuming that a canadian cargo record has been checked for usability, when the system evaluates usability criteria, the desired outcome is that if record is usable, add to matching records list, otherwise proceed to check for more equipment ids.
💻 Technical Criteria
Given A Canadian cargo record has been checked for usability
When The system evaluates usability criteria
Then If record is usable, add to matching records list, otherwise proceed to check for more equipment IDs
R-GCX016-cbl-04547 Add to Matching Records List
Process Rules
📊 Business Logic Narrative
When the process 'Add to Matching Records List' is invoked, and assuming that a canadian cargo record is determined to be valid and usable, when the system processes the matching record, the desired outcome is that the canadian cargo record is added to the collection of matching manifests for further processing.
💻 Technical Criteria
Given A Canadian cargo record is determined to be valid and usable
When The system processes the matching record
Then The Canadian cargo record is added to the collection of matching manifests for further processing
R-GCX016-cbl-04548 Log Cross-Border Coordination
Action Rules
📊 Business Logic Narrative
When the process 'Log Cross-Border Coordination' is invoked, and assuming that a canadian cargo record has been added to the matching records list, when the system logs the cross-border coordination, the desired outcome is that the cargo release information is logged to the gcx105 system for audit trail and tracking.
💻 Technical Criteria
Given A Canadian cargo record has been added to the matching records list
When The system logs the cross-border coordination
Then The cargo release information is logged to the GCX105 system for audit trail and tracking
R-GCX016-cbl-04549 More Equipment IDs?
Decision Rules
📊 Business Logic Narrative
When the process 'More Equipment IDs?' is invoked, and assuming that processing has completed for current equipment id, when the system checks for additional equipment ids to process, the desired outcome is that if more equipment ids exist, return to equipment id extraction, otherwise proceed to return matching results.
💻 Technical Criteria
Given Processing has completed for current equipment ID
When The system checks for additional equipment IDs to process
Then If more equipment IDs exist, return to equipment ID extraction, otherwise proceed to return matching results
R-GCX016-cbl-04550 Return Matching Canadian Manifests
Process Rules
📊 Business Logic Narrative
When the process 'Return Matching Canadian Manifests' is invoked, and assuming that all equipment ids have been processed for canadian manifest matching, when the system completes the search process, the desired outcome is that all matching canadian cargo records are returned for cross-border cargo coordination.
💻 Technical Criteria
Given All equipment IDs have been processed for Canadian manifest matching
When The system completes the search process
Then All matching Canadian cargo records are returned for cross-border cargo coordination
R-GCX016-cbl-04551 No Matching Records Found
Process Rules
📊 Business Logic Narrative
When the process 'No Matching Records Found' is invoked, and assuming that no canadian cargo records are found for any equipment id, when the system completes the database search, the desired outcome is that an empty result set is prepared for return to indicate no matching canadian manifests were found.
💻 Technical Criteria
Given No Canadian cargo records are found for any equipment ID
When The system completes the database search
Then An empty result set is prepared for return to indicate no matching Canadian manifests were found
R-GCX016-cbl-04733 Format Equipment ID for Search
Process Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID for Search' is invoked, and assuming that an equipment id needs to be used for canadian cargo database search, when the system prepares the search parameters, the desired outcome is that the equipment id is formatted according to database requirements.
💻 Technical Criteria
Given An equipment ID needs to be used for Canadian cargo database search
When The system prepares the search parameters
Then The equipment ID is formatted according to database requirements
R-GCX016-cbl-04734 Execute Database Query with Equipment ID Index
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Query with Equipment ID Index' is invoked, and assuming that a formatted equipment id is available for search, when the system executes the database query, the desired outcome is that the database is searched using equipment id index for optimal performance.
💻 Technical Criteria
Given A formatted equipment ID is available for search
When The system executes the database query
Then The database is searched using equipment ID index for optimal performance
R-GCX016-cbl-04735 Validate Canadian Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Record Status' is invoked, and assuming that a canadian cargo record has been retrieved from the database, when the system validates the record status, the desired outcome is that the record status is checked for validity and active status.
💻 Technical Criteria
Given A Canadian cargo record has been retrieved from the database
When The system validates the record status
Then The record status is checked for validity and active status
R-GCX016-cbl-04736 Record Valid and Active?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Valid and Active?' is invoked, and assuming that a canadian cargo record status has been validated, when the system checks if the record is valid and active, the desired outcome is that the record is classified as either valid and active or invalid/inactive.
💻 Technical Criteria
Given A Canadian cargo record status has been validated
When The system checks if the record is valid and active
Then The record is classified as either valid and active or invalid/inactive
R-GCX016-cbl-04737 Return Canadian Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Return Canadian Cargo Record' is invoked, and assuming that a canadian cargo record is determined to be valid and active, when the system processes the successful match, the desired outcome is that the valid canadian cargo record is returned for further processing.
💻 Technical Criteria
Given A Canadian cargo record is determined to be valid and active
When The system processes the successful match
Then The valid Canadian cargo record is returned for further processing
R-GCX016-cbl-04738 Log Equipment ID Match Success
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment ID Match Success' is invoked, and assuming that a valid canadian cargo record has been successfully retrieved, when the system completes the successful match process, the desired outcome is that the equipment id match success is logged for audit trail.
💻 Technical Criteria
Given A valid Canadian cargo record has been successfully retrieved
When The system completes the successful match process
Then The equipment ID match success is logged for audit trail
R-GCX016-cbl-04739 Handle Database Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Database Error' is invoked, and assuming that a database error occurs during canadian cargo search, when the system encounters the error condition, the desired outcome is that the database error is handled according to error handling procedures.
💻 Technical Criteria
Given A database error occurs during Canadian cargo search
When The system encounters the error condition
Then The database error is handled according to error handling procedures
R-GCX016-cbl-04741 Execute Alternate Search Method
Action Rules
📊 Business Logic Narrative
When the process 'Execute Alternate Search Method' is invoked, and assuming that the primary equipment id search has failed or returned no results, when the system determines that alternate search should be attempted, the desired outcome is that an alternate search method is executed to find canadian cargo records.
💻 Technical Criteria
Given The primary equipment ID search has failed or returned no results
When The system determines that alternate search should be attempted
Then An alternate search method is executed to find Canadian cargo records
R-GCX016-cbl-04742 Return No Match Found
Process Rules
📊 Business Logic Narrative
When the process 'Return No Match Found' is invoked, and assuming that all search methods have been exhausted without finding matching canadian cargo, when the system determines no match can be found, the desired outcome is that a no match found result is returned to the calling process.
💻 Technical Criteria
Given All search methods have been exhausted without finding matching Canadian cargo
When The system determines no match can be found
Then A no match found result is returned to the calling process
R-GCX016-cbl-04209 Check for FDA Hold Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'Check for FDA Hold Conditions' is invoked, and assuming that cargo status analysis has been completed, when system evaluates cargo for fda hold requirements, the desired outcome is that system identifies whether fda hold conditions exist for the cargo.
💻 Technical Criteria
Given Cargo status analysis has been completed
When System evaluates cargo for FDA hold requirements
Then System identifies whether FDA hold conditions exist for the cargo
R-GCX016-cbl-04210 FDA Hold Required at Destination?
Policy Rules
📊 Business Logic Narrative
When the process 'FDA Hold Required at Destination?' is invoked, and assuming that fda hold conditions have been identified for cargo, when system determines the appropriate hold location, the desired outcome is that system decides whether fda hold is required at destination or can proceed with other status processing.
💻 Technical Criteria
Given FDA hold conditions have been identified for cargo
When System determines the appropriate hold location
Then System decides whether FDA hold is required at destination or can proceed with other status processing
R-GCX016-cbl-04211 Set FDA Hold Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Status Flag' is invoked, and assuming that fda hold is required at destination for the cargo, when system processes fda hold assignment, the desired outcome is that system sets the fda hold status flag to active state.
💻 Technical Criteria
Given FDA hold is required at destination for the cargo
When System processes FDA hold assignment
Then System sets the FDA hold status flag to active state
R-GCX016-cbl-04212 Apply FDA-Specific Status Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Apply FDA-Specific Status Code' is invoked, and assuming that fda hold status flag has been set for cargo, when system assigns fda regulatory codes, the desired outcome is that system applies the fda-specific status code corresponding to the hold type.
💻 Technical Criteria
Given FDA hold status flag has been set for cargo
When System assigns FDA regulatory codes
Then System applies the FDA-specific status code corresponding to the hold type
R-GCX016-cbl-04213 Set Destination Hold Location
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Location' is invoked, and assuming that fda-specific status code has been applied to cargo, when system determines hold enforcement location, the desired outcome is that system sets the destination as the hold location for fda regulatory compliance.
💻 Technical Criteria
Given FDA-specific status code has been applied to cargo
When System determines hold enforcement location
Then System sets the destination as the hold location for FDA regulatory compliance
R-GCX016-cbl-04214 Update Cargo Status Description
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Description' is invoked, and assuming that destination hold location has been set for fda requirements, when system updates cargo status information, the desired outcome is that system updates the cargo status description to indicate fda hold status.
💻 Technical Criteria
Given Destination hold location has been set for FDA requirements
When System updates cargo status information
Then System updates the cargo status description to indicate FDA hold status
R-GCX016-cbl-04215 Preserve Current Release Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Preserve Current Release Quantities' is invoked, and assuming that cargo status description has been updated for fda hold, when system processes quantity information during fda hold application, the desired outcome is that system preserves current release quantities without modification.
💻 Technical Criteria
Given Cargo status description has been updated for FDA hold
When System processes quantity information during FDA hold application
Then System preserves current release quantities without modification
R-GCX016-cbl-04216 Set Hold on Piece Counts Status
Policy Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts Status' is invoked, and assuming that current release quantities have been preserved for cargo under fda hold, when system applies piece-level hold controls, the desired outcome is that system sets hold status on piece counts to prevent unauthorized releases.
💻 Technical Criteria
Given Current release quantities have been preserved for cargo under FDA hold
When System applies piece-level hold controls
Then System sets hold status on piece counts to prevent unauthorized releases
R-GCX016-cbl-04217 Multiple FDA Codes Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Multiple FDA Codes Present?' is invoked, and assuming that hold on piece counts status has been set for cargo, when system evaluates fda code complexity, the desired outcome is that system determines whether multiple fda codes are present requiring additional processing.
💻 Technical Criteria
Given Hold on piece counts status has been set for cargo
When System evaluates FDA code complexity
Then System determines whether multiple FDA codes are present requiring additional processing
R-GCX016-cbl-04218 Process Primary FDA Code
Process Rules
📊 Business Logic Narrative
When the process 'Process Primary FDA Code' is invoked, and assuming that multiple fda codes are present for the cargo, when system processes fda codes in priority order, the desired outcome is that system processes the primary fda code first to establish main hold requirements.
💻 Technical Criteria
Given Multiple FDA codes are present for the cargo
When System processes FDA codes in priority order
Then System processes the primary FDA code first to establish main hold requirements
R-GCX016-cbl-04219 Process Secondary FDA Codes
Process Rules
📊 Business Logic Narrative
When the process 'Process Secondary FDA Codes' is invoked, and assuming that primary fda code has been processed for cargo, when system continues with remaining fda codes, the desired outcome is that system processes secondary fda codes to complete regulatory requirements.
💻 Technical Criteria
Given Primary FDA code has been processed for cargo
When System continues with remaining FDA codes
Then System processes secondary FDA codes to complete regulatory requirements
R-GCX016-cbl-04220 Update Status Array with FDA Code
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array with FDA Code' is invoked, and assuming that fda code processing has been completed (primary and secondary if applicable), when system updates cargo status tracking, the desired outcome is that system updates the status array with fda code information.
💻 Technical Criteria
Given FDA code processing has been completed (primary and secondary if applicable)
When System updates cargo status tracking
Then System updates the status array with FDA code information
R-GCX016-cbl-04221 Mark Cargo as Held at Destination
Action Rules
📊 Business Logic Narrative
When the process 'Mark Cargo as Held at Destination' is invoked, and assuming that status array has been updated with fda code information, when system applies destination hold markers, the desired outcome is that system marks cargo as held at destination location.
💻 Technical Criteria
Given Status array has been updated with FDA code information
When System applies destination hold markers
Then System marks cargo as held at destination location
R-GCX016-cbl-04222 Set FDA Hold Description Text
Definitional Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Description Text' is invoked, and assuming that cargo has been marked as held at destination, when system assigns status description text, the desired outcome is that system sets fda hold description text explaining the regulatory hold reason.
💻 Technical Criteria
Given Cargo has been marked as held at destination
When System assigns status description text
Then System sets FDA hold description text explaining the regulatory hold reason
R-GCX016-cbl-04223 Update Hold Location Indicator
Action Rules
📊 Business Logic Narrative
When the process 'Update Hold Location Indicator' is invoked, and assuming that fda hold description text has been set for cargo, when system finalizes hold location information, the desired outcome is that system updates the hold location indicator to reflect fda enforcement location.
💻 Technical Criteria
Given FDA hold description text has been set for cargo
When System finalizes hold location information
Then System updates the hold location indicator to reflect FDA enforcement location
R-GCX016-cbl-04224 Log FDA Hold Action
Process Rules
📊 Business Logic Narrative
When the process 'Log FDA Hold Action' is invoked, and assuming that hold location indicator has been updated for cargo, when system performs audit logging, the desired outcome is that system logs the fda hold action with timestamp and regulatory details.
💻 Technical Criteria
Given Hold location indicator has been updated for cargo
When System performs audit logging
Then System logs the FDA hold action with timestamp and regulatory details
R-GCX016-cbl-04225 Current Cargo Has PTT Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Current Cargo Has PTT Status?' is invoked, and assuming that a cargo record is being processed for ptt status management, when the system checks the cargo's current status array for ptt indicators, the desired outcome is that the system identifies whether ptt status exists and proceeds with appropriate ptt processing or skips ptt management.
💻 Technical Criteria
Given A cargo record is being processed for PTT status management
When The system checks the cargo's current status array for PTT indicators
Then The system identifies whether PTT status exists and proceeds with appropriate PTT processing or skips PTT management
R-GCX016-cbl-04226 Save Current PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current PTT Status' is invoked, and assuming that the cargo has an active ptt status, when ptt status management begins, the desired outcome is that the system saves the current ptt status details including quantities and status codes for potential restoration.
💻 Technical Criteria
Given The cargo has an active PTT status
When PTT status management begins
Then The system saves the current PTT status details including quantities and status codes for potential restoration
R-GCX016-cbl-04233 Clear PTT Status - Full Release
Process Rules
📊 Business Logic Narrative
When the process 'Clear PTT Status - Full Release' is invoked, and assuming that released quantity equals or exceeds total quantity indicating full release, when the system processes full release status, the desired outcome is that the system clears ptt status from the cargo record as ptt processing is complete.
💻 Technical Criteria
Given Released quantity equals or exceeds total quantity indicating full release
When The system processes full release status
Then The system clears PTT status from the cargo record as PTT processing is complete
R-GCX016-cbl-04235 PTT Status Change Required?
Decision Rules
📊 Business Logic Narrative
When the process 'PTT Status Change Required?' is invoked, and assuming that ptt status processing has been completed (update, clear, or restore), when the system evaluates if ptt status has changed from the original state, the desired outcome is that if ptt status has changed, proceed with logging, otherwise update cargo record directly.
💻 Technical Criteria
Given PTT status processing has been completed (update, clear, or restore)
When The system evaluates if PTT status has changed from the original state
Then If PTT status has changed, proceed with logging, otherwise update cargo record directly
R-GCX016-cbl-04237 Update Cargo Record with PTT Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with PTT Status' is invoked, and assuming that ptt status processing is complete and any required logging has been performed, when the system updates the cargo record with final ptt status, the desired outcome is that the cargo record reflects the accurate ptt status and quantities for future business operations.
💻 Technical Criteria
Given PTT status processing is complete and any required logging has been performed
When The system updates the cargo record with final PTT status
Then The cargo record reflects the accurate PTT status and quantities for future business operations
R-GCX016-cbl-04238 Check Released Quantity vs Total Quantity
Decision Rules
📊 Business Logic Narrative
When the process 'Check Released Quantity vs Total Quantity' is invoked, and assuming that a cargo record with total quantity and released quantity values, when the system compares released quantity to total quantity, the desired outcome is that the system determines if cargo is partially released (released quantity < total quantity) or fully released (released quantity = total quantity).
💻 Technical Criteria
Given A cargo record with total quantity and released quantity values
When The system compares released quantity to total quantity
Then The system determines if cargo is partially released (released quantity < total quantity) or fully released (released quantity = total quantity)
R-GCX016-cbl-04239 Set Hold on Piece Counts Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts Status' is invoked, and assuming that a cargo record where released quantity is less than total quantity, when the system processes the partial release, the desired outcome is that the system sets cargo status to 'holdpcs' (hold on piece counts) to indicate partial release.
💻 Technical Criteria
Given A cargo record where released quantity is less than total quantity
When The system processes the partial release
Then The system sets cargo status to 'HOLDPCS' (Hold on Piece Counts) to indicate partial release
R-GCX016-cbl-04240 Set Full Release Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Full Release Status' is invoked, and assuming that a cargo record where released quantity equals or exceeds total quantity, when the system processes the full release, the desired outcome is that the system sets cargo status to indicate full release and removes any partial release indicators.
💻 Technical Criteria
Given A cargo record where released quantity equals or exceeds total quantity
When The system processes the full release
Then The system sets cargo status to indicate full release and removes any partial release indicators
R-GCX016-cbl-04241 Clear Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that a cargo record that has been fully released, when the system processes the full release status, the desired outcome is that the system clears the destination index field to remove destination processing requirements.
💻 Technical Criteria
Given A cargo record that has been fully released
When The system processes the full release status
Then The system clears the destination index field to remove destination processing requirements
R-GCX016-cbl-04242 Update Cargo Status to Released
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to Released' is invoked, and assuming that a cargo record that has been fully released and had its destination index cleared, when the system completes full release processing, the desired outcome is that the system updates the cargo status to 'released' or equivalent release status code.
💻 Technical Criteria
Given A cargo record that has been fully released and had its destination index cleared
When The system completes full release processing
Then The system updates the cargo status to 'RELEASED' or equivalent release status code
R-GCX016-cbl-04243 Preserve Remaining Held Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Preserve Remaining Held Quantity' is invoked, and assuming that a cargo record with partial release where released quantity is less than total quantity, when the system processes the partial release, the desired outcome is that the system calculates remaining held quantity as (total quantity - released quantity) and preserves this value for future processing.
💻 Technical Criteria
Given A cargo record with partial release where released quantity is less than total quantity
When The system processes the partial release
Then The system calculates remaining held quantity as (total quantity - released quantity) and preserves this value for future processing
R-GCX016-cbl-04244 Mark Cargo as Partially Released
Process Rules
📊 Business Logic Narrative
When the process 'Mark Cargo as Partially Released' is invoked, and assuming that a cargo record that has been processed for partial release with remaining held quantity preserved, when the system finalizes partial release processing, the desired outcome is that the system marks the cargo record with partial release status indicators and maintains tracking of unreleased portions.
💻 Technical Criteria
Given A cargo record that has been processed for partial release with remaining held quantity preserved
When The system finalizes partial release processing
Then The system marks the cargo record with partial release status indicators and maintains tracking of unreleased portions
R-GCX016-cbl-04245 Manual Release Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Manual Release Flag Set?' is invoked, and assuming that a cargo record is being processed for status transition, when the manual release flag is set to true, the desired outcome is that the system clears the destination index and processes canadian manifest coordination.
💻 Technical Criteria
Given A cargo record is being processed for status transition
When The manual release flag is set to true
Then The system clears the destination index and processes Canadian manifest coordination
R-GCX016-cbl-04246 FDA Hold at Destination?
Policy Rules
📊 Business Logic Narrative
When the process 'FDA Hold at Destination?' is invoked, and assuming that a cargo record is undergoing status evaluation, when fda hold conditions are present at the destination location, the desired outcome is that the system sets fda hold status with status code 66.
💻 Technical Criteria
Given A cargo record is undergoing status evaluation
When FDA hold conditions are present at the destination location
Then The system sets FDA hold status with status code 66
R-GCX016-cbl-04247 PTT Status Present?
Process Rules
📊 Business Logic Narrative
When the process 'PTT Status Present?' is invoked, and assuming that a cargo record has existing status information, when ptt status is currently present on the cargo, the desired outcome is that the system saves and preserves the current ptt status.
💻 Technical Criteria
Given A cargo record has existing status information
When PTT status is currently present on the cargo
Then The system saves and preserves the current PTT status
R-GCX016-cbl-04248 Released Quantity < Total Quantity?
Decision Rules
📊 Business Logic Narrative
When the process 'Released Quantity < Total Quantity?' is invoked, and assuming that a cargo record has both released quantity and total quantity values, when the released quantity is less than the total quantity, the desired outcome is that the system sets hold on piece counts status to indicate partial release.
💻 Technical Criteria
Given A cargo record has both released quantity and total quantity values
When The released quantity is less than the total quantity
Then The system sets hold on piece counts status to indicate partial release
R-GCX016-cbl-04249 Released Quantity = Total Quantity?
Decision Rules
📊 Business Logic Narrative
When the process 'Released Quantity = Total Quantity?' is invoked, and assuming that a cargo record has released quantity and total quantity values, when the released quantity equals the total quantity exactly, the desired outcome is that the system sets full release status and clears the destination index.
💻 Technical Criteria
Given A cargo record has released quantity and total quantity values
When The released quantity equals the total quantity exactly
Then The system sets full release status and clears the destination index
R-GCX016-cbl-04250 Proceed Status Present?
Process Rules
📊 Business Logic Narrative
When the process 'Proceed Status Present?' is invoked, and assuming that a cargo record is being evaluated for status changes, when proceed status is present on the cargo, the desired outcome is that the system sets proceed status and updates the border arrival date.
💻 Technical Criteria
Given A cargo record is being evaluated for status changes
When Proceed status is present on the cargo
Then The system sets proceed status and updates the border arrival date
R-GCX016-cbl-04251 Hold at Border?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold at Border?' is invoked, and assuming that a cargo record has hold status present, when the hold location is determined to be at the border, the desired outcome is that the system sets border hold status.
💻 Technical Criteria
Given A cargo record has hold status present
When The hold location is determined to be at the border
Then The system sets border hold status
R-GCX016-cbl-04252 Hold Status Present?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Hold Status Present?', assuming that a cargo record has hold status present, when the hold location is not at the border, the desired outcome is that the system sets destination hold status.
💻 Technical Criteria
EXCLUDING A cargo record has hold status present
When The hold location is not at the border
Then The system sets destination hold status
R-GCX016-cbl-04253 Arrival Status Present?
Process Rules
📊 Business Logic Narrative
When the process 'Arrival Status Present?' is invoked, and assuming that a cargo record is undergoing status evaluation, when arrival status is present on the cargo, the desired outcome is that the system sets arrival status and clears the destination index.
💻 Technical Criteria
Given A cargo record is undergoing status evaluation
When Arrival status is present on the cargo
Then The system sets arrival status and clears the destination index
R-GCX016-cbl-04254 Export Status Present?
Process Rules
📊 Business Logic Narrative
When the process 'Export Status Present?' is invoked, and assuming that a cargo record is being processed for status changes, when export status is present on the cargo, the desired outcome is that the system sets export status and clears the destination index.
💻 Technical Criteria
Given A cargo record is being processed for status changes
When Export status is present on the cargo
Then The system sets export status and clears the destination index
R-GCX016-cbl-04255 Previously Released but Now Unreleased?
Process Rules
📊 Business Logic Narrative
When the process 'Previously Released but Now Unreleased?' is invoked, and assuming that a cargo record has historical release status information, when the cargo was previously released but current processing indicates it is now unreleased, the desired outcome is that the system generates unrelease notification and re-establishes the destination index.
💻 Technical Criteria
Given A cargo record has historical release status information
When The cargo was previously released but current processing indicates it is now unreleased
Then The system generates unrelease notification and re-establishes the destination index
R-GCX016-cbl-04256 Calculate Cargo Age using Julian Date
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Cargo Age using Julian Date' is invoked, and assuming that a cargo record requires age calculation for processing decisions, when the system needs to determine cargo age, the desired outcome is that the system calculates cargo age using julian date format.
💻 Technical Criteria
Given A cargo record requires age calculation for processing decisions
When The system needs to determine cargo age
Then The system calculates cargo age using Julian date format
R-GCX016-cbl-04257 Determine Final Cargo Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Final Cargo Status' is invoked, and assuming that all status transition logic has been evaluated for a cargo record, when the system needs to finalize the cargo status, the desired outcome is that the system determines and assigns the final cargo status based on all evaluated conditions.
💻 Technical Criteria
Given All status transition logic has been evaluated for a cargo record
When The system needs to finalize the cargo status
Then The system determines and assigns the final cargo status based on all evaluated conditions
R-GCX016-cbl-04355 Manual Release Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Manual Release Flag Set?' is invoked, and assuming that a cargo record is being processed for final status determination, when the manual release flag is set to true, the desired outcome is that the system sets manual release status, clears the destination index, and processes canadian manifest coordination.
💻 Technical Criteria
Given A cargo record is being processed for final status determination
When The manual release flag is set to true
Then The system sets manual release status, clears the destination index, and processes Canadian manifest coordination
R-GCX016-cbl-04356 FDA Hold at Destination?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'FDA Hold at Destination?', assuming that a cargo record is being evaluated for final status and manual release is not applicable, when fda hold conditions are detected at the destination, the desired outcome is that the system sets fda hold status and applies the appropriate fda status code.
💻 Technical Criteria
EXCLUDING A cargo record is being evaluated for final status and manual release is not applicable
When FDA hold conditions are detected at the destination
Then The system sets FDA hold status and applies the appropriate FDA status code
R-GCX016-cbl-04357 PTT Status Present?
Validation Rules
📊 Business Logic Narrative
When the process 'PTT Status Present?' is invoked, and assuming that a cargo record has ptt status indicators present, when the system evaluates ptt status conditions, the desired outcome is that the system validates ptt quantities against established thresholds and maintains ptt status if conditions are met.
💻 Technical Criteria
Given A cargo record has PTT status indicators present
When The system evaluates PTT status conditions
Then The system validates PTT quantities against established thresholds and maintains PTT status if conditions are met
R-GCX016-cbl-04358 Released Qty < Total Qty?
Decision Rules
📊 Business Logic Narrative
When the process 'Released Qty < Total Qty?' is invoked, and assuming that a cargo record with ptt status is being processed and quantities have been validated, when the released quantity is less than the total quantity, the desired outcome is that the system sets partial release hold status and applies hold on piece counts.
💻 Technical Criteria
Given A cargo record with PTT status is being processed and quantities have been validated
When The released quantity is less than the total quantity
Then The system sets partial release hold status and applies hold on piece counts
R-GCX016-cbl-04359 Full Release Conditions Met?
Decision Rules
📊 Business Logic Narrative
When the process 'Full Release Conditions Met?' is invoked, and assuming that a cargo record is being evaluated for release status and released quantity equals or exceeds total quantity, when all full release conditions are met, the desired outcome is that the system processes full release and clears the destination index.
💻 Technical Criteria
Given A cargo record is being evaluated for release status and released quantity equals or exceeds total quantity
When All full release conditions are met
Then The system processes full release and clears the destination index
R-GCX016-cbl-04360 Hold at Border?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Hold at Border?', assuming that a cargo record has hold status present and is not in manual release or full release state, when hold conditions exist at the border location, the desired outcome is that the system sets border hold status for the cargo.
💻 Technical Criteria
EXCLUDING A cargo record has hold status present and is not in manual release or full release state
When Hold conditions exist at the border location
Then The system sets border hold status for the cargo
R-GCX016-cbl-04361 Hold at Destination?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Hold at Destination?', assuming that a cargo record has hold status present and is not held at border, when hold conditions exist at the destination location, the desired outcome is that the system sets destination hold status for the cargo.
💻 Technical Criteria
EXCLUDING A cargo record has hold status present and is not held at border
When Hold conditions exist at the destination location
Then The system sets destination hold status for the cargo
R-GCX016-cbl-04362 Proceed Status Present?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Proceed Status Present?', assuming that a cargo record is not in hold status and proceed status indicators are present, when proceed status conditions are validated, the desired outcome is that the system sets proceed status and updates the border arrival date.
💻 Technical Criteria
EXCLUDING A cargo record is not in hold status and proceed status indicators are present
When Proceed status conditions are validated
Then The system sets proceed status and updates the border arrival date
R-GCX016-cbl-04363 Arrival Status Present?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Arrival Status Present?', assuming that a cargo record has completed proceed status processing or is not in proceed status, when arrival status indicators are present, the desired outcome is that the system sets arrival status and updates the arrival date.
💻 Technical Criteria
EXCLUDING A cargo record has completed proceed status processing or is not in proceed status
When Arrival status indicators are present
Then The system sets arrival status and updates the arrival date
R-GCX016-cbl-04364 Export Status Present?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Export Status Present?', assuming that a cargo record has completed arrival status processing or is not in arrival status, when export status indicators are present, the desired outcome is that the system sets export status and clears the destination index.
💻 Technical Criteria
EXCLUDING A cargo record has completed arrival status processing or is not in arrival status
When Export status indicators are present
Then The system sets export status and clears the destination index
R-GCX016-cbl-04365 Unrelease Detected?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Unrelease Detected?', assuming that a cargo record has completed export status processing or is not in export status, when unrelease conditions are detected in the cargo status, the desired outcome is that the system generates unrelease notification and restores the previous cargo status.
💻 Technical Criteria
EXCLUDING A cargo record has completed export status processing or is not in export status
When Unrelease conditions are detected in the cargo status
Then The system generates unrelease notification and restores the previous cargo status
R-GCX016-cbl-04366 Age Calculation Required?
Computation Rules
📊 Business Logic Narrative
When the process 'Age Calculation Required?' is invoked, and assuming that a cargo record has completed unrelease processing or no unrelease was detected, when age calculation is required for the cargo, the desired outcome is that the system calculates cargo age using julian date conversion and re-establishes the destination index.
💻 Technical Criteria
Given A cargo record has completed unrelease processing or no unrelease was detected
When Age calculation is required for the cargo
Then The system calculates cargo age using Julian date conversion and re-establishes the destination index
R-GCX016-cbl-04552 Released Quantity > 0?
Validation Rules
📊 Business Logic Narrative
When the process 'Released Quantity > 0?' is invoked, and assuming that a cargo record with ptt status and release quantity information in the status array, when the system evaluates the released quantity value, the desired outcome is that if released quantity is greater than zero, proceed to compare with total quantity, otherwise set no release status.
💻 Technical Criteria
Given A cargo record with PTT status and release quantity information in the status array
When The system evaluates the released quantity value
Then If released quantity is greater than zero, proceed to compare with total quantity, otherwise set no release status
R-GCX016-cbl-04553 Released Quantity = Total Quantity?
Decision Rules
📊 Business Logic Narrative
When the process 'Released Quantity = Total Quantity?' is invoked, and assuming that a cargo record with positive released quantity and known total quantity, when the system compares released quantity to total quantity, the desired outcome is that if released quantity equals total quantity, set full release status and clear hold flags, otherwise set partial release status.
💻 Technical Criteria
Given A cargo record with positive released quantity and known total quantity
When The system compares released quantity to total quantity
Then If released quantity equals total quantity, set full release status and clear hold flags, otherwise set partial release status
R-GCX016-cbl-04554 Set Full Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Full Release Status' is invoked, and assuming that a cargo record where released quantity equals total quantity, when the system processes the full release condition, the desired outcome is that set the cargo status to full release and prepare for hold flag clearing.
💻 Technical Criteria
Given A cargo record where released quantity equals total quantity
When The system processes the full release condition
Then Set the cargo status to full release and prepare for hold flag clearing
R-GCX016-cbl-04555 Clear Hold Flags
Action Rules
📊 Business Logic Narrative
When the process 'Clear Hold Flags' is invoked, and assuming that a cargo record with full release status confirmed, when the system processes hold flag updates, the desired outcome is that clear all hold-related status flags from the cargo record.
💻 Technical Criteria
Given A cargo record with full release status confirmed
When The system processes hold flag updates
Then Clear all hold-related status flags from the cargo record
R-GCX016-cbl-04556 Set Partial Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Partial Release Status' is invoked, and assuming that a cargo record where released quantity is greater than zero but less than total quantity, when the system processes the partial release condition, the desired outcome is that set the cargo status to partial release and calculate remaining quantity.
💻 Technical Criteria
Given A cargo record where released quantity is greater than zero but less than total quantity
When The system processes the partial release condition
Then Set the cargo status to partial release and calculate remaining quantity
R-GCX016-cbl-04557 Calculate Remaining Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Remaining Quantity' is invoked, and assuming that a cargo record with partial release status and known total and released quantities, when the system calculates remaining quantities, the desired outcome is that subtract released quantity from total quantity to determine remaining held quantity.
💻 Technical Criteria
Given A cargo record with partial release status and known total and released quantities
When The system calculates remaining quantities
Then Subtract released quantity from total quantity to determine remaining held quantity
R-GCX016-cbl-04558 Remaining Quantity > 0?
Validation Rules
📊 Business Logic Narrative
When the process 'Remaining Quantity > 0?' is invoked, and assuming that a cargo record with calculated remaining quantity after partial release, when the system validates the remaining quantity value, the desired outcome is that if remaining quantity is greater than zero, set hold on piece counts status, otherwise maintain ptt status flag.
💻 Technical Criteria
Given A cargo record with calculated remaining quantity after partial release
When The system validates the remaining quantity value
Then If remaining quantity is greater than zero, set hold on piece counts status, otherwise maintain PTT status flag
R-GCX016-cbl-04559 Set Hold on Piece Counts Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts Status' is invoked, and assuming that a cargo record with positive remaining quantity after partial release, when the system processes piece count hold requirements, the desired outcome is that set hold on piece counts status for the remaining unreleased quantity.
💻 Technical Criteria
Given A cargo record with positive remaining quantity after partial release
When The system processes piece count hold requirements
Then Set hold on piece counts status for the remaining unreleased quantity
R-GCX016-cbl-04560 Maintain PTT Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Maintain PTT Status Flag' is invoked, and assuming that a cargo record with partial release or hold on piece counts status, when the system updates status flags, the desired outcome is that maintain the ptt status flag to indicate proceed-to-transfer eligibility.
💻 Technical Criteria
Given A cargo record with partial release or hold on piece counts status
When The system updates status flags
Then Maintain the PTT status flag to indicate proceed-to-transfer eligibility
R-GCX016-cbl-04561 Set No Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Set No Release Status' is invoked, and assuming that a cargo record where released quantity is zero or negative, when the system processes release status determination, the desired outcome is that set the cargo status to no release and maintain current hold status.
💻 Technical Criteria
Given A cargo record where released quantity is zero or negative
When The system processes release status determination
Then Set the cargo status to no release and maintain current hold status
R-GCX016-cbl-04562 Maintain Current Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Maintain Current Hold Status' is invoked, and assuming that a cargo record with no release status and existing hold conditions, when the system updates hold status flags, the desired outcome is that maintain the current hold status without modification.
💻 Technical Criteria
Given A cargo record with no release status and existing hold conditions
When The system updates hold status flags
Then Maintain the current hold status without modification
R-GCX016-cbl-04563 Update Status Array with PTT Flags
Action Rules
📊 Business Logic Narrative
When the process 'Update Status Array with PTT Flags' is invoked, and assuming that a cargo record with determined ptt status, release conditions, and hold flags, when the system updates the status array, the desired outcome is that apply all determined ptt flags, release status, and hold conditions to the cargo status array.
💻 Technical Criteria
Given A cargo record with determined PTT status, release conditions, and hold flags
When The system updates the status array
Then Apply all determined PTT flags, release status, and hold conditions to the cargo status array
R-GCX016-cbl-04564 Save PTT Status for Processing
Action Rules
📊 Business Logic Narrative
When the process 'Save PTT Status for Processing' is invoked, and assuming that a cargo record with updated status array containing ptt flags and release conditions, when the system completes ptt quantity validation, the desired outcome is that save the final ptt status determination for use in downstream processing.
💻 Technical Criteria
Given A cargo record with updated status array containing PTT flags and release conditions
When The system completes PTT quantity validation
Then Save the final PTT status determination for use in downstream processing
R-GCX016-cbl-04743 Calculate Remaining Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Remaining Quantity' is invoked, and assuming that a cargo record exists with total quantity and released quantity values, when the system processes quantity calculations for release determination, the desired outcome is that the remaining quantity is calculated as total quantity minus released quantity.
💻 Technical Criteria
Given A cargo record exists with total quantity and released quantity values
When The system processes quantity calculations for release determination
Then The remaining quantity is calculated as total quantity minus released quantity
R-GCX016-cbl-04745 Partial Release?
Decision Rules
📊 Business Logic Narrative
When the process 'Partial Release?' is invoked, and assuming that a valid remaining quantity exists for a cargo record, when the remaining quantity is greater than zero, the desired outcome is that the cargo is marked as partially released.
💻 Technical Criteria
Given A valid remaining quantity exists for a cargo record
When The remaining quantity is greater than zero
Then The cargo is marked as partially released
R-GCX016-cbl-04746 Mark as Fully Released
Decision Rules
📊 Business Logic Narrative
When the process 'Mark as Fully Released' is invoked, and assuming that a cargo record has remaining quantity equal to zero, when the system evaluates release status, the desired outcome is that the cargo is marked as fully released.
💻 Technical Criteria
Given A cargo record has remaining quantity equal to zero
When The system evaluates release status
Then The cargo is marked as fully released
R-GCX016-cbl-04747 Update Cargo Quantity Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Quantity Status' is invoked, and assuming that cargo has been marked as either partially released or fully released, when the quantity calculation process is complete, the desired outcome is that the cargo quantity status is updated in the system.
💻 Technical Criteria
Given Cargo has been marked as either partially released or fully released
When The quantity calculation process is complete
Then The cargo quantity status is updated in the system
R-GCX016-cbl-03215 Check if Manual Release Flag Set
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Manual Release Flag Set' is invoked, and assuming that a cargo record with potential manual release status, when the system checks the manual release flag in the cargo status, the desired outcome is that processing continues to manual release workflow if flag is set, otherwise processing completes.
💻 Technical Criteria
Given A cargo record with potential manual release status
When The system checks the manual release flag in the cargo status
Then Processing continues to manual release workflow if flag is set, otherwise processing completes
R-GCX016-cbl-03216 Clear Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that a cargo record undergoing manual release processing, when the manual release flag is confirmed as set, the desired outcome is that the destination index is cleared to remove destination routing constraints.
💻 Technical Criteria
Given A cargo record undergoing manual release processing
When The manual release flag is confirmed as set
Then The destination index is cleared to remove destination routing constraints
R-GCX016-cbl-03217 Save Current Cargo Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Cargo Status' is invoked, and assuming that a cargo record with existing status information, when manual release processing begins, the desired outcome is that current cargo status is saved to temporary storage for potential restoration.
💻 Technical Criteria
Given A cargo record with existing status information
When Manual release processing begins
Then Current cargo status is saved to temporary storage for potential restoration
R-GCX016-cbl-03218 Process Canadian Manifest Coordination
Action Rules
📊 Business Logic Narrative
When the process 'Process Canadian Manifest Coordination' is invoked, and assuming that a cargo record undergoing manual release, when destination index has been cleared and status saved, the desired outcome is that system searches for corresponding canadian manifest records for coordination.
💻 Technical Criteria
Given A cargo record undergoing manual release
When Destination index has been cleared and status saved
Then System searches for corresponding Canadian manifest records for coordination
R-GCX016-cbl-03219 Canadian Manifest Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Found?' is invoked, and assuming that a search for canadian manifest records has been initiated, when the system searches canadian manifest database using cargo identifiers, the desired outcome is that processing branches to update canadian records if found, or continues to status restoration if not found.
💻 Technical Criteria
Given A search for Canadian manifest records has been initiated
When The system searches Canadian manifest database using cargo identifiers
Then Processing branches to update Canadian records if found, or continues to status restoration if not found
R-GCX016-cbl-03222 Restore Cargo Status Information
Process Rules
📊 Business Logic Narrative
When the process 'Restore Cargo Status Information' is invoked, and assuming that canadian manifest processing is complete or no canadian manifest was found, when the system needs to restore cargo status information, the desired outcome is that previously saved cargo status information is restored to the cargo record.
💻 Technical Criteria
Given Canadian manifest processing is complete or no Canadian manifest was found
When The system needs to restore cargo status information
Then Previously saved cargo status information is restored to the cargo record
R-GCX016-cbl-03223 Age Calculation Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Age Calculation Required?' is invoked, and assuming that cargo status information has been restored, when the system evaluates cargo processing requirements, the desired outcome is that processing branches to age calculation if required, or continues to destination index re-establishment if not required.
💻 Technical Criteria
Given Cargo status information has been restored
When The system evaluates cargo processing requirements
Then Processing branches to age calculation if required, or continues to destination index re-establishment if not required
R-GCX016-cbl-03224 Calculate Cargo Age Using Julian Date
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Cargo Age Using Julian Date' is invoked, and assuming that age calculation is required for the cargo, when the system processes cargo age requirements, the desired outcome is that cargo age is calculated using julian date conversion methods.
💻 Technical Criteria
Given Age calculation is required for the cargo
When The system processes cargo age requirements
Then Cargo age is calculated using Julian date conversion methods
R-GCX016-cbl-03225 Re-establish Destination Index
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Re-establish Destination Index', assuming that age calculation is complete or not required, when the system needs to restore destination routing capability, the desired outcome is that destination index is re-established based on current cargo status and routing requirements.
💻 Technical Criteria
EXCLUDING Age calculation is complete or not required
When The system needs to restore destination routing capability
Then Destination index is re-established based on current cargo status and routing requirements
R-GCX016-cbl-03226 Update Cargo Record with Manual Release Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Manual Release Status' is invoked, and assuming that destination index has been re-established, when the system finalizes manual release processing, the desired outcome is that cargo record is updated with manual release status information.
💻 Technical Criteria
Given Destination index has been re-established
When The system finalizes manual release processing
Then Cargo record is updated with manual release status information
R-GCX016-cbl-03227 Generate Manual Release Notification
Action Rules
📊 Business Logic Narrative
When the process 'Generate Manual Release Notification' is invoked, and assuming that cargo record has been updated with manual release status, when the system completes manual release processing, the desired outcome is that notification messages are generated and sent to appropriate recipients regarding the manual release.
💻 Technical Criteria
Given Cargo record has been updated with manual release status
When The system completes manual release processing
Then Notification messages are generated and sent to appropriate recipients regarding the manual release
R-GCX016-cbl-03228 FDA Hold Status Processing Start
Process Rules
📊 Business Logic Narrative
When the process 'FDA Hold Status Processing Start' is invoked, and assuming that a cargo record exists in the system, when fda hold status processing is initiated, the desired outcome is that the system begins evaluation of fda hold requirements.
💻 Technical Criteria
Given A cargo record exists in the system
When FDA hold status processing is initiated
Then The system begins evaluation of FDA hold requirements
R-GCX016-cbl-03229 Cargo Status Analysis Complete?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Status Analysis Complete?' is invoked, and assuming that fda hold status processing has been initiated, when the system checks if cargo status analysis is complete, the desired outcome is that if analysis is complete, proceed to fda hold conditions check, otherwise continue with other status processing.
💻 Technical Criteria
Given FDA hold status processing has been initiated
When The system checks if cargo status analysis is complete
Then If analysis is complete, proceed to FDA hold conditions check, otherwise continue with other status processing
R-GCX016-cbl-03230 Check FDA Hold Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'Check FDA Hold Conditions' is invoked, and assuming that cargo status analysis is complete, when the system evaluates fda hold conditions, the desired outcome is that the system determines if fda hold is required at destination.
💻 Technical Criteria
Given Cargo status analysis is complete
When The system evaluates FDA hold conditions
Then The system determines if FDA hold is required at destination
R-GCX016-cbl-03232 Set FDA Hold Status Code
Action Rules
📊 Business Logic Narrative
When the process 'Set FDA Hold Status Code' is invoked, and assuming that fda hold is required at destination, when the system sets fda hold status code, the desired outcome is that the appropriate fda-specific status code is assigned to the cargo.
💻 Technical Criteria
Given FDA hold is required at destination
When The system sets FDA hold status code
Then The appropriate FDA-specific status code is assigned to the cargo
R-GCX016-cbl-03236 Apply FDA-Specific Status Code
Action Rules
📊 Business Logic Narrative
When the process 'Apply FDA-Specific Status Code' is invoked, and assuming that status code validation is successful, when the system applies fda-specific status code, the desired outcome is that the fda-specific status code is applied to the cargo.
💻 Technical Criteria
Given Status code validation is successful
When The system applies FDA-specific status code
Then The FDA-specific status code is applied to the cargo
R-GCX016-cbl-03238 Update Cargo Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array' is invoked, and assuming that hold location has been set as destination, when the system updates cargo status array, the desired outcome is that the cargo status array is updated with fda hold status information.
💻 Technical Criteria
Given Hold location has been set as destination
When The system updates cargo status array
Then The cargo status array is updated with FDA hold status information
R-GCX016-cbl-03239 Log FDA Hold Action
Action Rules
📊 Business Logic Narrative
When the process 'Log FDA Hold Action' is invoked, and assuming that cargo status array has been updated, when the system logs fda hold action, the desired outcome is that the fda hold action is recorded in the system logs.
💻 Technical Criteria
Given Cargo status array has been updated
When The system logs FDA hold action
Then The FDA hold action is recorded in the system logs
R-GCX016-cbl-03241 Continue with Other Status Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue with Other Status Processing', assuming that fda hold status processing is complete or not required, when the system continues with other status processing, the desired outcome is that other cargo status processing continues normally.
💻 Technical Criteria
EXCLUDING FDA hold status processing is complete or not required
When The system continues with other status processing
Then Other cargo status processing continues normally
R-GCX016-cbl-03242 Save Current PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current PTT Status' is invoked, and assuming that a cargo record is being processed for ptt status changes, when ptt status management begins, the desired outcome is that the current ptt status and quantity information is saved for potential restoration.
💻 Technical Criteria
Given A cargo record is being processed for PTT status changes
When PTT status management begins
Then The current PTT status and quantity information is saved for potential restoration
R-GCX016-cbl-03243 Analyze Status Array for PTT Codes
Validation Rules
📊 Business Logic Narrative
When the process 'Analyze Status Array for PTT Codes' is invoked, and assuming that a cargo record has a status array with multiple disposition codes, when the system analyzes the status array for ptt processing, the desired outcome is that all ptt-related codes are identified and their positions in the array are noted.
💻 Technical Criteria
Given A cargo record has a status array with multiple disposition codes
When The system analyzes the status array for PTT processing
Then All PTT-related codes are identified and their positions in the array are noted
R-GCX016-cbl-03248 Set PTT Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set PTT Status Flag' is invoked, and assuming that ptt quantity validation has passed successfully, when the system sets ptt status, the desired outcome is that the ptt status flag is activated for the cargo record.
💻 Technical Criteria
Given PTT quantity validation has passed successfully
When The system sets PTT status
Then The PTT status flag is activated for the cargo record
R-GCX016-cbl-03251 Preserve PTT Status for Remaining Quantity
Action Rules
📊 Business Logic Narrative
When the process 'Preserve PTT Status for Remaining Quantity' is invoked, and assuming that a partial release scenario has been detected, when the system processes ptt status for remaining quantity, the desired outcome is that ptt status is preserved for the unreleased portion of the cargo.
💻 Technical Criteria
Given A partial release scenario has been detected
When The system processes PTT status for remaining quantity
Then PTT status is preserved for the unreleased portion of the cargo
R-GCX016-cbl-03252 Clear PTT Status for Released Portion
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear PTT Status for Released Portion', assuming that cargo is not in a partial release scenario, when the system processes ptt status for released cargo, the desired outcome is that ptt status is cleared for the released portion of the cargo.
💻 Technical Criteria
EXCLUDING Cargo is not in a partial release scenario
When The system processes PTT status for released cargo
Then PTT status is cleared for the released portion of the cargo
R-GCX016-cbl-03254 Status Array Changes Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Array Changes Required?' is invoked, and assuming that ptt status processing has been completed, when the system checks if status array updates are needed, the desired outcome is that if changes are required, update status array with ptt information, otherwise set cargo ptt processing flag.
💻 Technical Criteria
Given PTT status processing has been completed
When The system checks if status array updates are needed
Then If changes are required, update status array with PTT information, otherwise set cargo PTT processing flag
R-GCX016-cbl-03256 Set Cargo PTT Processing Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Cargo PTT Processing Flag' is invoked, and assuming that ptt status management processing is complete, when the system finalizes ptt processing, the desired outcome is that the cargo ptt processing flag is set to indicate completion.
💻 Technical Criteria
Given PTT status management processing is complete
When The system finalizes PTT processing
Then The cargo PTT processing flag is set to indicate completion
R-GCX016-cbl-03258 Compare Released Qty vs Total Qty
Decision Rules
📊 Business Logic Narrative
When the process 'Compare Released Qty vs Total Qty' is invoked, and assuming that cargo status analysis is complete and release quantities are available, when the system compares released quantity with total quantity, the desired outcome is that the comparison result determines whether partial release processing is required.
💻 Technical Criteria
Given Cargo status analysis is complete and release quantities are available
When The system compares released quantity with total quantity
Then The comparison result determines whether partial release processing is required
R-GCX016-cbl-03260 Identify Partial Release Scenario
Process Rules
📊 Business Logic Narrative
When the process 'Identify Partial Release Scenario' is invoked, and assuming that released quantity is confirmed to be less than total quantity, when the system processes the partial release condition, the desired outcome is that the cargo is identified as a partial release scenario requiring special hold status.
💻 Technical Criteria
Given Released quantity is confirmed to be less than total quantity
When The system processes the partial release condition
Then The cargo is identified as a partial release scenario requiring special hold status
R-GCX016-cbl-03261 Set Hold on Piece Counts Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Hold on Piece Counts Status' is invoked, and assuming that cargo has been identified as a partial release scenario, when the system sets the cargo status, the desired outcome is that the cargo status is set to hold on piece counts to indicate partial release condition.
💻 Technical Criteria
Given Cargo has been identified as a partial release scenario
When The system sets the cargo status
Then The cargo status is set to hold on piece counts to indicate partial release condition
R-GCX016-cbl-03262 Update Cargo Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Array' is invoked, and assuming that hold on piece counts status has been determined for partial release cargo, when the system updates the cargo status array, the desired outcome is that the status array is updated with the partial release hold information.
💻 Technical Criteria
Given Hold on piece counts status has been determined for partial release cargo
When The system updates the cargo status array
Then The status array is updated with the partial release hold information
R-GCX016-cbl-03263 Log Partial Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Log Partial Release Information' is invoked, and assuming that cargo status array has been updated with partial release hold status, when the system logs the partial release information, the desired outcome is that partial release details including quantities and hold status are recorded in the system log.
💻 Technical Criteria
Given Cargo status array has been updated with partial release hold status
When The system logs the partial release information
Then Partial release details including quantities and hold status are recorded in the system log
R-GCX016-cbl-03264 Maintain Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Maintain Destination Index' is invoked, and assuming that cargo has partial release hold status and logging is complete, when the system maintains destination routing information, the desired outcome is that the destination index is preserved to ensure proper cargo routing despite partial hold status.
💻 Technical Criteria
Given Cargo has partial release hold status and logging is complete
When The system maintains destination routing information
Then The destination index is preserved to ensure proper cargo routing despite partial hold status
R-GCX016-cbl-03265 Generate Hold Message with Piece Count Details
Action Rules
📊 Business Logic Narrative
When the process 'Generate Hold Message with Piece Count Details' is invoked, and assuming that destination index is maintained and partial release hold status is confirmed, when the system generates a hold message, the desired outcome is that a hold message is created with specific piece count details indicating the partial release quantities.
💻 Technical Criteria
Given Destination index is maintained and partial release hold status is confirmed
When The system generates a hold message
Then A hold message is created with specific piece count details indicating the partial release quantities
R-GCX016-cbl-03266 Update Cargo Record with Partial Hold Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Partial Hold Status' is invoked, and assuming that hold message with piece count details has been generated, when the system updates the cargo record, the desired outcome is that the cargo record is updated with partial hold status and all associated partial release information.
💻 Technical Criteria
Given Hold message with piece count details has been generated
When The system updates the cargo record
Then The cargo record is updated with partial hold status and all associated partial release information
R-GCX016-cbl-03267 Full Release Processing Path
Decision Rules
📊 Business Logic Narrative
When the process 'Full Release Processing Path' is invoked, and assuming that released quantity and total quantity have been compared, when the released quantity is greater than or equal to the total quantity, the desired outcome is that the cargo follows the full release processing path without partial hold restrictions.
💻 Technical Criteria
Given Released quantity and total quantity have been compared
When The released quantity is greater than or equal to the total quantity
Then The cargo follows the full release processing path without partial hold restrictions
R-GCX016-cbl-03268 Check Released Quantity vs Total Quantity
Decision Rules
📊 Business Logic Narrative
When the process 'Check Released Quantity vs Total Quantity' is invoked, and assuming that a cargo record with total quantity and released quantity values, when the system evaluates release eligibility, the desired outcome is that if released quantity equals or exceeds total quantity, cargo is eligible for full release, otherwise process as partial release.
💻 Technical Criteria
Given A cargo record with total quantity and released quantity values
When The system evaluates release eligibility
Then If released quantity equals or exceeds total quantity, cargo is eligible for full release, otherwise process as partial release
R-GCX016-cbl-03269 Set Released Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Released Status Flag' is invoked, and assuming that cargo that has been determined eligible for full release, when the system processes the full release, the desired outcome is that the released status flag is set to indicate full release status.
💻 Technical Criteria
Given Cargo that has been determined eligible for full release
When The system processes the full release
Then The released status flag is set to indicate full release status
R-GCX016-cbl-03270 Clear Destination Index RT076
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index RT076' is invoked, and assuming that cargo that has achieved full release status, when the system processes the destination index update, the desired outcome is that the rt076 destination index is cleared to remove routing restrictions.
💻 Technical Criteria
Given Cargo that has achieved full release status
When The system processes the destination index update
Then The RT076 destination index is cleared to remove routing restrictions
R-GCX016-cbl-03271 Canadian Manifest Coordination Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest Coordination Required?' is invoked, and assuming that cargo that has been fully released, when the system evaluates canadian manifest coordination requirements, the desired outcome is that if cargo requires canadian manifest coordination, proceed to find matching manifests, otherwise proceed directly to status update.
💻 Technical Criteria
Given Cargo that has been fully released
When The system evaluates Canadian manifest coordination requirements
Then If cargo requires Canadian manifest coordination, proceed to find matching manifests, otherwise proceed directly to status update
R-GCX016-cbl-03272 Find Matching Canadian Manifests
Action Rules
📊 Business Logic Narrative
When the process 'Find Matching Canadian Manifests' is invoked, and assuming that fully released cargo that requires canadian manifest coordination, when the system searches for matching canadian manifests, the desired outcome is that all corresponding canadian manifest records are identified and retrieved.
💻 Technical Criteria
Given Fully released cargo that requires Canadian manifest coordination
When The system searches for matching Canadian manifests
Then All corresponding Canadian manifest records are identified and retrieved
R-GCX016-cbl-03273 Generate Canadian Release Log Messages
Action Rules
📊 Business Logic Narrative
When the process 'Generate Canadian Release Log Messages' is invoked, and assuming that matching canadian manifest records for released cargo, when the system processes canadian manifest coordination, the desired outcome is that release log messages are generated for canadian manifest tracking.
💻 Technical Criteria
Given Matching Canadian manifest records for released cargo
When The system processes Canadian manifest coordination
Then Release log messages are generated for Canadian manifest tracking
R-GCX016-cbl-03274 Update Cargo Status to Released
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to Released' is invoked, and assuming that cargo that has completed full release processing, when the system updates the cargo status, the desired outcome is that the cargo status is set to released state.
💻 Technical Criteria
Given Cargo that has completed full release processing
When The system updates the cargo status
Then The cargo status is set to released state
R-GCX016-cbl-03275 Set Release Date
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Date' is invoked, and assuming that cargo that has been updated to released status, when the system processes the release date assignment, the desired outcome is that the current date and time is recorded as the release date.
💻 Technical Criteria
Given Cargo that has been updated to released status
When The system processes the release date assignment
Then The current date and time is recorded as the release date
R-GCX016-cbl-03276 Clear Hold Status Flags
Action Rules
📊 Business Logic Narrative
When the process 'Clear Hold Status Flags' is invoked, and assuming that cargo that has been set to released status with release date, when the system processes hold status flag updates, the desired outcome is that all hold status flags are cleared to remove cargo restrictions.
💻 Technical Criteria
Given Cargo that has been set to released status with release date
When The system processes hold status flag updates
Then All hold status flags are cleared to remove cargo restrictions
R-GCX016-cbl-03277 Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that cargo with updated release status, release date, and cleared hold flags, when the system saves the cargo record, the desired outcome is that all cargo release changes are persisted to the database.
💻 Technical Criteria
Given Cargo with updated release status, release date, and cleared hold flags
When The system saves the cargo record
Then All cargo release changes are persisted to the database
R-GCX016-cbl-03278 Generate Release Notification Messages
Action Rules
📊 Business Logic Narrative
When the process 'Generate Release Notification Messages' is invoked, and assuming that cargo that has been successfully updated in the database as released, when the system processes release notifications, the desired outcome is that release notification messages are generated for relevant stakeholders.
💻 Technical Criteria
Given Cargo that has been successfully updated in the database as released
When The system processes release notifications
Then Release notification messages are generated for relevant stakeholders
R-GCX016-cbl-03279 Call Integration Services for Release
Action Rules
📊 Business Logic Narrative
When the process 'Call Integration Services for Release' is invoked, and assuming that cargo with generated release notification messages, when the system calls integration services, the desired outcome is that external integration services are invoked to complete the release processing workflow.
💻 Technical Criteria
Given Cargo with generated release notification messages
When The system calls integration services
Then External integration services are invoked to complete the release processing workflow
R-GCX016-cbl-03280 Partial Release Scenario?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Partial Release Scenario?', assuming that cargo where released quantity does not match total quantity, when the system evaluates release processing type, the desired outcome is that if cargo qualifies for partial release processing, route to partial release workflow, otherwise continue with full release.
💻 Technical Criteria
EXCLUDING Cargo where released quantity does not match total quantity
When The system evaluates release processing type
Then If cargo qualifies for partial release processing, route to partial release workflow, otherwise continue with full release
R-GCX016-cbl-03281 Process as Partial Release Instead
Action Rules
📊 Business Logic Narrative
When the process 'Process as Partial Release Instead' is invoked, and assuming that cargo that has been identified for partial release processing, when the system redirects to partial release workflow, the desired outcome is that cargo is processed through the partial release workflow instead of full release.
💻 Technical Criteria
Given Cargo that has been identified for partial release processing
When The system redirects to partial release workflow
Then Cargo is processed through the partial release workflow instead of full release
R-GCX016-cbl-03282 Check Previous Release Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Previous Release Status' is invoked, and assuming that a cargo record exists with status history in the s09a status array, when the system analyzes the status array for previous release indicators, the desired outcome is that the system identifies if cargo was previously released based on status codes and release quantities.
💻 Technical Criteria
Given A cargo record exists with status history in the S09A status array
When The system analyzes the status array for previous release indicators
Then The system identifies if cargo was previously released based on status codes and release quantities
R-GCX016-cbl-03284 Previously Released Cargo Now Unreleased?
Decision Rules
📊 Business Logic Narrative
When the process 'Previously Released Cargo Now Unreleased?' is invoked, and assuming that cargo has previous release status and current disposition codes are processed, when the system compares release quantities and status flags between previous and current state, the desired outcome is that the system sets unrelease detection flag if cargo was released but is now unreleased.
💻 Technical Criteria
Given Cargo has previous release status AND current disposition codes are processed
When The system compares release quantities and status flags between previous and current state
Then The system sets unrelease detection flag if cargo was released but is now unreleased
R-GCX016-cbl-03285 Set Unrelease Status Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Unrelease Status Flag' is invoked, and assuming that cargo unrelease condition has been detected, when the system processes the unrelease detection result, the desired outcome is that the system sets the unrelease status flag to trigger notification processing.
💻 Technical Criteria
Given Cargo unrelease condition has been detected
When The system processes the unrelease detection result
Then The system sets the unrelease status flag to trigger notification processing
R-GCX016-cbl-03286 Determine Notification Recipients
Process Rules
📊 Business Logic Narrative
When the process 'Determine Notification Recipients' is invoked, and assuming that cargo unrelease has been detected and broker information exists in cargo record, when the system retrieves broker details and payer of freight information, the desired outcome is that the system identifies all parties requiring unrelease notification based on cargo ownership and broker relationships.
💻 Technical Criteria
Given Cargo unrelease has been detected AND broker information exists in cargo record
When The system retrieves broker details and payer of freight information
Then The system identifies all parties requiring unrelease notification based on cargo ownership and broker relationships
R-GCX016-cbl-03287 Generate Unrelease Notification Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Unrelease Notification Message' is invoked, and assuming that cargo unrelease detected and notification recipients identified, when the system formats the unrelease notification message, the desired outcome is that the system creates message with cargo details, disposition codes, and unrelease information.
💻 Technical Criteria
Given Cargo unrelease detected AND notification recipients identified
When The system formats the unrelease notification message
Then The system creates message with cargo details, disposition codes, and unrelease information
R-GCX016-cbl-03291 Update Cargo Status Records
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status Records' is invoked, and assuming that cargo unrelease event has been logged, when the system updates cargo status records, the desired outcome is that the system modifies cargo status, updates s09 segments, and sets appropriate status descriptions.
💻 Technical Criteria
Given Cargo unrelease event has been logged
When The system updates cargo status records
Then The system modifies cargo status, updates S09 segments, and sets appropriate status descriptions
R-GCX016-cbl-03292 Clear Previous Release Quantities
Computation Rules
📊 Business Logic Narrative
When the process 'Clear Previous Release Quantities' is invoked, and assuming that cargo status records have been updated for unrelease, when the system processes release quantity adjustments, the desired outcome is that the system clears or reduces release quantities to reflect unreleased status.
💻 Technical Criteria
Given Cargo status records have been updated for unrelease
When The system processes release quantity adjustments
Then The system clears or reduces release quantities to reflect unreleased status
R-GCX016-cbl-03293 Restore Hold Status if Required
Decision Rules
📊 Business Logic Narrative
When the process 'Restore Hold Status if Required' is invoked, and assuming that cargo release quantities have been cleared and cargo requires hold status, when the system determines appropriate hold status based on disposition codes, the desired outcome is that the system sets border hold, destination hold, or other appropriate hold status based on cargo location and disposition.
💻 Technical Criteria
Given Cargo release quantities have been cleared AND cargo requires hold status
When The system determines appropriate hold status based on disposition codes
Then The system sets border hold, destination hold, or other appropriate hold status based on cargo location and disposition
R-GCX016-cbl-03294 Clear Existing Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Existing Destination Index' is invoked, and assuming that a cargo record exists with current destination index information, when the cargo status has changed requiring destination index re-establishment, the desired outcome is that the system clears the existing destination index from the cargo record.
💻 Technical Criteria
Given A cargo record exists with current destination index information
When The cargo status has changed requiring destination index re-establishment
Then The system clears the existing destination index from the cargo record
R-GCX016-cbl-03295 Set Arrival Date at Destination
Process Rules
📊 Business Logic Narrative
When the process 'Set Arrival Date at Destination' is invoked, and assuming that a cargo record is being processed for arrival status and the cargo has arrival processing requirements, when the system processes arrival status for the cargo, the desired outcome is that the system sets the arrival date at destination based on the current processing date.
💻 Technical Criteria
Given A cargo record is being processed for arrival status AND the cargo has arrival processing requirements
When The system processes arrival status for the cargo
Then The system sets the arrival date at destination based on the current processing date
R-GCX016-cbl-03296 Set Export Status Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Export Status Flag' is invoked, and assuming that a cargo record is being processed for export status and the cargo requires export processing, when the system processes export status for the cargo, the desired outcome is that the system sets the export status flag to indicate export processing is required.
💻 Technical Criteria
Given A cargo record is being processed for export status AND the cargo requires export processing
When The system processes export status for the cargo
Then The system sets the export status flag to indicate export processing is required
R-GCX016-cbl-03297 Update Bond Start Date
Process Rules
📊 Business Logic Narrative
When the process 'Update Bond Start Date' is invoked, and assuming that a cargo record has bond processing requirements and the bond information has changed, when the system processes bond changes for the cargo, the desired outcome is that the system updates the bond start date based on the new bond processing requirements.
💻 Technical Criteria
Given A cargo record has bond processing requirements AND the bond information has changed
When The system processes bond changes for the cargo
Then The system updates the bond start date based on the new bond processing requirements
R-GCX016-cbl-03298 Re-establish RT076 Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Re-establish RT076 Destination Index' is invoked, and assuming that a cargo record requires destination index re-establishment and the index parameters have been calculated, when the system processes the destination index re-establishment, the desired outcome is that the system calls b585-set-rt076-dest-index to re-establish the destination index with updated parameters.
💻 Technical Criteria
Given A cargo record requires destination index re-establishment AND the index parameters have been calculated
When The system processes the destination index re-establishment
Then The system calls B585-SET-RT076-DEST-INDEX to re-establish the destination index with updated parameters
R-GCX016-cbl-03299 Cross-Border Coordination Needed?
Decision Rules
📊 Business Logic Narrative
When the process 'Cross-Border Coordination Needed?' is invoked, and assuming that a cargo record has been processed for status changes and destination index has been re-established, when the system evaluates cross-border coordination requirements, the desired outcome is that the system determines if canadian manifest coordination is needed based on cargo release status and processing type.
💻 Technical Criteria
Given A cargo record has been processed for status changes AND destination index has been re-established
When The system evaluates cross-border coordination requirements
Then The system determines if Canadian manifest coordination is needed based on cargo release status and processing type
R-GCX016-cbl-03301 Generate Canadian Log Messages
Process Rules
📊 Business Logic Narrative
When the process 'Generate Canadian Log Messages' is invoked, and assuming that matching canadian manifest records have been found and cross-border coordination is active, when the system processes canadian manifest coordination, the desired outcome is that the system generates log messages to gcx105 system with cargo release information for canadian coordination.
💻 Technical Criteria
Given Matching Canadian manifest records have been found AND cross-border coordination is active
When The system processes Canadian manifest coordination
Then The system generates log messages to GCX105 system with cargo release information for Canadian coordination
R-GCX016-cbl-03302 Update Cargo Record with New Index
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with New Index' is invoked, and assuming that destination index has been re-established and any required cross-border coordination has been completed, when the system finalizes the cargo record update, the desired outcome is that the system updates the cargo record with the new destination index information and any coordination results.
💻 Technical Criteria
Given Destination index has been re-established AND any required cross-border coordination has been completed
When The system finalizes the cargo record update
Then The system updates the cargo record with the new destination index information and any coordination results
R-GCX016-cbl-03303 Get Current System Date
Action Rules
📊 Business Logic Narrative
When the process 'Get Current System Date' is invoked, and assuming that the system is processing cargo age calculation, when the age calculation process is initiated, the desired outcome is that the current system date is retrieved and stored for comparison with bond start date.
💻 Technical Criteria
Given The system is processing cargo age calculation
When The age calculation process is initiated
Then The current system date is retrieved and stored for comparison with bond start date
R-GCX016-cbl-03304 Retrieve Cargo Bond Start Date
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Bond Start Date' is invoked, and assuming that a cargo record exists with bond information, when age calculation is requested for the cargo, the desired outcome is that the bond start date is retrieved from the cargo record.
💻 Technical Criteria
Given A cargo record exists with bond information
When Age calculation is requested for the cargo
Then The bond start date is retrieved from the cargo record
R-GCX016-cbl-03305 Bond Start Date Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Bond Start Date Available?' is invoked, and assuming that a cargo record is being processed for age calculation, when the bond start date field is evaluated, the desired outcome is that if bond start date is present and valid, proceed with julian conversion, otherwise use default age value.
💻 Technical Criteria
Given A cargo record is being processed for age calculation
When The bond start date field is evaluated
Then If bond start date is present and valid, proceed with Julian conversion, otherwise use default age value
R-GCX016-cbl-03306 Convert Bond Start Date to Julian Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Bond Start Date to Julian Format' is invoked, and assuming that a valid bond start date exists in the cargo record, when age calculation requires julian date format, the desired outcome is that the bond start date is converted to julian format using date conversion utilities.
💻 Technical Criteria
Given A valid bond start date exists in the cargo record
When Age calculation requires Julian date format
Then The bond start date is converted to Julian format using date conversion utilities
R-GCX016-cbl-03310 Set Cargo Age for Destination Indexing
Action Rules
📊 Business Logic Narrative
When the process 'Set Cargo Age for Destination Indexing' is invoked, and assuming that a valid cargo age has been calculated, when the age value needs to be stored for destination processing, the desired outcome is that the calculated age is assigned to the cargo record for rt076 destination index processing.
💻 Technical Criteria
Given A valid cargo age has been calculated
When The age value needs to be stored for destination processing
Then The calculated age is assigned to the cargo record for RT076 destination index processing
R-GCX016-cbl-03311 Update Cargo Record with Age Information
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Age Information' is invoked, and assuming that cargo age has been calculated and validated, when the cargo record needs to be updated with age information, the desired outcome is that the cargo record is updated with the calculated age value.
💻 Technical Criteria
Given Cargo age has been calculated and validated
When The cargo record needs to be updated with age information
Then The cargo record is updated with the calculated age value
R-GCX016-cbl-03312 Use Age for RT076 Destination Index Processing
Process Rules
📊 Business Logic Narrative
When the process 'Use Age for RT076 Destination Index Processing' is invoked, and assuming that cargo age has been calculated and stored in the cargo record, when rt076 destination index processing is required, the desired outcome is that the cargo age is used as input for destination index determination and routing decisions.
💻 Technical Criteria
Given Cargo age has been calculated and stored in the cargo record
When RT076 destination index processing is required
Then The cargo age is used as input for destination index determination and routing decisions
R-GCX016-cbl-03313 Set Default Age Value
Action Rules
📊 Business Logic Narrative
When the process 'Set Default Age Value' is invoked, and assuming that bond start date is missing or invalid in the cargo record, when age calculation cannot be performed with actual dates, the desired outcome is that a default age value is assigned to allow processing to continue.
💻 Technical Criteria
Given Bond start date is missing or invalid in the cargo record
When Age calculation cannot be performed with actual dates
Then A default age value is assigned to allow processing to continue
R-GCX016-cbl-03315 Cargo Status Changed?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Status Changed?' is invoked, and assuming that a cargo record exists with current status and previous status information, when the system compares current cargo status with previous cargo status, the desired outcome is that integration service processing continues if status has changed, otherwise processing ends.
💻 Technical Criteria
Given A cargo record exists with current status and previous status information
When The system compares current cargo status with previous cargo status
Then Integration service processing continues if status has changed, otherwise processing ends
R-GCX016-cbl-03316 Valid Container Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Container Type?' is invoked, and assuming that a cargo record with equipment type information from gcsuss05, when the system checks if equipment type is container or trailer, the desired outcome is that integration processing continues for valid container/trailer types, otherwise processing ends.
💻 Technical Criteria
Given A cargo record with equipment type information from GCSUSS05
When The system checks if equipment type is container or trailer
Then Integration processing continues for valid container/trailer types, otherwise processing ends
R-GCX016-cbl-03317 Map Internal Status to Integration Service Status
Computation Rules
📊 Business Logic Narrative
When the process 'Map Internal Status to Integration Service Status' is invoked, and assuming that a cargo record with internal status code, when the system maps internal status to integration service status format, the desired outcome is that integration service status is set based on internal status mapping rules.
💻 Technical Criteria
Given A cargo record with internal status code
When The system maps internal status to integration service status format
Then Integration service status is set based on internal status mapping rules
R-GCX016-cbl-03318 Hold Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Status?' is invoked, and assuming that a cargo record with mapped integration service status, when the system checks if status indicates cargo is held, the desired outcome is that hold notification preparation is triggered if cargo is in hold status.
💻 Technical Criteria
Given A cargo record with mapped integration service status
When The system checks if status indicates cargo is held
Then Hold notification preparation is triggered if cargo is in hold status
R-GCX016-cbl-03319 Release Status?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Release Status?', assuming that a cargo record with mapped integration service status that is not in hold status, when the system checks if status indicates cargo is released, the desired outcome is that release notification preparation is triggered if cargo is in release status.
💻 Technical Criteria
EXCLUDING A cargo record with mapped integration service status that is not in hold status
When The system checks if status indicates cargo is released
Then Release notification preparation is triggered if cargo is in release status
R-GCX016-cbl-03320 Status Change?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Change?' is invoked, and assuming that a cargo record with mapped integration service status that is neither hold nor release, when the system checks if any status change occurred, the desired outcome is that status change notification preparation is triggered if status change is detected.
💻 Technical Criteria
Given A cargo record with mapped integration service status that is neither hold nor release
When The system checks if any status change occurred
Then Status change notification preparation is triggered if status change is detected
R-GCX016-cbl-03321 Prepare Hold Notification
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Hold Notification' is invoked, and assuming that a cargo record identified as having hold status, when the system prepares hold notification with cargo identification and status details, the desired outcome is that hold notification message is formatted for gcciis integration service call.
💻 Technical Criteria
Given A cargo record identified as having hold status
When The system prepares hold notification with cargo identification and status details
Then Hold notification message is formatted for GCCIIS integration service call
R-GCX016-cbl-03322 Prepare Release Notification
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Release Notification' is invoked, and assuming that a cargo record identified as having release status, when the system prepares release notification with cargo identification and status details, the desired outcome is that release notification message is formatted for gcciis integration service call.
💻 Technical Criteria
Given A cargo record identified as having release status
When The system prepares release notification with cargo identification and status details
Then Release notification message is formatted for GCCIIS integration service call
R-GCX016-cbl-03323 Prepare Status Change Notification
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Status Change Notification' is invoked, and assuming that a cargo record identified as having general status change, when the system prepares status change notification with cargo identification and new status details, the desired outcome is that status change notification message is formatted for gcciis integration service call.
💻 Technical Criteria
Given A cargo record identified as having general status change
When The system prepares status change notification with cargo identification and new status details
Then Status change notification message is formatted for GCCIIS integration service call
R-GCX016-cbl-03326 Log Integration Success
Process Rules
📊 Business Logic Narrative
When the process 'Log Integration Success' is invoked, and assuming that a successful gcciis integration service call, when the system logs the successful integration service call, the desired outcome is that success information is recorded with cargo identification and timestamp.
💻 Technical Criteria
Given A successful GCCIIS integration service call
When The system logs the successful integration service call
Then Success information is recorded with cargo identification and timestamp
R-GCX016-cbl-03327 Log Integration Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Integration Error' is invoked, and assuming that a failed gcciis integration service call, when the system logs the failed integration service call, the desired outcome is that error information is recorded with cargo identification, error details, and timestamp.
💻 Technical Criteria
Given A failed GCCIIS integration service call
When The system logs the failed integration service call
Then Error information is recorded with cargo identification, error details, and timestamp
R-GCX016-cbl-03328 Update Cargo Record with Integration Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Integration Status' is invoked, and assuming that a completed gcciis integration service call with success or failure status, when the system updates the cargo record with integration call results, the desired outcome is that cargo record reflects integration service call status and timestamp for audit trail.
💻 Technical Criteria
Given A completed GCCIIS integration service call with success or failure status
When The system updates the cargo record with integration call results
Then Cargo record reflects integration service call status and timestamp for audit trail
R-GCX016-cbl-03332 Is Cargo Already Released?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Already Released?' is invoked, and assuming that a cargo record is being evaluated for release eligibility, when the cargo status indicates it has already been released, the desired outcome is that the cargo is excluded from further release processing and the system continues to the next cargo record.
💻 Technical Criteria
Given A cargo record is being evaluated for release eligibility
When The cargo status indicates it has already been released
Then The cargo is excluded from further release processing and the system continues to the next cargo record
R-GCX016-cbl-03333 Are There Active Holds?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Are There Active Holds?', assuming that a cargo record that is not already released is being evaluated, when the system checks for active hold conditions, the desired outcome is that if active holds exist, the cargo requires manual release authorization; if no active holds exist, the cargo is eligible for release.
💻 Technical Criteria
EXCLUDING A cargo record that is not already released is being evaluated
When The system checks for active hold conditions
Then If active holds exist, the cargo requires manual release authorization; if no active holds exist, the cargo is eligible for release
R-GCX016-cbl-03334 Is Manual Release Set?
Authorization Rules
📊 Business Logic Narrative
When the process 'Is Manual Release Set?' is invoked, and assuming that a cargo record has active holds that would normally prevent release, when manual release authorization has been granted for the cargo, the desired outcome is that the cargo is marked as release eligible despite the active holds.
💻 Technical Criteria
Given A cargo record has active holds that would normally prevent release
When Manual release authorization has been granted for the cargo
Then The cargo is marked as release eligible despite the active holds
R-GCX016-cbl-03335 Mark Cargo as Release Eligible
Action Rules
📊 Business Logic Narrative
When the process 'Mark Cargo as Release Eligible' is invoked, and assuming that a cargo record has been evaluated and either has no active holds or has manual release authorization, when the release eligibility determination is made, the desired outcome is that the cargo is marked as release eligible and added to the release eligible list.
💻 Technical Criteria
Given A cargo record has been evaluated and either has no active holds or has manual release authorization
When The release eligibility determination is made
Then The cargo is marked as release eligible and added to the release eligible list
R-GCX016-cbl-03336 Mark Cargo as Not Release Eligible
Action Rules
📊 Business Logic Narrative
When the process 'Mark Cargo as Not Release Eligible' is invoked, and assuming that a cargo record has active holds and no manual release authorization has been granted, when the release eligibility determination is made, the desired outcome is that the cargo is marked as not release eligible and added to the hold list.
💻 Technical Criteria
Given A cargo record has active holds and no manual release authorization has been granted
When The release eligibility determination is made
Then The cargo is marked as not release eligible and added to the hold list
R-GCX016-cbl-03340 Cargo Release Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Release Status?' is invoked, and assuming that a cargo record exists in the system with a specific release status, when the system evaluates the cargo release status for message generation, the desired outcome is that the system proceeds with message generation only if cargo is in released status, otherwise terminates the process.
💻 Technical Criteria
Given A cargo record exists in the system with a specific release status
When The system evaluates the cargo release status for message generation
Then The system proceeds with message generation only if cargo is in released status, otherwise terminates the process
R-GCX016-cbl-03341 Format Car ID Information
Process Rules
📊 Business Logic Narrative
When the process 'Format Car ID Information' is invoked, and assuming that a cargo record has associated car identification information from n7 segments, when the system formats car id information for release message, the desired outcome is that the system combines car initial and car number into properly formatted car identification string for message display.
💻 Technical Criteria
Given A cargo record has associated car identification information from N7 segments
When The system formats car ID information for release message
Then The system combines car initial and car number into properly formatted car identification string for message display
R-GCX016-cbl-03344 Format Disposition Code Details
Process Rules
📊 Business Logic Narrative
When the process 'Format Disposition Code Details' is invoked, and assuming that a cargo processing transaction contains disposition code from x4 segment, when the system formats disposition code details for release message, the desired outcome is that the system includes disposition code value and corresponding description text in the formatted message.
💻 Technical Criteria
Given A cargo processing transaction contains disposition code from X4 segment
When The system formats disposition code details for release message
Then The system includes disposition code value and corresponding description text in the formatted message
R-GCX016-cbl-03345 Include Processing Timestamps
Process Rules
📊 Business Logic Narrative
When the process 'Include Processing Timestamps' is invoked, and assuming that cargo processing has occurred with specific date and time stamps, when the system includes processing timestamps in release message, the desired outcome is that the system adds formatted date and time information showing when cargo processing events occurred.
💻 Technical Criteria
Given Cargo processing has occurred with specific date and time stamps
When The system includes processing timestamps in release message
Then The system adds formatted date and time information showing when cargo processing events occurred
R-GCX016-cbl-03346 Add Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Quantity Information' is invoked, and assuming that a cargo record contains total quantity and current released quantity values, when the system adds quantity information to release message, the desired outcome is that the system includes both total cargo quantity and current released quantity amounts in the message content.
💻 Technical Criteria
Given A cargo record contains total quantity and current released quantity values
When The system adds quantity information to release message
Then The system includes both total cargo quantity and current released quantity amounts in the message content
R-GCX016-cbl-03347 Include Broker Entry Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Include Broker Entry Numbers' is invoked, and assuming that a cargo record has associated broker information and customs entry numbers, when the system includes broker entry numbers in release message, the desired outcome is that the system adds broker identification and related customs entry numbers to the message content.
💻 Technical Criteria
Given A cargo record has associated broker information and customs entry numbers
When The system includes broker entry numbers in release message
Then The system adds broker identification and related customs entry numbers to the message content
R-GCX016-cbl-03350 Broker Bond Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Bond Message?' is invoked, and assuming that a release message is being generated for cargo with broker and bond information, when the system determines if this is a broker bond message, the desired outcome is that the system identifies whether special broker bond message formatting rules should be applied.
💻 Technical Criteria
Given A release message is being generated for cargo with broker and bond information
When The system determines if this is a broker bond message
Then The system identifies whether special broker bond message formatting rules should be applied
R-GCX016-cbl-03352 Format Quantity Action Details
Process Rules
📊 Business Logic Narrative
When the process 'Format Quantity Action Details' is invoked, and assuming that a cargo transaction involves quantity changes through disposition code processing, when the system formats quantity action details, the desired outcome is that the system includes formatted information showing whether quantities are being added to or subtracted from release amounts.
💻 Technical Criteria
Given A cargo transaction involves quantity changes through disposition code processing
When The system formats quantity action details
Then The system includes formatted information showing whether quantities are being added to or subtracted from release amounts
R-GCX016-cbl-03353 Container Type Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Container Type Valid?' is invoked, and assuming that a cargo record has associated equipment type information, when the system validates container type for message inclusion, the desired outcome is that the system determines if the container type is valid for equipment information inclusion in the release message.
💻 Technical Criteria
Given A cargo record has associated equipment type information
When The system validates container type for message inclusion
Then The system determines if the container type is valid for equipment information inclusion in the release message
R-GCX016-cbl-03354 Include Equipment Type Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Equipment Type Information' is invoked, and assuming that container type validation has passed and equipment information is available, when the system includes equipment type information in release message, the desired outcome is that the system adds equipment type details including container or trailer specifications to the message content.
💻 Technical Criteria
Given Container type validation has passed and equipment information is available
When The system includes equipment type information in release message
Then The system adds equipment type details including container or trailer specifications to the message content
R-GCX016-cbl-03355 Map Internal Status to Description
Process Rules
📊 Business Logic Narrative
When the process 'Map Internal Status to Description' is invoked, and assuming that a cargo record has internal status codes that need to be displayed in release messages, when the system maps internal status to description, the desired outcome is that the system converts internal status codes to corresponding user-friendly description text for message readability.
💻 Technical Criteria
Given A cargo record has internal status codes that need to be displayed in release messages
When The system maps internal status to description
Then The system converts internal status codes to corresponding user-friendly description text for message readability
R-GCX016-cbl-03360 Container Type Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Container Type Valid?' is invoked, and assuming that a cargo record with container type information is being processed for export, when the system checks if the container type is valid for export operations, the desired outcome is that the system either proceeds with message generation for valid container types or handles invalid container type scenarios.
💻 Technical Criteria
Given A cargo record with container type information is being processed for export
When The system checks if the container type is valid for export operations
Then The system either proceeds with message generation for valid container types or handles invalid container type scenarios
R-GCX016-cbl-03363 Prepare Export Message Content
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Export Message Content' is invoked, and assuming that a standard export message type has been set, when the system prepares the export message content, the desired outcome is that the system formats the message with export-specific information and cargo details.
💻 Technical Criteria
Given A standard export message type has been set
When The system prepares the export message content
Then The system formats the message with export-specific information and cargo details
R-GCX016-cbl-03365 Include Cargo Details
Process Rules
📊 Business Logic Narrative
When the process 'Include Cargo Details' is invoked, and assuming that an export message is being prepared, when the system includes cargo details in the message, the desired outcome is that the system adds cargo identification, quantities, and export-related information to the message content.
💻 Technical Criteria
Given An export message is being prepared
When The system includes cargo details in the message
Then The system adds cargo identification, quantities, and export-related information to the message content
R-GCX016-cbl-03367 Format USCS Export Message
Process Rules
📊 Business Logic Narrative
When the process 'Format USCS Export Message' is invoked, and assuming that export message content has been prepared with cargo details, when the system formats the message for uscs transmission, the desired outcome is that the system creates a properly formatted uscs export message with all required fields and structure.
💻 Technical Criteria
Given Export message content has been prepared with cargo details
When The system formats the message for USCS transmission
Then The system creates a properly formatted USCS export message with all required fields and structure
R-GCX016-cbl-03371 Log Export Operation
Process Rules
📊 Business Logic Narrative
When the process 'Log Export Operation' is invoked, and assuming that an export message has been routed to usexp basket, when the system logs the export operation, the desired outcome is that the system records the export operation details including cargo information and timestamp for audit purposes.
💻 Technical Criteria
Given An export message has been routed to USEXP basket
When The system logs the export operation
Then The system records the export operation details including cargo information and timestamp for audit purposes
R-GCX016-cbl-03373 Update Cargo Export Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Export Status' is invoked, and assuming that an export operation has been logged successfully, when the system updates the cargo export status, the desired outcome is that the system sets the cargo status to exported and updates relevant export flags and timestamps.
💻 Technical Criteria
Given An export operation has been logged successfully
When The system updates the cargo export status
Then The system sets the cargo status to exported and updates relevant export flags and timestamps
R-GCX016-cbl-03374 Restore Previous Status
Action Rules
📊 Business Logic Narrative
When the process 'Restore Previous Status' is invoked, and assuming that a cancellation operation has been logged successfully, when the system restores the previous cargo status, the desired outcome is that the system reverts the cargo status to its state before the export operation and clears export-related flags.
💻 Technical Criteria
Given A cancellation operation has been logged successfully
When The system restores the previous cargo status
Then The system reverts the cargo status to its state before the export operation and clears export-related flags
R-GCX016-cbl-03375 Handle Invalid Container Type
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Handle Invalid Container Type', assuming that a container type validation has failed, when the system handles the invalid container type, the desired outcome is that the system bypasses export message generation and completes the process without creating export messages.
💻 Technical Criteria
EXCLUDING A container type validation has failed
When The system handles the invalid container type
Then The system bypasses export message generation and completes the process without creating export messages
R-GCX016-cbl-03379 Format Arrival Message with Cargo Details
Process Rules
📊 Business Logic Narrative
When the process 'Format Arrival Message with Cargo Details' is invoked, and assuming that an arrival message type has been set and cargo details are available, when the system formats the arrival message, the desired outcome is that the system includes cargo details, arrival date, time, and location information in the message format.
💻 Technical Criteria
Given An arrival message type has been set and cargo details are available
When The system formats the arrival message
Then The system includes cargo details, arrival date, time, and location information in the message format
R-GCX016-cbl-03383 Route to Export Baskets for Container Types
Process Rules
📊 Business Logic Narrative
When the process 'Route to Export Baskets for Container Types' is invoked, and assuming that a message is routed to uscs operations and involves container equipment types, when the system evaluates equipment type for additional routing, the desired outcome is that the system also routes the message to export baskets for container-specific processing.
💻 Technical Criteria
Given A message is routed to USCS operations and involves container equipment types
When The system evaluates equipment type for additional routing
Then The system also routes the message to export baskets for container-specific processing
R-GCX016-cbl-03384 Set Message Keywords for Categorization
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Keywords for Categorization' is invoked, and assuming that a message has been routed to appropriate destinations, when the system sets message categorization, the desired outcome is that the system assigns relevant keywords based on message type, cargo type, and operation type for proper filtering and processing.
💻 Technical Criteria
Given A message has been routed to appropriate destinations
When The system sets message categorization
Then The system assigns relevant keywords based on message type, cargo type, and operation type for proper filtering and processing
R-GCX016-cbl-03390 Initialize New Cargo Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize New Cargo Record', assuming that a foreign bill is not found in the system, when the system needs to create a new cargo record, the desired outcome is that initialize a new cargo record structure with default field values and prepare it for data population.
💻 Technical Criteria
EXCLUDING A foreign bill is not found in the system
When The system needs to create a new cargo record
Then Initialize a new cargo record structure with default field values and prepare it for data population
R-GCX016-cbl-03391 Set Default CPRS/USCS Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default CPRS/USCS Status' is invoked, and assuming that a new cargo record is being created, when the cargo type is cprs, the desired outcome is that set cargo status to 'error' with description 'error', otherwise set status to 'sent' with description 'sent'.
💻 Technical Criteria
Given A new cargo record is being created
When The cargo type is CPRS
Then Set cargo status to 'ERROR' with description 'ERROR', otherwise set status to 'SENT' with description 'SENT'
R-GCX016-cbl-03392 Extract Manifest Information from M10 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Manifest Information from M10 Segment' is invoked, and assuming that an m10 segment contains manifest information, when creating a new cargo record, the desired outcome is that extract and populate vessel name, voyage number, manifest type, and related manifest fields into the cargo record.
💻 Technical Criteria
Given An M10 segment contains manifest information
When Creating a new cargo record
Then Extract and populate vessel name, voyage number, manifest type, and related manifest fields into the cargo record
R-GCX016-cbl-03393 Set SCAC Code and Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code and Transport Type' is invoked, and assuming that manifest information is available from m10 segment, when setting up cargo transportation details, the desired outcome is that assign scac code from manifest and set appropriate transport type based on carrier information.
💻 Technical Criteria
Given Manifest information is available from M10 segment
When Setting up cargo transportation details
Then Assign SCAC code from manifest and set appropriate transport type based on carrier information
R-GCX016-cbl-03394 Set Country Code and Vessel Name
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Country Code and Vessel Name' is invoked, and assuming that manifest contains country and vessel information, when creating cargo record, the desired outcome is that set country code and vessel name from manifest data into cargo record fields.
💻 Technical Criteria
Given Manifest contains country and vessel information
When Creating cargo record
Then Set country code and vessel name from manifest data into cargo record fields
R-GCX016-cbl-03395 Set Flight/Voyage Number and Quantity
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Flight/Voyage Number and Quantity' is invoked, and assuming that manifest contains voyage and quantity data, when setting up cargo shipment details, the desired outcome is that assign flight/voyage number and cargo quantity from manifest to cargo record.
💻 Technical Criteria
Given Manifest contains voyage and quantity data
When Setting up cargo shipment details
Then Assign flight/voyage number and cargo quantity from manifest to cargo record
R-GCX016-cbl-03396 Set Manifest Type Code and Condition Response
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Manifest Type Code and Condition Response' is invoked, and assuming that manifest type information is available, when finalizing manifest details in cargo record, the desired outcome is that set manifest type code and condition response based on manifest classification.
💻 Technical Criteria
Given Manifest type information is available
When Finalizing manifest details in cargo record
Then Set manifest type code and condition response based on manifest classification
R-GCX016-cbl-03397 Extract X4 Segment Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract X4 Segment Information' is invoked, and assuming that an x4 segment contains customs release information, when creating cargo record with customs data, the desired outcome is that extract broker information, entry numbers, bond details, and disposition codes from x4 segment into cargo record.
💻 Technical Criteria
Given An X4 segment contains customs release information
When Creating cargo record with customs data
Then Extract broker information, entry numbers, bond details, and disposition codes from X4 segment into cargo record
R-GCX016-cbl-03398 Set Broker Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Broker Information' is invoked, and assuming that x4 segment contains broker information, when setting up cargo broker details, the desired outcome is that populate broker id, name, and contact information from x4 segment into cargo record.
💻 Technical Criteria
Given X4 segment contains broker information
When Setting up cargo broker details
Then Populate broker ID, name, and contact information from X4 segment into cargo record
R-GCX016-cbl-03399 Set Bond Control Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Bond Control Number' is invoked, and assuming that x4 segment contains bond information, when setting up customs bond details, the desired outcome is that extract and assign bond control number from x4 segment to cargo record.
💻 Technical Criteria
Given X4 segment contains bond information
When Setting up customs bond details
Then Extract and assign bond control number from X4 segment to cargo record
R-GCX016-cbl-03400 Set Entry Number and Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entry Number and Type' is invoked, and assuming that x4 segment contains entry information, when setting up customs entry details, the desired outcome is that extract entry number and entry type code from x4 segment and populate cargo record fields.
💻 Technical Criteria
Given X4 segment contains entry information
When Setting up customs entry details
Then Extract entry number and entry type code from X4 segment and populate cargo record fields
R-GCX016-cbl-03401 Process Master In-Bond Entry Types 61,62,63,69
Decision Rules
📊 Business Logic Narrative
When the process 'Process Master In-Bond Entry Types 61,62,63,69' is invoked, and assuming that entry type code is 61, 62, 63, or 69, when processing entry type for new cargo, the desired outcome is that set master in-bond flag and configure specific transport type and bond processing requirements for the entry type.
💻 Technical Criteria
Given Entry type code is 61, 62, 63, or 69
When Processing entry type for new cargo
Then Set master in-bond flag and configure specific transport type and bond processing requirements for the entry type
R-GCX016-cbl-03403 Process Border Entry Type 00
Decision Rules
📊 Business Logic Narrative
When the process 'Process Border Entry Type 00' is invoked, and assuming that entry type code is 00, when processing border entry type, the desired outcome is that configure cargo for border processing and clear bond information as required for border entries.
💻 Technical Criteria
Given Entry type code is 00
When Processing border entry type
Then Configure cargo for border processing and clear bond information as required for border entries
R-GCX016-cbl-03405 Set Default Cargo Values
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Cargo Values' is invoked, and assuming that a new cargo record is being finalized, when setting default values for unpopulated fields, the desired outcome is that assign system default values to cargo fields including acknowledgment status, processing flags, and standard field defaults.
💻 Technical Criteria
Given A new cargo record is being finalized
When Setting default values for unpopulated fields
Then Assign system default values to cargo fields including acknowledgment status, processing flags, and standard field defaults
R-GCX016-cbl-03406 Set Creation Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'Set Creation Date and Time' is invoked, and assuming that a new cargo record is being created, when finalizing cargo record creation, the desired outcome is that set creation date and time fields to current system date and time.
💻 Technical Criteria
Given A new cargo record is being created
When Finalizing cargo record creation
Then Set creation date and time fields to current system date and time
R-GCX016-cbl-03408 Store New Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Store New Cargo Record in Database' is invoked, and assuming that a complete cargo record is ready for storage, when saving the cargo record, the desired outcome is that insert the cargo record into the database and confirm successful storage.
💻 Technical Criteria
Given A complete cargo record is ready for storage
When Saving the cargo record
Then Insert the cargo record into the database and confirm successful storage
R-GCX016-cbl-03409 Log Cargo Creation Activity
Action Rules
📊 Business Logic Narrative
When the process 'Log Cargo Creation Activity' is invoked, and assuming that a new cargo record has been successfully created, when completing cargo creation process, the desired outcome is that log the cargo creation activity with relevant details for audit trail and system tracking.
💻 Technical Criteria
Given A new cargo record has been successfully created
When Completing cargo creation process
Then Log the cargo creation activity with relevant details for audit trail and system tracking
R-GCX016-cbl-03410 Set Default CPRS/USCS Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default CPRS/USCS Status' is invoked, and assuming that a new cargo record is being initialized, when the cargo type is cprs, the desired outcome is that set cargo status to 'error' with status description 'error'.
💻 Technical Criteria
Given A new cargo record is being initialized
When The cargo type is CPRS
Then Set cargo status to 'ERROR' with status description 'ERROR'
R-GCX016-cbl-03411 Set Default CPRS/USCS Status
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default CPRS/USCS Status', assuming that a new cargo record is being initialized, when the cargo type is not cprs, the desired outcome is that set cargo status to 'sent' with status description 'sent'.
💻 Technical Criteria
EXCLUDING A new cargo record is being initialized
When The cargo type is not CPRS
Then Set cargo status to 'SENT' with status description 'SENT'
R-GCX016-cbl-03412 Set Default CPRS/USCS Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default CPRS/USCS Status' is invoked, and assuming that a cargo record is being processed, when the current cargo status is blank or equals 'ack-r', the desired outcome is that set default acknowledgment status to 'ack' or 'ack-r' based on system configuration.
💻 Technical Criteria
Given A cargo record is being processed
When The current cargo status is blank or equals 'ACK-R'
Then Set default acknowledgment status to 'ACK' or 'ACK-R' based on system configuration
R-GCX016-cbl-03413 Initialize Broker Information Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize Broker Information Fields' is invoked, and assuming that a new cargo record is being created, when broker information fields need initialization, the desired outcome is that clear broker id, broker name, and notification preference fields to default values.
💻 Technical Criteria
Given A new cargo record is being created
When Broker information fields need initialization
Then Clear broker ID, broker name, and notification preference fields to default values
R-GCX016-cbl-03415 Process Master In-Bond Entry Types
Decision Rules
📊 Business Logic Narrative
When the process 'Process Master In-Bond Entry Types' is invoked, and assuming that a cargo record with disposition code in ('1j', '69', '55'), when the disposition code indicates master in-bond processing is required, the desired outcome is that set m1109 master in-bond flag and evaluate entry type codes for bond type determination.
💻 Technical Criteria
Given A cargo record with disposition code in ('1J', '69', '55')
When The disposition code indicates master in-bond processing is required
Then Set M1109 master in-bond flag and evaluate entry type codes for bond type determination
R-GCX016-cbl-03416 Map Entry Type to Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Entry Type to Transport Type' is invoked, and assuming that a cargo record with master in-bond processing required, when the entry type code is '61', the desired outcome is that set transport type to immediate transport and configure appropriate bond processing parameters.
💻 Technical Criteria
Given A cargo record with master in-bond processing required
When The entry type code is '61'
Then Set transport type to immediate transport and configure appropriate bond processing parameters
R-GCX016-cbl-03417 Map Entry Type to Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Entry Type to Transport Type' is invoked, and assuming that a cargo record with master in-bond processing required, when the entry type code is '62', the desired outcome is that set transport type to transport export and configure appropriate bond processing parameters.
💻 Technical Criteria
Given A cargo record with master in-bond processing required
When The entry type code is '62'
Then Set transport type to transport export and configure appropriate bond processing parameters
R-GCX016-cbl-03418 Map Entry Type to Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Entry Type to Transport Type' is invoked, and assuming that a cargo record with master in-bond processing required, when the entry type code is '63', the desired outcome is that set transport type to immediate export and configure appropriate bond processing parameters.
💻 Technical Criteria
Given A cargo record with master in-bond processing required
When The entry type code is '63'
Then Set transport type to immediate export and configure appropriate bond processing parameters
R-GCX016-cbl-03419 Map Entry Type to Transport Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Entry Type to Transport Type' is invoked, and assuming that a cargo record with master in-bond processing required, when the entry type code is '69', the desired outcome is that set transport type to us-canada-us movement and configure appropriate bond processing parameters.
💻 Technical Criteria
Given A cargo record with master in-bond processing required
When The entry type code is '69'
Then Set transport type to US-Canada-US movement and configure appropriate bond processing parameters
R-GCX016-cbl-03420 Clear Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Information' is invoked, and assuming that a cargo record being processed, when the entry type is '00' indicating border processing, the desired outcome is that clear bond number, bond date, and related bond information fields.
💻 Technical Criteria
Given A cargo record being processed
When The entry type is '00' indicating border processing
Then Clear bond number, bond date, and related bond information fields
R-GCX016-cbl-03421 Set Default Bond Values
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Bond Values', assuming that a cargo record with bond processing required, when the entry type is not '00' (not border processing), the desired outcome is that set default bond number, establish bond dates, and initialize bond-related tracking fields.
💻 Technical Criteria
EXCLUDING A cargo record with bond processing required
When The entry type is not '00' (not border processing)
Then Set default bond number, establish bond dates, and initialize bond-related tracking fields
R-GCX016-cbl-03422 Initialize Cargo Status Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize Cargo Status Fields' is invoked, and assuming that a new cargo record is being created, when status fields need initialization, the desired outcome is that set cargo status, status description, hold flags, and release flags to default values.
💻 Technical Criteria
Given A new cargo record is being created
When Status fields need initialization
Then Set cargo status, status description, hold flags, and release flags to default values
R-GCX016-cbl-03423 Set Default Quantity Values
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Quantity Values' is invoked, and assuming that a new cargo record is being initialized, when quantity fields need default values, the desired outcome is that set total quantity, released quantity, and piece count to zero or system default values.
💻 Technical Criteria
Given A new cargo record is being initialized
When Quantity fields need default values
Then Set total quantity, released quantity, and piece count to zero or system default values
R-GCX016-cbl-03424 Initialize Date Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize Date Fields' is invoked, and assuming that a new cargo record is being created, when date fields need initialization, the desired outcome is that set arrival date, departure date, and status change dates to system defaults or current date.
💻 Technical Criteria
Given A new cargo record is being created
When Date fields need initialization
Then Set arrival date, departure date, and status change dates to system defaults or current date
R-GCX016-cbl-03425 Set Default Location Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Location Information' is invoked, and assuming that a new cargo record is being initialized, when location fields need default values, the desired outcome is that set origin location, destination location, and current location to system defaults.
💻 Technical Criteria
Given A new cargo record is being initialized
When Location fields need default values
Then Set origin location, destination location, and current location to system defaults
R-GCX016-cbl-03426 Initialize Equipment Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize Equipment Information' is invoked, and assuming that a new cargo record is being created, when equipment fields need initialization, the desired outcome is that set car id, equipment type, and transportation unit information based on cargo type and n7 segment data.
💻 Technical Criteria
Given A new cargo record is being created
When Equipment fields need initialization
Then Set car ID, equipment type, and transportation unit information based on cargo type and N7 segment data
R-GCX016-cbl-03428 Mark Record as New/Active
Process Rules
📊 Business Logic Narrative
When the process 'Mark Record as New/Active' is invoked, and assuming that a cargo record has been fully initialized, when the record is ready for database insertion, the desired outcome is that set new record flag to true and active status flag to indicate the record is available for processing.
💻 Technical Criteria
Given A cargo record has been fully initialized
When The record is ready for database insertion
Then Set new record flag to true and active status flag to indicate the record is available for processing
R-GCX016-cbl-03429 Entry Type 61 - Master In-Bond
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type 61 - Master In-Bond' is invoked, and assuming that a cargo record with disposition code requiring master in-bond processing and entry type code is '61', when the system processes the x4 segment for master in-bond entry, the desired outcome is that the system sets the transport type to immediate transport and sets the master in-bond flag and processes the bond control number.
💻 Technical Criteria
Given A cargo record with disposition code requiring master in-bond processing AND entry type code is '61'
When The system processes the X4 segment for master in-bond entry
Then The system sets the transport type to immediate transport AND sets the master in-bond flag AND processes the bond control number
R-GCX016-cbl-03430 Entry Type 62 - Master In-Bond
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type 62 - Master In-Bond' is invoked, and assuming that a cargo record with disposition code requiring master in-bond processing and entry type code is '62', when the system processes the x4 segment for master in-bond entry, the desired outcome is that the system sets the transport type to transport for export and sets the master in-bond flag and processes the bond control number.
💻 Technical Criteria
Given A cargo record with disposition code requiring master in-bond processing AND entry type code is '62'
When The system processes the X4 segment for master in-bond entry
Then The system sets the transport type to transport for export AND sets the master in-bond flag AND processes the bond control number
R-GCX016-cbl-03431 Entry Type 63 - Master In-Bond
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type 63 - Master In-Bond' is invoked, and assuming that a cargo record with disposition code requiring master in-bond processing and entry type code is '63', when the system processes the x4 segment for master in-bond entry, the desired outcome is that the system sets the transport type to immediate export and sets the master in-bond flag and processes the bond control number.
💻 Technical Criteria
Given A cargo record with disposition code requiring master in-bond processing AND entry type code is '63'
When The system processes the X4 segment for master in-bond entry
Then The system sets the transport type to immediate export AND sets the master in-bond flag AND processes the bond control number
R-GCX016-cbl-03432 Entry Type 69 - Master In-Bond
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type 69 - Master In-Bond' is invoked, and assuming that a cargo record with disposition code requiring master in-bond processing and entry type code is '69', when the system processes the x4 segment for master in-bond entry, the desired outcome is that the system sets the transport type to us-canada-us movement and sets the master in-bond flag and processes the bond control number.
💻 Technical Criteria
Given A cargo record with disposition code requiring master in-bond processing AND entry type code is '69'
When The system processes the X4 segment for master in-bond entry
Then The system sets the transport type to US-Canada-US movement AND sets the master in-bond flag AND processes the bond control number
R-GCX016-cbl-03433 Other Entry Types
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Other Entry Types', assuming that a cargo record with disposition code requiring master in-bond processing and entry type code is not '61', '62', '63', or '69', when the system processes the x4 segment for master in-bond entry, the desired outcome is that the system sets the transport type to default border processing ('00') and sets the master in-bond flag and processes the bond control number.
💻 Technical Criteria
EXCLUDING A cargo record with disposition code requiring master in-bond processing AND entry type code is not '61', '62', '63', or '69'
When The system processes the X4 segment for master in-bond entry
Then The system sets the transport type to default border processing ('00') AND sets the master in-bond flag AND processes the bond control number
R-GCX016-cbl-03434 Set Master In-Bond Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Master In-Bond Flag' is invoked, and assuming that a cargo record with disposition code in ('1j', '69', '55'), when the system processes the master in-bond entry, the desired outcome is that the system sets the m1109 master in-bond flag to indicate master in-bond processing is required.
💻 Technical Criteria
Given A cargo record with disposition code in ('1J', '69', '55')
When The system processes the master in-bond entry
Then The system sets the M1109 master in-bond flag to indicate master in-bond processing is required
R-GCX016-cbl-03435 Process Bond Control Number
Decision Rules
📊 Business Logic Narrative
When the process 'Process Bond Control Number' is invoked, and assuming that a cargo record with an entry number from the x4 segment, when the system processes the entry number format, the desired outcome is that if the entry number starts with 'v' then place it in the entry number field, otherwise place it in the in-bond control number field.
💻 Technical Criteria
Given A cargo record with an entry number from the X4 segment
When The system processes the entry number format
Then If the entry number starts with 'V' then place it in the entry number field, otherwise place it in the in-bond control number field
R-GCX016-cbl-03437 Entry Type Code = '00'?
Decision Rules
📊 Business Logic Narrative
When the process 'Entry Type Code = '00'?' is invoked, and assuming that a cargo record is being processed for entry type validation, when the entry type code equals '00', the desired outcome is that the system identifies this as a border entry requiring special processing.
💻 Technical Criteria
Given A cargo record is being processed for entry type validation
When The entry type code equals '00'
Then The system identifies this as a border entry requiring special processing
R-GCX016-cbl-03438 Identify as Border Entry
Definitional Rules
📊 Business Logic Narrative
When the process 'Identify as Border Entry' is invoked, and assuming that a cargo record has entry type code '00', when the system processes the entry type classification, the desired outcome is that the cargo is classified as a border entry type.
💻 Technical Criteria
Given A cargo record has entry type code '00'
When The system processes the entry type classification
Then The cargo is classified as a border entry type
R-GCX016-cbl-03439 Clear Bond Control Number
Action Rules
📊 Business Logic Narrative
When the process 'Clear Bond Control Number' is invoked, and assuming that a cargo record is classified as border entry with type code '00', when the system processes bond control number clearing, the desired outcome is that the bond control number field is cleared to empty value.
💻 Technical Criteria
Given A cargo record is classified as border entry with type code '00'
When The system processes bond control number clearing
Then The bond control number field is cleared to empty value
R-GCX016-cbl-03440 Clear Broker Entry Number
Action Rules
📊 Business Logic Narrative
When the process 'Clear Broker Entry Number' is invoked, and assuming that a cargo record is classified as border entry with type code '00', when the system processes broker entry number clearing, the desired outcome is that the broker entry number field is cleared to empty value.
💻 Technical Criteria
Given A cargo record is classified as border entry with type code '00'
When The system processes broker entry number clearing
Then The broker entry number field is cleared to empty value
R-GCX016-cbl-03441 Clear Related Bond Data
Action Rules
📊 Business Logic Narrative
When the process 'Clear Related Bond Data' is invoked, and assuming that a cargo record is classified as border entry with type code '00', when the system processes related bond data clearing, the desired outcome is that all related bond data fields are cleared including bond numbers, dates, and references.
💻 Technical Criteria
Given A cargo record is classified as border entry with type code '00'
When The system processes related bond data clearing
Then All related bond data fields are cleared including bond numbers, dates, and references
R-GCX016-cbl-03442 Set Border Entry Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Entry Flag' is invoked, and assuming that a cargo record is classified as border entry with type code '00', when the system processes border entry flag setting, the desired outcome is that the border entry flag is set to indicate this cargo requires border processing.
💻 Technical Criteria
Given A cargo record is classified as border entry with type code '00'
When The system processes border entry flag setting
Then The border entry flag is set to indicate this cargo requires border processing
R-GCX016-cbl-03443 Update Cargo Record with Border Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Border Status' is invoked, and assuming that a cargo record has been processed as border entry with cleared bond data and set flags, when the system updates the cargo record status, the desired outcome is that the cargo record is updated with border processing status and all cleared fields are saved.
💻 Technical Criteria
Given A cargo record has been processed as border entry with cleared bond data and set flags
When The system updates the cargo record status
Then The cargo record is updated with border processing status and all cleared fields are saved
R-GCX016-cbl-03444 Log Border Entry Processing
Action Rules
📊 Business Logic Narrative
When the process 'Log Border Entry Processing' is invoked, and assuming that a cargo record has been processed as border entry with updated status, when the system performs logging activities, the desired outcome is that border entry processing activities are logged including entry type, cleared fields, and status changes.
💻 Technical Criteria
Given A cargo record has been processed as border entry with updated status
When The system performs logging activities
Then Border entry processing activities are logged including entry type, cleared fields, and status changes
R-GCX016-cbl-03445 Process as Regular Entry
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process as Regular Entry', assuming that a cargo record has entry type code that is not '00', when the system determines processing path, the desired outcome is that the cargo is processed through regular entry processing without border-specific clearing operations.
💻 Technical Criteria
EXCLUDING A cargo record has entry type code that is not '00'
When The system determines processing path
Then The cargo is processed through regular entry processing without border-specific clearing operations
R-GCX016-cbl-03446 Cargo Record Requires Station Info?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Record Requires Station Info?' is invoked, and assuming that a cargo record is being processed, when the system evaluates whether station information is required for the cargo record, the desired outcome is that the system determines if station lookup and integration should proceed or skip station processing.
💻 Technical Criteria
Given A cargo record is being processed
When The system evaluates whether station information is required for the cargo record
Then The system determines if station lookup and integration should proceed or skip station processing
R-GCX016-cbl-03447 Identify Location ID from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Identify Location ID from Cargo Record' is invoked, and assuming that a cargo record contains location information, when station information integration is required, the desired outcome is that the system extracts the location id from the cargo record for station table queries.
💻 Technical Criteria
Given A cargo record contains location information
When Station information integration is required
Then The system extracts the location ID from the cargo record for station table queries
R-GCX016-cbl-03448 Lookup Station in DS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Station in DS Table' is invoked, and assuming that a location id has been identified from the cargo record, when the system performs ds table lookup, the desired outcome is that the system searches the ds table for matching station name records.
💻 Technical Criteria
Given A location ID has been identified from the cargo record
When The system performs DS table lookup
Then The system searches the DS table for matching station name records
R-GCX016-cbl-03457 Integrate Station Name into Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Integrate Station Name into Cargo Record' is invoked, and assuming that station name information has been retrieved from ds table or default values are used, when the system integrates station information into cargo record, the desired outcome is that the system updates the cargo record with the station name information.
💻 Technical Criteria
Given Station name information has been retrieved from DS table or default values are used
When The system integrates station information into cargo record
Then The system updates the cargo record with the station name information
R-GCX016-cbl-03458 Integrate Station Description into Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Integrate Station Description into Cargo Record' is invoked, and assuming that station description information has been retrieved from ks table or default values are used, when the system integrates station description into cargo record, the desired outcome is that the system updates the cargo record with the station description information.
💻 Technical Criteria
Given Station description information has been retrieved from KS table or default values are used
When The system integrates station description into cargo record
Then The system updates the cargo record with the station description information
R-GCX016-cbl-03459 Update Cargo Record with Complete Station Information
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Complete Station Information' is invoked, and assuming that station name and description have been integrated into the cargo record, when the system completes the station information integration, the desired outcome is that the system updates the cargo record with complete station information including names, descriptions, and additional details.
💻 Technical Criteria
Given Station name and description have been integrated into the cargo record
When The system completes the station information integration
Then The system updates the cargo record with complete station information including names, descriptions, and additional details
R-GCX016-cbl-03460 Use Default/Empty Station Information
Process Rules
📊 Business Logic Narrative
When the process 'Use Default/Empty Station Information' is invoked, and assuming that station table lookups have failed to find matching entries, when the system cannot retrieve station information from ds, ks, or sd tables, the desired outcome is that the system assigns default or empty station information to the cargo record.
💻 Technical Criteria
Given Station table lookups have failed to find matching entries
When The system cannot retrieve station information from DS, KS, or SD tables
Then The system assigns default or empty station information to the cargo record
R-GCX016-cbl-03461 Identify Canadian Pacific Entity
Definitional Rules
📊 Business Logic Narrative
When the process 'Identify Canadian Pacific Entity' is invoked, and assuming that a cargo record with scac code information is being processed, when the system checks the cargo scac code, the desired outcome is that the system identifies canadian pacific railway entities (cprs) for special bond message handling.
💻 Technical Criteria
Given A cargo record with SCAC code information is being processed
When The system checks the cargo SCAC code
Then The system identifies Canadian Pacific Railway entities (CPRS) for special bond message handling
R-GCX016-cbl-03465 Add Broker Entity Details
Process Rules
📊 Business Logic Narrative
When the process 'Add Broker Entity Details' is invoked, and assuming that a broker bond message requires entity details, when the system retrieves broker information from cargo records, the desired outcome is that the system adds broker short name, tax number, and entity identification to the message.
💻 Technical Criteria
Given A broker bond message requires entity details
When The system retrieves broker information from cargo records
Then The system adds broker short name, tax number, and entity identification to the message
R-GCX016-cbl-03467 Include Quantity Information
Process Rules
📊 Business Logic Narrative
When the process 'Include Quantity Information' is invoked, and assuming that a broker bond message is being prepared with cargo quantity data, when the system formats quantity information, the desired outcome is that the system includes total quantity, release quantity, and quantity impact information in the broker message.
💻 Technical Criteria
Given A broker bond message is being prepared with cargo quantity data
When The system formats quantity information
Then The system includes total quantity, release quantity, and quantity impact information in the broker message
R-GCX016-cbl-03473 Save Current Status to Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Status to Working Storage' is invoked, and assuming that current cargo status has been retrieved from the database, when status processing is about to begin, the desired outcome is that the current status values are saved to working storage arrays for potential restoration.
💻 Technical Criteria
Given Current cargo status has been retrieved from the database
When Status processing is about to begin
Then The current status values are saved to working storage arrays for potential restoration
R-GCX016-cbl-03474 Status Array Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Array Exists?' is invoked, and assuming that a cargo record is being processed for status changes, when the system checks for existing s09 status segments, the desired outcome is that if s09 segments exist, load existing status array, otherwise create new status array.
💻 Technical Criteria
Given A cargo record is being processed for status changes
When The system checks for existing S09 status segments
Then If S09 segments exist, load existing status array, otherwise create new status array
R-GCX016-cbl-03476 Load Existing Status Array
Action Rules
📊 Business Logic Narrative
When the process 'Load Existing Status Array' is invoked, and assuming that s09 status segments exist for the cargo record, when status processing begins, the desired outcome is that all s09 sequences and occurrences are loaded into the consolidated status array.
💻 Technical Criteria
Given S09 status segments exist for the cargo record
When Status processing begins
Then All S09 sequences and occurrences are loaded into the consolidated status array
R-GCX016-cbl-03479 Status Transition Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Transition Required?' is invoked, and assuming that disposition code changes have been processed, when the system evaluates the impact on cargo status, the desired outcome is that if status changes affect cargo state, status transition processing is initiated, otherwise processing completes.
💻 Technical Criteria
Given Disposition code changes have been processed
When The system evaluates the impact on cargo status
Then If status changes affect cargo state, status transition processing is initiated, otherwise processing completes
R-GCX016-cbl-03484 Update Status Flags
Process Rules
📊 Business Logic Narrative
When the process 'Update Status Flags' is invoked, and assuming that status changes have been applied or restored, when status flags need to be updated, the desired outcome is that flags for empty, held, released, ptt, export, and arrival conditions are set based on status array analysis.
💻 Technical Criteria
Given Status changes have been applied or restored
When Status flags need to be updated
Then Flags for empty, held, released, PTT, export, and arrival conditions are set based on status array analysis
R-GCX016-cbl-03489 Process Status Transition
Process Rules
📊 Business Logic Narrative
When the process 'Process Status Transition' is invoked, and assuming that all necessary status information has been preserved, when status transition processing is executed, the desired outcome is that cargo status is updated according to business rules while maintaining data integrity.
💻 Technical Criteria
Given All necessary status information has been preserved
When Status transition processing is executed
Then Cargo status is updated according to business rules while maintaining data integrity
R-GCX016-cbl-03491 Restore PTT Status
Process Rules
📊 Business Logic Narrative
When the process 'Restore PTT Status' is invoked, and assuming that status restoration is required and ptt status was preserved, when ptt status restoration is executed, the desired outcome is that preserved ptt status flags and information are restored to the cargo record.
💻 Technical Criteria
Given Status restoration is required and PTT status was preserved
When PTT status restoration is executed
Then Preserved PTT status flags and information are restored to the cargo record
R-GCX016-cbl-03496 Persist Status Changes to Database
Action Rules
📊 Business Logic Narrative
When the process 'Persist Status Changes to Database' is invoked, and assuming that final status array has been updated and validated, when database persistence is executed, the desired outcome is that updated s09 status segments are written to the gcsuss09 database and cargo status is updated.
💻 Technical Criteria
Given Final status array has been updated and validated
When Database persistence is executed
Then Updated S09 status segments are written to the GCSUSS09 database and cargo status is updated
R-GCX016-cbl-03497 Extract Equipment ID from N7-02
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from N7-02' is invoked, and assuming that an n7 equipment segment is received with equipment information, when the system processes the n7-02 field to extract equipment id, the desired outcome is that the equipment id is captured from n7-02 field for further processing.
💻 Technical Criteria
Given An N7 equipment segment is received with equipment information
When The system processes the N7-02 field to extract equipment ID
Then The equipment ID is captured from N7-02 field for further processing
R-GCX016-cbl-03498 Format Equipment ID using GCCCARFM
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID using GCCCARFM' is invoked, and assuming that an equipment id has been extracted from n7-02 field, when the system calls gcccarfm utility to format the equipment id, the desired outcome is that the equipment id is formatted according to standard rules and validation status is determined.
💻 Technical Criteria
Given An equipment ID has been extracted from N7-02 field
When The system calls GCCCARFM utility to format the equipment ID
Then The equipment ID is formatted according to standard rules and validation status is determined
R-GCX016-cbl-03499 Equipment ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID Valid?' is invoked, and assuming that an equipment id has been formatted using gcccarfm utility, when the system checks if the equipment id is valid, the desired outcome is that if equipment id is valid, proceed to retrieve cargo records, otherwise log equipment id error.
💻 Technical Criteria
Given An equipment ID has been formatted using GCCCARFM utility
When The system checks if the equipment ID is valid
Then If equipment ID is valid, proceed to retrieve cargo records, otherwise log equipment ID error
R-GCX016-cbl-03500 Retrieve Cargo Records by Car ID
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Records by Car ID' is invoked, and assuming that a valid equipment id has been confirmed, when the system searches for cargo records using the car id, the desired outcome is that all cargo records associated with the car id are retrieved from the cargo database.
💻 Technical Criteria
Given A valid equipment ID has been confirmed
When The system searches for cargo records using the car ID
Then All cargo records associated with the car ID are retrieved from the cargo database
R-GCX016-cbl-03501 Cargo Records Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Records Found?' is invoked, and assuming that the system has searched for cargo records by car id, when the system checks if any cargo records were found, the desired outcome is that if cargo records are found, proceed to update car id, otherwise log cargo not found error.
💻 Technical Criteria
Given The system has searched for cargo records by car ID
When The system checks if any cargo records were found
Then If cargo records are found, proceed to update car ID, otherwise log cargo not found error
R-GCX016-cbl-03502 Update Car ID in Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Update Car ID in Cargo Record' is invoked, and assuming that cargo records have been found for the equipment car id, when the system updates the car id field in the cargo record, the desired outcome is that the cargo record car id is updated with the formatted equipment id from n7 segment.
💻 Technical Criteria
Given Cargo records have been found for the equipment car ID
When The system updates the car ID field in the cargo record
Then The cargo record car ID is updated with the formatted equipment ID from N7 segment
R-GCX016-cbl-03503 Validate Equipment Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment Information' is invoked, and assuming that car id has been updated in the cargo record, when the system validates the equipment information completeness and accuracy, the desired outcome is that equipment information is verified for data integrity and business rule compliance.
💻 Technical Criteria
Given Car ID has been updated in the cargo record
When The system validates the equipment information completeness and accuracy
Then Equipment information is verified for data integrity and business rule compliance
R-GCX016-cbl-03504 Validation Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Validation Successful?' is invoked, and assuming that equipment information has been validated, when the system checks if validation was successful, the desired outcome is that if validation successful, replace cargo record in database, otherwise log validation error.
💻 Technical Criteria
Given Equipment information has been validated
When The system checks if validation was successful
Then If validation successful, replace cargo record in database, otherwise log validation error
R-GCX016-cbl-03505 Replace Cargo Record in Database
Process Rules
📊 Business Logic Narrative
When the process 'Replace Cargo Record in Database' is invoked, and assuming that equipment validation has been successful, when the system replaces the cargo record in the database, the desired outcome is that the cargo record is updated in the database with the new car id and equipment information.
💻 Technical Criteria
Given Equipment validation has been successful
When The system replaces the cargo record in the database
Then The cargo record is updated in the database with the new car ID and equipment information
R-GCX016-cbl-03506 Log Equipment Update
Process Rules
📊 Business Logic Narrative
When the process 'Log Equipment Update' is invoked, and assuming that cargo record has been successfully updated in the database, when the system logs the equipment update transaction, the desired outcome is that equipment update is recorded in system logs with cargo and equipment details.
💻 Technical Criteria
Given Cargo record has been successfully updated in the database
When The system logs the equipment update transaction
Then Equipment update is recorded in system logs with cargo and equipment details
R-GCX016-cbl-03507 Log Equipment ID Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Equipment ID Error', assuming that equipment id validation has failed, when the system encounters an invalid equipment id, the desired outcome is that equipment id error is logged with details about the validation failure.
💻 Technical Criteria
EXCLUDING Equipment ID validation has failed
When The system encounters an invalid equipment ID
Then Equipment ID error is logged with details about the validation failure
R-GCX016-cbl-03508 Log Cargo Not Found Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Cargo Not Found Error' is invoked, and assuming that no cargo records were found for the equipment car id, when the system cannot locate cargo records to update, the desired outcome is that cargo not found error is logged with the equipment car id details.
💻 Technical Criteria
Given No cargo records were found for the equipment car ID
When The system cannot locate cargo records to update
Then Cargo not found error is logged with the equipment car ID details
R-GCX016-cbl-03509 Log Validation Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Validation Error' is invoked, and assuming that equipment information validation has failed, when the system encounters validation errors for equipment data, the desired outcome is that validation error is logged with details about the failed validation criteria.
💻 Technical Criteria
Given Equipment information validation has failed
When The system encounters validation errors for equipment data
Then Validation error is logged with details about the failed validation criteria
R-GCX016-cbl-03510 Extract SCAC Code from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code from M10' is invoked, and assuming that an m10 manifest segment is received with scac code data, when the system processes the m10 segment, the desired outcome is that the scac code is extracted and stored for cargo record integration.
💻 Technical Criteria
Given An M10 manifest segment is received with SCAC code data
When The system processes the M10 segment
Then The SCAC code is extracted and stored for cargo record integration
R-GCX016-cbl-03511 Extract Transport Type from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract Transport Type from M10' is invoked, and assuming that an m10 manifest segment contains transport type information, when the system processes the m10 segment, the desired outcome is that the transport type is extracted and prepared for cargo record update.
💻 Technical Criteria
Given An M10 manifest segment contains transport type information
When The system processes the M10 segment
Then The transport type is extracted and prepared for cargo record update
R-GCX016-cbl-03512 Extract Country Code from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract Country Code from M10' is invoked, and assuming that an m10 manifest segment contains country code information, when the system processes the m10 segment, the desired outcome is that the country code is extracted for cargo record integration.
💻 Technical Criteria
Given An M10 manifest segment contains country code information
When The system processes the M10 segment
Then The country code is extracted for cargo record integration
R-GCX016-cbl-03513 Extract Vessel Name from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract Vessel Name from M10' is invoked, and assuming that an m10 manifest segment contains vessel name information, when the system processes the m10 segment, the desired outcome is that the vessel name is extracted and prepared for cargo record update.
💻 Technical Criteria
Given An M10 manifest segment contains vessel name information
When The system processes the M10 segment
Then The vessel name is extracted and prepared for cargo record update
R-GCX016-cbl-03514 Extract Flight/Voyage Number from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract Flight/Voyage Number from M10' is invoked, and assuming that an m10 manifest segment contains flight or voyage number, when the system processes the m10 segment, the desired outcome is that the flight/voyage number is extracted for cargo identification.
💻 Technical Criteria
Given An M10 manifest segment contains flight or voyage number
When The system processes the M10 segment
Then The flight/voyage number is extracted for cargo identification
R-GCX016-cbl-03515 Extract Quantity from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract Quantity from M10' is invoked, and assuming that an m10 manifest segment contains quantity information, when the system processes the m10 segment, the desired outcome is that the quantity is extracted and prepared for cargo record integration.
💻 Technical Criteria
Given An M10 manifest segment contains quantity information
When The system processes the M10 segment
Then The quantity is extracted and prepared for cargo record integration
R-GCX016-cbl-03516 Extract Manifest Type Code from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract Manifest Type Code from M10' is invoked, and assuming that an m10 manifest segment contains manifest type code, when the system processes the m10 segment, the desired outcome is that the manifest type code is extracted for cargo classification.
💻 Technical Criteria
Given An M10 manifest segment contains manifest type code
When The system processes the M10 segment
Then The manifest type code is extracted for cargo classification
R-GCX016-cbl-03517 Extract Condition Response Code from M10
Process Rules
📊 Business Logic Narrative
When the process 'Extract Condition Response Code from M10' is invoked, and assuming that an m10 manifest segment contains condition response code, when the system processes the m10 segment, the desired outcome is that the condition response code is extracted for cargo status determination.
💻 Technical Criteria
Given An M10 manifest segment contains condition response code
When The system processes the M10 segment
Then The condition response code is extracted for cargo status determination
R-GCX016-cbl-03520 Locate Target Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Locate Target Cargo Record' is invoked, and assuming that a manifest information block has been built, when the system searches for the target cargo record, the desired outcome is that the system identifies the cargo record that corresponds to the manifest data.
💻 Technical Criteria
Given A manifest information block has been built
When The system searches for the target cargo record
Then The system identifies the cargo record that corresponds to the manifest data
R-GCX016-cbl-03521 Create New Cargo Record
Decision Rules
📊 Business Logic Narrative
When the process 'Create New Cargo Record' is invoked, and assuming that no existing cargo record is found for the manifest data, when the system attempts to locate a target cargo record, the desired outcome is that a new cargo record is created to receive the manifest information.
💻 Technical Criteria
Given No existing cargo record is found for the manifest data
When The system attempts to locate a target cargo record
Then A new cargo record is created to receive the manifest information
R-GCX016-cbl-03522 Set SCAC Code in Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code in Cargo' is invoked, and assuming that a cargo record exists and scac code has been extracted from m10, when the system updates the cargo record with manifest information, the desired outcome is that the scac code is set in the cargo record.
💻 Technical Criteria
Given A cargo record exists and SCAC code has been extracted from M10
When The system updates the cargo record with manifest information
Then The SCAC code is set in the cargo record
R-GCX016-cbl-03523 Set Transport Type in Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Transport Type in Cargo' is invoked, and assuming that a cargo record exists and transport type has been extracted from m10, when the system updates the cargo record with manifest information, the desired outcome is that the transport type is set in the cargo record.
💻 Technical Criteria
Given A cargo record exists and transport type has been extracted from M10
When The system updates the cargo record with manifest information
Then The transport type is set in the cargo record
R-GCX016-cbl-03524 Set Country Code in Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Country Code in Cargo' is invoked, and assuming that a cargo record exists and country code has been extracted from m10, when the system updates the cargo record with manifest information, the desired outcome is that the country code is set in the cargo record.
💻 Technical Criteria
Given A cargo record exists and country code has been extracted from M10
When The system updates the cargo record with manifest information
Then The country code is set in the cargo record
R-GCX016-cbl-03525 Set Vessel Name in Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Vessel Name in Cargo' is invoked, and assuming that a cargo record exists and vessel name has been extracted from m10, when the system updates the cargo record with manifest information, the desired outcome is that the vessel name is set in the cargo record.
💻 Technical Criteria
Given A cargo record exists and vessel name has been extracted from M10
When The system updates the cargo record with manifest information
Then The vessel name is set in the cargo record
R-GCX016-cbl-03526 Set Flight/Voyage Number in Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Flight/Voyage Number in Cargo' is invoked, and assuming that a cargo record exists and flight/voyage number has been extracted from m10, when the system updates the cargo record with manifest information, the desired outcome is that the flight/voyage number is set in the cargo record.
💻 Technical Criteria
Given A cargo record exists and flight/voyage number has been extracted from M10
When The system updates the cargo record with manifest information
Then The flight/voyage number is set in the cargo record
R-GCX016-cbl-03527 Set Quantity in Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Quantity in Cargo' is invoked, and assuming that a cargo record exists and quantity has been extracted from m10, when the system updates the cargo record with manifest information, the desired outcome is that the quantity is set in the cargo record.
💻 Technical Criteria
Given A cargo record exists and quantity has been extracted from M10
When The system updates the cargo record with manifest information
Then The quantity is set in the cargo record
R-GCX016-cbl-03528 Set Manifest Type Code in Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest Type Code in Cargo' is invoked, and assuming that a cargo record exists and manifest type code has been extracted from m10, when the system updates the cargo record with manifest information, the desired outcome is that the manifest type code is set in the cargo record.
💻 Technical Criteria
Given A cargo record exists and manifest type code has been extracted from M10
When The system updates the cargo record with manifest information
Then The manifest type code is set in the cargo record
R-GCX016-cbl-03529 Set Condition Response Code in Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Condition Response Code in Cargo' is invoked, and assuming that a cargo record exists and condition response code has been extracted from m10, when the system updates the cargo record with manifest information, the desired outcome is that the condition response code is set in the cargo record.
💻 Technical Criteria
Given A cargo record exists and condition response code has been extracted from M10
When The system updates the cargo record with manifest information
Then The condition response code is set in the cargo record
R-GCX016-cbl-03530 Save Updated Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Save Updated Cargo Record' is invoked, and assuming that a cargo record has been updated with all manifest information, when the system completes the manifest integration process, the desired outcome is that the updated cargo record is saved to the database.
💻 Technical Criteria
Given A cargo record has been updated with all manifest information
When The system completes the manifest integration process
Then The updated cargo record is saved to the database
R-GCX016-cbl-03542 Set Location Description
Action Rules
📊 Business Logic Narrative
When the process 'Set Location Description' is invoked, and assuming that station name and description have been extracted from a station record, when the system completes station information processing, the desired outcome is that the system sets the location description field with the extracted station information for use in cargo processing.
💻 Technical Criteria
Given Station name and description have been extracted from a station record
When The system completes station information processing
Then The system sets the location description field with the extracted station information for use in cargo processing
R-GCX016-cbl-03543 Use Default Location Name
Action Rules
📊 Business Logic Narrative
When the process 'Use Default Location Name' is invoked, and assuming that either no location id is available or no matching records are found in any station table (sd, ds, ks), when the system cannot retrieve station information from database tables, the desired outcome is that the system uses a default location name to ensure cargo processing can continue.
💻 Technical Criteria
Given Either no location ID is available or no matching records are found in any station table (SD, DS, KS)
When The system cannot retrieve station information from database tables
Then The system uses a default location name to ensure cargo processing can continue
R-GCX016-cbl-03546 Access Secondary Cargo Records GCSA2RT
Action Rules
📊 Business Logic Narrative
When the process 'Access Secondary Cargo Records GCSA2RT' is invoked, and assuming that a cargo record requires payer of freight information, when the system accesses secondary cargo records gcsa2rt, the desired outcome is that secondary cargo record data is retrieved for further processing.
💻 Technical Criteria
Given A cargo record requires payer of freight information
When The system accesses secondary cargo records GCSA2RT
Then Secondary cargo record data is retrieved for further processing
R-GCX016-cbl-03547 N101 Payer of Freight Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N101 Payer of Freight Record Found?' is invoked, and assuming that secondary cargo records have been accessed, when the system checks for n101 payer of freight record existence, the desired outcome is that processing continues if n101 record found, otherwise process terminates.
💻 Technical Criteria
Given Secondary cargo records have been accessed
When The system checks for N101 payer of freight record existence
Then Processing continues if N101 record found, otherwise process terminates
R-GCX016-cbl-03557 Check Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Message Type' is invoked, and assuming that a merlin message is being formatted for cargo processing, when the disposition code type is manual release (mrl) or auto release (arl), the desired outcome is that skip formatting the disposition code message and proceed to standard cargo details formatting.
💻 Technical Criteria
Given A Merlin message is being formatted for cargo processing
When The disposition code type is Manual Release (MRL) OR Auto Release (ARL)
Then Skip formatting the disposition code message and proceed to standard cargo details formatting
R-GCX016-cbl-03559 Add Disposition Code Details
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Disposition Code Details', assuming that a disposition code is being processed for cargo, when the disposition code type is not manual release and not auto release, the desired outcome is that include the disposition code and its corresponding merlin message text in the formatted message.
💻 Technical Criteria
EXCLUDING A disposition code is being processed for cargo
When The disposition code type is NOT Manual Release AND NOT Auto Release
Then Include the disposition code and its corresponding Merlin message text in the formatted message
R-GCX016-cbl-03560 Calculate Quantity Actions
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Quantity Actions' is invoked, and assuming that a disposition code affects cargo release quantities, when the quantity action is add_quantity or subtract_quantity, the desired outcome is that format and display the quantity change impact showing current release quantity, action type, and resulting new quantity.
💻 Technical Criteria
Given A disposition code affects cargo release quantities
When The quantity action is ADD_QUANTITY OR SUBTRACT_QUANTITY
Then Format and display the quantity change impact showing current release quantity, action type, and resulting new quantity
R-GCX016-cbl-03561 Apply Special Broker Bond Formatting
Process Rules
📊 Business Logic Narrative
When the process 'Apply Special Broker Bond Formatting' is invoked, and assuming that a merlin message is being formatted for cargo processing, when the message type is identified as a broker bond message, the desired outcome is that apply special formatting rules including bond number, broker information, and enhanced cargo details specific to bond processing.
💻 Technical Criteria
Given A Merlin message is being formatted for cargo processing
When The message type is identified as a broker bond message
Then Apply special formatting rules including bond number, broker information, and enhanced cargo details specific to bond processing
R-GCX016-cbl-03562 Include Release Quantity Changes
Process Rules
📊 Business Logic Narrative
When the process 'Include Release Quantity Changes' is invoked, and assuming that cargo release quantities are being modified by disposition code processing, when quantity changes need to be communicated in the merlin message, the desired outcome is that include current release quantity, planned quantity change, and resulting final quantity in the message format.
💻 Technical Criteria
Given Cargo release quantities are being modified by disposition code processing
When Quantity changes need to be communicated in the Merlin message
Then Include current release quantity, planned quantity change, and resulting final quantity in the message format
R-GCX016-cbl-03563 Add First K1 Comment
Process Rules
📊 Business Logic Narrative
When the process 'Add First K1 Comment' is invoked, and assuming that k1 comment segments are available for the cargo being processed, when the first k1 comment segment exists and contains data, the desired outcome is that add the first k1 comment segment to the merlin message format.
💻 Technical Criteria
Given K1 comment segments are available for the cargo being processed
When The first K1 comment segment exists and contains data
Then Add the first K1 comment segment to the Merlin message format
R-GCX016-cbl-03565 Format Final Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Format Final Message Structure' is invoked, and assuming that all message components have been collected including cargo details, disposition codes, quantities, and comments, when the message formatting process is ready for finalization, the desired outcome is that organize all components into the final merlin message structure with proper formatting, spacing, and message layout.
💻 Technical Criteria
Given All message components have been collected including cargo details, disposition codes, quantities, and comments
When The message formatting process is ready for finalization
Then Organize all components into the final Merlin message structure with proper formatting, spacing, and message layout
R-GCX016-cbl-03566 Set Message Destination
Action Rules
📊 Business Logic Narrative
When the process 'Set Message Destination' is invoked, and assuming that a merlin message has been formatted and is ready for transmission, when message destination routing needs to be determined, the desired outcome is that set the appropriate message destination based on message type, cargo location, and processing requirements.
💻 Technical Criteria
Given A Merlin message has been formatted and is ready for transmission
When Message destination routing needs to be determined
Then Set the appropriate message destination based on message type, cargo location, and processing requirements
R-GCX016-cbl-03567 Check Message Source
Decision Rules
📊 Business Logic Narrative
When the process 'Check Message Source' is invoked, and assuming that a message is received for processing, when the system checks the message source and cargo type, the desired outcome is that the system identifies if the message is from a canadian pacific entity based on cprs cargo type designation.
💻 Technical Criteria
Given A message is received for processing
When The system checks the message source and cargo type
Then The system identifies if the message is from a Canadian Pacific entity based on CPRS cargo type designation
R-GCX016-cbl-03570 Apply Canadian Pacific Formatting Rules
Process Rules
📊 Business Logic Narrative
When the process 'Apply Canadian Pacific Formatting Rules' is invoked, and assuming that bond information has been extracted from a canadian pacific message, when the system formats the bond message for processing, the desired outcome is that the system applies cprs-specific formatting by setting cargo status to 'error' and clearing car id information for cprs records.
💻 Technical Criteria
Given Bond information has been extracted from a Canadian Pacific message
When The system formats the bond message for processing
Then The system applies CPRS-specific formatting by setting cargo status to 'ERROR' and clearing car ID information for CPRS records
R-GCX016-cbl-03580 Get Current Release Quantity
Action Rules
📊 Business Logic Narrative
When the process 'Get Current Release Quantity' is invoked, and assuming that a quantity action operation (add or subtract) needs to be processed, when the system requires current release quantity information, the desired outcome is that the system retrieves the current release quantity from the cargo record for calculation purposes.
💻 Technical Criteria
Given A quantity action operation (ADD or SUBTRACT) needs to be processed
When The system requires current release quantity information
Then The system retrieves the current release quantity from the cargo record for calculation purposes
R-GCX016-cbl-03588 Retrieve Equipment Type from Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Equipment Type from Cargo Record' is invoked, and assuming that a cargo record exists in the system, when the system needs to validate container type for integration, the desired outcome is that the equipment type is retrieved from the cargo record for further validation.
💻 Technical Criteria
Given A cargo record exists in the system
When The system needs to validate container type for integration
Then The equipment type is retrieved from the cargo record for further validation
R-GCX016-cbl-03589 Check Equipment Type Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check Equipment Type Code' is invoked, and assuming that an equipment type code has been retrieved from the cargo record, when the system validates the equipment type code format and content, the desired outcome is that the equipment type code is checked against valid equipment type patterns.
💻 Technical Criteria
Given An equipment type code has been retrieved from the cargo record
When The system validates the equipment type code format and content
Then The equipment type code is checked against valid equipment type patterns
R-GCX016-cbl-03590 Valid Container Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid Container Type?' is invoked, and assuming that an equipment type code has been validated, when the system evaluates if the equipment type is a container or trailer, the desired outcome is that the system classifies the equipment as either valid container type or other equipment type.
💻 Technical Criteria
Given An equipment type code has been validated
When The system evaluates if the equipment type is a container or trailer
Then The system classifies the equipment as either valid container type or other equipment type
R-GCX016-cbl-03591 Validate Against Equipment Type Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Against Equipment Type Table' is invoked, and assuming that a container or trailer equipment type has been identified, when the system looks up the equipment type in the master equipment type table, the desired outcome is that the system validates that the equipment type exists in the reference table.
💻 Technical Criteria
Given A container or trailer equipment type has been identified
When The system looks up the equipment type in the master equipment type table
Then The system validates that the equipment type exists in the reference table
R-GCX016-cbl-03592 Equipment Type Found in System?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Type Found in System?' is invoked, and assuming that equipment type lookup has been performed against the master table, when the system checks if the equipment type was found in the reference table, the desired outcome is that the system determines if the equipment type is valid (found) or invalid (not found).
💻 Technical Criteria
Given Equipment type lookup has been performed against the master table
When The system checks if the equipment type was found in the reference table
Then The system determines if the equipment type is valid (found) or invalid (not found)
R-GCX016-cbl-03593 Set Valid Equipment Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Valid Equipment Flag' is invoked, and assuming that equipment type has been found in the master equipment type table, when the system confirms the equipment type is valid, the desired outcome is that a valid equipment flag is set to allow further processing.
💻 Technical Criteria
Given Equipment type has been found in the master equipment type table
When The system confirms the equipment type is valid
Then A valid equipment flag is set to allow further processing
R-GCX016-cbl-03594 Map Equipment Type to Integration Format
Computation Rules
📊 Business Logic Narrative
When the process 'Map Equipment Type to Integration Format' is invoked, and assuming that a valid equipment type has been confirmed, when the system prepares data for integration service call, the desired outcome is that the equipment type is mapped to the integration service format requirements.
💻 Technical Criteria
Given A valid equipment type has been confirmed
When The system prepares data for integration service call
Then The equipment type is mapped to the integration service format requirements
R-GCX016-cbl-03595 Prepare Equipment Data for Integration Call
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Equipment Data for Integration Call' is invoked, and assuming that equipment type has been mapped to integration format, when the system prepares the complete equipment data package, the desired outcome is that all required equipment data is formatted and ready for integration service call.
💻 Technical Criteria
Given Equipment type has been mapped to integration format
When The system prepares the complete equipment data package
Then All required equipment data is formatted and ready for integration service call
R-GCX016-cbl-03596 Equipment Type Validation Complete
Process Rules
📊 Business Logic Narrative
When the process 'Equipment Type Validation Complete' is invoked, and assuming that equipment data has been prepared for integration, when all validation steps have been completed successfully, the desired outcome is that equipment type validation is marked as complete and integration can proceed.
💻 Technical Criteria
Given Equipment data has been prepared for integration
When All validation steps have been completed successfully
Then Equipment type validation is marked as complete and integration can proceed
R-GCX016-cbl-03597 Set Invalid Equipment Flag
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Invalid Equipment Flag', assuming that equipment type was not found in the master equipment type table, when the system confirms the equipment type is invalid, the desired outcome is that an invalid equipment flag is set to prevent further processing.
💻 Technical Criteria
EXCLUDING Equipment type was not found in the master equipment type table
When The system confirms the equipment type is invalid
Then An invalid equipment flag is set to prevent further processing
R-GCX016-cbl-03598 Log Equipment Type Error
Action Rules
📊 Business Logic Narrative
When the process 'Log Equipment Type Error' is invoked, and assuming that an invalid equipment flag has been set, when the system needs to record the validation failure, the desired outcome is that an equipment type error is logged with relevant details for troubleshooting.
💻 Technical Criteria
Given An invalid equipment flag has been set
When The system needs to record the validation failure
Then An equipment type error is logged with relevant details for troubleshooting
R-GCX016-cbl-03599 Skip Integration Service Call
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Integration Service Call', assuming that equipment type error has been logged, when the system determines integration cannot proceed due to invalid equipment type, the desired outcome is that the integration service call is skipped and processing continues without integration.
💻 Technical Criteria
EXCLUDING Equipment type error has been logged
When The system determines integration cannot proceed due to invalid equipment type
Then The integration service call is skipped and processing continues without integration
R-GCX016-cbl-03604 Access Cargo Secondary Records GCSA2RT Segments
Validation Rules
📊 Business Logic Narrative
When the process 'Access Cargo Secondary Records GCSA2RT Segments' is invoked, and assuming that a cargo record requires secondary information processing, when the system attempts to access gcsa2rt secondary cargo records, the desired outcome is that the system should verify if secondary records are available and proceed accordingly.
💻 Technical Criteria
Given A cargo record requires secondary information processing
When The system attempts to access GCSA2RT secondary cargo records
Then The system should verify if secondary records are available and proceed accordingly
R-GCX016-cbl-03605 Read N101 Segments from Secondary Records
Validation Rules
📊 Business Logic Narrative
When the process 'Read N101 Segments from Secondary Records' is invoked, and assuming that secondary cargo records are available for processing, when the system reads n101 segments from the secondary records, the desired outcome is that the system should determine if n101 segments exist and are accessible for processing.
💻 Technical Criteria
Given Secondary cargo records are available for processing
When The system reads N101 segments from the secondary records
Then The system should determine if N101 segments exist and are accessible for processing
R-GCX016-cbl-03606 Check N101-01 Qualifier
Decision Rules
📊 Business Logic Narrative
When the process 'Check N101-01 Qualifier' is invoked, and assuming that an n101 segment is found in secondary cargo records, when the system checks the n101-01 qualifier field, the desired outcome is that the system should determine if the qualifier equals 'pf' indicating payer of freight information.
💻 Technical Criteria
Given An N101 segment is found in secondary cargo records
When The system checks the N101-01 qualifier field
Then The system should determine if the qualifier equals 'PF' indicating payer of freight information
R-GCX016-cbl-03612 No Secondary Records Available - Continue
Decision Rules
📊 Business Logic Narrative
When the process 'No Secondary Records Available - Continue' is invoked, and assuming that a cargo record requires secondary information processing, when no secondary cargo records are available in gcsa2rt segments, the desired outcome is that the system should continue processing without payer of freight information and proceed to the next step.
💻 Technical Criteria
Given A cargo record requires secondary information processing
When No secondary cargo records are available in GCSA2RT segments
Then The system should continue processing without payer of freight information and proceed to the next step
R-GCX016-cbl-03617 Container Type Check
Validation Rules
📊 Business Logic Narrative
When the process 'Container Type Check' is invoked, and assuming that a message is ready for routing and has been classified as an export message, when the message type is export and container type validation is required, the desired outcome is that the system checks if the container type is a specific container type or other equipment type to determine routing path.
💻 Technical Criteria
Given A message is ready for routing and has been classified as an export message
When The message type is EXPORT and container type validation is required
Then The system checks if the container type is a specific container type or other equipment type to determine routing path
R-GCX016-cbl-03618 Route to USEXP Baskets
Action Rules
📊 Business Logic Narrative
When the process 'Route to USEXP Baskets' is invoked, and assuming that an export message has been validated and container type has been determined, when the container type is identified as a specific container type requiring special handling, the desired outcome is that the system routes the message to usexp baskets for specialized container export processing.
💻 Technical Criteria
Given An export message has been validated and container type has been determined
When The container type is identified as a specific container type requiring special handling
Then The system routes the message to USEXP baskets for specialized container export processing
R-GCX016-cbl-03619 Route to Standard Export
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route to Standard Export', assuming that an export message has been validated and container type has been determined, when the container type is not a specific container type requiring special handling, the desired outcome is that the system routes the message through standard export processing channels.
💻 Technical Criteria
EXCLUDING An export message has been validated and container type has been determined
When The container type is not a specific container type requiring special handling
Then The system routes the message through standard export processing channels
R-GCX016-cbl-03637 Initialize Log Message Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Log Message Fields' is invoked, and assuming that a cargo logging operation is initiated, when the system begins preparing the log message, the desired outcome is that all message fields are cleared and initialized to default values.
💻 Technical Criteria
Given A cargo logging operation is initiated
When The system begins preparing the log message
Then All message fields are cleared and initialized to default values
R-GCX016-cbl-03638 Set Security Information
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Information' is invoked, and assuming that a cargo logging message is being prepared, when security information needs to be recorded, the desired outcome is that current user id and security context are captured and added to the log message.
💻 Technical Criteria
Given A cargo logging message is being prepared
When Security information needs to be recorded
Then Current user ID and security context are captured and added to the log message
R-GCX016-cbl-03639 Set Transaction Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Type' is invoked, and assuming that a cargo processing operation is being logged, when transaction type needs to be identified, the desired outcome is that the appropriate transaction type code is set based on the processing operation.
💻 Technical Criteria
Given A cargo processing operation is being logged
When Transaction type needs to be identified
Then The appropriate transaction type code is set based on the processing operation
R-GCX016-cbl-03640 Format Cargo Details
Process Rules
📊 Business Logic Narrative
When the process 'Format Cargo Details' is invoked, and assuming that cargo information needs to be logged, when cargo details are being formatted, the desired outcome is that all cargo identification fields are properly formatted and included in the log message.
💻 Technical Criteria
Given Cargo information needs to be logged
When Cargo details are being formatted
Then All cargo identification fields are properly formatted and included in the log message
R-GCX016-cbl-03641 Add Processing Timestamps
Process Rules
📊 Business Logic Narrative
When the process 'Add Processing Timestamps' is invoked, and assuming that a cargo processing event is being logged, when timestamp information is required, the desired outcome is that current date and time are captured and added to the log message.
💻 Technical Criteria
Given A cargo processing event is being logged
When Timestamp information is required
Then Current date and time are captured and added to the log message
R-GCX016-cbl-03642 Include Disposition Code Information
Policy Rules
📊 Business Logic Narrative
When the process 'Include Disposition Code Information' is invoked, and assuming that cargo processing involves disposition codes, when disposition code information needs to be logged, the desired outcome is that disposition code, description, and related processing details are included in the log message.
💻 Technical Criteria
Given Cargo processing involves disposition codes
When Disposition code information needs to be logged
Then Disposition code, description, and related processing details are included in the log message
R-GCX016-cbl-03643 Add Quantity Information
Computation Rules
📊 Business Logic Narrative
When the process 'Add Quantity Information' is invoked, and assuming that cargo processing involves quantity changes, when quantity information needs to be logged, the desired outcome is that all relevant quantity information including changes and current values are added to the log message.
💻 Technical Criteria
Given Cargo processing involves quantity changes
When Quantity information needs to be logged
Then All relevant quantity information including changes and current values are added to the log message
R-GCX016-cbl-03644 Set Audit Trail Data
Policy Rules
📊 Business Logic Narrative
When the process 'Set Audit Trail Data' is invoked, and assuming that cargo processing requires audit trail documentation, when audit trail data is being prepared, the desired outcome is that complete audit trail information including references and status is set in the log message.
💻 Technical Criteria
Given Cargo processing requires audit trail documentation
When Audit trail data is being prepared
Then Complete audit trail information including references and status is set in the log message
R-GCX016-cbl-03646 Spawn GCT1051E Transaction
Decision Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Transaction' is invoked, and assuming that a cargo processing operation with disposition code is ready for logging, when the disposition code is 54 or 55, the desired outcome is that the logging transaction is not spawned and no log entry is created.
💻 Technical Criteria
Given A cargo processing operation with disposition code is ready for logging
When The disposition code is 54 or 55
Then The logging transaction is not spawned and no log entry is created
R-GCX016-cbl-03647 Spawn GCT1051E Transaction
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Spawn GCT1051E Transaction', assuming that a cargo processing operation needs to be logged and disposition code is not 54 or 55, when the logging transaction is initiated, the desired outcome is that gct1051e transaction is spawned with the prepared log message.
💻 Technical Criteria
EXCLUDING A cargo processing operation needs to be logged and disposition code is not 54 or 55
When The logging transaction is initiated
Then GCT1051E transaction is spawned with the prepared log message
R-GCX016-cbl-03649 Update Audit Trail Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Audit Trail Status' is invoked, and assuming that cargo logging transaction completed successfully, when audit trail status needs to be updated, the desired outcome is that audit trail status is updated to indicate successful logging completion.
💻 Technical Criteria
Given Cargo logging transaction completed successfully
When Audit trail status needs to be updated
Then Audit trail status is updated to indicate successful logging completion
R-GCX016-cbl-03650 Handle Logging Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Logging Error' is invoked, and assuming that an error occurred during cargo logging transaction, when error handling is required, the desired outcome is that appropriate error handling procedures are executed and error status is recorded.
💻 Technical Criteria
Given An error occurred during cargo logging transaction
When Error handling is required
Then Appropriate error handling procedures are executed and error status is recorded
R-GCX016-cbl-03651 Format Car ID Information
Process Rules
📊 Business Logic Narrative
When the process 'Format Car ID Information' is invoked, and assuming that a cargo record with car identification data, when car id is available in the system, the desired outcome is that format car initial and car number into displayable car id information.
💻 Technical Criteria
Given A cargo record with car identification data
When Car ID is available in the system
Then Format car initial and car number into displayable car ID information
R-GCX016-cbl-03652 Set Car ID to Spaces
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Car ID to Spaces', assuming that a cargo record being processed for reporting, when car id information is not available, the desired outcome is that set car id field to spaces for report display.
💻 Technical Criteria
EXCLUDING A cargo record being processed for reporting
When Car ID information is not available
Then Set car ID field to spaces for report display
R-GCX016-cbl-03656 Add CPRS Status Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Add CPRS Status Description' is invoked, and assuming that a cprs cargo record with status information, when cargo belongs to cprs system, the desired outcome is that add cprs-specific status description to the formatted output.
💻 Technical Criteria
Given A CPRS cargo record with status information
When Cargo belongs to CPRS system
Then Add CPRS-specific status description to the formatted output
R-GCX016-cbl-03657 Add USCS Status Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Add USCS Status Description' is invoked, and assuming that a uscs cargo record with status information, when cargo belongs to uscs system, the desired outcome is that add uscs-specific status description to the formatted output.
💻 Technical Criteria
Given A USCS cargo record with status information
When Cargo belongs to USCS system
Then Add USCS-specific status description to the formatted output
R-GCX016-cbl-03659 Format Disposition Code
Process Rules
📊 Business Logic Narrative
When the process 'Format Disposition Code' is invoked, and assuming that a cargo record with disposition code data, when disposition code is available in the system, the desired outcome is that format disposition code into displayable format for reports.
💻 Technical Criteria
Given A cargo record with disposition code data
When Disposition code is available in the system
Then Format disposition code into displayable format for reports
R-GCX016-cbl-03661 Set Disposition to Spaces
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Disposition to Spaces', assuming that a cargo record being processed for reporting, when disposition code is not available, the desired outcome is that set disposition code field to spaces for report display.
💻 Technical Criteria
EXCLUDING A cargo record being processed for reporting
When Disposition code is not available
Then Set disposition code field to spaces for report display
R-GCX016-cbl-03663 Format Processing Timestamp
Process Rules
📊 Business Logic Narrative
When the process 'Format Processing Timestamp' is invoked, and assuming that a cargo processing event, when processing timestamp needs to be recorded, the desired outcome is that format processing timestamp into standard audit format for reports.
💻 Technical Criteria
Given A cargo processing event
When Processing timestamp needs to be recorded
Then Format processing timestamp into standard audit format for reports
R-GCX016-cbl-03664 Format Entry Numbers for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Entry Numbers for Display' is invoked, and assuming that cargo with associated broker entry numbers, when broker entry numbers are available, the desired outcome is that format entry numbers into displayable format for broker reports.
💻 Technical Criteria
Given Cargo with associated broker entry numbers
When Broker entry numbers are available
Then Format entry numbers into displayable format for broker reports
R-GCX016-cbl-03665 Format Quantities for Mismatch Report
Validation Rules
📊 Business Logic Narrative
When the process 'Format Quantities for Mismatch Report' is invoked, and assuming that cargo with quantity discrepancies, when quantity mismatch reporting is required, the desired outcome is that format quantity information highlighting mismatches for review.
💻 Technical Criteria
Given Cargo with quantity discrepancies
When Quantity mismatch reporting is required
Then Format quantity information highlighting mismatches for review
R-GCX016-cbl-03666 Set Destination User Codes
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination User Codes' is invoked, and assuming that a formatted report ready for distribution, when report routing is required, the desired outcome is that set appropriate destination user codes based on cargo type and processing requirements.
💻 Technical Criteria
Given A formatted report ready for distribution
When Report routing is required
Then Set appropriate destination user codes based on cargo type and processing requirements
R-GCX016-cbl-03668 Retrieve Manifest Quantity from Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Manifest Quantity from Cargo Record' is invoked, and assuming that a cargo record exists in the system, when the system needs to retrieve manifest quantity for quantity mismatch validation, the desired outcome is that the manifest quantity is extracted from the cargo record and made available for comparison.
💻 Technical Criteria
Given A cargo record exists in the system
When The system needs to retrieve manifest quantity for quantity mismatch validation
Then The manifest quantity is extracted from the cargo record and made available for comparison
R-GCX016-cbl-03699 Set Release Message Routing
Decision Rules
📊 Business Logic Narrative
When the process 'Set Release Message Routing' is invoked, and assuming that message type is identified as cargo release, when release message routing is configured, the desired outcome is that message is routed only to station-specific merlin ids.
💻 Technical Criteria
Given Message type is identified as cargo release
When Release message routing is configured
Then Message is routed only to station-specific Merlin IDs
R-GCX016-cbl-03700 Set Export Message Routing
Decision Rules
📊 Business Logic Narrative
When the process 'Set Export Message Routing' is invoked, and assuming that message type is identified as export, when export message routing is configured, the desired outcome is that message routing is set with equipment type validation for containers and trailers.
💻 Technical Criteria
Given Message type is identified as export
When Export message routing is configured
Then Message routing is set with equipment type validation for containers and trailers
R-GCX016-cbl-03701 Set Unrelease Message Routing
Decision Rules
📊 Business Logic Narrative
When the process 'Set Unrelease Message Routing' is invoked, and assuming that message type is identified as cargo unrelease, when unrelease message routing is configured, the desired outcome is that message is routed to default destinations and cancel-specific merlin ids.
💻 Technical Criteria
Given Message type is identified as cargo unrelease
When Unrelease message routing is configured
Then Message is routed to default destinations and cancel-specific Merlin IDs
R-GCX016-cbl-03703 Set Car ID Format Fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Car ID Format Fields' is invoked, and assuming that report display fields are initialized, when car id formatting is applied, the desired outcome is that car identification fields are formatted with standard car id display format.
💻 Technical Criteria
Given Report display fields are initialized
When Car ID formatting is applied
Then Car identification fields are formatted with standard car ID display format
R-GCX016-cbl-03803 Send Error Notification to Business Users
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Error Notification to Business Users', assuming that an error has been logged for cargo not found, when the error involves cprs cargo processing, the desired outcome is that send merlin error message to business users with cargo details and not found status.
💻 Technical Criteria
EXCLUDING an error has been logged for cargo not found
When the error involves CPRS cargo processing
Then send Merlin error message to business users with cargo details and not found status
R-GCX016-cbl-03804 Skip EDI Segment Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip EDI Segment Processing', assuming that shipment root record does not exist in the database, when cargo not found flag is set, the desired outcome is that skip further processing of the current edi segment and continue to next segment.
💻 Technical Criteria
EXCLUDING shipment root record does not exist in the database
When cargo not found flag is set
Then skip further processing of the current EDI segment and continue to next segment
R-GCX016-cbl-03805 Proceed with EDI Segment Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed with EDI Segment Processing' is invoked, and assuming that shipment root record exists in the database, when cargo found flag is set, the desired outcome is that proceed with disposition code processing and cargo status updates.
💻 Technical Criteria
Given shipment root record exists in the database
When cargo found flag is set
Then proceed with disposition code processing and cargo status updates
R-GCX016-cbl-03806 Create U1 Segment with In-Bond Information
Action Rules
📊 Business Logic Narrative
When the process 'Create U1 Segment with In-Bond Information' is invoked, and assuming that disposition code is 95 (proceed) and entry type is in (61, 62, 63, 69), when processing new cargo with in-bond requirements, the desired outcome is that create master in-bond record with appropriate entry type classification and bond number validation.
💻 Technical Criteria
Given disposition code is 95 (proceed) and entry type is in (61, 62, 63, 69)
When processing new cargo with in-bond requirements
Then create master in-bond record with appropriate entry type classification and bond number validation
R-GCX016-cbl-03807 Update Shipment Record with EDI Data
Action Rules
📊 Business Logic Narrative
When the process 'Update Shipment Record with EDI Data' is invoked, and assuming that edi segment has been successfully processed, when cargo status changes are required, the desired outcome is that update cargo record with new status, release quantities, and disposition codes, and call gcciis for hold/release status changes if cargo status description changed.
💻 Technical Criteria
Given EDI segment has been successfully processed
When cargo status changes are required
Then update cargo record with new status, release quantities, and disposition codes, and call GCCIIS for hold/release status changes if cargo status description changed
R-GCX016-cbl-03808 Log Successful Processing
Process Rules
📊 Business Logic Narrative
When the process 'Log Successful Processing' is invoked, and assuming that edi segment processing has completed successfully, when cargo record has been updated, the desired outcome is that log cargo status changes and spawn gct1051e logging transaction excluding disposition codes 54 and 55.
💻 Technical Criteria
Given EDI segment processing has completed successfully
When cargo record has been updated
Then log cargo status changes and spawn GCT1051E logging transaction excluding disposition codes 54 and 55
R-GCX016-cbl-03849 Update Cargo Record with Location Info
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Location Info' is invoked, and assuming that location description has been set with resolved location name, when the system updates the cargo record, the desired outcome is that the system stores the location information in the appropriate cargo record fields.
💻 Technical Criteria
Given Location description has been set with resolved location name
When The system updates the cargo record
Then The system stores the location information in the appropriate cargo record fields
R-GCX016-cbl-03851 Access Secondary Cargo Records
Action Rules
📊 Business Logic Narrative
When the process 'Access Secondary Cargo Records' is invoked, and assuming that a shipment requires n9 reference information processing, when the system initiates n9 reference retrieval process, the desired outcome is that secondary cargo records (gcsa2rt) are accessed to locate n9 segments.
💻 Technical Criteria
Given A shipment requires N9 reference information processing
When The system initiates N9 reference retrieval process
Then Secondary cargo records (GCSA2RT) are accessed to locate N9 segments
R-GCX016-cbl-03852 Search for N9 Segments
Process Rules
📊 Business Logic Narrative
When the process 'Search for N9 Segments' is invoked, and assuming that secondary cargo records are accessible, when the system searches for n9 segments within the records, the desired outcome is that all available n9 segments are identified and flagged for processing.
💻 Technical Criteria
Given Secondary cargo records are accessible
When The system searches for N9 segments within the records
Then All available N9 segments are identified and flagged for processing
R-GCX016-cbl-03853 N9 Segments Found?
Decision Rules
📊 Business Logic Narrative
When the process 'N9 Segments Found?' is invoked, and assuming that secondary cargo records have been searched for n9 segments, when the system evaluates the search results, the desired outcome is that if n9 segments are found, proceed to extract reference information, otherwise log no references found and continue processing.
💻 Technical Criteria
Given Secondary cargo records have been searched for N9 segments
When The system evaluates the search results
Then If N9 segments are found, proceed to extract reference information, otherwise log no references found and continue processing
R-GCX016-cbl-03854 Extract Reference Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Extract Reference Numbers' is invoked, and assuming that n9 segments have been found in secondary cargo records, when the system processes each n9 segment, the desired outcome is that reference numbers are extracted and stored for further validation.
💻 Technical Criteria
Given N9 segments have been found in secondary cargo records
When The system processes each N9 segment
Then Reference numbers are extracted and stored for further validation
R-GCX016-cbl-03862 Log No References Found
Process Rules
📊 Business Logic Narrative
When the process 'Log No References Found' is invoked, and assuming that secondary cargo records have been searched for n9 segments, when no n9 segments are found in the records, the desired outcome is that the absence of n9 references is logged and shipment processing continues without reference information.
💻 Technical Criteria
Given Secondary cargo records have been searched for N9 segments
When No N9 segments are found in the records
Then The absence of N9 references is logged and shipment processing continues without reference information
R-GCX016-cbl-03863 Extract Equipment ID from US Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment ID from US Cargo' is invoked, and assuming that a us cargo release request is being processed, when the system needs to coordinate with canadian cargo systems, the desired outcome is that the equipment id (car initial and car number) is extracted from the us cargo record for cross-reference lookup.
💻 Technical Criteria
Given A US cargo release request is being processed
When The system needs to coordinate with Canadian cargo systems
Then The equipment ID (car initial and car number) is extracted from the US cargo record for cross-reference lookup
R-GCX016-cbl-03865 Validate Canadian Cargo Record
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Cargo Record' is invoked, and assuming that canadian cargo records have been found by equipment id, when the system validates the canadian cargo record, the desired outcome is that only non-deleted canadian cargo records are considered valid for cross-border processing.
💻 Technical Criteria
Given Canadian cargo records have been found by equipment ID
When The system validates the Canadian cargo record
Then Only non-deleted Canadian cargo records are considered valid for cross-border processing
R-GCX016-cbl-03866 Establish Cross-Border Link
Process Rules
📊 Business Logic Narrative
When the process 'Establish Cross-Border Link' is invoked, and assuming that valid canadian cargo records are found with matching equipment id, when equipment id match is confirmed between us and canadian systems, the desired outcome is that a cross-border link is established between the corresponding cargo records.
💻 Technical Criteria
Given Valid Canadian cargo records are found with matching equipment ID
When Equipment ID match is confirmed between US and Canadian systems
Then A cross-border link is established between the corresponding cargo records
R-GCX016-cbl-03867 Generate Cross-Border Log Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Cross-Border Log Message' is invoked, and assuming that cross-border cargo coordination is being processed, when canadian cargo records are found and linked to us cargo, the desired outcome is that a log message is generated documenting the cross-border cargo release coordination.
💻 Technical Criteria
Given Cross-border cargo coordination is being processed
When Canadian cargo records are found and linked to US cargo
Then A log message is generated documenting the cross-border cargo release coordination
R-GCX016-cbl-03868 Log No Canadian Match Found
Decision Rules
📊 Business Logic Narrative
When the process 'Log No Canadian Match Found' is invoked, and assuming that a search for canadian cargo records by equipment id is performed, when no canadian cargo records are found matching the equipment id, the desired outcome is that the system logs that no canadian match was found and continues with us-only processing.
💻 Technical Criteria
Given A search for Canadian cargo records by equipment ID is performed
When No Canadian cargo records are found matching the equipment ID
Then The system logs that no Canadian match was found and continues with US-only processing
R-GCX016-cbl-03869 Continue US Processing Only
Process Rules
📊 Business Logic Narrative
When the process 'Continue US Processing Only' is invoked, and assuming that canadian cargo coordination has failed due to no match, invalid records, or equipment id mismatch, when cross-border coordination cannot be established, the desired outcome is that the system continues processing the us cargo release without canadian coordination.
💻 Technical Criteria
Given Canadian cargo coordination has failed due to no match, invalid records, or equipment ID mismatch
When Cross-border coordination cannot be established
Then The system continues processing the US cargo release without Canadian coordination
R-GCX016-cbl-03870 Retrieve US Cargo Equipment ID
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve US Cargo Equipment ID' is invoked, and assuming that a us cargo record exists in the system, when the system processes cross-border equipment matching, the desired outcome is that the equipment identifier is retrieved from the us cargo record for matching purposes.
💻 Technical Criteria
Given A US cargo record exists in the system
When The system processes cross-border equipment matching
Then The equipment identifier is retrieved from the US cargo record for matching purposes
R-GCX016-cbl-03871 Format Equipment ID for Canadian System
Process Rules
📊 Business Logic Narrative
When the process 'Format Equipment ID for Canadian System' is invoked, and assuming that a us equipment identifier has been retrieved, when the system prepares to search canadian cargo database, the desired outcome is that the equipment identifier is formatted according to canadian system requirements.
💻 Technical Criteria
Given A US equipment identifier has been retrieved
When The system prepares to search Canadian cargo database
Then The equipment identifier is formatted according to Canadian system requirements
R-GCX016-cbl-03872 Search Canadian Cargo Database
Action Rules
📊 Business Logic Narrative
When the process 'Search Canadian Cargo Database' is invoked, and assuming that an equipment identifier has been formatted for canadian system, when the system searches the canadian cargo database, the desired outcome is that canadian cargo records matching the equipment identifier are retrieved.
💻 Technical Criteria
Given An equipment identifier has been formatted for Canadian system
When The system searches the Canadian cargo database
Then Canadian cargo records matching the equipment identifier are retrieved
R-GCX016-cbl-03873 Canadian Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Cargo Found?' is invoked, and assuming that a search has been performed in the canadian cargo database, when the system evaluates search results, the desired outcome is that the system determines if canadian cargo records exist and proceeds accordingly.
💻 Technical Criteria
Given A search has been performed in the Canadian cargo database
When The system evaluates search results
Then The system determines if Canadian cargo records exist and proceeds accordingly
R-GCX016-cbl-03874 Validate Canadian Record Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Record Status' is invoked, and assuming that canadian cargo records have been found, when the system validates record status, the desired outcome is that the system confirms the canadian record is valid and active for processing.
💻 Technical Criteria
Given Canadian cargo records have been found
When The system validates record status
Then The system confirms the Canadian record is valid and active for processing
R-GCX016-cbl-03875 Record Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Valid?' is invoked, and assuming that canadian cargo record status has been validated, when the system determines record validity, the desired outcome is that the system confirms if the record is valid for cross-border matching or requires alternative processing.
💻 Technical Criteria
Given Canadian cargo record status has been validated
When The system determines record validity
Then The system confirms if the record is valid for cross-border matching or requires alternative processing
R-GCX016-cbl-03876 Match Equipment Identifiers
Process Rules
📊 Business Logic Narrative
When the process 'Match Equipment Identifiers' is invoked, and assuming that valid canadian cargo record exists, when the system compares us and canadian equipment identifiers, the desired outcome is that equipment identifiers are matched for cross-border coordination.
💻 Technical Criteria
Given Valid Canadian cargo record exists
When The system compares US and Canadian equipment identifiers
Then Equipment identifiers are matched for cross-border coordination
R-GCX016-cbl-03877 Equipment IDs Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment IDs Match?' is invoked, and assuming that equipment identifiers have been compared, when the system evaluates matching results, the desired outcome is that the system determines if equipment identifiers match and proceeds with appropriate action.
💻 Technical Criteria
Given Equipment identifiers have been compared
When The system evaluates matching results
Then The system determines if equipment identifiers match and proceeds with appropriate action
R-GCX016-cbl-03878 Establish Cross-Border Link
Action Rules
📊 Business Logic Narrative
When the process 'Establish Cross-Border Link' is invoked, and assuming that equipment identifiers match between us and canadian systems, when the system establishes cross-border coordination, the desired outcome is that a cross-border link is created between the cargo records.
💻 Technical Criteria
Given Equipment identifiers match between US and Canadian systems
When The system establishes cross-border coordination
Then A cross-border link is created between the cargo records
R-GCX016-cbl-03879 Update Coordination Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Coordination Status' is invoked, and assuming that cross-border link has been established, when the system updates coordination status, the desired outcome is that cargo records are updated with cross-border coordination information.
💻 Technical Criteria
Given Cross-border link has been established
When The system updates coordination status
Then Cargo records are updated with cross-border coordination information
R-GCX016-cbl-03881 Try Alternative Equipment Format
Process Rules
📊 Business Logic Narrative
When the process 'Try Alternative Equipment Format' is invoked, and assuming that initial equipment matching has failed or no canadian cargo found, when the system tries alternative formatting, the desired outcome is that equipment identifier is reformatted using alternative rules for another search attempt.
💻 Technical Criteria
Given Initial equipment matching has failed or no Canadian cargo found
When The system tries alternative formatting
Then Equipment identifier is reformatted using alternative rules for another search attempt
R-GCX016-cbl-03882 Alternative Format Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Alternative Format Available?' is invoked, and assuming that alternative equipment formatting has been attempted, when the system checks for more format options, the desired outcome is that the system determines if additional format alternatives exist or matching should be concluded.
💻 Technical Criteria
Given Alternative equipment formatting has been attempted
When The system checks for more format options
Then The system determines if additional format alternatives exist or matching should be concluded
R-GCX016-cbl-03883 Mark No Canadian Match Found
Action Rules
📊 Business Logic Narrative
When the process 'Mark No Canadian Match Found' is invoked, and assuming that all alternative equipment formats have been exhausted, when the system concludes matching attempts, the desired outcome is that the system marks that no canadian cargo match was found.
💻 Technical Criteria
Given All alternative equipment formats have been exhausted
When The system concludes matching attempts
Then The system marks that no Canadian cargo match was found
R-GCX016-cbl-03886 Check if Broker Code Exists
Validation Rules
📊 Business Logic Narrative
When the process 'Check if Broker Code Exists' is invoked, and assuming that a broker code lookup request for kcsm processing, when the system checks for broker code presence, the desired outcome is that the system determines if broker code exists and is not empty.
💻 Technical Criteria
Given a broker code lookup request for KCSM processing
When the system checks for broker code presence
Then the system determines if broker code exists and is not empty
R-GCX016-cbl-03923 Retrieve Broker Name for KCSM
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Broker Name for KCSM' is invoked, and assuming that a cargo record requires kcsm integration processing, when the system attempts to retrieve broker information from gcstbrt broker tables, the desired outcome is that the broker name is successfully retrieved and made available for transmission processing.
💻 Technical Criteria
Given A cargo record requires KCSM integration processing
When The system attempts to retrieve broker information from GCSTBRT broker tables
Then The broker name is successfully retrieved and made available for transmission processing