🔍

GCX003_US_Export_train - Thematically Grouped Rules

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

Unmapped Subprogram

Module Tracker: GCX003

1891 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 56 logic blocks
R-GCX003-cbl-00048 42:Error Message Processing
Process Rules
📊 Business Logic Narrative
When the process '42:Error Message Processing' is invoked, and assuming that error or warning message is generated, when processing message, the desired outcome is that increment appropriate counter (error, warning, info), track special message types (dsp holds), and handle spawn message indicators.
💻 Technical Criteria
Given Error or warning message is generated
When Processing message
Then Increment appropriate counter (error, warning, info), track special message types (DSP holds), and handle spawn message indicators
R-GCX003-cbl-00055 Set AEI Processing Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set AEI Processing Flag' is invoked, and assuming that the request type has been classified as aei or regular, when the system sets processing flags, the desired outcome is that aei train send flag is set to yes if request type equals aei request type, otherwise set to no.
💻 Technical Criteria
Given The request type has been classified as AEI or regular
When The system sets processing flags
Then AEI train send flag is set to YES if request type equals AEI request type, otherwise set to NO
R-GCX003-cbl-00061 End Request Processing Loop
Process Rules
📊 Business Logic Narrative
When the process 'End Request Processing Loop' is invoked, and assuming that no more input messages are available for processing, when the system exits the processing loop, the desired outcome is that the main processing routine is completed and control returns to the calling program.
💻 Technical Criteria
Given No more input messages are available for processing
When The system exits the processing loop
Then The main processing routine is completed and control returns to the calling program
R-GCX003-cbl-01792 Check if AEI Train Send Request
Decision Rules
📊 Business Logic Narrative
When the process 'Check if AEI Train Send Request' is invoked, and assuming that a train processing request is being validated, when the system needs to determine the request type, the desired outcome is that the request is classified as aei if the request type equals the aei request type constant.
💻 Technical Criteria
Given A train processing request is being validated
When The system needs to determine the request type
Then The request is classified as AEI if the request type equals the AEI request type constant
R-GCX003-cbl-00076 ETA Within Acceptable Range?
Validation Rules
📊 Business Logic Narrative
When the process 'ETA Within Acceptable Range?' is invoked, and assuming that an eta date and calculated acceptable date range, when the eta date is less than the low date or greater than the high date of the acceptable range, the desired outcome is that set appropriate error message based on user type - message 4 for supervisor users or message 21 for regular users.
💻 Technical Criteria
Given An ETA date and calculated acceptable date range
When The ETA date is less than the low date OR greater than the high date of the acceptable range
Then Set appropriate error message based on user type - message 4 for supervisor users or message 21 for regular users
R-GCX003-cbl-00081 Get Current Machine Date
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Current Machine Date' is invoked, and assuming that the system is processing a train manifest request, when a unique train identifier needs to be generated, the desired outcome is that the system captures the current machine date and century from the system.
💻 Technical Criteria
Given The system is processing a train manifest request
When A unique train identifier needs to be generated
Then The system captures the current machine date and century from the system
R-GCX003-cbl-01258 Continue with Next Cross-Reference
Process Rules
📊 Business Logic Narrative
When the process 'Continue with Next Cross-Reference' is invoked, and assuming that a cross-reference entry has been processed, when the system prepares to process the next entry, the desired outcome is that the cross-reference index counter is incremented by 1.
💻 Technical Criteria
Given A cross-reference entry has been processed
When The system prepares to process the next entry
Then The cross-reference index counter is incremented by 1
R-GCX003-cbl-01711 Initialize SHIPCOMM to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Initialize SHIPCOMM to Spaces' is invoked, and assuming that shipcomm segment retrieval has failed, when system needs to continue processing without shipment comments data, the desired outcome is that initialize shipcomm structure to spaces to ensure clean data state for subsequent processing.
💻 Technical Criteria
Given SHIPCOMM segment retrieval has failed
When System needs to continue processing without shipment comments data
Then Initialize SHIPCOMM structure to spaces to ensure clean data state for subsequent processing
R-GCX003-cbl-01733 ER Found?
Decision Rules
📊 Business Logic Narrative
When the process 'ER Found?' is invoked, and assuming that special handling codes array processing has completed, when the er found flag is evaluated, the desired outcome is that the system should determine the appropriate processing path based on whether er was found.
💻 Technical Criteria
Given Special handling codes array processing has completed
When The ER found flag is evaluated
Then The system should determine the appropriate processing path based on whether ER was found
R-GCX003-cbl-01741 Message Type = Error?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type = Error?' is invoked, and assuming that a non-spawn message line is being processed, when the system evaluates the message type indicator, the desired outcome is that if the message type is error, the system proceeds to error-specific processing and counter increments.
💻 Technical Criteria
Given A non-spawn message line is being processed
When The system evaluates the message type indicator
Then If the message type is error, the system proceeds to error-specific processing and counter increments
R-GCX003-cbl-01742 Message Type = Warning?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Message Type = Warning?', assuming that a non-spawn message line is not classified as an error, when the system evaluates the message type indicator, the desired outcome is that if the message type is warning, the system proceeds to warning-specific processing and counter increments.
💻 Technical Criteria
EXCLUDING A non-spawn message line is not classified as an error
When The system evaluates the message type indicator
Then If the message type is warning, the system proceeds to warning-specific processing and counter increments
R-GCX003-cbl-01853 Is Spawn Message?
Process Rules
📊 Business Logic Narrative
When the process 'Is Spawn Message?' is invoked, and assuming that a message line entry that has been identified, when the message is classified as a spawn message type, the desired outcome is that the system skips the statistical counting process and continues to index increment.
💻 Technical Criteria
Given A message line entry that has been identified
When The message is classified as a spawn message type
Then The system skips the statistical counting process and continues to index increment
R-GCX003-cbl-01855 Check Error Type 43?
Validation Rules
📊 Business Logic Narrative
When the process 'Check Error Type 43?' is invoked, and assuming that an error message that has been classified and counted, when the message type indicator equals 43, the desired outcome is that the system increments the special error type 43 counter by one.
💻 Technical Criteria
Given An error message that has been classified and counted
When The message type indicator equals 43
Then The system increments the special error type 43 counter by one
R-GCX003-cbl-01857 Check Warning Types 49/52?
Validation Rules
📊 Business Logic Narrative
When the process 'Check Warning Types 49/52?' is invoked, and assuming that a warning message that has been classified and counted, when the message type indicator equals 49 or 52, the desired outcome is that the system increments the dsp count by one.
💻 Technical Criteria
Given A warning message that has been classified and counted
When The message type indicator equals 49 or 52
Then The system increments the DSP count by one
R-GCX003-cbl-01413 Add Spawn Count to Error Count
Computation Rules
📊 Business Logic Narrative
When the process 'Add Spawn Count to Error Count' is invoked, and assuming that train manifest processing has spawn messages that need special handling, when the system calculates the total error count for display, the desired outcome is that the spawn count is added to the existing error count to show total issues.
💻 Technical Criteria
Given Train manifest processing has spawn messages that need special handling
When The system calculates the total error count for display
Then The spawn count is added to the existing error count to show total issues
R-GCX003-cbl-01417 Add Spawn Count to Warning Count
Computation Rules
📊 Business Logic Narrative
When the process 'Add Spawn Count to Warning Count' is invoked, and assuming that train manifest processing has both errors and spawn messages, when the system calculates final warning count for display, the desired outcome is that the spawn count is added to the existing warning count.
💻 Technical Criteria
Given Train manifest processing has both errors and spawn messages
When The system calculates final warning count for display
Then The spawn count is added to the existing warning count
R-GCX003-cbl-00455 Send Current Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Current Email Batch' is invoked, and assuming that the email message buffer contains 699 or more lines, when the batch size limit is reached, the desired outcome is that call emcsend3 to send the current email batch with all configured parameters including sender, recipient, subject, and message content.
💻 Technical Criteria
Given The email message buffer contains 699 or more lines
When The batch size limit is reached
Then Call EMCSEND3 to send the current email batch with all configured parameters including sender, recipient, subject, and message content
R-GCX003-cbl-00456 Clear Email Message Buffer
Process Rules
📊 Business Logic Narrative
When the process 'Clear Email Message Buffer' is invoked, and assuming that an email batch has been successfully sent, when the system prepares for the next batch, the desired outcome is that clear the email text message buffer by setting it to spaces.
💻 Technical Criteria
Given An email batch has been successfully sent
When The system prepares for the next batch
Then Clear the email text message buffer by setting it to spaces
R-GCX003-cbl-01456 Is AEI Train Send Request?
Decision Rules
📊 Business Logic Narrative
When the process 'Is AEI Train Send Request?' is invoked, and assuming that a train request is being processed, when the request type equals the aei request type constant, the desired outcome is that set aei train send flag to yes, otherwise set to no.
💻 Technical Criteria
Given A train request is being processed
When The request type equals the AEI request type constant
Then Set AEI train send flag to YES, otherwise set to NO
R-GCX003-cbl-00475 Check if AEI Train Send Request
Decision Rules
📊 Business Logic Narrative
When the process 'Check if AEI Train Send Request' is invoked, and assuming that a train processing request is received, when the request type equals the aei request type constant, the desired outcome is that set aei train send flag to yes, otherwise set to no.
💻 Technical Criteria
Given A train processing request is received
When The request type equals the AEI request type constant
Then Set AEI train send flag to YES, otherwise set to NO
R-GCX003-cbl-00480 Build Email Subject Line
Computation Rules
📊 Business Logic Narrative
When the process 'Build Email Subject Line' is invoked, and assuming that email recipients have been configured, when building the email subject line, the desired outcome is that if errors occurred, create subject 'us train [train_id] not sent at [origin]', otherwise create 'us train [train_id] sent at [origin]'.
💻 Technical Criteria
Given Email recipients have been configured
When Building the email subject line
Then If errors occurred, create subject 'US TRAIN [train_id] NOT SENT AT [origin]', otherwise create 'US TRAIN [train_id] SENT AT [origin]'
R-GCX003-cbl-00497 Capture Current Time
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Time' is invoked, and assuming that an aei activity log entry is being created, when a time timestamp is required, the desired outcome is that the current machine time is captured and stored in the log entry time field.
💻 Technical Criteria
Given An AEI activity log entry is being created
When A time timestamp is required
Then The current machine time is captured and stored in the log entry time field
R-GCX003-cbl-00499 Set Standard AEI Send Message
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Standard AEI Send Message' is invoked, and assuming that an aei activity log entry requires a descriptive message, when the message field needs to be populated, the desired outcome is that the standard aei send log message is assigned to describe the activity.
💻 Technical Criteria
Given An AEI activity log entry requires a descriptive message
When The message field needs to be populated
Then The standard AEI send log message is assigned to describe the activity
R-GCX003-cbl-00502 Write Log Message to System
Action Rules
📊 Business Logic Narrative
When the process 'Write Log Message to System' is invoked, and assuming that an aei log entry has been queued, when the log message needs to be written to system storage, the desired outcome is that the system writes the log message using the message logging service.
💻 Technical Criteria
Given An AEI log entry has been queued
When The log message needs to be written to system storage
Then The system writes the log message using the message logging service
R-GCX003-cbl-00503 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that an aei log message has been successfully written to the system, when queue cleanup is required, the desired outcome is that the message queue is purged to remove the processed log entry.
💻 Technical Criteria
Given An AEI log message has been successfully written to the system
When Queue cleanup is required
Then The message queue is purged to remove the processed log entry
R-GCX003-cbl-00552 Categorize Message Type
Decision Rules
📊 Business Logic Narrative
When the process 'Categorize Message Type' is invoked, and assuming that a message has been generated during processing, when the message type is determined, the desired outcome is that set appropriate error, warning, or info flag and increment corresponding counter.
💻 Technical Criteria
Given A message has been generated during processing
When The message type is determined
Then Set appropriate error, warning, or info flag and increment corresponding counter
R-GCX003-cbl-01470 Check if Message Type 43
Process Rules
📊 Business Logic Narrative
When the process 'Check if Message Type 43' is invoked, and assuming that an error message has been identified, when the message type indicator equals 43, the desired outcome is that increment the type 43 error count by 1.
💻 Technical Criteria
Given An error message has been identified
When The message type indicator equals 43
Then Increment the type 43 error count by 1
R-GCX003-cbl-01472 DSP Message Type 49 or 52?
Process Rules
📊 Business Logic Narrative
When the process 'DSP Message Type 49 or 52?' is invoked, and assuming that a warning message has been identified, when the message type indicator equals 49 or 52, the desired outcome is that increment the dispatcher count by 1.
💻 Technical Criteria
Given A warning message has been identified
When The message type indicator equals 49 or 52
Then Increment the dispatcher count by 1
R-GCX003-cbl-01764 Classify as Error Message
Decision Rules
📊 Business Logic Narrative
When the process 'Classify as Error Message' is invoked, and assuming that a non-spawn message line is being processed, when the message severity is classified as error level, the desired outcome is that increment the error counter by 1, and if the message type is 43, also increment the special error counter (err-43-cnt) by 1.
💻 Technical Criteria
Given A non-spawn message line is being processed
When The message severity is classified as error level
Then Increment the error counter by 1, and if the message type is 43, also increment the special error counter (ERR-43-CNT) by 1
R-GCX003-cbl-01765 Classify as Warning Message
Decision Rules
📊 Business Logic Narrative
When the process 'Classify as Warning Message' is invoked, and assuming that a non-spawn message line is being processed, when the message severity is classified as warning level, the desired outcome is that increment the warning counter by 1, and if the message type is 49 or 52, also increment the dsp counter by 1.
💻 Technical Criteria
Given A non-spawn message line is being processed
When The message severity is classified as warning level
Then Increment the warning counter by 1, and if the message type is 49 or 52, also increment the DSP counter by 1
R-GCX003-cbl-01874 Type 43 Error?
Validation Rules
📊 Business Logic Narrative
When the process 'Type 43 Error?' is invoked, and assuming that an error message is being processed, when the error message type indicator equals 43, the desired outcome is that the system increments the type 43 error counter by 1.
💻 Technical Criteria
Given An error message is being processed
When The error message type indicator equals 43
Then The system increments the Type 43 error counter by 1
R-GCX003-cbl-01876 DSP Message Type 49 or 52?
Validation Rules
📊 Business Logic Narrative
When the process 'DSP Message Type 49 or 52?' is invoked, and assuming that a warning message is being processed, when the message type indicator equals 49 or 52, the desired outcome is that the system increments the dsp counter by 1.
💻 Technical Criteria
Given A warning message is being processed
When The message type indicator equals 49 or 52
Then The system increments the DSP counter by 1
R-GCX003-cbl-01476 Increment Error Counter
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Error Counter', assuming that a message line is classified as an error message and is not a spawn message, when the message type is determined to be an error, the desired outcome is that the system adds 1 to the error message counter.
💻 Technical Criteria
EXCLUDING A message line is classified as an error message and is not a spawn message
When The message type is determined to be an error
Then The system adds 1 to the error message counter
R-GCX003-cbl-01478 Increment Warning Counter
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Warning Counter', assuming that a message line is classified as a warning message and is not a spawn message, when the message type is determined to be a warning, the desired outcome is that the system adds 1 to the warning message counter.
💻 Technical Criteria
EXCLUDING A message line is classified as a warning message and is not a spawn message
When The message type is determined to be a warning
Then The system adds 1 to the warning message counter
R-GCX003-cbl-00570 Write Log Message to System
Action Rules
📊 Business Logic Narrative
When the process 'Write Log Message to System' is invoked, and assuming that an audit log message has been queued, when the system writes the message to the system log, the desired outcome is that the message is written using writmsgl with the message code, content, length, and module name.
💻 Technical Criteria
Given An audit log message has been queued
When The system writes the message to the system log
Then The message is written using WRITMSGL with the message code, content, length, and module name
R-GCX003-cbl-00577 Processing Error Occurred?
Decision Rules
📊 Business Logic Narrative
When the process 'Processing Error Occurred?' is invoked, and assuming that train manifest processing is executing with potential for errors, when the system evaluates whether processing errors have occurred, the desired outcome is that if no errors occurred, continue normal processing; if errors occurred, trigger rollback processing.
💻 Technical Criteria
Given Train manifest processing is executing with potential for errors
When The system evaluates whether processing errors have occurred
Then If no errors occurred, continue normal processing; if errors occurred, trigger rollback processing
R-GCX003-cbl-00733 Move Retrieved Data to Working Storage Arrays
Process Rules
📊 Business Logic Narrative
When the process 'Move Retrieved Data to Working Storage Arrays' is invoked, and assuming that segment data retrieval was successful, when the system processes the retrieved data, the desired outcome is that the system should move seg03, seg06, seg07, seg08, seg09, and seg12 data from arrays to individual segment structures.
💻 Technical Criteria
Given Segment data retrieval was successful
When The system processes the retrieved data
Then The system should move SEG03, SEG06, SEG07, SEG08, SEG09, and SEG12 data from arrays to individual segment structures
R-GCX003-cbl-00787 Trigger Special Manifest Processing
Action Rules
📊 Business Logic Narrative
When the process 'Trigger Special Manifest Processing' is invoked, and assuming that train processing completed successfully with spawn messages, when spawn messages need to be processed, the desired outcome is that execute special manifest processing for each spawn message from 1 to spawn count.
💻 Technical Criteria
Given Train processing completed successfully with spawn messages
When Spawn messages need to be processed
Then Execute special manifest processing for each spawn message from 1 to spawn count
R-GCX003-cbl-00789 Convert Spawn Messages to Warning Messages
Process Rules
📊 Business Logic Narrative
When the process 'Convert Spawn Messages to Warning Messages' is invoked, and assuming that train processing has errors and spawn messages are present, when final message processing occurs, the desired outcome is that add spawn count to warning message count.
💻 Technical Criteria
Given Train processing has errors AND spawn messages are present
When Final message processing occurs
Then Add spawn count to warning message count
R-GCX003-cbl-01883 Increment Type 43 Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Type 43 Counter' is invoked, and assuming that an error message has been identified as type 43, when the system processes the type 43 error, the desired outcome is that the err-43-cnt counter is incremented by one.
💻 Technical Criteria
Given An error message has been identified as Type 43
When The system processes the Type 43 error
Then The ERR-43-CNT counter is incremented by one
R-GCX003-cbl-01886 Increment DSP Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment DSP Counter' is invoked, and assuming that a warning message has been identified as type 49 or 52, when the system processes the special warning type, the desired outcome is that the rpt-dsp-cnt counter is incremented by one.
💻 Technical Criteria
Given A warning message has been identified as type 49 or 52
When The system processes the special warning type
Then The RPT-DSP-CNT counter is incremented by one
R-GCX003-cbl-01888 Error Type 43 Count Check
Validation Rules
📊 Business Logic Narrative
When the process 'Error Type 43 Count Check' is invoked, and assuming that error counting is complete and type 43 error count exists, when the system compares the total error count with the type 43 error count, the desired outcome is that if error count equals type 43 count, processing continues normally; otherwise excess type 43 errors are converted to warnings with appropriate counter adjustments.
💻 Technical Criteria
Given Error counting is complete and Type 43 error count exists
When The system compares the total error count with the Type 43 error count
Then If error count equals Type 43 count, processing continues normally; otherwise excess Type 43 errors are converted to warnings with appropriate counter adjustments
R-GCX003-cbl-00850 Trigger Special Manifest Processing
Action Rules
📊 Business Logic Narrative
When the process 'Trigger Special Manifest Processing' is invoked, and assuming that train manifest processing resulted in spawn messages requiring special handling, when the system needs to process spawned items, the desired outcome is that execute special manifest processing for each spawned item using gcx101 module.
💻 Technical Criteria
Given Train manifest processing resulted in spawn messages requiring special handling
When The system needs to process spawned items
Then Execute special manifest processing for each spawned item using GCX101 module
R-GCX003-cbl-00856 Line Count > 699?
Validation Rules
📊 Business Logic Narrative
When the process 'Line Count > 699?' is invoked, and assuming that lines are being added to an email message buffer, when the line count reaches or exceeds 699 lines, the desired outcome is that the current email batch must be sent and a new batch must be started.
💻 Technical Criteria
Given Lines are being added to an email message buffer
When The line count reaches or exceeds 699 lines
Then The current email batch must be sent and a new batch must be started
R-GCX003-cbl-00900 Move GCX141 Input to Message Output Text
Process Rules
📊 Business Logic Narrative
When the process 'Move GCX141 Input to Message Output Text' is invoked, and assuming that gcx141 input parameters are fully configured with train id and flags, when the message needs to be prepared for output, the desired outcome is that the complete gcx141 input is moved to the message output text field.
💻 Technical Criteria
Given GCX141 input parameters are fully configured with train ID and flags
When The message needs to be prepared for output
Then The complete GCX141 input is moved to the message output text field
R-GCX003-cbl-00946 Line Count > 699?
Validation Rules
📊 Business Logic Narrative
When the process 'Line Count > 699?' is invoked, and assuming that lines have been added to the current email batch, when the line counter is evaluated against the maximum limit, the desired outcome is that if line counter exceeds 699, trigger email batch sending, otherwise continue adding lines.
💻 Technical Criteria
Given Lines have been added to the current email batch
When The line counter is evaluated against the maximum limit
Then If line counter exceeds 699, trigger email batch sending, otherwise continue adding lines
R-GCX003-cbl-00949 Clear Email Message Buffer
Process Rules
📊 Business Logic Narrative
When the process 'Clear Email Message Buffer' is invoked, and assuming that an email batch has been sent and a new batch needs to be prepared, when email message buffer needs to be cleared, the desired outcome is that the email text message buffer is cleared to spaces.
💻 Technical Criteria
Given An email batch has been sent and a new batch needs to be prepared
When Email message buffer needs to be cleared
Then The email text message buffer is cleared to spaces
R-GCX003-cbl-00950 Reset Line Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Reset Line Counter to Zero' is invoked, and assuming that an email batch has been sent and line counter needs reset for next batch, when line counter reset is required, the desired outcome is that the line counter is set to zero to begin counting lines for the new email batch.
💻 Technical Criteria
Given An email batch has been sent and line counter needs reset for next batch
When Line counter reset is required
Then The line counter is set to zero to begin counting lines for the new email batch
R-GCX003-cbl-01029 Extract SCAC1 Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC1 Code' is invoked, and assuming that field number is 1 and field length is valid, when system processes the first routing field, the desired outcome is that first carrier scac code is extracted and stored, and field number is incremented to 2.
💻 Technical Criteria
Given Field number is 1 and field length is valid
When System processes the first routing field
Then First carrier SCAC code is extracted and stored, and field number is incremented to 2
R-GCX003-cbl-01031 Extract SCAC2 Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC2 Code' is invoked, and assuming that field number is 3 and field length is valid, when system processes the third routing field, the desired outcome is that second carrier scac code is extracted and stored, and field number is incremented to 4.
💻 Technical Criteria
Given Field number is 3 and field length is valid
When System processes the third routing field
Then Second carrier SCAC code is extracted and stored, and field number is incremented to 4
R-GCX003-cbl-01033 Extract SCAC3 Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC3 Code' is invoked, and assuming that field number is 5 and field length is valid, when system processes the fifth routing field, the desired outcome is that third carrier scac code is extracted and stored, and field number is incremented to 6.
💻 Technical Criteria
Given Field number is 5 and field length is valid
When System processes the fifth routing field
Then Third carrier SCAC code is extracted and stored, and field number is incremented to 6
R-GCX003-cbl-01035 Extract SCAC4 Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC4 Code' is invoked, and assuming that field number is 7 and field length is valid, when system processes the seventh routing field, the desired outcome is that fourth carrier scac code is extracted and stored, and field processing terminates.
💻 Technical Criteria
Given Field number is 7 and field length is valid
When System processes the seventh routing field
Then Fourth carrier SCAC code is extracted and stored, and field processing terminates
R-GCX003-cbl-01133 Format Current Date from System
Computation Rules
📊 Business Logic Narrative
When the process 'Format Current Date from System' is invoked, and assuming that the user acf2 id is captured, when the system formats the current date for logging, the desired outcome is that the gcx105-date is populated by concatenating cc-machine-century and cc-machine-date from cccom.
💻 Technical Criteria
Given The user ACF2 ID is captured
When The system formats the current date for logging
Then The GCX105-DATE is populated by concatenating CC-MACHINE-CENTURY and CC-MACHINE-DATE from CCCOM
R-GCX003-cbl-01134 Capture Current Time from System
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Time from System' is invoked, and assuming that the current date is formatted, when the system captures the current time, the desired outcome is that the gcx105-time is populated with cc-machine-time from cccom.
💻 Technical Criteria
Given The current date is formatted
When The system captures the current time
Then The GCX105-TIME is populated with CC-MACHINE-TIME from CCCOM
R-GCX003-cbl-01137 Move Log Data to Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Move Log Data to Message Structure' is invoked, and assuming that the log message text is assigned, when the system prepares the final message structure, the desired outcome is that the gcx105-input is moved to gct1051e-msg.
💻 Technical Criteria
Given The log message text is assigned
When The system prepares the final message structure
Then The GCX105-INPUT is moved to GCT1051E-MSG
R-GCX003-cbl-01139 Write Log Message to System
Action Rules
📊 Business Logic Narrative
When the process 'Write Log Message to System' is invoked, and assuming that the log message is sent to alt pcb, when the system writes the log message, the desired outcome is that writmsgl is called with alt-pcb, message code, message content, message length, and module name.
💻 Technical Criteria
Given The log message is sent to Alt PCB
When The system writes the log message
Then WRITMSGL is called with ALT-PCB, message code, message content, message length, and module name

🏷️ CCN & Waybill Identification 311 logic blocks
R-GCX003-cbl-00014 8:Container Waybill Retrieval
Process Rules
📊 Business Logic Narrative
When the process '8:Container Waybill Retrieval' is invoked, and assuming that equipment is identified as a container, when container is found in container inquiry system, the desired outcome is that retrieve waybill information using container inquiry data, otherwise use container database lookup.
💻 Technical Criteria
Given Equipment is identified as a container
When Container is found in container inquiry system
Then Retrieve waybill information using container inquiry data, otherwise use container database lookup
R-GCX003-cbl-00015 9:Car Waybill Retrieval
Process Rules
📊 Business Logic Narrative
When the process '9:Car Waybill Retrieval' is invoked, and assuming that equipment is identified as a car with init and number, when car waybill lookup is performed, the desired outcome is that retrieve latest waybill excluding temporary, corrector, and incomplete edi waybills, and if car is loaded empty, treat as waybill not found.
💻 Technical Criteria
Given Equipment is identified as a car with init and number
When Car waybill lookup is performed
Then Retrieve latest waybill excluding temporary, corrector, and incomplete EDI waybills, and if car is loaded empty, treat as waybill not found
R-GCX003-cbl-00016 10:Cargo Record Retrieval
Process Rules
📊 Business Logic Narrative
When the process '10:Cargo Record Retrieval' is invoked, and assuming that a waybill is found for equipment, when cargo lookup is performed using waybill number and equipment id, the desired outcome is that retrieve first cargo record and set cargo found flag, otherwise set no cargo found flag.
💻 Technical Criteria
Given A waybill is found for equipment
When Cargo lookup is performed using waybill number and equipment ID
Then Retrieve first cargo record and set cargo found flag, otherwise set no cargo found flag
R-GCX003-cbl-00020 13:Equipment Type Validation
Computation Rules
📊 Business Logic Narrative
When the process '13:Equipment Type Validation' is invoked, and assuming that equipment type is 'sk' and waybill is found, when double stack traffic type is determined, the desired outcome is that add double stack count to appropriate traffic counter (cprs, csxt, ns, or haul).
💻 Technical Criteria
Given Equipment type is 'SK' and waybill is found
When Double stack traffic type is determined
Then Add double stack count to appropriate traffic counter (CPRS, CSXT, NS, or HAUL)
R-GCX003-cbl-00021 14:Cargo Information Processing
Process Rules
📊 Business Logic Narrative
When the process '14:Cargo Information Processing' is invoked, and assuming that cargo is found for equipment, when processing cargo information, the desired outcome is that extract us ccn key, load/empty code, bond numbers, and set appropriate bond found flags based on cargo type.
💻 Technical Criteria
Given Cargo is found for equipment
When Processing cargo information
Then Extract US CCN key, load/empty code, bond numbers, and set appropriate bond found flags based on cargo type
R-GCX003-cbl-00029 21:Detour Processing Coordination
Action Rules
📊 Business Logic Narrative
When the process '21:Detour Processing Coordination' is invoked, and assuming that cargo and waybill conditions are evaluated, when specific detour conditions are met for te bond, tr bond, border clearance, us-us movement, or us-mexico export, the desired outcome is that invoke appropriate detour processing routine (b551, b552, b553, b554, or b555).
💻 Technical Criteria
Given Cargo and waybill conditions are evaluated
When Specific detour conditions are met for TE bond, TR bond, border clearance, US-US movement, or US-Mexico export
Then Invoke appropriate detour processing routine (B551, B552, B553, B554, or B555)
R-GCX003-cbl-00033 25:US-US Movement Detour Processing
Process Rules
📊 Business Logic Narrative
When the process '25:US-US Movement Detour Processing' is invoked, and assuming that waybill found with no cargo for us domestic movement, when request action is report, the desired outcome is that generate message 18, when request action is send and user is authorized for special manifest, generate message 23 and spawn us-us detour manifest, when user is not authorized, generate message 43.
💻 Technical Criteria
Given Waybill found with no cargo for US domestic movement
When Request action is REPORT
Then Generate message 18, when request action is SEND and user is authorized for special manifest, generate message 23 and spawn US-US detour manifest, when user is not authorized, generate message 43
R-GCX003-cbl-00035 27:Geographic Route Validation
Decision Rules
📊 Business Logic Narrative
When the process '27:Geographic Route Validation' is invoked, and assuming that waybill contains routing information, when route contains hazmat code 'hm', the desired outcome is that set routing indicator to 2, when route has csxt or ns to cprs via det, set indicator to 3 (csxt) or 4 (ns), otherwise set indicator to 1.
💻 Technical Criteria
Given Waybill contains routing information
When Route contains hazmat code 'HM'
Then Set routing indicator to 2, when route has CSXT or NS to CPRS via DET, set indicator to 3 (CSXT) or 4 (NS), otherwise set indicator to 1
R-GCX003-cbl-00036 28:Container on Flat Car Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '28:Container on Flat Car Processing', assuming that equipment is identified as container or waybill indicates conveying car with loaded status, when container is not found in primary database, the desired outcome is that search container database, if still not found, search inquiry system for container cross-reference, generate error message 11 if no container found.
💻 Technical Criteria
EXCLUDING Equipment is identified as container or waybill indicates conveying car with loaded status
When Container is not found in primary database
Then Search container database, if still not found, search inquiry system for container cross-reference, generate error message 11 if no container found
R-GCX003-cbl-00050 44:Activity Audit Logging
Process Rules
📊 Business Logic Narrative
When the process '44:Activity Audit Logging' is invoked, and assuming that cargo is successfully added to train, when logging cargo activity, the desired outcome is that create audit log entry with cargo ccn, user id, date/time, action code 'zzz', and cargo added message.
💻 Technical Criteria
Given Cargo is successfully added to train
When Logging cargo activity
Then Create audit log entry with cargo CCN, user ID, date/time, action code 'ZZZ', and cargo added message
R-GCX003-cbl-00058 Process Equipment List for Train
Process Rules
📊 Business Logic Narrative
When the process 'Process Equipment List for Train' is invoked, and assuming that user has access to process the request and equipment list exists, when the system processes the equipment list, the desired outcome is that each equipment item is processed through equipment validation, waybill retrieval, cargo processing, and report building until all equipment is processed or maximum limit of 499 items is reached.
💻 Technical Criteria
Given User has access to process the request and equipment list exists
When The system processes the equipment list
Then Each equipment item is processed through equipment validation, waybill retrieval, cargo processing, and report building until all equipment is processed or maximum limit of 499 items is reached
R-GCX003-cbl-01168 Container Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Container Found?' is invoked, and assuming that equipment has been successfully formatted and validated, when the system checks the equipment type in the waybill database, the desired outcome is that if equipment is identified as a container, container-specific waybill retrieval is performed, otherwise car waybill retrieval is used.
💻 Technical Criteria
Given Equipment has been successfully formatted and validated
When The system checks the equipment type in the waybill database
Then If equipment is identified as a container, container-specific waybill retrieval is performed, otherwise car waybill retrieval is used
R-GCX003-cbl-01169 Retrieve Container Waybill
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Container Waybill' is invoked, and assuming that equipment is identified as a container type, when the system searches for waybill information, the desired outcome is that container waybill data is retrieved from shiproot using container id as the key.
💻 Technical Criteria
Given Equipment is identified as a container type
When The system searches for waybill information
Then Container waybill data is retrieved from SHIPROOT using container ID as the key
R-GCX003-cbl-01170 Retrieve Car Waybill with Fallback
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Car Waybill with Fallback' is invoked, and assuming that equipment is identified as a railcar (not container), when the system searches for waybill information, the desired outcome is that primary waybill lookup is attempted, and if not found, inquiry system (fwciroot) is searched as fallback.
💻 Technical Criteria
Given Equipment is identified as a railcar (not container)
When The system searches for waybill information
Then Primary waybill lookup is attempted, and if not found, inquiry system (FWCIROOT) is searched as fallback
R-GCX003-cbl-01171 Waybill Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Waybill Found?' is invoked, and assuming that a waybill has been located for equipment, when the equipment is marked as empty (e) and the waybill shows loaded status (l), the desired outcome is that the waybill is treated as not found to prevent incorrect cargo association.
💻 Technical Criteria
Given A waybill has been located for equipment
When The equipment is marked as empty (E) and the waybill shows loaded status (L)
Then The waybill is treated as not found to prevent incorrect cargo association
R-GCX003-cbl-01172 Retrieve First Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve First Cargo Record' is invoked, and assuming that a valid waybill has been found for the equipment, when the system searches for associated cargo records, the desired outcome is that the first cargo record is retrieved using waybill root key, waybill date, and equipment id as search criteria.
💻 Technical Criteria
Given A valid waybill has been found for the equipment
When The system searches for associated cargo records
Then The first cargo record is retrieved using waybill root key, waybill date, and equipment ID as search criteria
R-GCX003-cbl-01173 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that the system has searched for cargo records associated with the waybill, when cargo retrieval operation completes, the desired outcome is that if no cargo is found, the no-cargo-found flag is set and error message processing is triggered.
💻 Technical Criteria
Given The system has searched for cargo records associated with the waybill
When Cargo retrieval operation completes
Then If no cargo is found, the no-cargo-found flag is set and error message processing is triggered
R-GCX003-cbl-01177 Retrieve Next Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Next Cargo Record' is invoked, and assuming that a cargo record has been processed for the current equipment, when the system searches for additional cargo records, the desired outcome is that the next cargo record with matching waybill and equipment criteria is retrieved for processing.
💻 Technical Criteria
Given A cargo record has been processed for the current equipment
When The system searches for additional cargo records
Then The next cargo record with matching waybill and equipment criteria is retrieved for processing
R-GCX003-cbl-01178 More Cargo Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo Records?' is invoked, and assuming that cargo processing is in progress for current equipment, when the system checks for additional cargo records, the desired outcome is that if more cargo records exist with matching waybill and equipment id, processing continues, otherwise cargo processing completes.
💻 Technical Criteria
Given Cargo processing is in progress for current equipment
When The system checks for additional cargo records
Then If more cargo records exist with matching waybill and equipment ID, processing continues, otherwise cargo processing completes
R-GCX003-cbl-01179 Generate Error Messages
Decision Rules
📊 Business Logic Narrative
When the process 'Generate Error Messages' is invoked, and assuming that equipment processing has completed for waybill and cargo retrieval, when the system evaluates processing results against business rules, the desired outcome is that appropriate error messages are generated for conditions like missing waybills, cargo status issues, bond type mismatches, or regulatory violations.
💻 Technical Criteria
Given Equipment processing has completed for waybill and cargo retrieval
When The system evaluates processing results against business rules
Then Appropriate error messages are generated for conditions like missing waybills, cargo status issues, bond type mismatches, or regulatory violations
R-GCX003-cbl-01180 Retrieve Container on Flat Car
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Container on Flat Car' is invoked, and assuming that equipment processing indicates container on flat car scenario or waybill shows conveying car with loaded status, when the system searches for container information, the desired outcome is that container data is retrieved from fwswrwr database or inquiry system, and if not found, error message 11 is generated.
💻 Technical Criteria
Given Equipment processing indicates container on flat car scenario or waybill shows conveying car with loaded status
When The system searches for container information
Then Container data is retrieved from FWSWRWR database or inquiry system, and if not found, error message 11 is generated
R-GCX003-cbl-01517 Special Manifest at Woburn-PQ Station?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Manifest at Woburn-PQ Station?' is invoked, and assuming that waybill is found and cargo is found and cargo has special manifest original designation, when the crossing port is woburn-pq station, the desired outcome is that continue processing without generating error messages.
💻 Technical Criteria
Given Waybill is found AND cargo is found AND cargo has special manifest original designation
When The crossing port is Woburn-PQ station
Then Continue processing without generating error messages
R-GCX003-cbl-01518 Special Manifest Special Type?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Special Manifest Special Type?', assuming that waybill is found and cargo is found and cargo has special manifest special designation, when the crossing port is not woburn-pq station, the desired outcome is that continue processing without generating error messages.
💻 Technical Criteria
EXCLUDING Waybill is found AND cargo is found AND cargo has special manifest special designation
When The crossing port is NOT Woburn-PQ station
Then Continue processing without generating error messages
R-GCX003-cbl-01519 US-CAN-US Bond with Special TR?
Decision Rules
📊 Business Logic Narrative
When the process 'US-CAN-US Bond with Special TR?' is invoked, and assuming that waybill is found and cargo is found and bond type is us-canada-us (88-gcusrt-m1201-us-can-us) and cargo has special tr designation, when the crossing port is laredo tx station, the desired outcome is that set the special tr found flag to true.
💻 Technical Criteria
Given Waybill is found AND cargo is found AND bond type is US-Canada-US (88-GCUSRT-M1201-US-CAN-US) AND cargo has special TR designation
When The crossing port is Laredo TX station
Then Set the special TR found flag to true
R-GCX003-cbl-01520 Export Bond with Special 88?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Bond with Special 88?' is invoked, and assuming that waybill is found and cargo is found and bond type is export (88-gcusrt-m1109-export) and cargo has special 88 designation, when processing the cargo record, the desired outcome is that set the us-mexico 88 found flag to true.
💻 Technical Criteria
Given Waybill is found AND cargo is found AND bond type is export (88-GCUSRT-M1109-EXPORT) AND cargo has special 88 designation
When Processing the cargo record
Then Set the US-Mexico 88 found flag to true
R-GCX003-cbl-01521 Export Bond without Special 88?
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Export Bond without Special 88?', assuming that waybill is found and cargo is found and bond type is export (88-gcusrt-m1109-export) and cargo does not have special 88 designation and origin-destination country codes are 'usmx', when the crossing port is not laredo tx station, the desired outcome is that execute us-mexico export detour process (b550-detour-process).
💻 Technical Criteria
EXCLUDING Waybill is found AND cargo is found AND bond type is export (88-GCUSRT-M1109-EXPORT) AND cargo does NOT have special 88 designation AND origin-destination country codes are 'USMX'
When The crossing port is NOT Laredo TX station
Then Execute US-Mexico export detour process (B550-DETOUR-PROCESS)
R-GCX003-cbl-01522 Cargo Found with Various Bond Conditions?
Action Rules
📊 Business Logic Narrative
When the process 'Cargo Found with Various Bond Conditions?' is invoked, and assuming that waybill is found and cargo is found, when bond type is transport export or us-canada-us (without special tr) or default type and specific cargo status conditions are met and cargo is marked for it creation, the desired outcome is that execute appropriate detour processing logic and set corresponding creation flags.
💻 Technical Criteria
Given Waybill is found AND cargo is found
When Bond type is transport export OR US-Canada-US (without special TR) OR default type AND specific cargo status conditions are met AND cargo is marked for IT creation
Then Execute appropriate detour processing logic and set corresponding creation flags
R-GCX003-cbl-01523 Waybill Not Found Scenarios?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Waybill Not Found Scenarios?', assuming that container is not found and equipment is marked as loaded and equipment is not a special business unit van, when waybill is not found or waybill is not found and container is not found, the desired outcome is that generate message 10 (waybill not found error).
💻 Technical Criteria
EXCLUDING Container is not found AND equipment is marked as loaded AND equipment is not a special business unit van
When Waybill is not found OR waybill is not found and container is not found
Then Generate message 10 (waybill not found error)
R-GCX003-cbl-01524 Waybill Found but No Cargo?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Waybill Found but No Cargo?', assuming that waybill is found and no cargo is found and equipment is marked as loaded and equipment is not a conveying car and idler indicator is not 'i', when container is not found or container is found but load/empty indicator is 'l', the desired outcome is that generate message 15 (no cargo found error) with waybill root key and date.
💻 Technical Criteria
EXCLUDING Waybill is found AND no cargo is found AND equipment is marked as loaded AND equipment is not a conveying car AND idler indicator is not 'I'
When Container is not found OR container is found but load/empty indicator is 'L'
Then Generate message 15 (no cargo found error) with waybill root key and date
R-GCX003-cbl-01787 Set IT Export Spawn Flag
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set IT Export Spawn Flag', assuming that user is authorized for special manifests, cargo bond type is 'it', special manifest original flag is not set, and request action is send, when the system creates the it export special manifest, the desired outcome is that set msg-23 message type, copy equipment line to report, add equipment to total count, set it export spawn flag, initialize special manifest parameters with gcx101 it export type, copy equipment id, waybill number, waybill date, border codes, ccn from cargo record, origin/destination codes, and queue special manifest for processing.
💻 Technical Criteria
EXCLUDING User is authorized for special manifests, cargo bond type is 'IT', special manifest original flag is not set, and request action is SEND
When The system creates the IT export special manifest
Then Set MSG-23 message type, copy equipment line to report, add equipment to total count, set IT export spawn flag, initialize special manifest parameters with GCX101 IT export type, copy equipment ID, waybill number, waybill date, border codes, CCN from cargo record, origin/destination codes, and queue special manifest for processing
R-GCX003-cbl-01224 Container Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Container Found?' is invoked, and assuming that an equipment item is being processed, when the system needs to retrieve waybill information, the desired outcome is that if container is found, use container-specific waybill retrieval, otherwise use car-specific waybill retrieval method.
💻 Technical Criteria
Given An equipment item is being processed
When The system needs to retrieve waybill information
Then If container is found, use container-specific waybill retrieval, otherwise use car-specific waybill retrieval method
R-GCX003-cbl-01225 Retrieve Container Waybill
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Container Waybill' is invoked, and assuming that equipment is identified as a container, when waybill retrieval is performed, the desired outcome is that system retrieves waybill using container id through shiproot container lookup or iq container cross-reference if standard lookup fails.
💻 Technical Criteria
Given Equipment is identified as a container
When Waybill retrieval is performed
Then System retrieves waybill using container ID through SHIPROOT container lookup or IQ container cross-reference if standard lookup fails
R-GCX003-cbl-01226 Retrieve Car Waybill with Fallback
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Car Waybill with Fallback' is invoked, and assuming that equipment is identified as a car (not container), when waybill retrieval is performed, the desired outcome is that system attempts shiproot car lookup first, then falls back to fwcarget with specific parameters, and finally tries inquiry database lookup if needed.
💻 Technical Criteria
Given Equipment is identified as a car (not container)
When Waybill retrieval is performed
Then System attempts SHIPROOT car lookup first, then falls back to FWCARGET with specific parameters, and finally tries inquiry database lookup if needed
R-GCX003-cbl-01227 Waybill Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Found?' is invoked, and assuming that waybill retrieval has been attempted for equipment, when system checks waybill status, the desired outcome is that if waybill found and equipment is loaded empty car (el='l' and empty indicator), treat as waybill not found, otherwise proceed with found waybill.
💻 Technical Criteria
Given Waybill retrieval has been attempted for equipment
When System checks waybill status
Then If waybill found and equipment is loaded empty car (EL='L' and empty indicator), treat as waybill not found, otherwise proceed with found waybill
R-GCX003-cbl-01228 Check if Conveying Car
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Conveying Car' is invoked, and assuming that a waybill has been found for the equipment, when system processes the waybill information, the desired outcome is that if equipment is identified as conveying car type, set the load/empty indicator to 'e' (empty).
💻 Technical Criteria
Given A waybill has been found for the equipment
When System processes the waybill information
Then If equipment is identified as conveying car type, set the load/empty indicator to 'E' (empty)
R-GCX003-cbl-01229 Retrieve First Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve First Cargo Record' is invoked, and assuming that equipment has a valid waybill, when cargo processing begins, the desired outcome is that system retrieves first cargo record using waybill root key and equipment id, setting cargo found status appropriately.
💻 Technical Criteria
Given Equipment has a valid waybill
When Cargo processing begins
Then System retrieves first cargo record using waybill root key and equipment ID, setting cargo found status appropriately
R-GCX003-cbl-01230 More Cargo Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo Records?' is invoked, and assuming that cargo processing is in progress for equipment, when system checks for more cargo records, the desired outcome is that if more cargo records exist for the same equipment and waybill combination, continue processing, otherwise complete cargo processing for this equipment.
💻 Technical Criteria
Given Cargo processing is in progress for equipment
When System checks for more cargo records
Then If more cargo records exist for the same equipment and waybill combination, continue processing, otherwise complete cargo processing for this equipment
R-GCX003-cbl-01235 Retrieve Next Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Next Cargo Record' is invoked, and assuming that current cargo record processing is complete, when system continues cargo processing, the desired outcome is that retrieve next cargo record using same equipment and waybill criteria, updating cargo found status.
💻 Technical Criteria
Given Current cargo record processing is complete
When System continues cargo processing
Then Retrieve next cargo record using same equipment and waybill criteria, updating cargo found status
R-GCX003-cbl-01245 Waybill Not Found and Loaded Equipment?
Decision Rules
📊 Business Logic Narrative
When the process 'Waybill Not Found and Loaded Equipment?' is invoked, and assuming that no waybill was found for equipment, when equipment status evaluation occurs, the desired outcome is that if equipment is loaded and not sbu van type, or if container not found, generate appropriate error messages and build report line.
💻 Technical Criteria
Given No waybill was found for equipment
When Equipment status evaluation occurs
Then If equipment is loaded and not SBU van type, or if container not found, generate appropriate error messages and build report line
R-GCX003-cbl-01246 Add Equipment Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Equipment Not Found Error', assuming that loaded equipment has no waybill and is not container or sbu van, when error message generation occurs, the desired outcome is that add message 10 (waybill not found) or message 11 (container not found) to report based on equipment type.
💻 Technical Criteria
EXCLUDING Loaded equipment has no waybill and is not container or SBU van
When Error message generation occurs
Then Add message 10 (waybill not found) or message 11 (container not found) to report based on equipment type
R-GCX003-cbl-01247 Process Container on Flat Car
Process Rules
📊 Business Logic Narrative
When the process 'Process Container on Flat Car' is invoked, and assuming that equipment processing is complete or container found on flat car, when container processing occurs, the desired outcome is that if container found or waybill indicates conveying car with loaded status, retrieve and process container information.
💻 Technical Criteria
Given Equipment processing is complete or container found on flat car
When Container processing occurs
Then If container found or waybill indicates conveying car with loaded status, retrieve and process container information
R-GCX003-cbl-00111 Container Found in Primary System?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Container Found in Primary System?', assuming that container was not found in inquiry system, when system checks primary waybill system for container, the desired outcome is that if container exists in primary system, proceed to retrieve container information, otherwise mark as not found.
💻 Technical Criteria
EXCLUDING Container was not found in inquiry system
When System checks primary waybill system for container
Then If container exists in primary system, proceed to retrieve container information, otherwise mark as not found
R-GCX003-cbl-00112 Retrieve Container Information Using Container ID
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Container Information Using Container ID' is invoked, and assuming that container exists in either inquiry or primary system, when system retrieves container information using container id, the desired outcome is that container details are fetched from shiproot database and waybill information is populated.
💻 Technical Criteria
Given Container exists in either inquiry or primary system
When System retrieves container information using container ID
Then Container details are fetched from SHIPROOT database and waybill information is populated
R-GCX003-cbl-00113 Waybill Data Retrieved Successfully?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Data Retrieved Successfully?' is invoked, and assuming that container information retrieval has been attempted, when system validates the retrieval operation result, the desired outcome is that if waybill data is successfully retrieved, proceed to extract container details, otherwise mark waybill as not found.
💻 Technical Criteria
Given Container information retrieval has been attempted
When System validates the retrieval operation result
Then If waybill data is successfully retrieved, proceed to extract container details, otherwise mark waybill as not found
R-GCX003-cbl-00114 Extract Container Details from Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Extract Container Details from Waybill' is invoked, and assuming that waybill data has been successfully retrieved, when system extracts container details from waybill, the desired outcome is that container id, load/empty status, and other relevant details are extracted and populated.
💻 Technical Criteria
Given Waybill data has been successfully retrieved
When System extracts container details from waybill
Then Container ID, load/empty status, and other relevant details are extracted and populated
R-GCX003-cbl-00115 Validate Container Load/Empty Status
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Container Load/Empty Status' is invoked, and assuming that container details have been extracted from waybill, when system validates container load/empty status, the desired outcome is that container status is verified against waybill information for consistency.
💻 Technical Criteria
Given Container details have been extracted from waybill
When System validates container load/empty status
Then Container status is verified against waybill information for consistency
R-GCX003-cbl-00116 Container is Loaded but Waybill Shows Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Container is Loaded but Waybill Shows Empty?' is invoked, and assuming that container load/empty status has been validated, when container is expected to be loaded but waybill indicates empty status, the desired outcome is that if mismatch exists, mark waybill as not found, otherwise proceed with successful retrieval.
💻 Technical Criteria
Given Container load/empty status has been validated
When Container is expected to be loaded but waybill indicates empty status
Then If mismatch exists, mark waybill as not found, otherwise proceed with successful retrieval
R-GCX003-cbl-00117 Mark Waybill as Not Found
Action Rules
📊 Business Logic Narrative
When the process 'Mark Waybill as Not Found' is invoked, and assuming that container load status mismatch has been detected, when system processes the status mismatch, the desired outcome is that waybill is marked as not found and container processing continues with not found status.
💻 Technical Criteria
Given Container load status mismatch has been detected
When System processes the status mismatch
Then Waybill is marked as not found and container processing continues with not found status
R-GCX003-cbl-00118 Container Waybill Retrieved Successfully
Process Rules
📊 Business Logic Narrative
When the process 'Container Waybill Retrieved Successfully' is invoked, and assuming that container information has been processed without status mismatch, when system completes container waybill retrieval, the desired outcome is that container waybill is marked as successfully retrieved and available for further processing.
💻 Technical Criteria
Given Container information has been processed without status mismatch
When System completes container waybill retrieval
Then Container waybill is marked as successfully retrieved and available for further processing
R-GCX003-cbl-00119 Container Waybill Not Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Container Waybill Not Found', assuming that container waybill retrieval has failed from all available systems, when system processes the not found condition, the desired outcome is that container is marked as having no waybill found and appropriate error handling is initiated.
💻 Technical Criteria
EXCLUDING Container waybill retrieval has failed from all available systems
When System processes the not found condition
Then Container is marked as having no waybill found and appropriate error handling is initiated
R-GCX003-cbl-01248 Access Inquiry Root Database FWCIROOT
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Access Inquiry Root Database FWCIROOT', assuming that a container is not found in the primary system and container inquiry root data exists with original railroad number, station number, and waybill number, when the system accesses the inquiry root database fwciroot, the desired outcome is that the system retrieves container information from the inquiry root database for further processing.
💻 Technical Criteria
EXCLUDING A container is not found in the primary system and container inquiry root data exists with original railroad number, station number, and waybill number
When The system accesses the inquiry root database FWCIROOT
Then The system retrieves container information from the inquiry root database for further processing
R-GCX003-cbl-01249 Container Found in Inquiry Root?
Validation Rules
📊 Business Logic Narrative
When the process 'Container Found in Inquiry Root?' is invoked, and assuming that the system has attempted to access the inquiry root database fwciroot, when the database access returns a status code, the desired outcome is that if status code is not spaces, container is not found and processing stops, otherwise container is found and processing continues to waybill inquiry.
💻 Technical Criteria
Given The system has attempted to access the inquiry root database FWCIROOT
When The database access returns a status code
Then If status code is not spaces, container is not found and processing stops, otherwise container is found and processing continues to waybill inquiry
R-GCX003-cbl-01250 Access Inquiry Detail Database FWIQROOT
Action Rules
📊 Business Logic Narrative
When the process 'Access Inquiry Detail Database FWIQROOT' is invoked, and assuming that container is found in inquiry root database with valid railroad number, station number, and waybill number, when the system accesses the waybill inquiry database fwiqroot using the extracted identifiers, the desired outcome is that the system retrieves waybill information from the inquiry database for validation.
💻 Technical Criteria
Given Container is found in inquiry root database with valid railroad number, station number, and waybill number
When The system accesses the waybill inquiry database FWIQROOT using the extracted identifiers
Then The system retrieves waybill information from the inquiry database for validation
R-GCX003-cbl-01251 Waybill Found in Inquiry?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Found in Inquiry?' is invoked, and assuming that the system has attempted to access the waybill inquiry database fwiqroot, when the database access returns a status code, the desired outcome is that if status code is not spaces, waybill is not found and container is marked as not found, otherwise waybill is found and processing continues to cross-reference scanning.
💻 Technical Criteria
Given The system has attempted to access the waybill inquiry database FWIQROOT
When The database access returns a status code
Then If status code is not spaces, waybill is not found and container is marked as not found, otherwise waybill is found and processing continues to cross-reference scanning
R-GCX003-cbl-01252 Scan for Container Cross-References FWIQBOTL
Process Rules
📊 Business Logic Narrative
When the process 'Scan for Container Cross-References FWIQBOTL' is invoked, and assuming that waybill is found in inquiry database, when the system scans the inquiry bottom line database fwiqbotl for cross-reference entries, the desired outcome is that the system retrieves cross-reference data for evaluation.
💻 Technical Criteria
Given Waybill is found in inquiry database
When The system scans the inquiry bottom line database FWIQBOTL for cross-reference entries
Then The system retrieves cross-reference data for evaluation
R-GCX003-cbl-01255 Extract Waybill Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Information' is invoked, and assuming that a valid cross-reference entry with 't/c xref' identifier is found, when the system extracts waybill information from the cross-reference entry, the desired outcome is that railroad number is extracted from positions 10-12, station number from positions 14-19, waybill number from positions 21-26, and all spaces in the waybill information are replaced with zeros.
💻 Technical Criteria
Given A valid cross-reference entry with 'T/C XREF' identifier is found
When The system extracts waybill information from the cross-reference entry
Then Railroad number is extracted from positions 10-12, station number from positions 14-19, waybill number from positions 21-26, and all spaces in the waybill information are replaced with zeros
R-GCX003-cbl-01256 Store Container Cross-Reference Data
Process Rules
📊 Business Logic Narrative
When the process 'Store Container Cross-Reference Data' is invoked, and assuming that container id and waybill information have been extracted from a cross-reference entry, when the system stores the cross-reference data, the desired outcome is that the container id and waybill information are stored in the cross-reference table at the current index position.
💻 Technical Criteria
Given Container ID and waybill information have been extracted from a cross-reference entry
When The system stores the cross-reference data
Then The container ID and waybill information are stored in the cross-reference table at the current index position
R-GCX003-cbl-01260 Container Cross-Reference Resolution Complete
Process Rules
📊 Business Logic Narrative
When the process 'Container Cross-Reference Resolution Complete' is invoked, and assuming that no more cross-reference entries are available for processing or the maximum index limit of 30 is reached, when the cross-reference resolution process completes, the desired outcome is that the system finalizes the container cross-reference data and makes it available for subsequent waybill processing.
💻 Technical Criteria
Given No more cross-reference entries are available for processing or the maximum index limit of 30 is reached
When The cross-reference resolution process completes
Then The system finalizes the container cross-reference data and makes it available for subsequent waybill processing
R-GCX003-cbl-01261 Container Not Found - Set Not Found Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Container Not Found - Set Not Found Status', assuming that container is not found in inquiry root database or waybill is not found in inquiry database, when the system determines container cannot be resolved, the desired outcome is that the container status is set to not found and inquiry container status is set to not found.
💻 Technical Criteria
EXCLUDING Container is not found in inquiry root database or waybill is not found in inquiry database
When The system determines container cannot be resolved
Then The container status is set to not found and inquiry container status is set to not found
R-GCX003-cbl-01557 Extract Waybill Railroad from Position 10-12
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Railroad from Position 10-12' is invoked, and assuming that container id has been extracted from the record, when system processes waybill reference information, the desired outcome is that waybill railroad code is extracted from positions 10-12 of the inquiry record.
💻 Technical Criteria
Given Container ID has been extracted from the record
When System processes waybill reference information
Then Waybill railroad code is extracted from positions 10-12 of the inquiry record
R-GCX003-cbl-01558 Extract Waybill Station from Position 14-19
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Station from Position 14-19' is invoked, and assuming that waybill railroad code has been extracted, when system continues processing waybill reference information, the desired outcome is that waybill station code is extracted from positions 14-19 of the inquiry record.
💻 Technical Criteria
Given Waybill railroad code has been extracted
When System continues processing waybill reference information
Then Waybill station code is extracted from positions 14-19 of the inquiry record
R-GCX003-cbl-01559 Extract Waybill Number from Position 21-26
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Number from Position 21-26' is invoked, and assuming that waybill station code has been extracted, when system completes waybill reference extraction, the desired outcome is that waybill number is extracted from positions 21-26 of the inquiry record.
💻 Technical Criteria
Given Waybill station code has been extracted
When System completes waybill reference extraction
Then Waybill number is extracted from positions 21-26 of the inquiry record
R-GCX003-cbl-01560 Replace Spaces with Zeros in Waybill Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with Zeros in Waybill Fields' is invoked, and assuming that all waybill reference components have been extracted, when system standardizes the waybill reference format, the desired outcome is that all spaces in the combined waybill reference are replaced with zeros.
💻 Technical Criteria
Given All waybill reference components have been extracted
When System standardizes the waybill reference format
Then All spaces in the combined waybill reference are replaced with zeros
R-GCX003-cbl-01561 Store Container Cross-Reference Data
Process Rules
📊 Business Logic Narrative
When the process 'Store Container Cross-Reference Data' is invoked, and assuming that container id and standardized waybill reference have been extracted, when system stores the cross-reference information, the desired outcome is that container id and waybill reference are stored in the container cross-reference table at the current counter position.
💻 Technical Criteria
Given Container ID and standardized waybill reference have been extracted
When System stores the cross-reference information
Then Container ID and waybill reference are stored in the container cross-reference table at the current counter position
R-GCX003-cbl-01682 Extract Waybill Railroad from Position 10-12
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Railroad from Position 10-12' is invoked, and assuming that a valid 't/c xref' record is being processed, when the system extracts data from positions 10 through 12 of the inquiry record, the desired outcome is that the system should capture the 3-character railroad code for the waybill reference.
💻 Technical Criteria
Given A valid 'T/C XREF' record is being processed
When The system extracts data from positions 10 through 12 of the inquiry record
Then The system should capture the 3-character railroad code for the waybill reference
R-GCX003-cbl-01683 Extract Waybill Station from Position 14-19
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Station from Position 14-19' is invoked, and assuming that a valid 't/c xref' record is being processed, when the system extracts data from positions 14 through 19 of the inquiry record, the desired outcome is that the system should capture the 6-character station code for the waybill reference.
💻 Technical Criteria
Given A valid 'T/C XREF' record is being processed
When The system extracts data from positions 14 through 19 of the inquiry record
Then The system should capture the 6-character station code for the waybill reference
R-GCX003-cbl-01684 Extract Waybill Number from Position 21-26
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Number from Position 21-26' is invoked, and assuming that a valid 't/c xref' record is being processed, when the system extracts data from positions 21 through 26 of the inquiry record, the desired outcome is that the system should capture the 6-character waybill number for the waybill reference.
💻 Technical Criteria
Given A valid 'T/C XREF' record is being processed
When The system extracts data from positions 21 through 26 of the inquiry record
Then The system should capture the 6-character waybill number for the waybill reference
R-GCX003-cbl-01685 Replace Spaces with Zeros in Waybill Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with Zeros in Waybill Fields' is invoked, and assuming that waybill reference data has been extracted from the container cross-reference record, when the system processes the combined waybill railroad, station, and number fields, the desired outcome is that the system should replace all space characters with zero characters to create a standardized waybill reference.
💻 Technical Criteria
Given Waybill reference data has been extracted from the container cross-reference record
When The system processes the combined waybill railroad, station, and number fields
Then The system should replace all space characters with zero characters to create a standardized waybill reference
R-GCX003-cbl-01686 Store Container Cross-Reference Data
Process Rules
📊 Business Logic Narrative
When the process 'Store Container Cross-Reference Data' is invoked, and assuming that container id and waybill reference data have been successfully extracted and standardized, when the system stores the cross-reference information, the desired outcome is that the system should save the container id and associated waybill reference in the container table at the current index position.
💻 Technical Criteria
Given Container ID and waybill reference data have been successfully extracted and standardized
When The system stores the cross-reference information
Then The system should save the container ID and associated waybill reference in the container table at the current index position
R-GCX003-cbl-01819 Extract Associated Waybill Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Associated Waybill Information' is invoked, and assuming that a container id has been successfully extracted from the record, when the system processes waybill reference information, the desired outcome is that extract railroad number from positions 10-12, station number from positions 14-19, and waybill number from positions 21-26.
💻 Technical Criteria
Given A container ID has been successfully extracted from the record
When The system processes waybill reference information
Then Extract railroad number from positions 10-12, station number from positions 14-19, and waybill number from positions 21-26
R-GCX003-cbl-01820 Replace Spaces with Zeroes in Waybill
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with Zeroes in Waybill' is invoked, and assuming that waybill information has been extracted from the database record, when the waybill number contains space characters, the desired outcome is that replace all space characters with zeroes in the waybill number to ensure consistent numeric format.
💻 Technical Criteria
Given Waybill information has been extracted from the database record
When The waybill number contains space characters
Then Replace all space characters with zeroes in the waybill number to ensure consistent numeric format
R-GCX003-cbl-00120 First Call or Different Equipment ID?
Decision Rules
📊 Business Logic Narrative
When the process 'First Call or Different Equipment ID?' is invoked, and assuming that a car waybill retrieval request is initiated, when the system checks if this is the first fwcarget call or the current equipment id is different from the previously held equipment id, the desired outcome is that if either condition is true, proceed with full waybill retrieval process, otherwise skip to exit.
💻 Technical Criteria
Given A car waybill retrieval request is initiated
When The system checks if this is the first FWCARGET call OR the current equipment ID is different from the previously held equipment ID
Then If either condition is true, proceed with full waybill retrieval process, otherwise skip to exit
R-GCX003-cbl-00121 Set Search Criteria - All Types Except 98-99
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Criteria - All Types Except 98-99' is invoked, and assuming that waybill retrieval parameters need to be initialized, when setting up the car search criteria, the desired outcome is that configure to search all car types except types 98 and 99, include all status types, exclude edi incomplete records, include temporary waybills, exclude corrector waybills, return lead waybill, and use latest waybill date.
💻 Technical Criteria
Given Waybill retrieval parameters need to be initialized
When Setting up the car search criteria
Then Configure to search all car types except types 98 and 99, include all status types, exclude EDI incomplete records, include temporary waybills, exclude corrector waybills, return lead waybill, and use latest waybill date
R-GCX003-cbl-00122 Has Haulage Right Carrier?
Validation Rules
📊 Business Logic Narrative
When the process 'Has Haulage Right Carrier?' is invoked, and assuming that a waybill has been successfully retrieved, when the system checks if the haulage right carrier field contains data, the desired outcome is that if haulage right carrier is spaces, mark as done and proceed to result processing, otherwise continue with edi completion check.
💻 Technical Criteria
Given A waybill has been successfully retrieved
When The system checks if the haulage right carrier field contains data
Then If haulage right carrier is spaces, mark as done and proceed to result processing, otherwise continue with EDI completion check
R-GCX003-cbl-00123 EDI Complete Release?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI Complete Release?' is invoked, and assuming that a waybill with haulage right carrier has been retrieved, when the system checks the edi completion 418 release flag, the desired outcome is that if edi completion 418 release equals 'y', mark as done and proceed to result processing, otherwise check for duplicate waybill key.
💻 Technical Criteria
Given A waybill with haulage right carrier has been retrieved
When The system checks the EDI completion 418 release flag
Then If EDI completion 418 release equals 'Y', mark as done and proceed to result processing, otherwise check for duplicate waybill key
R-GCX003-cbl-00124 Same Waybill Key as Previous?
Process Rules
📊 Business Logic Narrative
When the process 'Same Waybill Key as Previous?' is invoked, and assuming that a waybill without edi completion release has been found, when the system compares the current fwbx key feedback with the stored previous fwbx key feedback, the desired outcome is that if the keys match, set waybill not found status and mark as done, otherwise update the stored key and set previous status waybill date for next iteration.
💻 Technical Criteria
Given A waybill without EDI completion release has been found
When The system compares the current FWBX key feedback with the stored previous FWBX key feedback
Then If the keys match, set waybill not found status and mark as done, otherwise update the stored key and set previous status waybill date for next iteration
R-GCX003-cbl-00125 Empty Status but Loaded Request?
Validation Rules
📊 Business Logic Narrative
When the process 'Empty Status but Loaded Request?' is invoked, and assuming that a waybill has been successfully retrieved, when the waybill shows empty status ('e') and the equipment request indicates loaded status, the desired outcome is that set waybill status to not found to trigger fallback processing.
💻 Technical Criteria
Given A waybill has been successfully retrieved
When The waybill shows empty status ('E') AND the equipment request indicates loaded status
Then Set waybill status to not found to trigger fallback processing
R-GCX003-cbl-00126 Try Inquiry System Fallback
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Try Inquiry System Fallback', assuming that primary waybill retrieval has failed or returned not found status, when the system initiates fallback processing using the inquiry system, the desired outcome is that retrieve car information from container inquiry root, set inquiry parameters using road number, station number, and waybill number, and attempt to get waybill data from inquiry system.
💻 Technical Criteria
EXCLUDING Primary waybill retrieval has failed or returned not found status
When The system initiates fallback processing using the inquiry system
Then Retrieve car information from container inquiry root, set inquiry parameters using road number, station number, and waybill number, and attempt to get waybill data from inquiry system
R-GCX003-cbl-00127 Set Load/Empty Status
Computation Rules
📊 Business Logic Narrative
When the process 'Set Load/Empty Status' is invoked, and assuming that waybill data has been successfully retrieved from inquiry system, when the system processes the belonging code from the inquiry root, the desired outcome is that if belonging code equals 'ze', set equipment status to 'e' (empty), otherwise set status to 'l' (loaded).
💻 Technical Criteria
Given Waybill data has been successfully retrieved from inquiry system
When The system processes the belonging code from the inquiry root
Then If belonging code equals 'ZE', set equipment status to 'E' (empty), otherwise set status to 'L' (loaded)
R-GCX003-cbl-00128 Get Additional Routing Info
Process Rules
📊 Business Logic Narrative
When the process 'Get Additional Routing Info' is invoked, and assuming that inquiry system has returned successful waybill data, when the system processes routing information from fwiqinfo segment, the desired outcome is that parse routing fields to extract up to 4 scac codes and their corresponding junction r260 codes, handling space-separated field format and storing in routing group structure.
💻 Technical Criteria
Given Inquiry system has returned successful waybill data
When The system processes routing information from FWIQINFO segment
Then Parse routing fields to extract up to 4 SCAC codes and their corresponding junction R260 codes, handling space-separated field format and storing in routing group structure
R-GCX003-cbl-00129 Call FWCARGET to Retrieve Waybill
Action Rules
📊 Business Logic Narrative
When the process 'Call FWCARGET to Retrieve Waybill' is invoked, and assuming that car search parameters have been properly configured, when the system needs to retrieve waybill data for a specific equipment id, the desired outcome is that call fwcarget external program with configured parameters and equipment id to retrieve waybill information.
💻 Technical Criteria
Given Car search parameters have been properly configured
When The system needs to retrieve waybill data for a specific equipment ID
Then Call FWCARGET external program with configured parameters and equipment ID to retrieve waybill information
R-GCX003-cbl-00130 Call FWIQIO to Get Waybill from Inquiry
Action Rules
📊 Business Logic Narrative
When the process 'Call FWIQIO to Get Waybill from Inquiry' is invoked, and assuming that primary waybill retrieval has failed and inquiry parameters are set, when the system attempts fallback waybill retrieval from inquiry system, the desired outcome is that call fwiqio external program with inquiry parameters to retrieve waybill data from inquiry database.
💻 Technical Criteria
Given Primary waybill retrieval has failed and inquiry parameters are set
When The system attempts fallback waybill retrieval from inquiry system
Then Call FWIQIO external program with inquiry parameters to retrieve waybill data from inquiry database
R-GCX003-cbl-01262 First Call or Different Equipment ID?
Decision Rules
📊 Business Logic Narrative
When the process 'First Call or Different Equipment ID?' is invoked, and assuming that a waybill retrieval request is initiated for an equipment id, when the system checks if this is the first fwcarget call or the current equipment id is different from the previously held equipment id, the desired outcome is that the system proceeds with waybill retrieval if either condition is true, otherwise skips the retrieval process.
💻 Technical Criteria
Given A waybill retrieval request is initiated for an equipment ID
When The system checks if this is the first FWCARGET call OR the current equipment ID is different from the previously held equipment ID
Then The system proceeds with waybill retrieval if either condition is true, otherwise skips the retrieval process
R-GCX003-cbl-01263 Set Equipment ID as Current
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment ID as Current' is invoked, and assuming that a waybill retrieval is proceeding for a specific equipment id, when the system needs to track the current equipment id for future comparison, the desired outcome is that the system stores the current equipment id as the held equipment id and marks that this is no longer the first call.
💻 Technical Criteria
Given A waybill retrieval is proceeding for a specific equipment ID
When The system needs to track the current equipment ID for future comparison
Then The system stores the current equipment ID as the held equipment ID and marks that this is no longer the first call
R-GCX003-cbl-01264 Set Retrieval Criteria
Process Rules
📊 Business Logic Narrative
When the process 'Set Retrieval Criteria' is invoked, and assuming that the system needs to retrieve waybill information for an equipment, when fwcarget parameters are being configured, the desired outcome is that the system sets all waybill types except 98 and 99, includes all status types, excludes edi incomplete waybills, includes temporary waybills, excludes corrector waybills, returns lead waybill, and gets latest waybill date.
💻 Technical Criteria
Given The system needs to retrieve waybill information for an equipment
When FWCARGET parameters are being configured
Then The system sets all waybill types except 98 and 99, includes all status types, excludes EDI incomplete waybills, includes temporary waybills, excludes corrector waybills, returns lead waybill, and gets latest waybill date
R-GCX003-cbl-01265 Execute FWCARGET Call
Action Rules
📊 Business Logic Narrative
When the process 'Execute FWCARGET Call' is invoked, and assuming that fwcarget parameters are properly configured for an equipment id, when the system executes the fwcarget service call, the desired outcome is that the system invokes fwcarget service and receives waybill information or error status.
💻 Technical Criteria
Given FWCARGET parameters are properly configured for an equipment ID
When The system executes the FWCARGET service call
Then The system invokes FWCARGET service and receives waybill information or error status
R-GCX003-cbl-01266 FWCARGET Error or Not Found?
Decision Rules
📊 Business Logic Narrative
When the process 'FWCARGET Error or Not Found?' is invoked, and assuming that fwcarget service call has completed, when the system checks the return status from fwcarget, the desired outcome is that if fwcarget returned an error or not found status, the system terminates the retrieval loop, otherwise continues with waybill validation.
💻 Technical Criteria
Given FWCARGET service call has completed
When The system checks the return status from FWCARGET
Then If FWCARGET returned an error or not found status, the system terminates the retrieval loop, otherwise continues with waybill validation
R-GCX003-cbl-01267 Haulage Right Carrier Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier Empty?' is invoked, and assuming that a waybill record has been retrieved successfully from fwcarget, when the system checks if the haulage right carrier field is empty or spaces, the desired outcome is that if haulage right carrier is empty, the system accepts the waybill and terminates the loop, otherwise continues with additional validation.
💻 Technical Criteria
Given A waybill record has been retrieved successfully from FWCARGET
When The system checks if the haulage right carrier field is empty or spaces
Then If haulage right carrier is empty, the system accepts the waybill and terminates the loop, otherwise continues with additional validation
R-GCX003-cbl-01268 EDI Complete Release = 'Y'?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI Complete Release = 'Y'?' is invoked, and assuming that a waybill record has haulage right carrier populated, when the system checks if edi complete 418 release flag equals 'y', the desired outcome is that if edi complete release is 'y', the system accepts the waybill and terminates the loop, otherwise continues with duplicate check.
💻 Technical Criteria
Given A waybill record has haulage right carrier populated
When The system checks if EDI complete 418 release flag equals 'Y'
Then If EDI complete release is 'Y', the system accepts the waybill and terminates the loop, otherwise continues with duplicate check
R-GCX003-cbl-01269 Same FWBX Key as Previous?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Same FWBX Key as Previous?', assuming that a waybill record does not have edi complete release status, when the system compares the current fwbx key feedback with the previously stored fwbx key feedback, the desired outcome is that if the fwbx keys are identical, the system sets not found status and terminates the loop, otherwise updates the stored key and continues.
💻 Technical Criteria
EXCLUDING A waybill record does not have EDI complete release status
When The system compares the current FWBX key feedback with the previously stored FWBX key feedback
Then If the FWBX keys are identical, the system sets not found status and terminates the loop, otherwise updates the stored key and continues
R-GCX003-cbl-01270 Set Previous Status Waybill Date
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Previous Status Waybill Date', assuming that the current waybill is not acceptable and fwbx key is different from previous, when the system needs to search for an alternative waybill, the desired outcome is that the system sets fwcarget to retrieve previous status waybill date and updates the stored fwbx key feedback.
💻 Technical Criteria
EXCLUDING The current waybill is not acceptable and FWBX key is different from previous
When The system needs to search for an alternative waybill
Then The system sets FWCARGET to retrieve previous status waybill date and updates the stored FWBX key feedback
R-GCX003-cbl-01271 Execute Inquiry Fallback Logic
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Execute Inquiry Fallback Logic', assuming that fwcarget has completed processing but no acceptable waybill was found, when the system determines that waybill was not found through primary method, the desired outcome is that the system executes inquiry fallback logic to attempt waybill retrieval through alternative database queries.
💻 Technical Criteria
EXCLUDING FWCARGET has completed processing but no acceptable waybill was found
When The system determines that waybill was not found through primary method
Then The system executes inquiry fallback logic to attempt waybill retrieval through alternative database queries
R-GCX003-cbl-01569 First Call or Different Equipment ID?
Decision Rules
📊 Business Logic Narrative
When the process 'First Call or Different Equipment ID?' is invoked, and assuming that a waybill retrieval request is initiated for an equipment id, when the system checks if this is the first fwcarget call or if the current equipment id differs from the previously held equipment id, the desired outcome is that the system proceeds with parameter initialization if it's a first call or different equipment, otherwise exits the process.
💻 Technical Criteria
Given A waybill retrieval request is initiated for an equipment ID
When The system checks if this is the first FWCARGET call or if the current equipment ID differs from the previously held equipment ID
Then The system proceeds with parameter initialization if it's a first call or different equipment, otherwise exits the process
R-GCX003-cbl-01570 Initialize FWCARGET Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize FWCARGET Parameters' is invoked, and assuming that a waybill retrieval operation needs to be performed, when the system initializes fwcarget parameters, the desired outcome is that shiproot and fwwarget-parm structures are cleared and the current equipment id is stored as the held equipment id.
💻 Technical Criteria
Given A waybill retrieval operation needs to be performed
When The system initializes FWCARGET parameters
Then SHIPROOT and FWWARGET-PARM structures are cleared and the current equipment ID is stored as the held equipment ID
R-GCX003-cbl-01571 Set Waybill Type Criteria - Exclude Types 98/99
Validation Rules
📊 Business Logic Narrative
When the process 'Set Waybill Type Criteria - Exclude Types 98/99' is invoked, and assuming that fwcarget parameters are being configured, when the system sets waybill type criteria, the desired outcome is that waybill types 98 and 99 are excluded from the retrieval process.
💻 Technical Criteria
Given FWCARGET parameters are being configured
When The system sets waybill type criteria
Then Waybill types 98 and 99 are excluded from the retrieval process
R-GCX003-cbl-01572 Set Status Criteria - Include All Status Types
Process Rules
📊 Business Logic Narrative
When the process 'Set Status Criteria - Include All Status Types' is invoked, and assuming that fwcarget parameters are being configured, when the system sets status criteria, the desired outcome is that all status types are included in the waybill retrieval process.
💻 Technical Criteria
Given FWCARGET parameters are being configured
When The system sets status criteria
Then All status types are included in the waybill retrieval process
R-GCX003-cbl-01573 Set EDI Criteria - Exclude Incomplete EDI
Validation Rules
📊 Business Logic Narrative
When the process 'Set EDI Criteria - Exclude Incomplete EDI' is invoked, and assuming that fwcarget parameters are being configured, when the system sets edi criteria, the desired outcome is that waybills with incomplete edi processing are excluded from retrieval.
💻 Technical Criteria
Given FWCARGET parameters are being configured
When The system sets EDI criteria
Then Waybills with incomplete EDI processing are excluded from retrieval
R-GCX003-cbl-01574 Include Temporary Waybills
Process Rules
📊 Business Logic Narrative
When the process 'Include Temporary Waybills' is invoked, and assuming that fwcarget parameters are being configured, when the system sets temporary waybill criteria, the desired outcome is that temporary waybills are included in the retrieval process.
💻 Technical Criteria
Given FWCARGET parameters are being configured
When The system sets temporary waybill criteria
Then Temporary waybills are included in the retrieval process
R-GCX003-cbl-01575 Exclude Corrector Waybills
Validation Rules
📊 Business Logic Narrative
When the process 'Exclude Corrector Waybills' is invoked, and assuming that fwcarget parameters are being configured, when the system sets corrector waybill criteria, the desired outcome is that corrector waybills are excluded from the retrieval process.
💻 Technical Criteria
Given FWCARGET parameters are being configured
When The system sets corrector waybill criteria
Then Corrector waybills are excluded from the retrieval process
R-GCX003-cbl-01576 Request Latest Waybill Date
Process Rules
📊 Business Logic Narrative
When the process 'Request Latest Waybill Date' is invoked, and assuming that fwcarget parameters are being configured, when the system sets date criteria, the desired outcome is that the retrieval is configured to return the waybill with the latest date.
💻 Technical Criteria
Given FWCARGET parameters are being configured
When The system sets date criteria
Then The retrieval is configured to return the waybill with the latest date
R-GCX003-cbl-01577 Execute FWCARGET Call
Action Rules
📊 Business Logic Narrative
When the process 'Execute FWCARGET Call' is invoked, and assuming that all fwcarget parameters are properly configured, when the system calls the fwcarget external program, the desired outcome is that the waybill retrieval operation is executed and results are returned.
💻 Technical Criteria
Given All FWCARGET parameters are properly configured
When The system calls the FWCARGET external program
Then The waybill retrieval operation is executed and results are returned
R-GCX003-cbl-01579 Haulage Right Carrier Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier Present?' is invoked, and assuming that a waybill has been successfully retrieved, when the system checks the haulage right carrier field, the desired outcome is that if haulage right carrier is blank or spaces, the waybill is accepted, otherwise additional edi validation is required.
💻 Technical Criteria
Given A waybill has been successfully retrieved
When The system checks the haulage right carrier field
Then If haulage right carrier is blank or spaces, the waybill is accepted, otherwise additional EDI validation is required
R-GCX003-cbl-01580 EDI 418 Release Complete?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI 418 Release Complete?' is invoked, and assuming that a waybill has a haulage right carrier specified, when the system checks the edi completion status, the desired outcome is that if edi 418 release equals 'y', the waybill is accepted, otherwise the system continues searching for previous waybills.
💻 Technical Criteria
Given A waybill has a haulage right carrier specified
When The system checks the EDI completion status
Then If EDI 418 release equals 'Y', the waybill is accepted, otherwise the system continues searching for previous waybills
R-GCX003-cbl-01581 Same Waybill Key as Previous?
Validation Rules
📊 Business Logic Narrative
When the process 'Same Waybill Key as Previous?' is invoked, and assuming that a waybill requires further processing due to incomplete edi, when the system compares the current waybill key with the previously stored feedback key, the desired outcome is that if keys match, the search is terminated as not found, otherwise the system continues with previous status search.
💻 Technical Criteria
Given A waybill requires further processing due to incomplete EDI
When The system compares the current waybill key with the previously stored feedback key
Then If keys match, the search is terminated as not found, otherwise the system continues with previous status search
R-GCX003-cbl-01582 Set Previous Status Waybill Date
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Previous Status Waybill Date', assuming that current waybill has incomplete edi and is not a duplicate key, when the system sets search criteria for previous status, the desired outcome is that search parameters are updated to look for waybills with previous status and earlier waybill dates.
💻 Technical Criteria
EXCLUDING Current waybill has incomplete EDI and is not a duplicate key
When The system sets search criteria for previous status
Then Search parameters are updated to look for waybills with previous status and earlier waybill dates
R-GCX003-cbl-01583 Update Waybill Key Feedback
Process Rules
📊 Business Logic Narrative
When the process 'Update Waybill Key Feedback' is invoked, and assuming that a waybill key needs to be tracked for duplicate detection, when the system updates the feedback mechanism, the desired outcome is that the current waybill key is stored in the feedback field for future comparison.
💻 Technical Criteria
Given A waybill key needs to be tracked for duplicate detection
When The system updates the feedback mechanism
Then The current waybill key is stored in the feedback field for future comparison
R-GCX003-cbl-01584 Mark as Not Found and Exit
Decision Rules
📊 Business Logic Narrative
When the process 'Mark as Not Found and Exit' is invoked, and assuming that waybill search has exhausted all possibilities or encountered duplicate keys, when the system determines no valid waybill exists, the desired outcome is that the waybill status is set to not found and the process exits.
💻 Technical Criteria
Given Waybill search has exhausted all possibilities or encountered duplicate keys
When The system determines no valid waybill exists
Then The waybill status is set to not found and the process exits
R-GCX003-cbl-01585 FWCARGET Error?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'FWCARGET Error?', assuming that fwcarget call has completed with error or not found status, when the system evaluates the specific return condition, the desired outcome is that if a system error occurred, fallback to inquiry system is attempted, otherwise waybill is marked as not found.
💻 Technical Criteria
EXCLUDING FWCARGET call has completed with error or not found status
When The system evaluates the specific return condition
Then If a system error occurred, fallback to inquiry system is attempted, otherwise waybill is marked as not found
R-GCX003-cbl-01586 Fallback to Inquiry System
Action Rules
📊 Business Logic Narrative
When the process 'Fallback to Inquiry System' is invoked, and assuming that fwcarget call has failed with a system error, when the system initiates fallback processing, the desired outcome is that alternative inquiry system is called to attempt waybill retrieval.
💻 Technical Criteria
Given FWCARGET call has failed with a system error
When The system initiates fallback processing
Then Alternative inquiry system is called to attempt waybill retrieval
R-GCX003-cbl-01587 Return Waybill Found
Decision Rules
📊 Business Logic Narrative
When the process 'Return Waybill Found' is invoked, and assuming that waybill has been successfully retrieved and validated, when all validation criteria are met, the desired outcome is that waybill status is set to found and waybill data is available for subsequent processing.
💻 Technical Criteria
Given Waybill has been successfully retrieved and validated
When All validation criteria are met
Then Waybill status is set to found and waybill data is available for subsequent processing
R-GCX003-cbl-01588 Return Waybill Not Found
Decision Rules
📊 Business Logic Narrative
When the process 'Return Waybill Not Found' is invoked, and assuming that all waybill retrieval attempts have been exhausted, when no valid waybill meeting criteria is found, the desired outcome is that waybill status is set to not found and no waybill data is available.
💻 Technical Criteria
Given All waybill retrieval attempts have been exhausted
When No valid waybill meeting criteria is found
Then Waybill status is set to not found and no waybill data is available
R-GCX003-cbl-01688 First Call or Different Equipment ID?
Decision Rules
📊 Business Logic Narrative
When the process 'First Call or Different Equipment ID?' is invoked, and assuming that a waybill retrieval request is initiated for equipment processing, when the system checks if this is the first call to the waybill retrieval function or the current equipment id is different from the previously held equipment id, the desired outcome is that if it is the first call or the equipment id has changed, proceed with waybill retrieval processing, otherwise skip the retrieval and exit.
💻 Technical Criteria
Given A waybill retrieval request is initiated for equipment processing
When The system checks if this is the first call to the waybill retrieval function OR the current equipment ID is different from the previously held equipment ID
Then If it is the first call OR the equipment ID has changed, proceed with waybill retrieval processing, otherwise skip the retrieval and exit
R-GCX003-cbl-01689 First Call or Different Equipment ID?
Process Rules
📊 Business Logic Narrative
When the process 'First Call or Different Equipment ID?' is invoked, and assuming that waybill retrieval is proceeding for an equipment id, when the system processes the equipment id, the desired outcome is that store the current equipment id as the held equipment id for future comparison and set the processing flag to indicate this is no longer the first call.
💻 Technical Criteria
Given Waybill retrieval is proceeding for an equipment ID
When The system processes the equipment ID
Then Store the current equipment ID as the held equipment ID for future comparison AND set the processing flag to indicate this is no longer the first call
R-GCX003-cbl-01690 Set Car Retrieval Criteria
Process Rules
📊 Business Logic Narrative
When the process 'Set Car Retrieval Criteria' is invoked, and assuming that waybill retrieval is initiated for a car equipment, when the system sets up retrieval parameters, the desired outcome is that configure retrieval to include all car types except 98 and 99 and include all status types and exclude edi incomplete records and include temporary waybills and exclude corrector waybills and return the latest waybill with the most recent date.
💻 Technical Criteria
Given Waybill retrieval is initiated for a car equipment
When The system sets up retrieval parameters
Then Configure retrieval to include all car types except 98 and 99 AND include all status types AND exclude EDI incomplete records AND include temporary waybills AND exclude corrector waybills AND return the latest waybill with the most recent date
R-GCX003-cbl-01691 Call Waybill Retrieval System
Action Rules
📊 Business Logic Narrative
When the process 'Call Waybill Retrieval System' is invoked, and assuming that waybill retrieval parameters are configured for an equipment id, when the system calls the external waybill retrieval service (fwcarget), the desired outcome is that execute the waybill retrieval call and return the waybill information and processing status.
💻 Technical Criteria
Given Waybill retrieval parameters are configured for an equipment ID
When The system calls the external waybill retrieval service (FWCARGET)
Then Execute the waybill retrieval call and return the waybill information and processing status
R-GCX003-cbl-01692 Retrieval Error?
Validation Rules
📊 Business Logic Narrative
When the process 'Retrieval Error?' is invoked, and assuming that a waybill retrieval operation has been executed, when the system checks the return status from the waybill retrieval service, the desired outcome is that if the return status indicates an error or not found condition, set the waybill status to the error condition, otherwise continue processing.
💻 Technical Criteria
Given A waybill retrieval operation has been executed
When The system checks the return status from the waybill retrieval service
Then If the return status indicates an error OR not found condition, set the waybill status to the error condition, otherwise continue processing
R-GCX003-cbl-01693 Haulage Right Carrier Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier Present?' is invoked, and assuming that a waybill has been successfully retrieved, when the system checks the haulage right carrier field in the waybill, the desired outcome is that if the haulage right carrier field contains spaces or is empty, accept the waybill for processing, otherwise perform additional edi completion validation.
💻 Technical Criteria
Given A waybill has been successfully retrieved
When The system checks the haulage right carrier field in the waybill
Then If the haulage right carrier field contains spaces or is empty, accept the waybill for processing, otherwise perform additional EDI completion validation
R-GCX003-cbl-01694 EDI Completion Status Released?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI Completion Status Released?' is invoked, and assuming that a waybill has a haulage right carrier assigned, when the system checks the edi completion release status (edi-comp-418-release), the desired outcome is that if the edi completion status equals 'y' (released), accept the waybill for processing, otherwise perform waybill key comparison validation.
💻 Technical Criteria
Given A waybill has a haulage right carrier assigned
When The system checks the EDI completion release status (EDI-COMP-418-RELEASE)
Then If the EDI completion status equals 'Y' (released), accept the waybill for processing, otherwise perform waybill key comparison validation
R-GCX003-cbl-01695 Same Waybill Key as Previous?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Same Waybill Key as Previous?', assuming that a waybill with haulage right carrier has edi completion status not released, when the system compares the current waybill feedback key with the previously processed waybill feedback key, the desired outcome is that if the current waybill feedback key matches the previous waybill feedback key, set status to not found and stop processing, otherwise continue with previous waybill date processing.
💻 Technical Criteria
EXCLUDING A waybill with haulage right carrier has EDI completion status not released
When The system compares the current waybill feedback key with the previously processed waybill feedback key
Then If the current waybill feedback key matches the previous waybill feedback key, set status to not found and stop processing, otherwise continue with previous waybill date processing
R-GCX003-cbl-01696 Set Previous Waybill Date Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Previous Waybill Date Processing', assuming that current waybill does not meet edi completion criteria and is not a duplicate key, when the system prepares to search for previous waybill versions, the desired outcome is that set the retrieval parameter to search for previous status waybill date and update the feedback key tracking with the current waybill feedback key.
💻 Technical Criteria
EXCLUDING Current waybill does not meet EDI completion criteria and is not a duplicate key
When The system prepares to search for previous waybill versions
Then Set the retrieval parameter to search for previous status waybill date AND update the feedback key tracking with the current waybill feedback key
R-GCX003-cbl-01697 Waybill Found?
Process Rules
📊 Business Logic Narrative
When the process 'Waybill Found?' is invoked, and assuming that primary waybill retrieval indicates no waybill found, when the system determines that no waybill was located in the primary system, the desired outcome is that initiate alternative waybill search using the inquiry root system (z450-gu-shiproot-inq) to locate waybill information.
💻 Technical Criteria
Given Primary waybill retrieval indicates no waybill found
When The system determines that no waybill was located in the primary system
Then Initiate alternative waybill search using the inquiry root system (Z450-GU-SHIPROOT-INQ) to locate waybill information
R-GCX003-cbl-01823 First Call or Different Equipment ID?
Decision Rules
📊 Business Logic Narrative
When the process 'First Call or Different Equipment ID?' is invoked, and assuming that a waybill retrieval request is initiated for an equipment id, when the system checks if this is the first call to fwcarget or if the current equipment id differs from the previously held equipment id, the desired outcome is that the system proceeds with parameter initialization if it's a first call or new equipment id, otherwise skips to exit.
💻 Technical Criteria
Given A waybill retrieval request is initiated for an equipment ID
When The system checks if this is the first call to FWCARGET or if the current equipment ID differs from the previously held equipment ID
Then The system proceeds with parameter initialization if it's a first call or new equipment ID, otherwise skips to exit
R-GCX003-cbl-01824 Set Retrieval Criteria
Process Rules
📊 Business Logic Narrative
When the process 'Set Retrieval Criteria' is invoked, and assuming that waybill retrieval parameters need to be configured, when the system initializes fwcarget parameters, the desired outcome is that the system sets retrieval criteria to include all waybill types except 98-99, all status types, exclude edi incomplete waybills, include temporary waybills, exclude corrector waybills, return lead waybill, and get latest waybill date.
💻 Technical Criteria
Given Waybill retrieval parameters need to be configured
When The system initializes FWCARGET parameters
Then The system sets retrieval criteria to include all waybill types except 98-99, all status types, exclude EDI incomplete waybills, include temporary waybills, exclude corrector waybills, return lead waybill, and get latest waybill date
R-GCX003-cbl-01825 Set Equipment ID for Retrieval
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment ID for Retrieval' is invoked, and assuming that equipment id is available for waybill lookup, when the system prepares for waybill retrieval, the desired outcome is that the system assigns the equipment id to the carget-car-id parameter.
💻 Technical Criteria
Given Equipment ID is available for waybill lookup
When The system prepares for waybill retrieval
Then The system assigns the equipment ID to the CARGET-CAR-ID parameter
R-GCX003-cbl-01826 Call FWCARGET Module
Action Rules
📊 Business Logic Narrative
When the process 'Call FWCARGET Module' is invoked, and assuming that fwcarget parameters are properly configured with equipment id and retrieval criteria, when the system needs to retrieve waybill information, the desired outcome is that the system calls the fwcarget module and processes the return status.
💻 Technical Criteria
Given FWCARGET parameters are properly configured with equipment ID and retrieval criteria
When The system needs to retrieve waybill information
Then The system calls the FWCARGET module and processes the return status
R-GCX003-cbl-01827 Waybill Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Found?' is invoked, and assuming that fwcarget module has been executed, when the system checks the return status from waybill retrieval, the desired outcome is that the system determines if a waybill was found or if an error occurred, and routes processing accordingly.
💻 Technical Criteria
Given FWCARGET module has been executed
When The system checks the return status from waybill retrieval
Then The system determines if a waybill was found or if an error occurred, and routes processing accordingly
R-GCX003-cbl-01828 Has Haulage Right Carrier?
Validation Rules
📊 Business Logic Narrative
When the process 'Has Haulage Right Carrier?' is invoked, and assuming that a waybill has been successfully retrieved, when the system examines the haulage right carrier field in the waybill, the desired outcome is that if haulage right carrier is spaces, the system continues retrieval loop; otherwise proceeds to edi completion check.
💻 Technical Criteria
Given A waybill has been successfully retrieved
When The system examines the haulage right carrier field in the waybill
Then If haulage right carrier is spaces, the system continues retrieval loop; otherwise proceeds to EDI completion check
R-GCX003-cbl-01829 EDI Completion Status = 'Y'?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI Completion Status = 'Y'?' is invoked, and assuming that a waybill with haulage right carrier has been retrieved, when the system checks the edi completion release status, the desired outcome is that if edi completion release equals 'y', the system accepts the waybill; otherwise continues with duplicate key checking.
💻 Technical Criteria
Given A waybill with haulage right carrier has been retrieved
When The system checks the EDI completion release status
Then If EDI completion release equals 'Y', the system accepts the waybill; otherwise continues with duplicate key checking
R-GCX003-cbl-01830 Same Waybill Key as Previous?
Validation Rules
📊 Business Logic Narrative
When the process 'Same Waybill Key as Previous?' is invoked, and assuming that a waybill with incomplete edi status has been retrieved, when the system compares the current fwbx key feedback with the previously stored key, the desired outcome is that if the keys match, the system marks as not found to exit the loop; otherwise updates the stored key and continues.
💻 Technical Criteria
Given A waybill with incomplete EDI status has been retrieved
When The system compares the current FWBX key feedback with the previously stored key
Then If the keys match, the system marks as not found to exit the loop; otherwise updates the stored key and continues
R-GCX003-cbl-01831 Set Previous Waybill Date Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Previous Waybill Date Status', assuming that current waybill key differs from previous key and edi is not complete, when the system needs to retrieve an earlier waybill version, the desired outcome is that the system sets carget to previous status waybill date mode.
💻 Technical Criteria
EXCLUDING Current waybill key differs from previous key and EDI is not complete
When The system needs to retrieve an earlier waybill version
Then The system sets CARGET to previous status waybill date mode
R-GCX003-cbl-01832 Update Waybill Key Feedback
Process Rules
📊 Business Logic Narrative
When the process 'Update Waybill Key Feedback' is invoked, and assuming that a new waybill key has been encountered, when the system processes waybill retrieval results, the desired outcome is that the system stores the current fwbx key feedback for comparison in the next iteration.
💻 Technical Criteria
Given A new waybill key has been encountered
When The system processes waybill retrieval results
Then The system stores the current FWBX key feedback for comparison in the next iteration
R-GCX003-cbl-01833 Mark as Not Found
Process Rules
📊 Business Logic Narrative
When the process 'Mark as Not Found' is invoked, and assuming that the current waybill key matches the previously processed key, when the system detects a potential infinite loop condition, the desired outcome is that the system sets carget-not-found status to exit the retrieval loop.
💻 Technical Criteria
Given The current waybill key matches the previously processed key
When The system detects a potential infinite loop condition
Then The system sets CARGET-NOT-FOUND status to exit the retrieval loop
R-GCX003-cbl-01834 Waybill Retrieval Error?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Retrieval Error?' is invoked, and assuming that fwcarget module execution has completed, when the system evaluates the return status from waybill retrieval, the desired outcome is that if carget-error is true, the system sets error status; otherwise checks for not found condition.
💻 Technical Criteria
Given FWCARGET module execution has completed
When The system evaluates the return status from waybill retrieval
Then If CARGET-ERROR is true, the system sets error status; otherwise checks for not found condition
R-GCX003-cbl-01835 Set Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Error Status' is invoked, and assuming that an error has been detected in waybill retrieval, when the system processes the error condition, the desired outcome is that the system moves the carget return flag to the waybill indicator status.
💻 Technical Criteria
Given An error has been detected in waybill retrieval
When The system processes the error condition
Then The system moves the CARGET return flag to the waybill indicator status
R-GCX003-cbl-01836 Check if Waybill Not Found
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Waybill Not Found' is invoked, and assuming that no error occurred in waybill retrieval, when the system checks the waybill retrieval results, the desired outcome is that the system moves the carget return flag to waybill indicator and proceeds to inquiry fallback if waybill not found.
💻 Technical Criteria
Given No error occurred in waybill retrieval
When The system checks the waybill retrieval results
Then The system moves the CARGET return flag to waybill indicator and proceeds to inquiry fallback if waybill not found
R-GCX003-cbl-01837 Call Inquiry System Fallback
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Call Inquiry System Fallback', assuming that primary waybill retrieval did not find a waybill, when the system needs to attempt alternative retrieval methods, the desired outcome is that the system performs inquiry system fallback retrieval process.
💻 Technical Criteria
EXCLUDING Primary waybill retrieval did not find a waybill
When The system needs to attempt alternative retrieval methods
Then The system performs inquiry system fallback retrieval process
R-GCX003-cbl-01272 Primary Waybill System Failed
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Primary Waybill System Failed', assuming that equipment waybill lookup has failed in primary system, when system determines waybill was not found and container is not found, the desired outcome is that initiate inquiry system fallback processing.
💻 Technical Criteria
EXCLUDING Equipment waybill lookup has failed in primary system
When System determines waybill was not found and container is not found
Then Initiate inquiry system fallback processing
R-GCX003-cbl-01274 Inquiry Root Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Inquiry Root Record Found?' is invoked, and assuming that container inquiry system has been accessed, when system checks for valid inquiry root record, the desired outcome is that continue processing if found, otherwise return waybill not found.
💻 Technical Criteria
Given Container inquiry system has been accessed
When System checks for valid inquiry root record
Then Continue processing if found, otherwise return waybill not found
R-GCX003-cbl-01275 Extract Road/Station/Waybill Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Extract Road/Station/Waybill Numbers' is invoked, and assuming that valid inquiry root record exists, when system processes the inquiry root data, the desired outcome is that extract original road number, csc station number, and waybill number for further processing.
💻 Technical Criteria
Given Valid inquiry root record exists
When System processes the inquiry root data
Then Extract original road number, CSC station number, and waybill number for further processing
R-GCX003-cbl-01276 Retrieve Waybill from FWIQROOT
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Waybill from FWIQROOT' is invoked, and assuming that road number, station number, and waybill number are available, when system accesses fwiqroot with these key components, the desired outcome is that retrieve waybill inquiry record or return not found status.
💻 Technical Criteria
Given Road number, station number, and waybill number are available
When System accesses FWIQROOT with these key components
Then Retrieve waybill inquiry record or return not found status
R-GCX003-cbl-01277 Waybill Found in Inquiry?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Found in Inquiry?' is invoked, and assuming that waybill inquiry system has been accessed, when system checks for valid waybill inquiry record, the desired outcome is that continue processing if found, otherwise return waybill not found.
💻 Technical Criteria
Given Waybill inquiry system has been accessed
When System checks for valid waybill inquiry record
Then Continue processing if found, otherwise return waybill not found
R-GCX003-cbl-01278 Convert Load/Empty Status
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Load/Empty Status' is invoked, and assuming that waybill inquiry record contains billing code, when billing code equals 'ze', the desired outcome is that set equipment status to 'e' for empty, otherwise set to 'l' for loaded.
💻 Technical Criteria
Given Waybill inquiry record contains billing code
When Billing code equals 'ZE'
Then Set equipment status to 'E' for empty, otherwise set to 'L' for loaded
R-GCX003-cbl-01279 Map Date and Origin Information
Process Rules
📊 Business Logic Narrative
When the process 'Map Date and Origin Information' is invoked, and assuming that valid waybill inquiry record exists, when system maps inquiry data to standard format, the desired outcome is that transfer road number, waybill number, car id, load/empty status, tofc/cofc indicator, waybill date, and origin station to standard waybill structure.
💻 Technical Criteria
Given Valid waybill inquiry record exists
When System maps inquiry data to standard format
Then Transfer road number, waybill number, car ID, load/empty status, TOFC/COFC indicator, waybill date, and origin station to standard waybill structure
R-GCX003-cbl-01280 Map Inquiry Data to Standard Format
Process Rules
📊 Business Logic Narrative
When the process 'Map Inquiry Data to Standard Format' is invoked, and assuming that inquiry data has been successfully mapped, when system transfers data to standard format, the desired outcome is that populate shipment root structure with all waybill information for downstream processing.
💻 Technical Criteria
Given Inquiry data has been successfully mapped
When System transfers data to standard format
Then Populate shipment root structure with all waybill information for downstream processing
R-GCX003-cbl-01281 Retrieve Routing Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Routing Information' is invoked, and assuming that valid waybill exists in inquiry system, when system accesses fwiqinfo with waybill key and routing segment 'b1', the desired outcome is that retrieve routing information or continue without routing data.
💻 Technical Criteria
Given Valid waybill exists in inquiry system
When System accesses FWIQINFO with waybill key and routing segment 'B1'
Then Retrieve routing information or continue without routing data
R-GCX003-cbl-01282 Routing Info Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Routing Info Available?' is invoked, and assuming that routing information system has been accessed, when system checks if routing info fields contain data, the desired outcome is that process routing data if available, otherwise complete waybill processing without routing information.
💻 Technical Criteria
Given Routing information system has been accessed
When System checks if routing info fields contain data
Then Process routing data if available, otherwise complete waybill processing without routing information
R-GCX003-cbl-01286 Return Waybill Data Success
Process Rules
📊 Business Logic Narrative
When the process 'Return Waybill Data Success' is invoked, and assuming that waybill data has been successfully retrieved and mapped, when all processing steps complete successfully, the desired outcome is that return waybill found status with complete waybill and routing information.
💻 Technical Criteria
Given Waybill data has been successfully retrieved and mapped
When All processing steps complete successfully
Then Return waybill found status with complete waybill and routing information
R-GCX003-cbl-01287 Return Waybill Not Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Return Waybill Not Found', assuming that waybill lookup has failed in inquiry system, when either inquiry root record or waybill inquiry record is not found, the desired outcome is that return waybill not found status to calling process.
💻 Technical Criteria
EXCLUDING Waybill lookup has failed in inquiry system
When Either inquiry root record or waybill inquiry record is not found
Then Return waybill not found status to calling process
R-GCX003-cbl-00132 Set Waybill Root Key from Equipment
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Waybill Root Key from Equipment' is invoked, and assuming that equipment has been processed and waybill information is available, when the system sets up cargo search parameters, the desired outcome is that waybill root key and waybill date are extracted from equipment record for cargo search.
💻 Technical Criteria
Given Equipment has been processed and waybill information is available
When The system sets up cargo search parameters
Then Waybill root key and waybill date are extracted from equipment record for cargo search
R-GCX003-cbl-00134 Build Cargo Database Index Key
Process Rules
📊 Business Logic Narrative
When the process 'Build Cargo Database Index Key' is invoked, and assuming that waybill root key, waybill date, and equipment id are available, when the system builds the cargo database index key, the desired outcome is that complete index key is constructed combining waybill root-date and equipment id for cargo record retrieval.
💻 Technical Criteria
Given Waybill root key, waybill date, and equipment ID are available
When The system builds the cargo database index key
Then Complete index key is constructed combining waybill root-date and equipment ID for cargo record retrieval
R-GCX003-cbl-00137 Validate Cargo Belongs to Equipment
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Belongs to Equipment' is invoked, and assuming that a cargo record has been retrieved from the database, when the system validates cargo ownership, the desired outcome is that equipment id and waybill root-date from cargo record are compared against current equipment values.
💻 Technical Criteria
Given A cargo record has been retrieved from the database
When The system validates cargo ownership
Then Equipment ID and waybill root-date from cargo record are compared against current equipment values
R-GCX003-cbl-00138 Equipment ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID and Waybill Match?' is invoked, and assuming that cargo record contains equipment id and waybill information, when the system compares cargo record data with current equipment data, the desired outcome is that match is confirmed when equipment id equals cargo equipment id and waybill root-date equals cargo waybill root-date.
💻 Technical Criteria
Given Cargo record contains equipment ID and waybill information
When The system compares cargo record data with current equipment data
Then Match is confirmed when equipment ID equals cargo equipment ID AND waybill root-date equals cargo waybill root-date
R-GCX003-cbl-00143 Validate Next Cargo Record
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Next Cargo Record' is invoked, and assuming that additional cargo record has been retrieved from database, when the system validates the next cargo record, the desired outcome is that equipment id and waybill information from next cargo record are validated against current equipment.
💻 Technical Criteria
Given Additional cargo record has been retrieved from database
When The system validates the next cargo record
Then Equipment ID and waybill information from next cargo record are validated against current equipment
R-GCX003-cbl-00144 Next Record Matches Equipment?
Validation Rules
📊 Business Logic Narrative
When the process 'Next Record Matches Equipment?' is invoked, and assuming that next cargo record contains equipment and waybill identification, when the system compares next record with current equipment, the desired outcome is that match is confirmed when next record equipment id equals current equipment id and next record waybill root-date equals current waybill root-date.
💻 Technical Criteria
Given Next cargo record contains equipment and waybill identification
When The system compares next record with current equipment
Then Match is confirmed when next record equipment ID equals current equipment ID AND next record waybill root-date equals current waybill root-date
R-GCX003-cbl-00145 Continue to Next Record
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Record' is invoked, and assuming that next cargo record matches current equipment and waybill, when the system processes the matching cargo record, the desired outcome is that cargo record is processed and system continues to search for additional cargo records.
💻 Technical Criteria
Given Next cargo record matches current equipment and waybill
When The system processes the matching cargo record
Then Cargo record is processed and system continues to search for additional cargo records
R-GCX003-cbl-00162 Equipment Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Type?' is invoked, and assuming that an equipment item is being processed, when the system checks if a container was found in the waybill, the desired outcome is that equipment is classified as container if container found, otherwise as car.
💻 Technical Criteria
Given An equipment item is being processed
When The system checks if a container was found in the waybill
Then Equipment is classified as container if container found, otherwise as car
R-GCX003-cbl-00169 Process Double Stack Container Count
Computation Rules
📊 Business Logic Narrative
When the process 'Process Double Stack Container Count' is invoked, and assuming that equipment has valid waybill and equipment type code is 'sk', when the system processes double stack container information, the desired outcome is that double stack counts are updated based on traffic type (cprs, csxt, ns, or haul).
💻 Technical Criteria
Given Equipment has valid waybill and equipment type code is 'SK'
When The system processes double stack container information
Then Double stack counts are updated based on traffic type (CPRS, CSXT, NS, or HAUL)
R-GCX003-cbl-00170 Process Equipment Routing Information
Decision Rules
📊 Business Logic Narrative
When the process 'Process Equipment Routing Information' is invoked, and assuming that equipment has valid waybill information, when the system processes routing information from the waybill, the desired outcome is that routing is checked against predefined patterns and empty indicator is set to 1 if no valid route found, otherwise route-specific indicators are set.
💻 Technical Criteria
Given Equipment has valid waybill information
When The system processes routing information from the waybill
Then Routing is checked against predefined patterns and empty indicator is set to 1 if no valid route found, otherwise route-specific indicators are set
R-GCX003-cbl-00173 Fill Cargo Part Information
Process Rules
📊 Business Logic Narrative
When the process 'Fill Cargo Part Information' is invoked, and assuming that cargo information exists for the equipment, when the system processes cargo details, the desired outcome is that bond type indicators are set, us ccn key is captured, load/empty indicator is updated, and cargo condition response code is stored.
💻 Technical Criteria
Given Cargo information exists for the equipment
When The system processes cargo details
Then Bond type indicators are set, US CCN key is captured, load/empty indicator is updated, and cargo condition response code is stored
R-GCX003-cbl-01303 Check Double Stack Container Classification
Decision Rules
📊 Business Logic Narrative
When the process 'Check Double Stack Container Classification' is invoked, and assuming that equipment has a waybill and car code is available, when car code equals 'sk', the desired outcome is that equipment is classified as double stack container for traffic counting.
💻 Technical Criteria
Given Equipment has a waybill and car code is available
When Car code equals 'SK'
Then Equipment is classified as double stack container for traffic counting
R-GCX003-cbl-01305 Extract Waybill Routing Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Routing Information' is invoked, and assuming that equipment has an associated waybill, when routing information is needed, the desired outcome is that routing information is extracted from shipment root, exclamation marks are replaced with spaces, and routing analysis is prepared.
💻 Technical Criteria
Given Equipment has an associated waybill
When Routing information is needed
Then Routing information is extracted from shipment root, exclamation marks are replaced with spaces, and routing analysis is prepared
R-GCX003-cbl-01306 Analyze Equipment Routing Patterns
Decision Rules
📊 Business Logic Narrative
When the process 'Analyze Equipment Routing Patterns' is invoked, and assuming that routing information is available from waybill, when routing pattern analysis is performed, the desired outcome is that system checks for specific routing patterns including csxt/ns to cprs via det junction and sets appropriate routing indicators.
💻 Technical Criteria
Given Routing information is available from waybill
When Routing pattern analysis is performed
Then System checks for specific routing patterns including CSXT/NS to CPRS via DET junction and sets appropriate routing indicators
R-GCX003-cbl-01307 Set Empty Equipment Indicator
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Empty Equipment Indicator', assuming that equipment routing information is not available or waybill is not found, when equipment processing continues, the desired outcome is that empty equipment indicator is set to 1 in report fields.
💻 Technical Criteria
EXCLUDING Equipment routing information is not available or waybill is not found
When Equipment processing continues
Then Empty equipment indicator is set to 1 in report fields
R-GCX003-cbl-01589 Extract Routing Information from Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Extract Routing Information from Waybill' is invoked, and assuming that a waybill exists with routing information in rut-info fields, when the system processes the waybill for routing analysis, the desired outcome is that the routing information from rut-info fields 1, 2, and 3 is extracted and stored in working storage routing variables.
💻 Technical Criteria
Given A waybill exists with routing information in RUT-INFO fields
When The system processes the waybill for routing analysis
Then The routing information from RUT-INFO fields 1, 2, and 3 is extracted and stored in working storage routing variables
R-GCX003-cbl-01592 Check Hazmat Code 'HM'?
Decision Rules
📊 Business Logic Narrative
When the process 'Check Hazmat Code 'HM'?' is invoked, and assuming that equipment has an ima code in the waybill, when the ima code equals 'hm', the desired outcome is that the equipment empty indicator is set to 2 for hazmat routing and route found flag is set to true.
💻 Technical Criteria
Given Equipment has an IMA code in the waybill
When The IMA code equals 'HM'
Then The equipment empty indicator is set to 2 for hazmat routing and route found flag is set to true
R-GCX003-cbl-01597 Set Equipment Empty Indicator Based on Routing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Equipment Empty Indicator Based on Routing', assuming that equipment processing is complete and no specific routing pattern was identified or no waybill was found, when the route was not found or waybill is not available, the desired outcome is that the equipment empty indicator is set to 1 as the default value.
💻 Technical Criteria
EXCLUDING Equipment processing is complete and no specific routing pattern was identified OR no waybill was found
When The route was not found or waybill is not available
Then The equipment empty indicator is set to 1 as the default value
R-GCX003-cbl-01698 Extract Routing Information from Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Extract Routing Information from Waybill' is invoked, and assuming that a waybill exists with routing information in rut-info fields 1, 2, and 3, when the system processes the waybill routing data, the desired outcome is that the routing information is extracted into working storage fields and exclamation marks are replaced with spaces for proper parsing.
💻 Technical Criteria
Given A waybill exists with routing information in RUT-INFO fields 1, 2, and 3
When The system processes the waybill routing data
Then The routing information is extracted into working storage fields and exclamation marks are replaced with spaces for proper parsing
R-GCX003-cbl-01701 Check Route Pattern Loop
Decision Rules
📊 Business Logic Narrative
When the process 'Check Route Pattern Loop' is invoked, and assuming that a waybill has routing information to be analyzed, when the ima code equals 'hm' indicating hazardous materials, the desired outcome is that route type is set to 2 for hazmat, route found flag is set to true, and normal pattern analysis is bypassed.
💻 Technical Criteria
Given A waybill has routing information to be analyzed
When The IMA code equals 'HM' indicating hazardous materials
Then Route type is set to 2 for hazmat, route found flag is set to true, and normal pattern analysis is bypassed
R-GCX003-cbl-01838 Get Routing Information from Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Get Routing Information from Waybill' is invoked, and assuming that a waybill contains routing information in rut-info fields, when the system processes the waybill routing data, the desired outcome is that the routing information is extracted from the first three rut-info positions and exclamation marks are replaced with spaces for proper parsing.
💻 Technical Criteria
Given A waybill contains routing information in RUT-INFO fields
When The system processes the waybill routing data
Then The routing information is extracted from the first three RUT-INFO positions and exclamation marks are replaced with spaces for proper parsing
R-GCX003-cbl-01603 Generate Empty Residue Error Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Empty Residue Error Message', assuming that equipment has empty residue code found and residue weight exceeds 7000 pounds and equipment is empty and not idler, when system processes waybill found with no cargo found condition, the desired outcome is that system generates message 44 with waybill root key and date information.
💻 Technical Criteria
EXCLUDING Equipment has empty residue code found and residue weight exceeds 7000 pounds and equipment is empty and not idler
When System processes waybill found with no cargo found condition
Then System generates message 44 with waybill root key and date information
R-GCX003-cbl-01604 Generate Loaded Equipment Missing Cargo Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Loaded Equipment Missing Cargo Message', assuming that equipment is marked as loaded and has residue weight with empty residue code found but no cargo data available, when system processes equipment with waybill found but cargo not found condition, the desired outcome is that system generates appropriate missing cargo message for loaded equipment.
💻 Technical Criteria
EXCLUDING Equipment is marked as loaded and has residue weight with empty residue code found but no cargo data available
When System processes equipment with waybill found but cargo not found condition
Then System generates appropriate missing cargo message for loaded equipment
R-GCX003-cbl-01709 Retrieve SHIPCOMM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve SHIPCOMM Segment' is invoked, and assuming that empty equipment requires residue weight evaluation, when system attempts to retrieve shipcomm segment using waybill root key, the desired outcome is that retrieve shipment comments data including residue weight and special handling codes for threshold analysis.
💻 Technical Criteria
Given Empty equipment requires residue weight evaluation
When System attempts to retrieve SHIPCOMM segment using waybill root key
Then Retrieve shipment comments data including residue weight and special handling codes for threshold analysis
R-GCX003-cbl-00186 Set Container Parameters
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Container Parameters' is invoked, and assuming that equipment processing is initiated and waybill data is available, when the system detects container equipment from waybill data, the desired outcome is that equipment type is set to container and container-specific processing parameters are established.
💻 Technical Criteria
Given Equipment processing is initiated and waybill data is available
When The system detects container equipment from waybill data
Then Equipment type is set to container and container-specific processing parameters are established
R-GCX003-cbl-00187 Set Trailer Parameters
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Trailer Parameters' is invoked, and assuming that equipment is classified as container type and waybill routing data is available, when the waybill indicates trailer equipment type, the desired outcome is that trailer-specific processing parameters are applied to the equipment.
💻 Technical Criteria
Given Equipment is classified as container type and waybill routing data is available
When The waybill indicates trailer equipment type
Then Trailer-specific processing parameters are applied to the equipment
R-GCX003-cbl-00192 Set Double Stack Container Count
Computation Rules
📊 Business Logic Narrative
When the process 'Set Double Stack Container Count' is invoked, and assuming that equipment is validated and waybill is found and equipment type is 'sk' (stack car), when double stack container processing is required, the desired outcome is that system calls double stack service and updates appropriate traffic type counters (cprs, csxt, ns, or haul).
💻 Technical Criteria
Given Equipment is validated and waybill is found and equipment type is 'SK' (stack car)
When Double stack container processing is required
Then System calls double stack service and updates appropriate traffic type counters (CPRS, CSXT, NS, or HAUL)
R-GCX003-cbl-00193 Validate Equipment Routing Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment Routing Information' is invoked, and assuming that waybill is found and routing information is available, when equipment routing validation is performed, the desired outcome is that system checks routing information against predefined routing patterns and sets appropriate routing indicators.
💻 Technical Criteria
Given Waybill is found and routing information is available
When Equipment routing validation is performed
Then System checks routing information against predefined routing patterns and sets appropriate routing indicators
R-GCX003-cbl-00194 Set Empty Equipment Indicator
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Empty Equipment Indicator', assuming that equipment routing validation has been performed, when routing validation fails or waybill is not found, the desired outcome is that empty equipment indicator is set to 1 for the equipment.
💻 Technical Criteria
EXCLUDING Equipment routing validation has been performed
When Routing validation fails or waybill is not found
Then Empty equipment indicator is set to 1 for the equipment
R-GCX003-cbl-00221 Format Bond Information Display
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Format Bond Information Display', assuming that cargo bond type is not spaces and not export type and not empty equipment type, when the system formats cargo information for display, the desired outcome is that the us ccn key from cargo is assigned to the report us ccn field.
💻 Technical Criteria
EXCLUDING Cargo bond type is not spaces and not export type and not empty equipment type
When The system formats cargo information for display
Then The US CCN key from cargo is assigned to the report US CCN field
R-GCX003-cbl-00244 Create US-US Detour Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create US-US Detour Special Manifest' is invoked, and assuming that waybill is found with no cargo and origin and destination are both us states and equipment is loaded or has residue weight with er found, when the request action is send and user is authorized for special manifests, the desired outcome is that set us-us detour spawn flag to true, generate message 23, and perform special manifest creation process.
💻 Technical Criteria
Given Waybill is found with no cargo AND origin and destination are both US states AND equipment is loaded or has residue weight with ER found
When The request action is SEND AND user is authorized for special manifests
Then Set US-US detour spawn flag to TRUE, generate message 23, and perform special manifest creation process
R-GCX003-cbl-00245 Generate US-US Detour Report Message
Decision Rules
📊 Business Logic Narrative
When the process 'Generate US-US Detour Report Message' is invoked, and assuming that waybill is found with no cargo and origin and destination are both us states and equipment is loaded or has residue weight with er found, when the request action is report, the desired outcome is that generate message 18 for us-us movement detour reporting.
💻 Technical Criteria
Given Waybill is found with no cargo AND origin and destination are both US states AND equipment is loaded or has residue weight with ER found
When The request action is REPORT
Then Generate message 18 for US-US movement detour reporting
R-GCX003-cbl-00250 Set Special Manifest Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Special Manifest Parameters' is invoked, and assuming that a special manifest needs to be created for any cargo type, when special manifest creation is triggered, the desired outcome is that set high-values security byte, set 'us' record type code, set border code from station crossing port, set border name from station name, and set ccn from cargo ccn key.
💻 Technical Criteria
Given A special manifest needs to be created for any cargo type
When Special manifest creation is triggered
Then Set high-values security byte, set 'US' record type code, set border code from station crossing port, set border name from station name, and set CCN from cargo CCN key
R-GCX003-cbl-00252 Set Equipment and Waybill Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment and Waybill Information' is invoked, and assuming that special manifest type is determined, when setting equipment and waybill information, the desired outcome is that set equipment id from current equipment id, set waybill number from cargo waybill index, and set waybill date from cargo waybill date index.
💻 Technical Criteria
Given Special manifest type is determined
When Setting equipment and waybill information
Then Set equipment ID from current equipment ID, set waybill number from cargo waybill index, and set waybill date from cargo waybill date index
R-GCX003-cbl-01366 Original US-US Movement?
Decision Rules
📊 Business Logic Narrative
When the process 'Original US-US Movement?' is invoked, and assuming that a waybill exists without associated cargo and movement type information, when the waybill represents original us-us domestic movement, the desired outcome is that set us-us detour spawn flag and trigger special manifest creation.
💻 Technical Criteria
Given A waybill exists without associated cargo and movement type information
When The waybill represents original US-US domestic movement
Then Set US-US detour spawn flag and trigger special manifest creation
R-GCX003-cbl-01367 Set Diversion Type in Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Set Diversion Type in Manifest' is invoked, and assuming that a special manifest record needs to be created for diversion processing, when the manifest type is determined to be diversion, the desired outcome is that set diversion flag in manifest record and populate equipment id, waybill number, and waybill date.
💻 Technical Criteria
Given A special manifest record needs to be created for diversion processing
When The manifest type is determined to be diversion
Then Set diversion flag in manifest record and populate equipment ID, waybill number, and waybill date
R-GCX003-cbl-01368 Set IT Export Type in Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Set IT Export Type in Manifest' is invoked, and assuming that a special manifest record needs to be created for it export processing, when the manifest type is determined to be it export, the desired outcome is that set it export flag in manifest record and populate equipment id, waybill number, and waybill date.
💻 Technical Criteria
Given A special manifest record needs to be created for IT export processing
When The manifest type is determined to be IT export
Then Set IT export flag in manifest record and populate equipment ID, waybill number, and waybill date
R-GCX003-cbl-01370 Set Export TR Type in Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Set Export TR Type in Manifest' is invoked, and assuming that a special manifest record needs to be created for export tr processing, when the manifest type is determined to be export tr, the desired outcome is that set export tr flag in manifest record and populate equipment id, waybill number, and waybill date.
💻 Technical Criteria
Given A special manifest record needs to be created for export TR processing
When The manifest type is determined to be export TR
Then Set export TR flag in manifest record and populate equipment ID, waybill number, and waybill date
R-GCX003-cbl-01371 Set US-US Detour Type in Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Set US-US Detour Type in Manifest' is invoked, and assuming that a special manifest record needs to be created for us-us detour processing, when the manifest type is determined to be us-us detour, the desired outcome is that set us-us detour flag in manifest record, clear ccn field, and populate equipment id, waybill number, and waybill date.
💻 Technical Criteria
Given A special manifest record needs to be created for US-US detour processing
When The manifest type is determined to be US-US detour
Then Set US-US detour flag in manifest record, clear CCN field, and populate equipment ID, waybill number, and waybill date
R-GCX003-cbl-00272 Generate Error Message - Missing Waybill for Loaded Equipment
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message - Missing Waybill for Loaded Equipment', assuming that an equipment item is being processed for a train manifest, when the equipment is marked as loaded and no waybill is found and the equipment is not an sbu van unit, the desired outcome is that generate error message msg-ten indicating missing waybill for loaded equipment.
💻 Technical Criteria
EXCLUDING An equipment item is being processed for a train manifest
When The equipment is marked as loaded AND no waybill is found AND the equipment is not an SBU Van unit
Then Generate error message MSG-TEN indicating missing waybill for loaded equipment
R-GCX003-cbl-00273 Generate Error Message - Missing Cargo for Loaded Equipment
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message - Missing Cargo for Loaded Equipment', assuming that an equipment item has an associated waybill, when no cargo records are found for the equipment and the equipment is marked as loaded and the equipment is not a conveying car and the equipment is not an idler car, the desired outcome is that generate error message msg-fifteen indicating missing cargo records for loaded equipment with waybill and date information.
💻 Technical Criteria
EXCLUDING An equipment item has an associated waybill
When No cargo records are found for the equipment AND the equipment is marked as loaded AND the equipment is not a conveying car AND the equipment is not an idler car
Then Generate error message MSG-FIFTEEN indicating missing cargo records for loaded equipment with waybill and date information
R-GCX003-cbl-00275 Equipment Validation Passed
Policy Rules
📊 Business Logic Narrative
When the process 'Equipment Validation Passed' is invoked, and assuming that an equipment item is marked as loaded but has no waybill, when the equipment is classified as an sbu van unit, the desired outcome is that exempt the equipment from waybill requirement validation and mark validation as passed.
💻 Technical Criteria
Given An equipment item is marked as loaded but has no waybill
When The equipment is classified as an SBU Van unit
Then Exempt the equipment from waybill requirement validation and mark validation as passed
R-GCX003-cbl-00276 Equipment Validation Passed
Policy Rules
📊 Business Logic Narrative
When the process 'Equipment Validation Passed' is invoked, and assuming that an equipment item has a waybill but no cargo records are found, when the equipment is classified as a conveying car, the desired outcome is that exempt the equipment from cargo record requirement validation and mark validation as passed.
💻 Technical Criteria
Given An equipment item has a waybill but no cargo records are found
When The equipment is classified as a conveying car
Then Exempt the equipment from cargo record requirement validation and mark validation as passed
R-GCX003-cbl-01393 Generate US-US Detour Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Generate US-US Detour Manifest' is invoked, and assuming that waybill is found but no cargo exists and origin and destination are both us states, when the system generates a us-us movement detour manifest, the desired outcome is that create gcx101 spawn with us-us detour flag set and include waybill details for manifest processing.
💻 Technical Criteria
Given Waybill is found but no cargo exists and origin and destination are both US states
When The system generates a US-US movement detour manifest
Then Create GCX101 spawn with US-US detour flag set and include waybill details for manifest processing
R-GCX003-cbl-00347 Waybill Found AND No Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Waybill Found AND No Cargo Found?' is invoked, and assuming that a waybill processing scenario exists, when the system checks if waybill is found and no cargo is found, the desired outcome is that the system should proceed to us-us movement detour processing if both conditions are true, otherwise skip the processing.
💻 Technical Criteria
Given A waybill processing scenario exists
When The system checks if waybill is found and no cargo is found
Then The system should proceed to US-US movement detour processing if both conditions are true, otherwise skip the processing
R-GCX003-cbl-00364 Search State-Country Reference Table for Origin
Decision Rules
📊 Business Logic Narrative
When the process 'Search State-Country Reference Table for Origin' is invoked, and assuming that a waybill contains an origin state/province code, when the system searches the state-country reference table for the origin state code, the desired outcome is that if the origin state is found in the table, set the origin country code from the table entry, otherwise set the origin country code to spaces.
💻 Technical Criteria
Given A waybill contains an origin state/province code
When The system searches the state-country reference table for the origin state code
Then If the origin state is found in the table, set the origin country code from the table entry, otherwise set the origin country code to spaces
R-GCX003-cbl-00365 Search State-Country Reference Table for Destination
Decision Rules
📊 Business Logic Narrative
When the process 'Search State-Country Reference Table for Destination' is invoked, and assuming that a waybill contains a destination state/province code, when the system searches the state-country reference table for the destination state code, the desired outcome is that if the destination state is found in the table, set the destination country code from the table entry, otherwise set the destination country code to spaces.
💻 Technical Criteria
Given A waybill contains a destination state/province code
When The system searches the state-country reference table for the destination state code
Then If the destination state is found in the table, set the destination country code from the table entry, otherwise set the destination country code to spaces
R-GCX003-cbl-00367 Check if Container Not Found in Primary System
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if Container Not Found in Primary System', assuming that container processing is required for an equipment item, when the system determines that container was not found in the primary waybill system, the desired outcome is that the system initiates container lookup in the fwswrwr container database.
💻 Technical Criteria
EXCLUDING Container processing is required for an equipment item
When The system determines that container was not found in the primary waybill system
Then The system initiates container lookup in the FWSWRWR container database
R-GCX003-cbl-00368 Retrieve Container from FWSWRWR Database
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Retrieve Container from FWSWRWR Database', assuming that container information is not available from primary waybill system, when the system searches the fwswrwr database using the waybill root key, the desired outcome is that container segment information is retrieved if found in the database.
💻 Technical Criteria
EXCLUDING Container information is not available from primary waybill system
When The system searches the FWSWRWR database using the waybill root key
Then Container segment information is retrieved if found in the database
R-GCX003-cbl-00374 Search FWIQ Container Cross-Reference
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search FWIQ Container Cross-Reference', assuming that container is not found in primary fwswrwr database, when the system searches the fwiq inquiry database using waybill information, the desired outcome is that container cross-reference records are retrieved if they exist in the inquiry system.
💻 Technical Criteria
EXCLUDING Container is not found in primary FWSWRWR database
When The system searches the FWIQ inquiry database using waybill information
Then Container cross-reference records are retrieved if they exist in the inquiry system
R-GCX003-cbl-00375 Extract Container Information from Inquiry
Process Rules
📊 Business Logic Narrative
When the process 'Extract Container Information from Inquiry' is invoked, and assuming that container cross-reference records are found in inquiry system, when the system processes fwiqbotl records with 't/c xref' identifier, the desired outcome is that container ids and associated waybill information are extracted and stored in container table.
💻 Technical Criteria
Given Container cross-reference records are found in inquiry system
When The system processes FWIQBOTL records with 'T/C XREF' identifier
Then Container IDs and associated waybill information are extracted and stored in container table
R-GCX003-cbl-00425 Extract Routing Information from Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Extract Routing Information from Waybill' is invoked, and assuming that a waybill exists with routing information in rut-info fields, when the system processes the waybill routing data, the desired outcome is that the routing information is extracted into working storage and exclamation marks are replaced with spaces for proper parsing.
💻 Technical Criteria
Given A waybill exists with routing information in RUT-INFO fields
When The system processes the waybill routing data
Then The routing information is extracted into working storage and exclamation marks are replaced with spaces for proper parsing
R-GCX003-cbl-01432 Set Email Item Width to 080 Characters
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Email Item Width to 080 Characters' is invoked, and assuming that email subject has been set, when the system configures email formatting, the desired outcome is that email item width is set to 080 characters, item sequence numbers are cleared, and item alpha sequence is cleared.
💻 Technical Criteria
Given Email subject has been set
When The system configures email formatting
Then Email item width is set to 080 characters, item sequence numbers are cleared, and item alpha sequence is cleared
R-GCX003-cbl-01440 Set Email Headers and Subject
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Headers and Subject' is invoked, and assuming that email parameters have been initialized for report transmission, when email headers and subject are being configured, the desired outcome is that the system shall set the sender and recipient to om01247, clear keywords and copy fields, use the first report line as the subject, and clear item sequence numbers.
💻 Technical Criteria
Given Email parameters have been initialized for report transmission
When Email headers and subject are being configured
Then The system shall set the sender and recipient to OM01247, clear keywords and copy fields, use the first report line as the subject, and clear item sequence numbers
R-GCX003-cbl-00529 Check Special Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'Check Special Conditions' is invoked, and assuming that waybill and cargo are found with special manifest origin flag set, when the crossing port is woburn pq station, the desired outcome is that continue processing without generating error messages.
💻 Technical Criteria
Given Waybill and cargo are found with special manifest origin flag set
When The crossing port is Woburn PQ station
Then Continue processing without generating error messages
R-GCX003-cbl-00530 Check Special Conditions
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Special Conditions', assuming that waybill and cargo are found with special manifest special flag set, when the crossing port is not woburn pq station, the desired outcome is that continue processing without generating error messages.
💻 Technical Criteria
EXCLUDING Waybill and cargo are found with special manifest special flag set
When The crossing port is not Woburn PQ station
Then Continue processing without generating error messages
R-GCX003-cbl-00531 Check Special Conditions
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Special Conditions', assuming that waybill and cargo are found with export type and us-mexico country codes and special 88 flag, when the crossing port is not laredo tx station, the desired outcome is that set us-mexico 88 found flag and continue processing.
💻 Technical Criteria
EXCLUDING Waybill and cargo are found with export type and US-Mexico country codes and special 88 flag
When The crossing port is not Laredo TX station
Then Set US-Mexico 88 found flag and continue processing
R-GCX003-cbl-00532 Check Special Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'Check Special Conditions' is invoked, and assuming that waybill and cargo are found with us-canada-us type and special tr flag, when the crossing port is laredo tx station, the desired outcome is that set special tr found flag and continue processing.
💻 Technical Criteria
Given Waybill and cargo are found with US-Canada-US type and special TR flag
When The crossing port is Laredo TX station
Then Set special TR found flag and continue processing
R-GCX003-cbl-00533 Generate Equipment Type Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Equipment Type Error', assuming that waybill is not found and container is found, when processing equipment validation, the desired outcome is that continue processing without generating specific error for this condition.
💻 Technical Criteria
EXCLUDING Waybill is not found and container is found
When Processing equipment validation
Then Continue processing without generating specific error for this condition
R-GCX003-cbl-00534 Generate Equipment Type Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Equipment Type Error', assuming that waybill is not found and container is not found and equipment is loaded, when equipment is not a unit sbu van, the desired outcome is that generate message ten indicating waybill not found.
💻 Technical Criteria
EXCLUDING Waybill is not found and container is not found and equipment is loaded
When Equipment is not a unit SBU van
Then Generate message ten indicating waybill not found
R-GCX003-cbl-00535 Generate Equipment Type Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Equipment Type Error', assuming that waybill status is neither found nor not found, when processing waybill validation, the desired outcome is that generate message twenty-six indicating waybill processing error.
💻 Technical Criteria
EXCLUDING Waybill status is neither found nor not found
When Processing waybill validation
Then Generate message twenty-six indicating waybill processing error
R-GCX003-cbl-00536 Generate Cargo Status Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Cargo Status Error', assuming that waybill is found and no cargo is found and idler indicator is not spaces, when processing cargo validation, the desired outcome is that generate message fifteen with waybill root key and date.
💻 Technical Criteria
EXCLUDING Waybill is found and no cargo is found and idler indicator is not spaces
When Processing cargo validation
Then Generate message fifteen with waybill root key and date
R-GCX003-cbl-00537 Generate Load Status Warning
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Load Status Warning', assuming that waybill is found and no cargo is found and residue weight threshold is greater than 7 and equipment is empty, when idler indicator is not 'i', the desired outcome is that generate message forty-four with waybill root key and date.
💻 Technical Criteria
EXCLUDING Waybill is found and no cargo is found and residue weight threshold is greater than 7 and equipment is empty
When Idler indicator is not 'I'
Then Generate message forty-four with waybill root key and date
R-GCX003-cbl-00538 Check Load Status Consistent
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Load Status Consistent', assuming that waybill is found and no cargo is found and origin state is us and destination state is us and equipment is loaded, when equipment is not a conveying car, the desired outcome is that execute detour process.
💻 Technical Criteria
EXCLUDING Waybill is found and no cargo is found and origin state is US and destination state is US and equipment is loaded
When Equipment is not a conveying car
Then Execute detour process
R-GCX003-cbl-00539 Check Load Status Consistent
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Load Status Consistent', assuming that waybill is found and no cargo is found and origin state is us and destination state is us and equipment is empty and residue weight is greater than 0 and er is found, when equipment is not a conveying car, the desired outcome is that execute detour process.
💻 Technical Criteria
EXCLUDING Waybill is found and no cargo is found and origin state is US and destination state is US and equipment is empty and residue weight is greater than 0 and ER is found
When Equipment is not a conveying car
Then Execute detour process
R-GCX003-cbl-00540 Generate Documentation Warning
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Documentation Warning', assuming that waybill is found and no cargo is found and container is not found and equipment is loaded, when equipment is not conveying car and idler indicator is not 'i', the desired outcome is that generate message fifteen with waybill root key and date.
💻 Technical Criteria
EXCLUDING Waybill is found and no cargo is found and container is not found and equipment is loaded
When Equipment is not conveying car and idler indicator is not 'I'
Then Generate message fifteen with waybill root key and date
R-GCX003-cbl-00557 Check if Cargo Record is Valid
Validation Rules
📊 Business Logic Narrative
When the process 'Check if Cargo Record is Valid' is invoked, and assuming that a cargo record needs to be logged for audit purposes, when the system checks if the cargo record contains valid us ccn data, the desired outcome is that the cargo record is considered valid if us ccn is not spaces and logging proceeds, otherwise the record is skipped.
💻 Technical Criteria
Given A cargo record needs to be logged for audit purposes
When The system checks if the cargo record contains valid US CCN data
Then The cargo record is considered valid if US CCN is not spaces and logging proceeds, otherwise the record is skipped
R-GCX003-cbl-00566 Set Cargo CCN as Train/CCN ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo CCN as Train/CCN ID' is invoked, and assuming that an audit log entry is being created for a cargo record, when the system sets the primary identifier for the audit entry, the desired outcome is that the us ccn from the cargo record is used as the train or ccn identifier in the audit log.
💻 Technical Criteria
Given An audit log entry is being created for a cargo record
When The system sets the primary identifier for the audit entry
Then The US CCN from the cargo record is used as the train or CCN identifier in the audit log
R-GCX003-cbl-00572 Move to Next Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Cargo Record' is invoked, and assuming that the current cargo record has been processed for audit logging, when the system continues processing the cargo collection, the desired outcome is that the cargo counter is incremented to move to the next cargo record in the added us ccn table.
💻 Technical Criteria
Given The current cargo record has been processed for audit logging
When The system continues processing the cargo collection
Then The cargo counter is incremented to move to the next cargo record in the added US CCN table
R-GCX003-cbl-00573 More Cargo Records to Log?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo Records to Log?' is invoked, and assuming that the system is processing cargo records for audit logging, when the system checks for more records to process, the desired outcome is that processing continues if the current cargo ccn is not spaces and the counter has not exceeded 2499 records.
💻 Technical Criteria
Given The system is processing cargo records for audit logging
When The system checks for more records to process
Then Processing continues if the current cargo CCN is not spaces and the counter has not exceeded 2499 records
R-GCX003-cbl-00588 Equipment Type = 'SK' Double Stack?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Type = 'SK' Double Stack?' is invoked, and assuming that a waybill is found and equipment type code is available, when the equipment type code is evaluated, the desired outcome is that if equipment type is 'sk' then proceed to double stack counting, otherwise continue with normal equipment processing.
💻 Technical Criteria
Given A waybill is found and equipment type code is available
When The equipment type code is evaluated
Then If equipment type is 'SK' then proceed to double stack counting, otherwise continue with normal equipment processing
R-GCX003-cbl-00589 Call GCCDBL Module with Waybill Number
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCDBL Module with Waybill Number' is invoked, and assuming that equipment type is confirmed as double stack ('sk') and waybill root key is available, when the gccdbl module is called with the waybill number, the desired outcome is that double stack traffic type and count information is returned for further processing.
💻 Technical Criteria
Given Equipment type is confirmed as double stack ('SK') and waybill root key is available
When The GCCDBL module is called with the waybill number
Then Double stack traffic type and count information is returned for further processing
R-GCX003-cbl-00594 Extract Routing Information from Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Extract Routing Information from Waybill' is invoked, and assuming that a waybill exists with routing information in rut-info fields, when the system processes the waybill routing data, the desired outcome is that the routing information is extracted from three rut-info positions and all '!' characters are replaced with spaces.
💻 Technical Criteria
Given A waybill exists with routing information in RUT-INFO fields
When The system processes the waybill routing data
Then The routing information is extracted from three RUT-INFO positions and all '!' characters are replaced with spaces
R-GCX003-cbl-00595 Initialize Route Search Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Route Search Variables' is invoked, and assuming that routing information has been extracted from waybill, when the system begins route analysis, the desired outcome is that route search variables are set to initial state with route not found status and starting position.
💻 Technical Criteria
Given Routing information has been extracted from waybill
When The system begins route analysis
Then Route search variables are set to initial state with route not found status and starting position
R-GCX003-cbl-00601 Check if Equipment is Empty and Has Residue Weight
Validation Rules
📊 Business Logic Narrative
When the process 'Check if Equipment is Empty and Has Residue Weight' is invoked, and assuming that equipment has been retrieved from waybill and shipment commodity information is available, when the equipment load indicator is 'e' (empty) and the residue weight in shipment commodity is greater than 0, the desired outcome is that initialize special handling code processing for empty residue validation.
💻 Technical Criteria
Given Equipment has been retrieved from waybill and shipment commodity information is available
When The equipment load indicator is 'E' (empty) AND the residue weight in shipment commodity is greater than 0
Then Initialize special handling code processing for empty residue validation
R-GCX003-cbl-00604 Generate Error Message 44 - Empty Residue Threshold Exceeded
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message 44 - Empty Residue Threshold Exceeded', assuming that equipment is empty and has residue weight greater than 7 and er threshold code is found and equipment load indicator is 'e' and idler indicator is not 'i', when no cargo is found for the waybill, the desired outcome is that generate error message 44 with waybill root key and date information.
💻 Technical Criteria
EXCLUDING Equipment is empty AND has residue weight greater than 7 AND ER threshold code is found AND equipment load indicator is 'E' AND idler indicator is not 'I'
When No cargo is found for the waybill
Then Generate error message 44 with waybill root key and date information
R-GCX003-cbl-00607 Set Equipment ID for Container
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment ID for Container' is invoked, and assuming that a container has been found in the waybill system, when the system processes the container equipment, the desired outcome is that the equipment id should be set to the container id from the equipment record and the container id should be assigned to the car type validation input parameter.
💻 Technical Criteria
Given A container has been found in the waybill system
When The system processes the container equipment
Then The equipment ID should be set to the container ID from the equipment record and the container ID should be assigned to the car type validation input parameter
R-GCX003-cbl-00617 Assign Equipment Type Description
Process Rules
📊 Business Logic Narrative
When the process 'Assign Equipment Type Description' is invoked, and assuming that the equipment type description lookup was successful, when the system processes the lookup result, the desired outcome is that the equipment type description should be assigned to the us ccn report field.
💻 Technical Criteria
Given The equipment type description lookup was successful
When The system processes the lookup result
Then The equipment type description should be assigned to the US CCN report field
R-GCX003-cbl-00633 Set Equipment Status to Empty
Decision Rules
📊 Business Logic Narrative
When the process 'Set Equipment Status to Empty' is invoked, and assuming that a waybill is found for the equipment, when the equipment is identified as a conveying car (shrt-conveying-car is true), the desired outcome is that the equipment load/empty indicator is set to 'e' (empty).
💻 Technical Criteria
Given A waybill is found for the equipment
When The equipment is identified as a conveying car (SHRT-CONVEYING-CAR is true)
Then The equipment load/empty indicator is set to 'E' (empty)
R-GCX003-cbl-00652 Format Paper 7512 US-CA-US Description
Decision Rules
📊 Business Logic Narrative
When the process 'Format Paper 7512 US-CA-US Description' is invoked, and assuming that cargo has bill of lading type code equal to '15', when the system formats the equipment description, the desired outcome is that the description is set to 'ppr 7512 15 us-ca-us'.
💻 Technical Criteria
Given Cargo has bill of lading type code equal to '15'
When The system formats the equipment description
Then The description is set to 'PPR 7512 15 US-CA-US'
R-GCX003-cbl-00664 Loop Through All Segment 07 Entries
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Loop Through All Segment 07 Entries', assuming that segment 07 data contains multiple commodity description entries and cargo creation conditions are not met, when the system processes segment 07 entries sequentially from 1 to maximum sequence number, the desired outcome is that for each entry that is not spaces or low-values, extract commodity description, create report line, add to equipment count if first entry, and continue until all entries processed or report maximum reached.
💻 Technical Criteria
EXCLUDING Segment 07 data contains multiple commodity description entries and cargo creation conditions are not met
When The system processes segment 07 entries sequentially from 1 to maximum sequence number
Then For each entry that is not spaces or low-values, extract commodity description, create report line, add to equipment count if first entry, and continue until all entries processed or report maximum reached
R-GCX003-cbl-00669 Call GCCDBL Module with Waybill Number
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCDBL Module with Waybill Number' is invoked, and assuming that equipment is identified as double stack container type 'sk' and waybill information is available, when gccdbl module is called with the waybill number from shipment root, the desired outcome is that double stack container count and traffic type information is retrieved from the module.
💻 Technical Criteria
Given Equipment is identified as double stack container type 'SK' and waybill information is available
When GCCDBL module is called with the waybill number from shipment root
Then Double stack container count and traffic type information is retrieved from the module
R-GCX003-cbl-00706 Create US-US Movement Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create US-US Movement Special Manifest', assuming that waybill is found but no cargo is found and both origin and destination are us locations, when equipment is loaded or equipment is empty with residue weight greater than zero and residue found and not conveying car, the desired outcome is that create us-us detour special manifest, generate message 23, and spawn gcx101 process with us-us detour flag.
💻 Technical Criteria
EXCLUDING Waybill is found but no cargo is found and both origin and destination are US locations
When Equipment is loaded or equipment is empty with residue weight greater than zero and residue found and not conveying car
Then Create US-US detour special manifest, generate message 23, and spawn GCX101 process with US-US detour flag
R-GCX003-cbl-00742 Container Found in Primary System?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Container Found in Primary System?', assuming that a container retrieval process is initiated and container was not previously found, when the system checks if container exists in primary waybill system, the desired outcome is that container found status is determined based on primary system availability.
💻 Technical Criteria
EXCLUDING A container retrieval process is initiated and container was not previously found
When The system checks if container exists in primary waybill system
Then Container found status is determined based on primary system availability
R-GCX003-cbl-00743 Get Container Equipment ID
Action Rules
📊 Business Logic Narrative
When the process 'Get Container Equipment ID' is invoked, and assuming that container is found in primary waybill system, when container data is successfully retrieved, the desired outcome is that equipment id is set to the container's equipment id value.
💻 Technical Criteria
Given Container is found in primary waybill system
When Container data is successfully retrieved
Then Equipment ID is set to the container's equipment ID value
R-GCX003-cbl-00745 Fallback to Inquiry System
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Fallback to Inquiry System', assuming that container is not found in primary waybill system, when primary system retrieval fails or returns no data, the desired outcome is that system initiates inquiry system search process.
💻 Technical Criteria
EXCLUDING Container is not found in primary waybill system
When Primary system retrieval fails or returns no data
Then System initiates inquiry system search process
R-GCX003-cbl-00746 Access FWCIROOT Database
Action Rules
📊 Business Logic Narrative
When the process 'Access FWCIROOT Database' is invoked, and assuming that fallback to inquiry system is activated, when system needs original waybill information for container search, the desired outcome is that fwciroot database is accessed using car id from container inquiry root.
💻 Technical Criteria
Given Fallback to inquiry system is activated
When System needs original waybill information for container search
Then FWCIROOT database is accessed using car ID from container inquiry root
R-GCX003-cbl-00747 Access FWIQROOT Database
Action Rules
📊 Business Logic Narrative
When the process 'Access FWIQROOT Database' is invoked, and assuming that original waybill information is retrieved from fwciroot, when system needs to find container cross-reference data, the desired outcome is that fwiqroot database is accessed using road number, station number, and waybill number.
💻 Technical Criteria
Given Original waybill information is retrieved from FWCIROOT
When System needs to find container cross-reference data
Then FWIQROOT database is accessed using road number, station number, and waybill number
R-GCX003-cbl-00749 Parse Container Cross-Reference Information
Computation Rules
📊 Business Logic Narrative
When the process 'Parse Container Cross-Reference Information' is invoked, and assuming that container cross-reference data is available from inquiry system, when inquiry bottom line record contains 't/c xref' in first 8 characters, the desired outcome is that container id is extracted from positions 28-39, road number from positions 10-12, station number from positions 14-19, and waybill number from positions 21-26.
💻 Technical Criteria
Given Container cross-reference data is available from inquiry system
When Inquiry bottom line record contains 'T/C XREF' in first 8 characters
Then Container ID is extracted from positions 28-39, road number from positions 10-12, station number from positions 14-19, and waybill number from positions 21-26
R-GCX003-cbl-00751 Set Container Not Found Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Container Not Found Status' is invoked, and assuming that container retrieval fails from both primary waybill system and inquiry system, when no valid container information is available from either source, the desired outcome is that container not found status is set and container iq not found status is set.
💻 Technical Criteria
Given Container retrieval fails from both primary waybill system and inquiry system
When No valid container information is available from either source
Then Container not found status is set and container IQ not found status is set
R-GCX003-cbl-00765 Determine Load/Empty Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Load/Empty Status' is invoked, and assuming that equipment type code has been set, when determining load/empty status, the desired outcome is that if cargo control number exists, use load/empty indicator from report; otherwise set status to empty.
💻 Technical Criteria
Given Equipment type code has been set
When Determining load/empty status
Then If cargo control number exists, use load/empty indicator from report; otherwise set status to empty
R-GCX003-cbl-00766 Store Cargo Control Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Cargo Control Number' is invoked, and assuming that load/empty status has been determined, when storing cargo control number, the desired outcome is that us cargo control number from the report working storage is stored in the equipment record.
💻 Technical Criteria
Given Load/empty status has been determined
When Storing cargo control number
Then US cargo control number from the report working storage is stored in the equipment record
R-GCX003-cbl-00767 Store Condition Response Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Condition Response Code' is invoked, and assuming that cargo control number has been stored, when storing condition response code, the desired outcome is that cargo condition response code from the report working storage is stored in the equipment record.
💻 Technical Criteria
Given Cargo control number has been stored
When Storing condition response code
Then Cargo condition response code from the report working storage is stored in the equipment record
R-GCX003-cbl-00805 Send Activity Audit Logs
Action Rules
📊 Business Logic Narrative
When the process 'Send Activity Audit Logs' is invoked, and assuming that a send request has completed successfully with cargo items added, when the system generates audit logs, the desired outcome is that for each added us ccn (up to 2499 entries), create a log entry with security byte, us cargo flag, action code 'zzz', sending transaction 'gct0031e', user acf2 id, current date and time, the us ccn key, and car added log message, then transmit the log entry.
💻 Technical Criteria
Given A SEND request has completed successfully with cargo items added
When The system generates audit logs
Then For each added US CCN (up to 2499 entries), create a log entry with security byte, US cargo flag, action code 'ZZZ', sending transaction 'GCT0031E', user ACF2 ID, current date and time, the US CCN key, and car added log message, then transmit the log entry
R-GCX003-cbl-01495 Send Activity Audit Logs
Action Rules
📊 Business Logic Narrative
When the process 'Send Activity Audit Logs' is invoked, and assuming that a successfully processed train manifest with cargo additions, when the system creates audit trails, the desired outcome is that for each added us ccn, create audit log entry with user id, timestamp, and cargo addition message via gct1051e.
💻 Technical Criteria
Given A successfully processed train manifest with cargo additions
When The system creates audit trails
Then For each added US CCN, create audit log entry with user ID, timestamp, and cargo addition message via GCT1051E
R-GCX003-cbl-01509 Create Activity Audit Logs
Policy Rules
📊 Business Logic Narrative
When the process 'Create Activity Audit Logs' is invoked, and assuming that cargo records that were added during train processing, when the system creates activity audit logs, the desired outcome is that for each added cargo record, a log entry must be created with us cargo type, action code zzz, sending transaction gct0031e, user acf2 id, current date and time, cargo ccn number, and cargo added message.
💻 Technical Criteria
Given Cargo records that were added during train processing
When The system creates activity audit logs
Then For each added cargo record, a log entry must be created with US cargo type, action code ZZZ, sending transaction GCT0031E, user ACF2 ID, current date and time, cargo CCN number, and cargo added message
R-GCX003-cbl-00819 Determine Load/Empty Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Load/Empty Status' is invoked, and assuming that equipment type code has been set, when determining load/empty status, the desired outcome is that if report us ccn key is spaces, then load/empty indicator is set to 'e' (empty), otherwise load/empty indicator is set from report load/empty indicator.
💻 Technical Criteria
Given Equipment type code has been set
When Determining load/empty status
Then If report US CCN key is spaces, then load/empty indicator is set to 'E' (empty), otherwise load/empty indicator is set from report load/empty indicator
R-GCX003-cbl-00820 Store Cargo Control Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Cargo Control Number' is invoked, and assuming that load/empty status has been determined, when storing cargo control number, the desired outcome is that us ccn key from report working storage is stored in train equipment us ccn key field.
💻 Technical Criteria
Given Load/empty status has been determined
When Storing cargo control number
Then US CCN key from report working storage is stored in train equipment US CCN key field
R-GCX003-cbl-00821 Store Condition Response Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Condition Response Code' is invoked, and assuming that cargo control number has been stored, when storing condition response code, the desired outcome is that cargo condition response code from report working storage is stored in train equipment condition response code field.
💻 Technical Criteria
Given Cargo control number has been stored
When Storing condition response code
Then Cargo condition response code from report working storage is stored in train equipment condition response code field
R-GCX003-cbl-00871 Initialize Email Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Email Parameters' is invoked, and assuming that an aei report needs to be distributed via email, when the system initializes email parameters, the desired outcome is that email copy usercode, keywords, item sequence numbers, item alpha sequence, item width, and text content are cleared, and item width is set to 80 characters.
💻 Technical Criteria
Given An AEI report needs to be distributed via email
When The system initializes email parameters
Then Email copy usercode, keywords, item sequence numbers, item alpha sequence, item width, and text content are cleared, and item width is set to 80 characters
R-GCX003-cbl-00921 Clean Routing Data - Replace Special Characters
Process Rules
📊 Business Logic Narrative
When the process 'Clean Routing Data - Replace Special Characters' is invoked, and assuming that raw routing information has been extracted from waybill, when the routing information contains exclamation mark delimiters, the desired outcome is that replace all exclamation marks with spaces to normalize the routing data.
💻 Technical Criteria
Given Raw routing information has been extracted from waybill
When The routing information contains exclamation mark delimiters
Then Replace all exclamation marks with spaces to normalize the routing data
R-GCX003-cbl-00991 Set Index Type to Car-Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Set Index Type to Car-Waybill' is invoked, and assuming that the database function code is set, when the system prepares to access cargo records, the desired outcome is that the index type is set to car-waybill to enable efficient cargo record retrieval by equipment and waybill combination.
💻 Technical Criteria
Given The database function code is set
When The system prepares to access cargo records
Then The index type is set to car-waybill to enable efficient cargo record retrieval by equipment and waybill combination
R-GCX003-cbl-00992 Set Operator to Greater Than
Process Rules
📊 Business Logic Narrative
When the process 'Set Operator to Greater Than' is invoked, and assuming that the index type is set to car-waybill, when the system needs to perform sequential cargo record searches, the desired outcome is that the search operator is set to greater than (>) to enable sequential record retrieval.
💻 Technical Criteria
Given The index type is set to car-waybill
When The system needs to perform sequential cargo record searches
Then The search operator is set to greater than (>) to enable sequential record retrieval
R-GCX003-cbl-00996 Check Waybill Root Date Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Waybill Root Date Match' is invoked, and assuming that the equipment id match is verified, when the system needs to verify the cargo belongs to the correct waybill, the desired outcome is that the waybill root date from the cargo record is compared with the expected waybill root date to ensure they match.
💻 Technical Criteria
Given The equipment ID match is verified
When The system needs to verify the cargo belongs to the correct waybill
Then The waybill root date from the cargo record is compared with the expected waybill root date to ensure they match
R-GCX003-cbl-00997 Equipment and Waybill Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment and Waybill Match?' is invoked, and assuming that both equipment id and waybill root date comparisons are completed, when the system needs to determine if the cargo record is valid, the desired outcome is that if both equipment id and waybill root date match, the cargo record is considered valid for processing.
💻 Technical Criteria
Given Both equipment ID and waybill root date comparisons are completed
When The system needs to determine if the cargo record is valid
Then If both equipment ID and waybill root date match, the cargo record is considered valid for processing
R-GCX003-cbl-00998 Set Cargo Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Found Status' is invoked, and assuming that both equipment id and waybill root date match the retrieved cargo record, when the system confirms the cargo record is valid, the desired outcome is that the cargo status is set to found to indicate successful cargo record retrieval.
💻 Technical Criteria
Given Both equipment ID and waybill root date match the retrieved cargo record
When The system confirms the cargo record is valid
Then The cargo status is set to found to indicate successful cargo record retrieval
R-GCX003-cbl-00999 Set Cargo Not Found Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cargo Not Found Status', assuming that either equipment id or waybill root date does not match the retrieved cargo record, when the system determines the cargo record is not valid for the current equipment and waybill, the desired outcome is that the cargo status is set to not found to indicate no valid cargo record exists.
💻 Technical Criteria
EXCLUDING Either equipment ID or waybill root date does not match the retrieved cargo record
When The system determines the cargo record is not valid for the current equipment and waybill
Then The cargo status is set to not found to indicate no valid cargo record exists
R-GCX003-cbl-01002 Container Found in Inquiry System?
Decision Rules
📊 Business Logic Narrative
When the process 'Container Found in Inquiry System?' is invoked, and assuming that a container waybill retrieval process is initiated, when the system checks if container is found in inquiry system, the desired outcome is that if container inquiry is found, retrieve from inquiry container database, otherwise check primary system.
💻 Technical Criteria
Given A container waybill retrieval process is initiated
When The system checks if container is found in inquiry system
Then If container inquiry is found, retrieve from inquiry container database, otherwise check primary system
R-GCX003-cbl-01003 Container Found in Primary System?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Container Found in Primary System?', assuming that container is not found in inquiry system, when the system checks if container exists in primary system, the desired outcome is that if container is found in primary system, retrieve from primary container database, otherwise search freight waybill inquiry system.
💻 Technical Criteria
EXCLUDING Container is not found in inquiry system
When The system checks if container exists in primary system
Then If container is found in primary system, retrieve from primary container database, otherwise search freight waybill inquiry system
R-GCX003-cbl-01004 Search Freight Waybill Inquiry System
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search Freight Waybill Inquiry System', assuming that container is not found in primary container system, when the system searches freight waybill inquiry system using container inquiry root information, the desired outcome is that retrieve waybill root information from fwiqroot database.
💻 Technical Criteria
EXCLUDING Container is not found in primary container system
When The system searches freight waybill inquiry system using container inquiry root information
Then Retrieve waybill root information from FWIQROOT database
R-GCX003-cbl-01005 Waybill Found in Inquiry?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Found in Inquiry?' is invoked, and assuming that a search has been performed in freight waybill inquiry system, when the system checks the search results, the desired outcome is that if waybill is found, proceed to get waybill root information, otherwise set container not found status.
💻 Technical Criteria
Given A search has been performed in freight waybill inquiry system
When The system checks the search results
Then If waybill is found, proceed to get waybill root information, otherwise set container not found status
R-GCX003-cbl-01006 Extract Container Cross-Reference Data
Process Rules
📊 Business Logic Narrative
When the process 'Extract Container Cross-Reference Data' is invoked, and assuming that waybill root information has been retrieved successfully, when the system processes fwiqbotl segments to extract container cross-reference data, the desired outcome is that identify and extract container ids, waybill railroad, station, and number information from t/c xref entries.
💻 Technical Criteria
Given Waybill root information has been retrieved successfully
When The system processes FWIQBOTL segments to extract container cross-reference data
Then Identify and extract container IDs, waybill railroad, station, and number information from T/C XREF entries
R-GCX003-cbl-01008 Get Multiple Container IDs from Cross-Reference
Process Rules
📊 Business Logic Narrative
When the process 'Get Multiple Container IDs from Cross-Reference' is invoked, and assuming that valid container cross-reference data is found, when the system processes the cross-reference to extract multiple container ids, the desired outcome is that store up to 30 container ids with their associated waybill information for sequential processing.
💻 Technical Criteria
Given Valid container cross-reference data is found
When The system processes the cross-reference to extract multiple container IDs
Then Store up to 30 container IDs with their associated waybill information for sequential processing
R-GCX003-cbl-01009 Map Inquiry Data to Standard Format
Process Rules
📊 Business Logic Narrative
When the process 'Map Inquiry Data to Standard Format' is invoked, and assuming that waybill information has been retrieved from inquiry system, when the system maps inquiry data to standard shiproot format, the desired outcome is that convert railroad number, waybill number, car id, load/empty indicator, container indicator, and waybill date to standard format.
💻 Technical Criteria
Given Waybill information has been retrieved from inquiry system
When The system maps inquiry data to standard SHIPROOT format
Then Convert railroad number, waybill number, car ID, load/empty indicator, container indicator, and waybill date to standard format
R-GCX003-cbl-01010 Get Routing Information from Inquiry
Action Rules
📊 Business Logic Narrative
When the process 'Get Routing Information from Inquiry' is invoked, and assuming that waybill data has been mapped to standard format, when the system retrieves routing information from fwiqinfo with segment type b1, the desired outcome is that extract and parse routing fields including scac codes and junction information, then format into routing groups.
💻 Technical Criteria
Given Waybill data has been mapped to standard format
When The system retrieves routing information from FWIQINFO with segment type B1
Then Extract and parse routing fields including SCAC codes and junction information, then format into routing groups
R-GCX003-cbl-01011 Set Container Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Container Found Status' is invoked, and assuming that container and waybill information has been successfully retrieved and processed, when the system completes the retrieval process, the desired outcome is that set container found status to true and container inquiry found status based on the source system used.
💻 Technical Criteria
Given Container and waybill information has been successfully retrieved and processed
When The system completes the retrieval process
Then Set container found status to true and container inquiry found status based on the source system used
R-GCX003-cbl-01013 First Call or Different Car ID?
Process Rules
📊 Business Logic Narrative
When the process 'First Call or Different Car ID?' is invoked, and assuming that a car waybill retrieval request is initiated, when the system checks if this is the first call to the waybill retrieval function or the current car id is different from the previously processed car id, the desired outcome is that if either condition is true, proceed with full waybill retrieval process, otherwise use cached information and exit.
💻 Technical Criteria
Given A car waybill retrieval request is initiated
When The system checks if this is the first call to the waybill retrieval function OR the current car ID is different from the previously processed car ID
Then If either condition is true, proceed with full waybill retrieval process, otherwise use cached information and exit
R-GCX003-cbl-01014 Initialize Car Waybill Parameters
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize Car Waybill Parameters' is invoked, and assuming that a new car waybill retrieval is required, when the system initializes waybill retrieval parameters, the desired outcome is that set car type to all except 98-99, status to all status types, exclude edi incomplete records, include temporary waybills, exclude corrector waybills, return lead waybill, and use latest waybill date.
💻 Technical Criteria
Given A new car waybill retrieval is required
When The system initializes waybill retrieval parameters
Then Set car type to all except 98-99, status to all status types, exclude EDI incomplete records, include temporary waybills, exclude corrector waybills, return lead waybill, and use latest waybill date
R-GCX003-cbl-01015 Call Primary Waybill System FWCARGET
Action Rules
📊 Business Logic Narrative
When the process 'Call Primary Waybill System FWCARGET' is invoked, and assuming that waybill retrieval parameters are initialized with car id, when the system calls the primary waybill system fwcarget, the desired outcome is that retrieve waybill data from the primary database and return the lookup status.
💻 Technical Criteria
Given Waybill retrieval parameters are initialized with car ID
When The system calls the primary waybill system FWCARGET
Then Retrieve waybill data from the primary database and return the lookup status
R-GCX003-cbl-01016 Has Haulage Right Carrier?
Validation Rules
📊 Business Logic Narrative
When the process 'Has Haulage Right Carrier?' is invoked, and assuming that a waybill record is found in the primary system, when the system checks if the haulage right carrier field contains data, the desired outcome is that if haulage right carrier is blank or spaces, accept the waybill as found, otherwise perform additional edi completion checks.
💻 Technical Criteria
Given A waybill record is found in the primary system
When The system checks if the haulage right carrier field contains data
Then If haulage right carrier is blank or spaces, accept the waybill as found, otherwise perform additional EDI completion checks
R-GCX003-cbl-01017 EDI Complete Release Available?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI Complete Release Available?' is invoked, and assuming that a waybill has a haulage right carrier assigned, when the system checks the edi completion release status, the desired outcome is that if edi completion release equals 'y', accept the waybill as found, otherwise continue with duplicate key checking.
💻 Technical Criteria
Given A waybill has a haulage right carrier assigned
When The system checks the EDI completion release status
Then If EDI completion release equals 'Y', accept the waybill as found, otherwise continue with duplicate key checking
R-GCX003-cbl-01018 Same Waybill Key as Previous?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Same Waybill Key as Previous?', assuming that a waybill key is returned from the primary system and edi release is not complete, when the system compares the current waybill key feedback with the previously stored waybill key feedback, the desired outcome is that if the keys are identical, mark waybill as not found and exit, otherwise update the stored key and continue with previous status search.
💻 Technical Criteria
EXCLUDING A waybill key is returned from the primary system and EDI release is not complete
When The system compares the current waybill key feedback with the previously stored waybill key feedback
Then If the keys are identical, mark waybill as not found and exit, otherwise update the stored key and continue with previous status search
R-GCX003-cbl-01019 Set Previous Status Date Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Previous Status Date Flag', assuming that current waybill does not have edi completion and is not a duplicate key, when the system sets the search criteria to previous status waybill date, the desired outcome is that update the waybill key feedback tracker and repeat the primary waybill system search with previous status criteria.
💻 Technical Criteria
EXCLUDING Current waybill does not have EDI completion and is not a duplicate key
When The system sets the search criteria to previous status waybill date
Then Update the waybill key feedback tracker and repeat the primary waybill system search with previous status criteria
R-GCX003-cbl-01020 Call Inquiry System FWCIIO
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Call Inquiry System FWCIIO', assuming that primary waybill system did not find a valid waybill record, when the system calls the container inquiry system fwciio using the car id, the desired outcome is that retrieve container and waybill reference information from the inquiry database.
💻 Technical Criteria
EXCLUDING Primary waybill system did not find a valid waybill record
When The system calls the container inquiry system FWCIIO using the car ID
Then Retrieve container and waybill reference information from the inquiry database
R-GCX003-cbl-01021 Call Waybill Inquiry FWIQIO
Action Rules
📊 Business Logic Narrative
When the process 'Call Waybill Inquiry FWIQIO' is invoked, and assuming that container inquiry system returned valid reference data including railroad number, station number, and waybill number, when the system calls waybill inquiry system fwiqio with the reference data, the desired outcome is that retrieve detailed waybill information from the inquiry database.
💻 Technical Criteria
Given Container inquiry system returned valid reference data including railroad number, station number, and waybill number
When The system calls waybill inquiry system FWIQIO with the reference data
Then Retrieve detailed waybill information from the inquiry database
R-GCX003-cbl-01022 Extract Routing Information
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Routing Information' is invoked, and assuming that waybill inquiry system returned valid waybill data, when the system processes the routing information from the inquiry waybill, the desired outcome is that extract routing details and populate routing information fields in the waybill structure.
💻 Technical Criteria
Given Waybill inquiry system returned valid waybill data
When The system processes the routing information from the inquiry waybill
Then Extract routing details and populate routing information fields in the waybill structure
R-GCX003-cbl-01023 Map Inquiry Data to Waybill Format
Computation Rules
📊 Business Logic Narrative
When the process 'Map Inquiry Data to Waybill Format' is invoked, and assuming that valid waybill data is retrieved from inquiry system, when the system maps inquiry fields to standard waybill structure, the desired outcome is that map railroad number, waybill number, car id, convert billing code 'ze' to empty status 'e' otherwise to loaded status 'l', map tofc/cofc indicator, waybill date, and station number to corresponding waybill fields.
💻 Technical Criteria
Given Valid waybill data is retrieved from inquiry system
When The system maps inquiry fields to standard waybill structure
Then Map railroad number, waybill number, car ID, convert billing code 'ZE' to empty status 'E' otherwise to loaded status 'L', map TOFC/COFC indicator, waybill date, and station number to corresponding waybill fields
R-GCX003-cbl-01024 Access FWIQINFO Segment with B1 Key
Action Rules
📊 Business Logic Narrative
When the process 'Access FWIQINFO Segment with B1 Key' is invoked, and assuming that a waybill inquiry record exists for equipment, when system accesses fwiqinfo segment with b1 key, the desired outcome is that routing information fields are retrieved from the waybill inquiry database.
💻 Technical Criteria
Given A waybill inquiry record exists for equipment
When System accesses FWIQINFO segment with B1 key
Then Routing information fields are retrieved from the waybill inquiry database
R-GCX003-cbl-01025 Routing Info Fields Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Routing Info Fields Available?' is invoked, and assuming that routing information has been retrieved from waybill inquiry, when system checks if routing info fields are spaces or low-values, the desired outcome is that processing continues only if valid routing data is present, otherwise routing processing is skipped.
💻 Technical Criteria
Given Routing information has been retrieved from waybill inquiry
When System checks if routing info fields are spaces or low-values
Then Processing continues only if valid routing data is present, otherwise routing processing is skipped
R-GCX003-cbl-01038 Access FWSWRWR Database with Waybill Root Key
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Access FWSWRWR Database with Waybill Root Key', assuming that container is not already found and waybill root key is available, when system performs database lookup in fwswrwr using the waybill root key, the desired outcome is that container database record is retrieved if it exists.
💻 Technical Criteria
EXCLUDING Container is not already found and waybill root key is available
When System performs database lookup in FWSWRWR using the waybill root key
Then Container database record is retrieved if it exists
R-GCX003-cbl-01042 Access FWIQ Inquiry Database
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Access FWIQ Inquiry Database', assuming that container not found in fwswrwr database, when system performs lookup in fwiq inquiry database using waybill information, the desired outcome is that inquiry database records are accessed for container search.
💻 Technical Criteria
EXCLUDING Container not found in FWSWRWR database
When System performs lookup in FWIQ inquiry database using waybill information
Then Inquiry database records are accessed for container search
R-GCX003-cbl-01046 Extract Container ID and Waybill Information
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Container ID and Waybill Information' is invoked, and assuming that t/c xref record is identified in bottom line data, when system processes the record data, the desired outcome is that container id is extracted from positions 28-39, waybill railroad from positions 10-12, station from positions 14-19, and number from positions 21-26.
💻 Technical Criteria
Given T/C XREF record is identified in bottom line data
When System processes the record data
Then Container ID is extracted from positions 28-39, waybill railroad from positions 10-12, station from positions 14-19, and number from positions 21-26
R-GCX003-cbl-01052 Initialize Inquiry System Parameters
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize Inquiry System Parameters', assuming that equipment information is not found in the primary waybill system, when the system needs to query the inquiry database for missing equipment details, the desired outcome is that initialize inquiry system parameters and clear all status codes and segment data.
💻 Technical Criteria
EXCLUDING Equipment information is not found in the primary waybill system
When The system needs to query the inquiry database for missing equipment details
Then Initialize inquiry system parameters and clear all status codes and segment data
R-GCX003-cbl-01053 Set Waybill Number from Container Root
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Waybill Number from Container Root' is invoked, and assuming that container root data contains origin road number, station number, and waybill number, when building the inquiry system key for waybill lookup, the desired outcome is that set inquiry road number from container origin road number, inquiry station number from container origin station number, and inquiry waybill number from container waybill number.
💻 Technical Criteria
Given Container root data contains origin road number, station number, and waybill number
When Building the inquiry system key for waybill lookup
Then Set inquiry road number from container origin road number, inquiry station number from container origin station number, and inquiry waybill number from container waybill number
R-GCX003-cbl-01054 Call Waybill Inquiry System - FWIQIO
Action Rules
📊 Business Logic Narrative
When the process 'Call Waybill Inquiry System - FWIQIO' is invoked, and assuming that inquiry system parameters are properly initialized with waybill key information, when executing waybill inquiry system call with fwiqio module, the desired outcome is that call fwiqio module using inquiry parameters and waybill root segment to retrieve equipment data.
💻 Technical Criteria
Given Inquiry system parameters are properly initialized with waybill key information
When Executing waybill inquiry system call with FWIQIO module
Then Call FWIQIO module using inquiry parameters and waybill root segment to retrieve equipment data
R-GCX003-cbl-01055 Inquiry System Response?
Validation Rules
📊 Business Logic Narrative
When the process 'Inquiry System Response?' is invoked, and assuming that waybill inquiry system call has been executed, when checking the response status from the inquiry system, the desired outcome is that if status code is blank then inquiry was successful, otherwise inquiry failed and equipment information is not available.
💻 Technical Criteria
Given Waybill inquiry system call has been executed
When Checking the response status from the inquiry system
Then If status code is blank then inquiry was successful, otherwise inquiry failed and equipment information is not available
R-GCX003-cbl-01056 Map Inquiry Data to Standard Format
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Inquiry Data to Standard Format' is invoked, and assuming that waybill inquiry system returned valid equipment data, when converting inquiry data to standard equipment format, the desired outcome is that map inquiry origin road number to standard origin road number, inquiry waybill number to standard waybill number, inquiry car id to standard car id, and determine load/empty status where 'ze' billing code means empty otherwise loaded.
💻 Technical Criteria
Given Waybill inquiry system returned valid equipment data
When Converting inquiry data to standard equipment format
Then Map inquiry origin road number to standard origin road number, inquiry waybill number to standard waybill number, inquiry car ID to standard car ID, and determine load/empty status where 'ZE' billing code means empty otherwise loaded
R-GCX003-cbl-01058 Extract Waybill Date Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Date Information' is invoked, and assuming that inquiry system returned valid waybill information, when extracting temporal and location data, the desired outcome is that set waybill date from inquiry waybill date and set origin station number from inquiry origin station number.
💻 Technical Criteria
Given Inquiry system returned valid waybill information
When Extracting temporal and location data
Then Set waybill date from inquiry waybill date and set origin station number from inquiry origin station number
R-GCX003-cbl-01059 Retrieve Additional Routing Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Additional Routing Information' is invoked, and assuming that basic waybill information has been successfully retrieved, when requesting detailed routing information from inquiry system, the desired outcome is that set inquiry segment type to 'fwiqinfo', set inquiry key to 'b1', and call inquiry system to retrieve routing details.
💻 Technical Criteria
Given Basic waybill information has been successfully retrieved
When Requesting detailed routing information from inquiry system
Then Set inquiry segment type to 'FWIQINFO', set inquiry key to 'B1', and call inquiry system to retrieve routing details
R-GCX003-cbl-01062 Read Container Cross-Reference
Action Rules
📊 Business Logic Narrative
When the process 'Read Container Cross-Reference' is invoked, and assuming that waybill inquiry system is available for container cross-reference lookup, when querying for container cross-reference information, the desired outcome is that set inquiry segment type to 'fwiqbotl', clear inquiry key, set function to 'gnp', and call inquiry system repeatedly until no more container cross-reference records found or maximum 30 records reached.
💻 Technical Criteria
Given Waybill inquiry system is available for container cross-reference lookup
When Querying for container cross-reference information
Then Set inquiry segment type to 'FWIQBOTL', clear inquiry key, set function to 'GNP', and call inquiry system repeatedly until no more container cross-reference records found or maximum 30 records reached
R-GCX003-cbl-01064 Extract Container ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Container ID' is invoked, and assuming that container cross-reference record is identified in inquiry bottom line, when extracting container and waybill cross-reference data, the desired outcome is that extract container id from positions 28-39, waybill road number from positions 10-12, waybill station number from positions 14-19, waybill number from positions 21-26, and replace all spaces in waybill information with zeros.
💻 Technical Criteria
Given Container cross-reference record is identified in inquiry bottom line
When Extracting container and waybill cross-reference data
Then Extract container ID from positions 28-39, waybill road number from positions 10-12, waybill station number from positions 14-19, waybill number from positions 21-26, and replace all spaces in waybill information with zeros
R-GCX003-cbl-01065 Build Complete Equipment Record
Process Rules
📊 Business Logic Narrative
When the process 'Build Complete Equipment Record' is invoked, and assuming that all inquiry system calls have been completed and data has been extracted, when building the final equipment record, the desired outcome is that combine waybill information, equipment details, routing data, and container cross-references into a complete equipment record with all fields properly populated.
💻 Technical Criteria
Given All inquiry system calls have been completed and data has been extracted
When Building the final equipment record
Then Combine waybill information, equipment details, routing data, and container cross-references into a complete equipment record with all fields properly populated
R-GCX003-cbl-01066 Log Inquiry System Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Inquiry System Error' is invoked, and assuming that waybill inquiry system call returned an error status, when handling inquiry system errors, the desired outcome is that set waybill indicator to the error status code and set equipment not found status.
💻 Technical Criteria
Given Waybill inquiry system call returned an error status
When Handling inquiry system errors
Then Set waybill indicator to the error status code and set equipment not found status
R-GCX003-cbl-01069 Retrieve Container Information from FWSWRWR
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Container Information from FWSWRWR' is invoked, and assuming that equipment is identified as a container type, when system searches fwswrwr database using waybill root key, the desired outcome is that retrieve container segment information and set container status indicator.
💻 Technical Criteria
Given Equipment is identified as a container type
When System searches FWSWRWR database using waybill root key
Then Retrieve container segment information and set container status indicator
R-GCX003-cbl-01070 Retrieve Car Information from SHIPROOT
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Car Information from SHIPROOT' is invoked, and assuming that equipment is identified as a car type, when system searches shiproot using car identification details, the desired outcome is that retrieve waybill information and set waybill status indicator.
💻 Technical Criteria
Given Equipment is identified as a car type
When System searches SHIPROOT using car identification details
Then Retrieve waybill information and set waybill status indicator
R-GCX003-cbl-01071 Primary Waybill Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Primary Waybill Found?' is invoked, and assuming that system has attempted to retrieve waybill information from primary sources, when system evaluates the waybill retrieval status, the desired outcome is that proceed to consolidation if found, otherwise attempt inquiry system retrieval.
💻 Technical Criteria
Given System has attempted to retrieve waybill information from primary sources
When System evaluates the waybill retrieval status
Then Proceed to consolidation if found, otherwise attempt inquiry system retrieval
R-GCX003-cbl-01072 Retrieve from Inquiry System FWCIROOT
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Retrieve from Inquiry System FWCIROOT', assuming that primary waybill data was not found, when system searches fwciroot inquiry system using equipment id, the desired outcome is that retrieve inquiry data and set inquiry status indicator.
💻 Technical Criteria
EXCLUDING Primary waybill data was not found
When System searches FWCIROOT inquiry system using equipment ID
Then Retrieve inquiry data and set inquiry status indicator
R-GCX003-cbl-01073 Inquiry Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Inquiry Data Found?' is invoked, and assuming that system has searched the inquiry system for equipment data, when system evaluates the inquiry retrieval status, the desired outcome is that process inquiry data if found, otherwise attempt waybill inquiry database.
💻 Technical Criteria
Given System has searched the inquiry system for equipment data
When System evaluates the inquiry retrieval status
Then Process inquiry data if found, otherwise attempt waybill inquiry database
R-GCX003-cbl-01074 Retrieve from FWIQROOT Database
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Retrieve from FWIQROOT Database', assuming that both primary and inquiry systems did not return equipment data, when system searches fwiqroot database using waybill details, the desired outcome is that retrieve waybill inquiry data and set final retrieval status.
💻 Technical Criteria
EXCLUDING Both primary and inquiry systems did not return equipment data
When System searches FWIQROOT database using waybill details
Then Retrieve waybill inquiry data and set final retrieval status
R-GCX003-cbl-01083 Handle Container Cross-Reference Data
Process Rules
📊 Business Logic Narrative
When the process 'Handle Container Cross-Reference Data' is invoked, and assuming that container equipment requires cross-reference validation, when system processes fwiqbotl cross-reference data, the desired outcome is that extract container ids and associated waybill information from cross-reference records.
💻 Technical Criteria
Given Container equipment requires cross-reference validation
When System processes FWIQBOTL cross-reference data
Then Extract container IDs and associated waybill information from cross-reference records
R-GCX003-cbl-01085 Access FWIQINFO Segment with Key 'B1'
Action Rules
📊 Business Logic Narrative
When the process 'Access FWIQINFO Segment with Key 'B1'' is invoked, and assuming that a waybill inquiry record exists in the system, when the system needs to access routing information using segment key 'b1', the desired outcome is that the fwiqinfo segment is retrieved with routing information fields populated.
💻 Technical Criteria
Given A waybill inquiry record exists in the system
When The system needs to access routing information using segment key 'B1'
Then The FWIQINFO segment is retrieved with routing information fields populated
R-GCX003-cbl-01100 Access Inquiry System with Waybill Information
Action Rules
📊 Business Logic Narrative
When the process 'Access Inquiry System with Waybill Information' is invoked, and assuming that a waybill exists with railroad number, station number, and waybill number from container inquiry root, when the system accesses the inquiry system using the waybill key information, the desired outcome is that the inquiry system is accessed with the waybill railroad number, station number, and waybill number to retrieve container cross-reference data.
💻 Technical Criteria
Given A waybill exists with railroad number, station number, and waybill number from container inquiry root
When The system accesses the inquiry system using the waybill key information
Then The inquiry system is accessed with the waybill railroad number, station number, and waybill number to retrieve container cross-reference data
R-GCX003-cbl-01104 Extract Waybill Railroad from Position 10-12
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Railroad from Position 10-12' is invoked, and assuming that a valid container cross-reference line containing 't/c xref', when the system processes the waybill information, the desired outcome is that the waybill railroad code is extracted from positions 10-12 of the inquiry bottom line and stored in the container cross-reference entry.
💻 Technical Criteria
Given A valid container cross-reference line containing 'T/C XREF'
When The system processes the waybill information
Then The waybill railroad code is extracted from positions 10-12 of the inquiry bottom line and stored in the container cross-reference entry
R-GCX003-cbl-01105 Extract Waybill Station from Position 14-19
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Station from Position 14-19' is invoked, and assuming that a valid container cross-reference line containing 't/c xref', when the system processes the waybill information, the desired outcome is that the waybill station code is extracted from positions 14-19 of the inquiry bottom line and stored in the container cross-reference entry.
💻 Technical Criteria
Given A valid container cross-reference line containing 'T/C XREF'
When The system processes the waybill information
Then The waybill station code is extracted from positions 14-19 of the inquiry bottom line and stored in the container cross-reference entry
R-GCX003-cbl-01106 Extract Waybill Number from Position 21-26
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Number from Position 21-26' is invoked, and assuming that a valid container cross-reference line containing 't/c xref', when the system processes the waybill information, the desired outcome is that the waybill number is extracted from positions 21-26 of the inquiry bottom line and stored in the container cross-reference entry.
💻 Technical Criteria
Given A valid container cross-reference line containing 'T/C XREF'
When The system processes the waybill information
Then The waybill number is extracted from positions 21-26 of the inquiry bottom line and stored in the container cross-reference entry
R-GCX003-cbl-01107 Replace Spaces with Zeros in Waybill Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with Zeros in Waybill Fields' is invoked, and assuming that waybill railroad, station, and number have been extracted from the container cross-reference line, when the system processes the extracted waybill information, the desired outcome is that all spaces in the waybill identification fields are replaced with zeros to create a standardized waybill key.
💻 Technical Criteria
Given Waybill railroad, station, and number have been extracted from the container cross-reference line
When The system processes the extracted waybill information
Then All spaces in the waybill identification fields are replaced with zeros to create a standardized waybill key
R-GCX003-cbl-01108 Store Container Cross-Reference Entry
Process Rules
📊 Business Logic Narrative
When the process 'Store Container Cross-Reference Entry' is invoked, and assuming that container id and waybill information have been successfully extracted and formatted, when the system creates a container cross-reference entry, the desired outcome is that the container id and associated waybill information are stored in the container cross-reference table at the current counter position.
💻 Technical Criteria
Given Container ID and waybill information have been successfully extracted and formatted
When The system creates a container cross-reference entry
Then The container ID and associated waybill information are stored in the container cross-reference table at the current counter position
R-GCX003-cbl-01114 Set Container Cross-Reference Not Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Container Cross-Reference Not Found', assuming that no valid container cross-references were found during inquiry processing or the waybill was not found in the inquiry system, when the system completes container cross-reference processing without finding valid entries, the desired outcome is that the container cross-reference status is set to not found and the container status is set to not found.
💻 Technical Criteria
EXCLUDING No valid container cross-references were found during inquiry processing OR the waybill was not found in the inquiry system
When The system completes container cross-reference processing without finding valid entries
Then The container cross-reference status is set to not found and the container status is set to not found
R-GCX003-cbl-01123 Create US-US Detour Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create US-US Detour Special Manifest' is invoked, and assuming that us domestic cargo requires detour processing and user is authorized for special manifests, when the request action is send and waybill found with no cargo for us origin and destination, the desired outcome is that the system should generate message 23, create report line, and set us-us detour spawn flag for gcx101 processing.
💻 Technical Criteria
Given US domestic cargo requires detour processing and user is authorized for special manifests
When The request action is SEND and waybill found with no cargo for US origin and destination
Then The system should generate message 23, create report line, and set US-US detour spawn flag for GCX101 processing
R-GCX003-cbl-01126 Check if US CCN exists for logging
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if US CCN exists for logging', assuming that a cargo attachment or manifest creation activity needs to be logged, when the system checks if the us ccn from the added cargo list is not blank or spaces, the desired outcome is that if us ccn exists, proceed with log message creation, otherwise skip logging process.
💻 Technical Criteria
EXCLUDING A cargo attachment or manifest creation activity needs to be logged
When The system checks if the US CCN from the added cargo list is not blank or spaces
Then If US CCN exists, proceed with log message creation, otherwise skip logging process
R-GCX003-cbl-01127 Initialize Log Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Log Message Structure' is invoked, and assuming that a valid us ccn exists for logging, when the system initializes the log message structure, the desired outcome is that the gcx105-input structure is cleared and ready for data population.
💻 Technical Criteria
Given A valid US CCN exists for logging
When The system initializes the log message structure
Then The GCX105-INPUT structure is cleared and ready for data population
R-GCX003-cbl-01135 Set Train or US CCN Identifier
Process Rules
📊 Business Logic Narrative
When the process 'Set Train or US CCN Identifier' is invoked, and assuming that the current time is captured, when the system assigns the train or ccn identifier, the desired outcome is that the gcx105-train-or-us-ccn is populated with added-us-ccn from the cargo counter.
💻 Technical Criteria
Given The current time is captured
When The system assigns the train or CCN identifier
Then The GCX105-TRAIN-OR-US-CCN is populated with ADDED-US-CCN from the cargo counter
R-GCX003-cbl-01136 Set Log Message Text
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Log Message Text' is invoked, and assuming that the train or ccn identifier is assigned, when the system sets the log message text, the desired outcome is that the gcx105-message is populated with car-added-log-message.
💻 Technical Criteria
Given The train or CCN identifier is assigned
When The system sets the log message text
Then The GCX105-MESSAGE is populated with CAR-ADDED-LOG-MESSAGE

💰 Bond & Financial Auth 48 logic blocks
R-GCX003-cbl-00054 Classify Request Type - AEI or Regular
Decision Rules
📊 Business Logic Narrative
When the process 'Classify Request Type - AEI or Regular' is invoked, and assuming that a train export request message has been received, when the system examines the request type field, the desired outcome is that the request is classified as either aei type or regular type based on the request type value.
💻 Technical Criteria
Given A train export request message has been received
When The system examines the request type field
Then The request is classified as either AEI type or regular type based on the request type value
R-GCX003-cbl-01667 UTF-ADD = 'U' or 'S'?
Authorization Rules
📊 Business Logic Narrative
When the process 'UTF-ADD = 'U' or 'S'?' is invoked, and assuming that a user requests to send train data and the system has retrieved their security profile, when the request action is send and the user's utf-add field contains value 'u' (update) or 's' (special) or the request is an aei train send request, the desired outcome is that the system grants send authorization and allows the user to proceed with sending train data.
💻 Technical Criteria
Given A user requests to send train data and the system has retrieved their security profile
When The request action is SEND and the user's UTF-ADD field contains value 'U' (Update) or 'S' (Special) or the request is an AEI train send request
Then The system grants send authorization and allows the user to proceed with sending train data
R-GCX003-cbl-00067 Look Up Station in Reference Table
Action Rules
📊 Business Logic Narrative
When the process 'Look Up Station in Reference Table' is invoked, and assuming that a train origin value has been provided, when the system needs to validate the origin station, the desired outcome is that the system should query the gcstbrt station code reference table using the train origin as the search key.
💻 Technical Criteria
Given A train origin value has been provided
When The system needs to validate the origin station
Then The system should query the GCSTBRT station code reference table using the train origin as the search key
R-GCX003-cbl-00091 Initialize New Train Header Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize New Train Header Record' is invoked, and assuming that no active train record exists with the same identifier or existing record has been deleted, when the system needs to create a new train record, the desired outcome is that the system initializes a new train header record structure with default values.
💻 Technical Criteria
Given No active train record exists with the same identifier or existing record has been deleted
When The system needs to create a new train record
Then The system initializes a new train header record structure with default values
R-GCX003-cbl-01215 Initialize New Train Header
Process Rules
📊 Business Logic Narrative
When the process 'Initialize New Train Header' is invoked, and assuming that validation that no conflicting train record exists or existing record has been removed, when the system prepares to create a new train record, the desired outcome is that the system initializes a new train header structure with default values and clears any previous data.
💻 Technical Criteria
Given Validation that no conflicting train record exists or existing record has been removed
When The system prepares to create a new train record
Then The system initializes a new train header structure with default values and clears any previous data
R-GCX003-cbl-00096 Extract Public MERLIN ID from Configuration
Process Rules
📊 Business Logic Narrative
When the process 'Extract Public MERLIN ID from Configuration' is invoked, and assuming that administration table has been successfully retrieved, when the system extracts the public merlin id from the administration segment, the desired outcome is that the public merlin id value is obtained from the configuration for validation.
💻 Technical Criteria
Given Administration table has been successfully retrieved
When The system extracts the public MERLIN ID from the administration segment
Then The public MERLIN ID value is obtained from the configuration for validation
R-GCX003-cbl-01544 Generate Authorization Error Message
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Authorization Error Message', assuming that special manifest processing is required for any bond type, when action is send and user is not authorized for special manifests, the desired outcome is that generate message 43, add report line to output, and continue normal processing without creating special manifest.
💻 Technical Criteria
EXCLUDING Special manifest processing is required for any bond type
When Action is SEND and user is not authorized for special manifests
Then Generate message 43, add report line to output, and continue normal processing without creating special manifest
R-GCX003-cbl-01714 ER Threshold Code Found?
Decision Rules
📊 Business Logic Narrative
When the process 'ER Threshold Code Found?' is invoked, and assuming that special handling codes are being analyzed for er threshold code, when each special handling code position is compared against er threshold code value, the desired outcome is that if er threshold code is found in any position, set er found flag; otherwise set er not found flag.
💻 Technical Criteria
Given Special handling codes are being analyzed for ER threshold code
When Each special handling code position is compared against ER threshold code value
Then If ER threshold code is found in any position, set ER found flag; otherwise set ER not found flag
R-GCX003-cbl-01328 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifests?' is invoked, and assuming that a send action is requested for it bond processing, when the system checks user authorization flag (ws-user-not-auth-4-spcl-manif), the desired outcome is that if user is not authorized, generate authorization error message (43), otherwise proceed with special manifest creation.
💻 Technical Criteria
Given A SEND action is requested for IT bond processing
When The system checks user authorization flag (WS-USER-NOT-AUTH-4-SPCL-MANIF)
Then If user is not authorized, generate authorization error message (43), otherwise proceed with special manifest creation
R-GCX003-cbl-01329 Generate Special Manifest Creation Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Special Manifest Creation Message' is invoked, and assuming that user is authorized for special manifests and request action is send, when it bond processing requires special manifest creation, the desired outcome is that generate message 23 (special manifest creation), set it export spawn flag, and initiate special manifest creation process.
💻 Technical Criteria
Given User is authorized for special manifests and request action is SEND
When IT bond processing requires special manifest creation
Then Generate message 23 (special manifest creation), set IT export spawn flag, and initiate special manifest creation process
R-GCX003-cbl-01608 Check UTF-SPEC-MANI Field
Decision Rules
📊 Business Logic Narrative
When the process 'Check UTF-SPEC-MANI Field' is invoked, and assuming that user security information is available for processing, when the system checks the utf-spec-mani field in the user's security profile, the desired outcome is that the system determines if the field contains 's' indicating special manifest authorization or any other value indicating no authorization.
💻 Technical Criteria
Given User security information is available for processing
When The system checks the UTF-SPEC-MANI field in the user's security profile
Then The system determines if the field contains 'S' indicating special manifest authorization or any other value indicating no authorization
R-GCX003-cbl-01349 Generate Message 43 - Not Authorized Error
Authorization Rules
📊 Business Logic Narrative
When the process 'Generate Message 43 - Not Authorized Error' is invoked, and assuming that user attempts to send tr bond diversion but lacks special manifest authorization, when the system validates user permissions, the desired outcome is that message 43 is generated indicating user is not authorized for special manifest creation and processing continues without manifest creation.
💻 Technical Criteria
Given User attempts to send TR bond diversion but lacks special manifest authorization
When The system validates user permissions
Then Message 43 is generated indicating user is not authorized for special manifest creation and processing continues without manifest creation
R-GCX003-cbl-01350 Generate Message 23 - TR Bond Diversion Send
Action Rules
📊 Business Logic Narrative
When the process 'Generate Message 23 - TR Bond Diversion Send' is invoked, and assuming that user is authorized to create special manifests for tr bond diversion, when the system processes the send request, the desired outcome is that message 23 is generated confirming tr bond diversion will be sent and special manifest creation is initiated.
💻 Technical Criteria
Given User is authorized to create special manifests for TR bond diversion
When The system processes the send request
Then Message 23 is generated confirming TR bond diversion will be sent and special manifest creation is initiated
R-GCX003-cbl-01351 Set Detour Spawn Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Detour Spawn Flag' is invoked, and assuming that authorized tr bond diversion send request is being processed, when the system prepares for special manifest creation, the desired outcome is that detour spawn flag is set to trigger subsequent special manifest processing workflow.
💻 Technical Criteria
Given Authorized TR bond diversion send request is being processed
When The system prepares for special manifest creation
Then Detour spawn flag is set to trigger subsequent special manifest processing workflow
R-GCX003-cbl-00283 Set FEN Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set FEN Found Flag' is invoked, and assuming that fen reference qualifier is found with valid reference number value, when the system processes the fen documentation, the desired outcome is that set the fen found flag to indicate required documentation is present.
💻 Technical Criteria
Given FEN reference qualifier is found with valid reference number value
When The system processes the FEN documentation
Then Set the FEN found flag to indicate required documentation is present
R-GCX003-cbl-00286 Set KCM Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set KCM Found Flag' is invoked, and assuming that kcm reference qualifier is found with valid reference number value, when the system processes the kcm documentation, the desired outcome is that set the kcm found flag to indicate required documentation is present.
💻 Technical Criteria
Given KCM reference qualifier is found with valid reference number value
When The system processes the KCM documentation
Then Set the KCM found flag to indicate required documentation is present
R-GCX003-cbl-00310 Create TR Detour Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create TR Detour Special Manifest' is invoked, and assuming that user is authorized and tr bond release status is valid and action is send, when the system creates a tr detour special manifest, the desired outcome is that generate message 23, set detour spawn flag, and invoke special manifest creation process.
💻 Technical Criteria
Given User is authorized and TR bond release status is valid and action is SEND
When The system creates a TR detour special manifest
Then Generate message 23, set detour spawn flag, and invoke special manifest creation process
R-GCX003-cbl-00331 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifests?' is invoked, and assuming that a send request requires tr bond detour processing, when the system checks if user is authorized for special manifest creation, the desired outcome is that if user is not authorized for special manifests, generate error message 43 for unauthorized access; if authorized, proceed with special manifest creation.
💻 Technical Criteria
Given A SEND request requires TR bond detour processing
When The system checks if user is authorized for special manifest creation
Then If user is not authorized for special manifests, generate error message 43 for unauthorized access; if authorized, proceed with special manifest creation
R-GCX003-cbl-00332 Generate Warning Message 18
Action Rules
📊 Business Logic Narrative
When the process 'Generate Warning Message 18' is invoked, and assuming that request action is report and tr bond detour conditions are met, when the system processes the tr bond detour for reporting, the desired outcome is that generate warning message 18 indicating tr bond detour detected and add report line to output.
💻 Technical Criteria
Given Request action is REPORT and TR bond detour conditions are met
When The system processes the TR bond detour for reporting
Then Generate warning message 18 indicating TR bond detour detected and add report line to output
R-GCX003-cbl-00334 Generate Information Message 23
Action Rules
📊 Business Logic Narrative
When the process 'Generate Information Message 23' is invoked, and assuming that user is authorized for special manifests and send action is requested, when the system creates a tr bond special manifest, the desired outcome is that generate information message 23 indicating tr bond special manifest created, set detour spawn flag, and add report line to output.
💻 Technical Criteria
Given User is authorized for special manifests and SEND action is requested
When The system creates a TR bond special manifest
Then Generate information message 23 indicating TR bond special manifest created, set detour spawn flag, and add report line to output
R-GCX003-cbl-00335 Set Detour Spawn Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Detour Spawn Flag' is invoked, and assuming that tr bond special manifest creation is authorized and initiated, when the system prepares for special manifest processing, the desired outcome is that set the detour spawn flag to true to trigger subsequent special manifest creation workflow.
💻 Technical Criteria
Given TR bond special manifest creation is authorized and initiated
When The system prepares for special manifest processing
Then Set the detour spawn flag to true to trigger subsequent special manifest creation workflow
R-GCX003-cbl-00336 Create Special Manifest Entry
Action Rules
📊 Business Logic Narrative
When the process 'Create Special Manifest Entry' is invoked, and assuming that detour spawn flag is set for tr bond processing, when the system creates the special manifest entry, the desired outcome is that call special manifest creation procedure to generate appropriate manifest entry for the tr bond detour scenario.
💻 Technical Criteria
Given Detour spawn flag is set for TR bond processing
When The system creates the special manifest entry
Then Call special manifest creation procedure to generate appropriate manifest entry for the TR bond detour scenario
R-GCX003-cbl-00491 Set Security Level to High
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Level to High' is invoked, and assuming that an aei log entry is being created, when security level needs to be assigned, the desired outcome is that the security byte is set to high-values to indicate maximum security classification.
💻 Technical Criteria
Given An AEI log entry is being created
When Security level needs to be assigned
Then The security byte is set to HIGH-VALUES to indicate maximum security classification
R-GCX003-cbl-00507 Set Security Byte to High Values
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Byte to High Values' is invoked, and assuming that export report message function has been configured, when the system sets security parameters for the message, the desired outcome is that the security byte is set to high values to ensure proper authorization level.
💻 Technical Criteria
Given Export report message function has been configured
When The system sets security parameters for the message
Then The security byte is set to high values to ensure proper authorization level
R-GCX003-cbl-00559 Set Security Byte to High Values
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Byte to High Values' is invoked, and assuming that an audit log entry is being created, when the system sets security parameters for the log entry, the desired outcome is that the security byte is set to high values to ensure proper security classification.
💻 Technical Criteria
Given An audit log entry is being created
When The system sets security parameters for the log entry
Then The security byte is set to high values to ensure proper security classification
R-GCX003-cbl-00690 Extract Bond Number
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Bond Number', assuming that a bond type requires bond number extraction, when entry number is not spaces, the desired outcome is that use entry number as bond number, otherwise if in-bond control number is not spaces, use in-bond control number as bond number, otherwise set bond number to spaces.
💻 Technical Criteria
EXCLUDING A bond type requires bond number extraction
When Entry number is not spaces
Then Use entry number as bond number, otherwise if in-bond control number is not spaces, use in-bond control number as bond number, otherwise set bond number to spaces
R-GCX003-cbl-00734 SEG07 Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'SEG07 Data Found?' is invoked, and assuming that segment data has been retrieved and processed, when the system checks for seg07 data availability, the desired outcome is that the system should set seg07-found flag if data exists or seg07-not-found flag if data is spaces or low-values.
💻 Technical Criteria
Given Segment data has been retrieved and processed
When The system checks for SEG07 data availability
Then The system should set SEG07-FOUND flag if data exists or SEG07-NOT-FOUND flag if data is spaces or low-values
R-GCX003-cbl-00735 Check SEG07 Data Availability
Decision Rules
📊 Business Logic Narrative
When the process 'Check SEG07 Data Availability' is invoked, and assuming that segment data has been retrieved and processed, when the system checks for seg02 data availability, the desired outcome is that the system should set seg02-found flag if data exists or seg02-not-found flag if data is spaces or low-values.
💻 Technical Criteria
Given Segment data has been retrieved and processed
When The system checks for SEG02 data availability
Then The system should set SEG02-FOUND flag if data exists or SEG02-NOT-FOUND flag if data is spaces or low-values
R-GCX003-cbl-00736 Check SEG07 Data Availability
Decision Rules
📊 Business Logic Narrative
When the process 'Check SEG07 Data Availability' is invoked, and assuming that segment data has been retrieved and processed, when the system checks for seg08 data availability, the desired outcome is that the system should set seg08-found flag if data exists or seg08-not-found flag if data is spaces or low-values.
💻 Technical Criteria
Given Segment data has been retrieved and processed
When The system checks for SEG08 data availability
Then The system should set SEG08-FOUND flag if data exists or SEG08-NOT-FOUND flag if data is spaces or low-values
R-GCX003-cbl-00738 SEG07 Entry Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'SEG07 Entry Valid?' is invoked, and assuming that a seg07 entry is being processed, when the system validates the entry data quality, the desired outcome is that the system should determine the entry is invalid if the seg07 description is spaces or low-values.
💻 Technical Criteria
Given A SEG07 entry is being processed
When The system validates the entry data quality
Then The system should determine the entry is invalid if the SEG07 description is spaces or low-values
R-GCX003-cbl-00777 Calculate Report Last Line Index
Process Rules
📊 Business Logic Narrative
When the process 'Calculate Report Last Line Index' is invoked, and assuming that a report is being finalized, when the report processing is complete, the desired outcome is that set the report last line index to the current rpt-idx value and set the new report last line index to the current new-rpt-idx value.
💻 Technical Criteria
Given A report is being finalized
When The report processing is complete
Then Set the report last line index to the current RPT-IDX value and set the new report last line index to the current NEW-RPT-IDX value
R-GCX003-cbl-00836 Calculate Report Last Line Index
Process Rules
📊 Business Logic Narrative
When the process 'Calculate Report Last Line Index' is invoked, and assuming that a report is being finalized, when the report processing is complete, the desired outcome is that set rpt-last-line to the current rpt-idx value and new-rpt-last-line to the current new-rpt-idx value.
💻 Technical Criteria
Given A report is being finalized
When The report processing is complete
Then Set RPT-LAST-LINE to the current RPT-IDX value and NEW-RPT-LAST-LINE to the current NEW-RPT-IDX value
R-GCX003-cbl-00882 Set Security Byte to High-Values
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Byte to High-Values' is invoked, and assuming that an aei activity log record is being created, when the security classification needs to be assigned, the desired outcome is that the security byte is set to high-values to indicate maximum security level.
💻 Technical Criteria
Given An AEI activity log record is being created
When The security classification needs to be assigned
Then The security byte is set to high-values to indicate maximum security level
R-GCX003-cbl-00895 Initialize GCX141 Message Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize GCX141 Message Parameters' is invoked, and assuming that a canadian export report needs to be generated, when the system begins the report generation process, the desired outcome is that all gcx141 input parameters are initialized to blank values.
💻 Technical Criteria
Given A Canadian export report needs to be generated
When The system begins the report generation process
Then All GCX141 input parameters are initialized to blank values
R-GCX003-cbl-00897 Set Security Byte to High Values
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Byte to High Values' is invoked, and assuming that a canadian export message is being prepared, when security parameters need to be established, the desired outcome is that the security byte is set to high values for maximum security clearance.
💻 Technical Criteria
Given A Canadian export message is being prepared
When Security parameters need to be established
Then The security byte is set to high values for maximum security clearance
R-GCX003-cbl-00925 Validate Route Fields Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Route Fields Present?' is invoked, and assuming that routing information has been extracted and cleaned, when route information fields are checked for valid data, the desired outcome is that if routing fields are spaces or low-values, skip pattern matching and use default classification.
💻 Technical Criteria
Given Routing information has been extracted and cleaned
When Route information fields are checked for valid data
Then If routing fields are spaces or low-values, skip pattern matching and use default classification
R-GCX003-cbl-00972 Format Error Subject Line with SQLCODE
Process Rules
📊 Business Logic Narrative
When the process 'Format Error Subject Line with SQLCODE' is invoked, and assuming that a db2 sqlcode error has occurred, when the system formats the error notification, the desired outcome is that the subject line should contain 'gcx003 db2 sqlcode:' followed by the specific sqlcode value and the message text should contain the same error information.
💻 Technical Criteria
Given A DB2 SQLCODE error has occurred
When The system formats the error notification
Then The subject line should contain 'GCX003 DB2 SQLCODE:' followed by the specific SQLCODE value and the message text should contain the same error information
R-GCX003-cbl-01026 Initialize Field Processing Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Field Processing Variables' is invoked, and assuming that valid routing information fields are available, when system begins routing field processing, the desired outcome is that field processing variables are set to initial values with byte position 1, field number 1, and routing group cleared.
💻 Technical Criteria
Given Valid routing information fields are available
When System begins routing field processing
Then Field processing variables are set to initial values with byte position 1, field number 1, and routing group cleared
R-GCX003-cbl-01086 Routing Info Fields Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Routing Info Fields Available?' is invoked, and assuming that fwiqinfo segment has been accessed, when the routing information fields are checked for data availability, the desired outcome is that processing continues only if routing fields are not spaces or low-values, otherwise routing extraction is skipped.
💻 Technical Criteria
Given FWIQINFO segment has been accessed
When The routing information fields are checked for data availability
Then Processing continues only if routing fields are not spaces or low-values, otherwise routing extraction is skipped
R-GCX003-cbl-01092 Extract SCAC Code 1
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code 1' is invoked, and assuming that field number 1 is being processed with valid field length, when scac code 1 extraction is performed, the desired outcome is that the field value is moved to scac1 position in routing group and field number is incremented to 2.
💻 Technical Criteria
Given Field number 1 is being processed with valid field length
When SCAC Code 1 extraction is performed
Then The field value is moved to SCAC1 position in routing group and field number is incremented to 2
R-GCX003-cbl-01093 Extract Junction/R260 Code 1
Process Rules
📊 Business Logic Narrative
When the process 'Extract Junction/R260 Code 1' is invoked, and assuming that field number 2 is being processed with valid field length, when junction code 1 extraction is performed, the desired outcome is that the field value is moved to junction1 position in routing group and field number is incremented to 3.
💻 Technical Criteria
Given Field number 2 is being processed with valid field length
When Junction Code 1 extraction is performed
Then The field value is moved to Junction1 position in routing group and field number is incremented to 3
R-GCX003-cbl-01094 Extract SCAC Code 2
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code 2' is invoked, and assuming that field number 3 is being processed with valid field length, when scac code 2 extraction is performed, the desired outcome is that the field value is moved to scac2 position in routing group and field number is incremented to 4.
💻 Technical Criteria
Given Field number 3 is being processed with valid field length
When SCAC Code 2 extraction is performed
Then The field value is moved to SCAC2 position in routing group and field number is incremented to 4
R-GCX003-cbl-01095 Extract Junction/R260 Code 2
Process Rules
📊 Business Logic Narrative
When the process 'Extract Junction/R260 Code 2' is invoked, and assuming that field number 4 is being processed with valid field length, when junction code 2 extraction is performed, the desired outcome is that the field value is moved to junction2 position in routing group and field number is incremented to 5.
💻 Technical Criteria
Given Field number 4 is being processed with valid field length
When Junction Code 2 extraction is performed
Then The field value is moved to Junction2 position in routing group and field number is incremented to 5
R-GCX003-cbl-01096 Extract SCAC Code 3
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code 3' is invoked, and assuming that field number 5 is being processed with valid field length, when scac code 3 extraction is performed, the desired outcome is that the field value is moved to scac3 position in routing group and field number is incremented to 6.
💻 Technical Criteria
Given Field number 5 is being processed with valid field length
When SCAC Code 3 extraction is performed
Then The field value is moved to SCAC3 position in routing group and field number is incremented to 6
R-GCX003-cbl-01097 Extract Junction/R260 Code 3
Process Rules
📊 Business Logic Narrative
When the process 'Extract Junction/R260 Code 3' is invoked, and assuming that field number 6 is being processed with valid field length, when junction code 3 extraction is performed, the desired outcome is that the field value is moved to junction3 position in routing group and field number is incremented to 7.
💻 Technical Criteria
Given Field number 6 is being processed with valid field length
When Junction Code 3 extraction is performed
Then The field value is moved to Junction3 position in routing group and field number is incremented to 7
R-GCX003-cbl-01098 Extract SCAC Code 4
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code 4' is invoked, and assuming that field number 7 is being processed with valid field length, when scac code 4 extraction is performed, the desired outcome is that the field value is moved to scac4 position in routing group and byte position is set to 35 to terminate processing.
💻 Technical Criteria
Given Field number 7 is being processed with valid field length
When SCAC Code 4 extraction is performed
Then The field value is moved to SCAC4 position in routing group and byte position is set to 35 to terminate processing
R-GCX003-cbl-01128 Set Security Byte to High Values
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Byte to High Values' is invoked, and assuming that the log message structure is initialized, when the system configures security settings for the log message, the desired outcome is that the gcx105-security-byte is set to high-values.
💻 Technical Criteria
Given The log message structure is initialized
When The system configures security settings for the log message
Then The GCX105-SECURITY-BYTE is set to HIGH-VALUES
R-GCX003-cbl-01142 Scan Counter ≤ 700?
Process Rules
📊 Business Logic Narrative
When the process 'Scan Counter ≤ 700?' is invoked, and assuming that the duplicate detection process is running with a current scan counter value, when the system checks if more entries need to be processed, the desired outcome is that continue scanning if scan counter is 700 or less, otherwise end the process.
💻 Technical Criteria
Given The duplicate detection process is running with a current scan counter value
When The system checks if more entries need to be processed
Then Continue scanning if scan counter is 700 or less, otherwise end the process

📍 Routing, Border & Port 377 logic blocks
R-GCX003-cbl-00001 46:AEI Request Type Classification
Decision Rules
📊 Business Logic Narrative
When the process '46:AEI Request Type Classification' is invoked, and assuming that a train export request is received with a specific request type, when the request type equals the aei request type constant, the desired outcome is that set aei train send flag to yes, otherwise set aei train send flag to no.
💻 Technical Criteria
Given A train export request is received with a specific request type
When The request type equals the AEI request type constant
Then Set AEI train send flag to YES, otherwise set AEI train send flag to NO
R-GCX003-cbl-00010 5:US Customs Train ID Generation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '5:US Customs Train ID Generation', assuming that train details including scac, train id, origin, consist number, and creation date, when a train record with the same us customs train id already exists and is not marked as deleted, the desired outcome is that generate error message 6 (duplicate train id).
💻 Technical Criteria
EXCLUDING Train details including SCAC, train ID, origin, consist number, and creation date
When A train record with the same US customs train ID already exists AND is not marked as deleted
Then Generate error message 6 (duplicate train ID)
R-GCX003-cbl-00011 5:US Customs Train ID Generation
Process Rules
📊 Business Logic Narrative
When the process '5:US Customs Train ID Generation' is invoked, and assuming that a train record with the same us customs train id exists, when the existing train record is marked as deleted, the desired outcome is that delete the existing train record to allow creation of new record.
💻 Technical Criteria
Given A train record with the same US customs train ID exists
When The existing train record is marked as deleted
Then Delete the existing train record to allow creation of new record
R-GCX003-cbl-00012 6:MERLIN Customs ID Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '6:MERLIN Customs ID Validation', assuming that train origin station is validated, when the station's public merlin id is blank or the merlin id is not found in merlin database, the desired outcome is that generate error message 7 (missing merlin id) or message 8 (merlin id not found).
💻 Technical Criteria
EXCLUDING Train origin station is validated
When The station's public MERLIN ID is blank OR the MERLIN ID is not found in MERLIN database
Then Generate error message 7 (missing MERLIN ID) or message 8 (MERLIN ID not found)
R-GCX003-cbl-00039 32:EDI Train List Transmission
Action Rules
📊 Business Logic Narrative
When the process '32:EDI Train List Transmission' is invoked, and assuming that train record is successfully created in database, when transmitting to customs system, the desired outcome is that call edi transmission module with train list data, generate error if transmission fails.
💻 Technical Criteria
Given Train record is successfully created in database
When Transmitting to customs system
Then Call EDI transmission module with train list data, generate error if transmission fails
R-GCX003-cbl-00042 34:Large Report Email Pagination
Process Rules
📊 Business Logic Narrative
When the process '34:Large Report Email Pagination' is invoked, and assuming that report exceeds 699 lines, when sending large report, the desired outcome is that send first portion, create continuation message with headers, and send remaining portions with continuation indicators.
💻 Technical Criteria
Given Report exceeds 699 lines
When Sending large report
Then Send first portion, create continuation message with headers, and send remaining portions with continuation indicators
R-GCX003-cbl-00043 35:Report Distribution to Originator
Action Rules
📊 Business Logic Narrative
When the process '35:Report Distribution to Originator' is invoked, and assuming that train processing is completed, when distributing results to originator, the desired outcome is that send appropriate report type (error, sent, or report) to originator terminal or alternate terminal if specified.
💻 Technical Criteria
Given Train processing is completed
When Distributing results to originator
Then Send appropriate report type (error, sent, or report) to originator terminal or alternate terminal if specified
R-GCX003-cbl-00044 38:AEI Report Processing
Action Rules
📊 Business Logic Narrative
When the process '38:AEI Report Processing' is invoked, and assuming that request is aei train send type, when processing aei report, the desired outcome is that retrieve email addresses from aei work table for train origin, send report to configured addresses, use default addresses if none configured, handle email failures by sending to support.
💻 Technical Criteria
Given Request is AEI train send type
When Processing AEI report
Then Retrieve email addresses from AEI work table for train origin, send report to configured addresses, use default addresses if none configured, handle email failures by sending to support
R-GCX003-cbl-00045 39:Canadian Export Report Generation
Action Rules
📊 Business Logic Narrative
When the process '39:Canadian Export Report Generation' is invoked, and assuming that train processing completed successfully for non-laredo stations, when generating export report, the desired outcome is that spawn gcx141 message for export report generation.
💻 Technical Criteria
Given Train processing completed successfully for non-Laredo stations
When Generating export report
Then Spawn GCX141 message for export report generation
R-GCX003-cbl-00047 41:PDF Report Generation
Action Rules
📊 Business Logic Narrative
When the process '41:PDF Report Generation' is invoked, and assuming that report data is prepared, when generating pdf reports, the desired outcome is that call gcx904 module to create pdf reports for both pre-exit report (80 character width) and export train report (132 character width).
💻 Technical Criteria
Given Report data is prepared
When Generating PDF reports
Then Call GCX904 module to create PDF reports for both pre-exit report (80 character width) and export train report (132 character width)
R-GCX003-cbl-00052 Read First Input Message
Process Rules
📊 Business Logic Narrative
When the process 'Read First Input Message' is invoked, and assuming that the system is ready to process train export requests, when the system starts processing, the desired outcome is that the first input message is read and message availability status is set.
💻 Technical Criteria
Given The system is ready to process train export requests
When The system starts processing
Then The first input message is read and message availability status is set
R-GCX003-cbl-01532 SCAC Access Valid?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'SCAC Access Valid?', assuming that a user attempts to access the train manifest system with their acf2 user id and cp-scac code, when the scac access validation returns invalid and the request is not an aei train send request, the desired outcome is that the system should set message fourteen as active, perform report index increment, set user access to denied, and terminate security validation.
💻 Technical Criteria
EXCLUDING A user attempts to access the train manifest system with their ACF2 user ID and CP-SCAC code
When The SCAC access validation returns invalid AND the request is not an AEI train send request
Then The system should set message fourteen as active, perform report index increment, set user access to denied, and terminate security validation
R-GCX003-cbl-01534 User Has UTF-ADD Authority?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'User Has UTF-ADD Authority?', assuming that a user requests to perform a send action on train manifest data, when the user does not have utf-add authority of 'u' or 's' and the request is not an aei train send request, the desired outcome is that the system should set message thirteen as active, perform report index increment, and set user access to denied.
💻 Technical Criteria
EXCLUDING A user requests to perform a send action on train manifest data
When The user does not have UTF-ADD authority of 'U' or 'S' AND the request is not an AEI train send request
Then The system should set message thirteen as active, perform report index increment, and set user access to denied
R-GCX003-cbl-01795 Generate Security Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Security Error Message' is invoked, and assuming that user access has been denied due to invalid scac permissions, when the system generates validation error messages, the desired outcome is that message 14 is set to true and the report index is incremented.
💻 Technical Criteria
Given User access has been denied due to invalid SCAC permissions
When The system generates validation error messages
Then Message 14 is set to true and the report index is incremented
R-GCX003-cbl-01803 Generate Authorization Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Authorization Error' is invoked, and assuming that user access has been denied due to insufficient permissions, when the system generates authorization error messages, the desired outcome is that message 13 is set to true and the report index is incremented.
💻 Technical Criteria
Given User access has been denied due to insufficient permissions
When The system generates authorization error messages
Then Message 13 is set to true and the report index is incremented
R-GCX003-cbl-00069 Extract US Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract US Station Code' is invoked, and assuming that a valid station record has been found in the reference table, when the system processes the station data, the desired outcome is that the system should extract the us station code from the station record and store it for crossing port determination.
💻 Technical Criteria
Given A valid station record has been found in the reference table
When The system processes the station data
Then The system should extract the US station code from the station record and store it for crossing port determination
R-GCX003-cbl-00071 ETA Date = '000000'?
Validation Rules
📊 Business Logic Narrative
When the process 'ETA Date = '000000'?' is invoked, and assuming that a train export request is being processed, when the eta date field equals '000000', the desired outcome is that set error message indicating eta date is required and exit validation.
💻 Technical Criteria
Given A train export request is being processed
When The ETA date field equals '000000'
Then Set error message indicating ETA date is required and exit validation
R-GCX003-cbl-00072 Year > 80?
Computation Rules
📊 Business Logic Narrative
When the process 'Year > 80?' is invoked, and assuming that an eta date with 2-digit year is being processed, when the year portion is greater than 80, the desired outcome is that set the century to '19' for years 81-99, otherwise set century to '20' for years 00-80.
💻 Technical Criteria
Given An ETA date with 2-digit year is being processed
When The year portion is greater than 80
Then Set the century to '19' for years 81-99, otherwise set century to '20' for years 00-80
R-GCX003-cbl-00073 Convert Local Time to Eastern Time
Action Rules
📊 Business Logic Narrative
When the process 'Convert Local Time to Eastern Time' is invoked, and assuming that a valid eta date and time in local border crossing time zone, when time zone conversion is requested, the desired outcome is that convert the local date and time to eastern standard time using the border crossing station's time zone.
💻 Technical Criteria
Given A valid ETA date and time in local border crossing time zone
When Time zone conversion is requested
Then Convert the local date and time to Eastern Standard Time using the border crossing station's time zone
R-GCX003-cbl-00077 Extract SCAC Code from Constants
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code from Constants' is invoked, and assuming that a train manifest processing request is being prepared, when the system needs to generate a unique us customs train identifier, the desired outcome is that the system extracts the canadian pacific scac code from constants and assigns it to the train scac field.
💻 Technical Criteria
Given A train manifest processing request is being prepared
When The system needs to generate a unique US Customs train identifier
Then The system extracts the Canadian Pacific SCAC code from constants and assigns it to the train SCAC field
R-GCX003-cbl-00078 Get Train ID from Request
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Train ID from Request' is invoked, and assuming that a train manifest request contains train identification information, when the system processes the request for us customs train id generation, the desired outcome is that the system extracts the train id from the request and assigns it to the train identifier field.
💻 Technical Criteria
Given A train manifest request contains train identification information
When The system processes the request for US Customs train ID generation
Then The system extracts the train ID from the request and assigns it to the train identifier field
R-GCX003-cbl-00079 Get Train Origin from Request
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Train Origin from Request' is invoked, and assuming that a train manifest request specifies an origin location, when the system builds the us customs train identifier, the desired outcome is that the system extracts the train origin from the request and assigns it to the train origin field.
💻 Technical Criteria
Given A train manifest request specifies an origin location
When The system builds the US Customs train identifier
Then The system extracts the train origin from the request and assigns it to the train origin field
R-GCX003-cbl-00080 Get Consist Number from Request
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Consist Number from Request' is invoked, and assuming that a train manifest request includes a consist number, when the system generates the us customs train identifier, the desired outcome is that the system extracts the consist number from the request and assigns it to the train consist number field.
💻 Technical Criteria
Given A train manifest request includes a consist number
When The system generates the US Customs train identifier
Then The system extracts the consist number from the request and assigns it to the train consist number field
R-GCX003-cbl-00083 Build Train Export Indicator 'T'
Definitional Rules
📊 Business Logic Narrative
When the process 'Build Train Export Indicator 'T'' is invoked, and assuming that a train manifest is being processed for export purposes, when the system builds the us customs train identifier, the desired outcome is that the system sets the export indicator to 't' to designate this as an export train.
💻 Technical Criteria
Given A train manifest is being processed for export purposes
When The system builds the US Customs train identifier
Then The system sets the export indicator to 'T' to designate this as an export train
R-GCX003-cbl-00084 Concatenate All Components into US Customs Train ID
Computation Rules
📊 Business Logic Narrative
When the process 'Concatenate All Components into US Customs Train ID' is invoked, and assuming that all train identifier components have been extracted and formatted (scac code, train id, origin, consist number, julian date, export indicator), when the system needs to create the final us customs train identifier, the desired outcome is that the system concatenates all components into a single unique identifier and stores it as the us customer train id.
💻 Technical Criteria
Given All train identifier components have been extracted and formatted (SCAC code, train ID, origin, consist number, Julian date, export indicator)
When The system needs to create the final US Customs train identifier
Then The system concatenates all components into a single unique identifier and stores it as the US Customer Train ID
R-GCX003-cbl-00085 Store Generated ID in Train Header
Process Rules
📊 Business Logic Narrative
When the process 'Store Generated ID in Train Header' is invoked, and assuming that a complete us customs train identifier has been generated, when the system needs to preserve the identifier for processing, the desired outcome is that the system stores the generated train id in the train header record.
💻 Technical Criteria
Given A complete US Customs train identifier has been generated
When The system needs to preserve the identifier for processing
Then The system stores the generated train ID in the train header record
R-GCX003-cbl-00086 Check if Train ID Already Exists in Database
Validation Rules
📊 Business Logic Narrative
When the process 'Check if Train ID Already Exists in Database' is invoked, and assuming that a us customs train identifier has been generated, when the system needs to ensure uniqueness of the train record, the desired outcome is that the system queries the train database to check if a record with the same train identifier already exists.
💻 Technical Criteria
Given A US Customs train identifier has been generated
When The system needs to ensure uniqueness of the train record
Then The system queries the train database to check if a record with the same train identifier already exists
R-GCX003-cbl-00092 Set Generated Train ID in Multiple Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Generated Train ID in Multiple Fields' is invoked, and assuming that a new train header record has been initialized and a us customs train id has been generated, when the system needs to populate the train record with identifier information, the desired outcome is that the system assigns the generated train id to both the train header us customer train id field and the added train field.
💻 Technical Criteria
Given A new train header record has been initialized and a US Customs train ID has been generated
When The system needs to populate the train record with identifier information
Then The system assigns the generated train ID to both the train header US Customer Train ID field and the added train field
R-GCX003-cbl-00093 Mark Train ID as Added to System
Process Rules
📊 Business Logic Narrative
When the process 'Mark Train ID as Added to System' is invoked, and assuming that a new train record has been created with the generated us customs train identifier, when the system completes the train id generation process, the desired outcome is that the system marks the train identifier as added to the system in the tracking records.
💻 Technical Criteria
Given A new train record has been created with the generated US Customs train identifier
When The system completes the train ID generation process
Then The system marks the train identifier as added to the system in the tracking records
R-GCX003-cbl-01193 Get SCAC Code from Constants
Definitional Rules
📊 Business Logic Narrative
When the process 'Get SCAC Code from Constants' is invoked, and assuming that a train manifest is being processed, when the system needs to create a unique customs train identifier, the desired outcome is that the scac code 'cprs' (canadian pacific railway) is assigned as the carrier identifier component.
💻 Technical Criteria
Given A train manifest is being processed
When The system needs to create a unique customs train identifier
Then The SCAC code 'CPRS' (Canadian Pacific Railway) is assigned as the carrier identifier component
R-GCX003-cbl-01194 Get Train ID from Request
Process Rules
📊 Business Logic Narrative
When the process 'Get Train ID from Request' is invoked, and assuming that a train manifest request is received, when the system processes the request for customs train id creation, the desired outcome is that the train id from the request is extracted and used as a component in the unique identifier.
💻 Technical Criteria
Given A train manifest request is received
When The system processes the request for customs train ID creation
Then The train ID from the request is extracted and used as a component in the unique identifier
R-GCX003-cbl-01195 Get Train Origin from Request
Process Rules
📊 Business Logic Narrative
When the process 'Get Train Origin from Request' is invoked, and assuming that a train manifest request contains origin station information, when the system builds the unique customs train identifier, the desired outcome is that the train origin station code is extracted from the request and included as a component.
💻 Technical Criteria
Given A train manifest request contains origin station information
When The system builds the unique customs train identifier
Then The train origin station code is extracted from the request and included as a component
R-GCX003-cbl-01196 Get Consist Number from Request
Process Rules
📊 Business Logic Narrative
When the process 'Get Consist Number from Request' is invoked, and assuming that a train manifest request includes a consist number, when the system creates the customs train identifier, the desired outcome is that the consist number is extracted from the request and used as an identifier component.
💻 Technical Criteria
Given A train manifest request includes a consist number
When The system creates the customs train identifier
Then The consist number is extracted from the request and used as an identifier component
R-GCX003-cbl-01198 Convert Date to Julian Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Date to Julian Format' is invoked, and assuming that the current machine date has been captured, when the date needs to be formatted for the customs train identifier, the desired outcome is that the date is converted to julian format (5-digit format) for consistent date representation.
💻 Technical Criteria
Given The current machine date has been captured
When The date needs to be formatted for the customs train identifier
Then The date is converted to Julian format (5-digit format) for consistent date representation
R-GCX003-cbl-01199 Combine Components into US Customs Train ID
Computation Rules
📊 Business Logic Narrative
When the process 'Combine Components into US Customs Train ID' is invoked, and assuming that scac code, train id, origin, consist number, and julian date are available, when the system creates the final customs identifier, the desired outcome is that all components are combined with export indicator 't' to form the complete us customs train id.
💻 Technical Criteria
Given SCAC code, train ID, origin, consist number, and Julian date are available
When The system creates the final customs identifier
Then All components are combined with export indicator 'T' to form the complete US customs train ID
R-GCX003-cbl-01200 Format: SCAC + Train ID + Origin + Consist + Julian Date + Export Indicator
Definitional Rules
📊 Business Logic Narrative
When the process 'Format: SCAC + Train ID + Origin + Consist + Julian Date + Export Indicator' is invoked, and assuming that a train identifier is being formatted for customs, when the final identifier format is applied, the desired outcome is that the export indicator 't' is appended to signify this is an export train manifest.
💻 Technical Criteria
Given A train identifier is being formatted for customs
When The final identifier format is applied
Then The export indicator 'T' is appended to signify this is an export train manifest
R-GCX003-cbl-01201 Store Assembled Train ID
Process Rules
📊 Business Logic Narrative
When the process 'Store Assembled Train ID' is invoked, and assuming that the us customs train id has been successfully assembled, when the identifier needs to be persisted for processing, the desired outcome is that the assembled train id is stored in the train header structure for further use.
💻 Technical Criteria
Given The US customs train ID has been successfully assembled
When The identifier needs to be persisted for processing
Then The assembled train ID is stored in the train header structure for further use
R-GCX003-cbl-01202 Check for Existing Train ID in Database
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Existing Train ID in Database' is invoked, and assuming that a unique customs train id has been assembled, when the system needs to ensure uniqueness, the desired outcome is that the database is queried to check if the train id already exists.
💻 Technical Criteria
Given A unique customs train ID has been assembled
When The system needs to ensure uniqueness
Then The database is queried to check if the train ID already exists
R-GCX003-cbl-01205 Initialize Train Header with New ID
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Train Header with New ID' is invoked, and assuming that a unique train id has been validated and confirmed as available, when a new train record needs to be created, the desired outcome is that the train header structure is initialized with the new customs train identifier.
💻 Technical Criteria
Given A unique train ID has been validated and confirmed as available
When A new train record needs to be created
Then The train header structure is initialized with the new customs train identifier
R-GCX003-cbl-01207 Build US Customs Train ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Build US Customs Train ID' is invoked, and assuming that a train request with carrier scac code, train id, origin station, consist number, and current system date, when the system processes the train identification request, the desired outcome is that the system creates a us customs train id by concatenating carrier scac, train id, origin station, consist number, creation date in julian format, and export indicator 't'.
💻 Technical Criteria
Given A train request with carrier SCAC code, train ID, origin station, consist number, and current system date
When The system processes the train identification request
Then The system creates a US customs train ID by concatenating carrier SCAC, train ID, origin station, consist number, creation date in Julian format, and export indicator 'T'
R-GCX003-cbl-01209 Set Export Indicator to 'T'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Export Indicator to 'T'' is invoked, and assuming that a new train record being created for us customs processing, when the system initializes the train export indicator, the desired outcome is that the system sets the export indicator to 't' to designate this as an export train.
💻 Technical Criteria
Given A new train record being created for US customs processing
When The system initializes the train export indicator
Then The system sets the export indicator to 'T' to designate this as an export train
R-GCX003-cbl-01210 Search Database for Existing Train Record
Action Rules
📊 Business Logic Narrative
When the process 'Search Database for Existing Train Record' is invoked, and assuming that a constructed us customs train id, when the system searches the gcsutrt database for existing train records, the desired outcome is that the system performs a database lookup using the train id as the search key and returns the record status.
💻 Technical Criteria
Given A constructed US customs train ID
When The system searches the GCSUTRT database for existing train records
Then The system performs a database lookup using the train ID as the search key and returns the record status
R-GCX003-cbl-01216 Set Train ID for Processing
Process Rules
📊 Business Logic Narrative
When the process 'Set Train ID for Processing' is invoked, and assuming that a successfully initialized train header and validated train id, when the system prepares the train record for further processing, the desired outcome is that the system assigns the constructed us customs train id to both the train header and the added train tracking table for continued processing.
💻 Technical Criteria
Given A successfully initialized train header and validated train ID
When The system prepares the train record for further processing
Then The system assigns the constructed US customs train ID to both the train header and the added train tracking table for continued processing
R-GCX003-cbl-00094 Retrieve Administration Table for MERLIN Configuration
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Administration Table for MERLIN Configuration' is invoked, and assuming that a request requires merlin customs id validation, when the system attempts to retrieve administration table with ad key configuration, the desired outcome is that the administration table segment is retrieved for merlin id extraction.
💻 Technical Criteria
Given A request requires MERLIN customs ID validation
When The system attempts to retrieve administration table with AD key configuration
Then The administration table segment is retrieved for MERLIN ID extraction
R-GCX003-cbl-01700 Initialize Route Search Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Route Search Variables' is invoked, and assuming that routing analysis is about to begin, when the system starts route pattern analysis, the desired outcome is that route not found flag is set to true and route search counter is initialized to begin pattern matching loop.
💻 Technical Criteria
Given Routing analysis is about to begin
When The system starts route pattern analysis
Then Route not found flag is set to true and route search counter is initialized to begin pattern matching loop
R-GCX003-cbl-01702 Extract SCAC Code from Route Info
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code from Route Info' is invoked, and assuming that routing information fields contain carrier and junction data, when the system processes each routing field in sequence, the desired outcome is that scac codes and junction codes are extracted from consecutive routing information array elements for pattern analysis.
💻 Technical Criteria
Given Routing information fields contain carrier and junction data
When The system processes each routing field in sequence
Then SCAC codes and junction codes are extracted from consecutive routing information array elements for pattern analysis
R-GCX003-cbl-01706 Set Route Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Route Found Flag' is invoked, and assuming that a valid carrier routing pattern has been identified, when route type has been determined (hazmat, csxt, or ns pattern), the desired outcome is that route found flag is set to true to indicate successful pattern matching and stop further search iterations.
💻 Technical Criteria
Given A valid carrier routing pattern has been identified
When Route type has been determined (hazmat, CSXT, or NS pattern)
Then Route found flag is set to true to indicate successful pattern matching and stop further search iterations
R-GCX003-cbl-01839 More Route Segments to Process?
Process Rules
📊 Business Logic Narrative
When the process 'More Route Segments to Process?' is invoked, and assuming that route processing is in progress with a route segment counter, when the system checks for more route segments to process, the desired outcome is that processing continues if route segment counter is 9 or less and route has not been found, otherwise processing stops.
💻 Technical Criteria
Given Route processing is in progress with a route segment counter
When The system checks for more route segments to process
Then Processing continues if route segment counter is 9 or less and route has not been found, otherwise processing stops
R-GCX003-cbl-01840 Parse SCAC Code from Route Info
Definitional Rules
📊 Business Logic Narrative
When the process 'Parse SCAC Code from Route Info' is invoked, and assuming that route information contains carrier and junction data in structured format, when the system parses route segment information, the desired outcome is that scac codes are extracted to route scac positions and junction/r260 codes are extracted to corresponding route junction positions.
💻 Technical Criteria
Given Route information contains carrier and junction data in structured format
When The system parses route segment information
Then SCAC codes are extracted to route SCAC positions and junction/R260 codes are extracted to corresponding route junction positions
R-GCX003-cbl-01844 Is UTF-SPEC-MANI = 'S'?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is UTF-SPEC-MANI = 'S'?', assuming that a train request is being processed and the report has no errors and the request action is send and the request is not an aei train send, when the system checks the user's utf special manifest authorization field, the desired outcome is that if utf-spec-mani is not equal to 's', then set the user as not authorized for special manifest processing, otherwise allow the user to proceed with special manifest operations.
💻 Technical Criteria
EXCLUDING A train request is being processed AND the report has no errors AND the request action is SEND AND the request is not an AEI train send
When The system checks the user's UTF special manifest authorization field
Then If UTF-SPEC-MANI is not equal to 'S', then set the user as not authorized for special manifest processing, otherwise allow the user to proceed with special manifest operations
R-GCX003-cbl-01845 Report Has No Errors?
Process Rules
📊 Business Logic Narrative
When the process 'Report Has No Errors?' is invoked, and assuming that a train request is being processed for special manifest authorization, when the system evaluates the current report error status, the desired outcome is that if the report has no errors, proceed to check request action type, otherwise skip the authorization validation process.
💻 Technical Criteria
Given A train request is being processed for special manifest authorization
When The system evaluates the current report error status
Then If the report has no errors, proceed to check request action type, otherwise skip the authorization validation process
R-GCX003-cbl-01846 Request Action is SEND?
Decision Rules
📊 Business Logic Narrative
When the process 'Request Action is SEND?' is invoked, and assuming that a train request is being processed and the report has no errors, when the system evaluates the request action type, the desired outcome is that if the request action is send, proceed to check utf special manifest authorization, otherwise skip the authorization validation.
💻 Technical Criteria
Given A train request is being processed AND the report has no errors
When The system evaluates the request action type
Then If the request action is SEND, proceed to check UTF special manifest authorization, otherwise skip the authorization validation
R-GCX003-cbl-01847 AEI Train Send = NO?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'AEI Train Send = NO?', assuming that a train request is being processed and the report has no errors and the request action is send and the user does not have utf special manifest authorization, when the system checks the aei train send status, the desired outcome is that if aei train send is no, set the user as not authorized for special manifest, otherwise allow the user to proceed as authorized.
💻 Technical Criteria
EXCLUDING A train request is being processed AND the report has no errors AND the request action is SEND AND the user does not have UTF special manifest authorization
When The system checks the AEI train send status
Then If AEI train send is NO, set the user as not authorized for special manifest, otherwise allow the user to proceed as authorized
R-GCX003-cbl-01341 Set Port Change Spawn Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Port Change Spawn Flag' is invoked, and assuming that port change notification has been generated for authorized user, when the system sets processing flags, the desired outcome is that set port change spawn flag to true to trigger special manifest creation.
💻 Technical Criteria
Given Port change notification has been generated for authorized user
When The system sets processing flags
Then Set port change spawn flag to TRUE to trigger special manifest creation
R-GCX003-cbl-00251 Determine Manifest Type
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Manifest Type' is invoked, and assuming that special manifest parameters are configured, when evaluating spawn type flags, the desired outcome is that set diversion flag for diversion spawn, set it export flag for it export spawn, set change port flag for port change spawn, set it export flag for detour spawn, set us-us detour flag for us-us detour spawn, or set export tr flag for 88-tr detour spawn.
💻 Technical Criteria
Given Special manifest parameters are configured
When Evaluating spawn type flags
Then Set diversion flag for diversion spawn, set IT export flag for IT export spawn, set change port flag for port change spawn, set IT export flag for detour spawn, set US-US detour flag for US-US detour spawn, or set export TR flag for 88-TR detour spawn
R-GCX003-cbl-00253 Queue Special Manifest for Processing
Action Rules
📊 Business Logic Narrative
When the process 'Queue Special Manifest for Processing' is invoked, and assuming that special manifest is fully configured with all required parameters, when queuing manifest for processing, the desired outcome is that increment report spawn count by 1 and store special manifest input parameters in working storage spawn table.
💻 Technical Criteria
Given Special manifest is fully configured with all required parameters
When Queuing manifest for processing
Then Increment report spawn count by 1 and store special manifest input parameters in working storage spawn table
R-GCX003-cbl-01372 Add Border and Country Codes
Action Rules
📊 Business Logic Narrative
When the process 'Add Border and Country Codes' is invoked, and assuming that a special manifest record is being configured with routing information, when border and country code information is available, the desired outcome is that populate manifest with border code, border name, origin country, and destination country codes.
💻 Technical Criteria
Given A special manifest record is being configured with routing information
When Border and country code information is available
Then Populate manifest with border code, border name, origin country, and destination country codes
R-GCX003-cbl-00280 Initialize FEN and KCM Flags as Not Found
Process Rules
📊 Business Logic Narrative
When the process 'Initialize FEN and KCM Flags as Not Found' is invoked, and assuming that segment 02 data is available for processing, when the system begins mexico customs documentation validation, the desired outcome is that set fen documentation flag to not found and kcm documentation flag to not found.
💻 Technical Criteria
Given Segment 02 data is available for processing
When The system begins Mexico customs documentation validation
Then Set FEN documentation flag to not found and KCM documentation flag to not found
R-GCX003-cbl-00307 User Authorized for Special Manifest?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifest?' is invoked, and assuming that a special manifest creation is required for detour processing, when the system validates user authorization for special manifests, the desired outcome is that if user is not authorized, generate error message 43 and report message, otherwise proceed with special manifest creation.
💻 Technical Criteria
Given A special manifest creation is required for detour processing
When The system validates user authorization for special manifests
Then If user is not authorized, generate error message 43 and report message, otherwise proceed with special manifest creation
R-GCX003-cbl-00312 Create Border Clearance Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create Border Clearance Special Manifest' is invoked, and assuming that user is authorized and border clearance release status is valid and action is send, when the system creates a border clearance special manifest, the desired outcome is that generate message 23, set detour spawn flag, and invoke special manifest creation process.
💻 Technical Criteria
Given User is authorized and border clearance release status is valid and action is SEND
When The system creates a border clearance special manifest
Then Generate message 23, set detour spawn flag, and invoke special manifest creation process
R-GCX003-cbl-00314 Create US-MX Export Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create US-MX Export Special Manifest' is invoked, and assuming that user is authorized and us-mexico export requires special manifest and action is send, when the system creates a us-mexico export special manifest, the desired outcome is that generate message 23, set 88-tr detour spawn flag, and invoke special manifest creation process.
💻 Technical Criteria
Given User is authorized and US-Mexico export requires special manifest and action is SEND
When The system creates a US-Mexico export special manifest
Then Generate message 23, set 88-TR detour spawn flag, and invoke special manifest creation process
R-GCX003-cbl-01386 Request Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Request Action Type?' is invoked, and assuming that user is authorized and detour processing is required, when the system evaluates the request action type, the desired outcome is that if request action is send, proceed to create special manifest spawn; if request action is report, create warning message only.
💻 Technical Criteria
Given User is authorized and detour processing is required
When The system evaluates the request action type
Then If request action is SEND, proceed to create special manifest spawn; if request action is REPORT, create warning message only
R-GCX003-cbl-01388 Create Warning Message
Process Rules
📊 Business Logic Narrative
When the process 'Create Warning Message' is invoked, and assuming that request action is report or user lacks special manifest authorization, when the system processes the detour requirement, the desired outcome is that generate appropriate warning message indicating the detour condition without creating special manifest.
💻 Technical Criteria
Given Request action is REPORT or user lacks special manifest authorization
When The system processes the detour requirement
Then Generate appropriate warning message indicating the detour condition without creating special manifest
R-GCX003-cbl-00322 User Authorized for Special Manifest?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifest?' is invoked, and assuming that a port location mismatch is detected and the request action is send, when the system checks if the user is authorized for special manifest creation, the desired outcome is that if not authorized, generate authorization error message and exit; if authorized, proceed with port change processing.
💻 Technical Criteria
Given A port location mismatch is detected and the request action is SEND
When The system checks if the user is authorized for special manifest creation
Then If not authorized, generate authorization error message and exit; if authorized, proceed with port change processing
R-GCX003-cbl-00323 Generate Authorization Error Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Authorization Error Message', assuming that a user attempts to process a port change with send action, when the user is not authorized for special manifest creation, the desired outcome is that generate message forty-three, add the report line to output, and exit port change processing.
💻 Technical Criteria
EXCLUDING A user attempts to process a port change with send action
When The user is not authorized for special manifest creation
Then Generate message forty-three, add the report line to output, and exit port change processing
R-GCX003-cbl-00324 Generate Port Change Processing Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Port Change Processing Message' is invoked, and assuming that an authorized user is processing a port change with send action, when all validation criteria are met for port change processing, the desired outcome is that generate message twenty, add the report line to output, and prepare for special manifest creation.
💻 Technical Criteria
Given An authorized user is processing a port change with send action
When All validation criteria are met for port change processing
Then Generate message twenty, add the report line to output, and prepare for special manifest creation
R-GCX003-cbl-00325 Set Port Change Spawn Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Port Change Spawn Flag' is invoked, and assuming that port change processing message has been generated for authorized user, when the system prepares to create a special manifest for the port change, the desired outcome is that set the port change spawn flag to true to trigger special manifest creation.
💻 Technical Criteria
Given Port change processing message has been generated for authorized user
When The system prepares to create a special manifest for the port change
Then Set the port change spawn flag to true to trigger special manifest creation
R-GCX003-cbl-00326 Create Special Manifest for Port Change
Action Rules
📊 Business Logic Narrative
When the process 'Create Special Manifest for Port Change' is invoked, and assuming that the port change spawn flag has been set to true, when the system needs to create a special manifest for the port change, the desired outcome is that call the special manifest creation procedure to handle the port change scenario.
💻 Technical Criteria
Given The port change spawn flag has been set to true
When The system needs to create a special manifest for the port change
Then Call the special manifest creation procedure to handle the port change scenario
R-GCX003-cbl-00333 Generate Error Message 43
Action Rules
📊 Business Logic Narrative
When the process 'Generate Error Message 43' is invoked, and assuming that a send request requires special manifest creation but user lacks authorization, when the system attempts to create a special manifest, the desired outcome is that generate error message 43 for user not authorized for special manifests and add to report output.
💻 Technical Criteria
Given A SEND request requires special manifest creation but user lacks authorization
When The system attempts to create a special manifest
Then Generate error message 43 for user not authorized for special manifests and add to report output
R-GCX003-cbl-00344 Set Detour Spawn Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Detour Spawn Flag' is invoked, and assuming that an authorized special manifest creation for border clearance, when the system prepares for manifest generation, the desired outcome is that set the detour spawn flag to true to trigger special manifest processing.
💻 Technical Criteria
Given An authorized special manifest creation for border clearance
When The system prepares for manifest generation
Then Set the detour spawn flag to TRUE to trigger special manifest processing
R-GCX003-cbl-00345 Create Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create Special Manifest' is invoked, and assuming that a detour spawn flag set to true for border clearance, when the system processes the special manifest requirement, the desired outcome is that call the special manifest creation procedure to generate the required documentation.
💻 Technical Criteria
Given A detour spawn flag set to TRUE for border clearance
When The system processes the special manifest requirement
Then Call the special manifest creation procedure to generate the required documentation
R-GCX003-cbl-00348 Request Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Request Action Type?' is invoked, and assuming that a us-us movement detour scenario is identified, when the system evaluates the request action type, the desired outcome is that the system should route to report generation if action is report, or to authorization check if action is send.
💻 Technical Criteria
Given A US-US movement detour scenario is identified
When The system evaluates the request action type
Then The system should route to report generation if action is REPORT, or to authorization check if action is SEND
R-GCX003-cbl-00349 Generate Warning Message 18: Original US-US Movement Detour Required
Action Rules
📊 Business Logic Narrative
When the process 'Generate Warning Message 18: Original US-US Movement Detour Required' is invoked, and assuming that a us-us movement detour scenario exists and request action is report, when the system processes the detour for reporting, the desired outcome is that the system should generate warning message 18 indicating that an original us-us movement detour is required.
💻 Technical Criteria
Given A US-US movement detour scenario exists and request action is REPORT
When The system processes the detour for reporting
Then The system should generate warning message 18 indicating that an original US-US movement detour is required
R-GCX003-cbl-00356 Check US-MX Country Codes?
Validation Rules
📊 Business Logic Narrative
When the process 'Check US-MX Country Codes?' is invoked, and assuming that origin and destination country codes are available, when processing export detour for bill type 88, the desired outcome is that continue processing only if origin-destination country codes equal 'usmx', otherwise skip processing.
💻 Technical Criteria
Given Origin and destination country codes are available
When Processing export detour for bill type 88
Then Continue processing only if origin-destination country codes equal 'USMX', otherwise skip processing
R-GCX003-cbl-00358 Check Not Laredo Station?
Policy Rules
📊 Business Logic Narrative
When the process 'Check Not Laredo Station?' is invoked, and assuming that a train crossing port station code, when processing us-mexico export detour with special 88 manifest, the desired outcome is that continue processing only if station is not laredo tx, otherwise skip detour processing.
💻 Technical Criteria
Given A train crossing port station code
When Processing US-Mexico export detour with special 88 manifest
Then Continue processing only if station is not Laredo TX, otherwise skip detour processing
R-GCX003-cbl-00361 Generate Warning Message 43 - User Not Authorized
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Warning Message 43 - User Not Authorized', assuming that a send action request for us-mexico export detour and user authorization status, when user is not authorized for special manifests, the desired outcome is that generate warning message 43 and skip special manifest creation.
💻 Technical Criteria
EXCLUDING A send action request for US-Mexico export detour and user authorization status
When User is not authorized for special manifests
Then Generate warning message 43 and skip special manifest creation
R-GCX003-cbl-00362 Generate Special Manifest Message 23
Action Rules
📊 Business Logic Narrative
When the process 'Generate Special Manifest Message 23' is invoked, and assuming that a send action request for us-mexico export detour with authorized user, when user has special manifest authorization, the desired outcome is that generate message 23, set 88-tr detour spawn flag, and create special manifest.
💻 Technical Criteria
Given A send action request for US-Mexico export detour with authorized user
When User has special manifest authorization
Then Generate message 23, set 88-TR detour spawn flag, and create special manifest
R-GCX003-cbl-00377 Set Report End Marker
Process Rules
📊 Business Logic Narrative
When the process 'Set Report End Marker' is invoked, and assuming that a report is being finalized, when the current report line at index rpt-idx is blank, the desired outcome is that set the report line as end of report marker.
💻 Technical Criteria
Given A report is being finalized
When The current report line at index RPT-IDX is blank
Then Set the report line as end of report marker
R-GCX003-cbl-00378 Store Last Line Index
Process Rules
📊 Business Logic Narrative
When the process 'Store Last Line Index' is invoked, and assuming that a report is being finalized, when the report processing reaches the end, the desired outcome is that store the current rpt-idx as rpt-last-line and new-rpt-idx as new-rpt-last-line.
💻 Technical Criteria
Given A report is being finalized
When The report processing reaches the end
Then Store the current RPT-IDX as RPT-LAST-LINE and NEW-RPT-IDX as NEW-RPT-LAST-LINE
R-GCX003-cbl-00379 Create Header Line 1 - Train Information
Process Rules
📊 Business Logic Narrative
When the process 'Create Header Line 1 - Train Information' is invoked, and assuming that a report header is being created, when setting up the first header line, the desired outcome is that set rpt-header-line-1 flag to true for line 1.
💻 Technical Criteria
Given A report header is being created
When Setting up the first header line
Then Set RPT-HEADER-LINE-1 flag to TRUE for line 1
R-GCX003-cbl-00380 Set Train ID in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set Train ID in Header' is invoked, and assuming that a report header line 1 is being populated, when adding train identification information, the desired outcome is that move req-train-id to rpt-hdr-train-id for line 1.
💻 Technical Criteria
Given A report header line 1 is being populated
When Adding train identification information
Then Move REQ-TRAIN-ID to RPT-HDR-TRAIN-ID for line 1
R-GCX003-cbl-00381 Set Origin Station Name in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set Origin Station Name in Header' is invoked, and assuming that a report header line 1 is being populated, when adding origin station information, the desired outcome is that move gcstbrt-sc-us-stat-name to rpt-hdr-origin for line 1.
💻 Technical Criteria
Given A report header line 1 is being populated
When Adding origin station information
Then Move GCSTBRT-SC-US-STAT-NAME to RPT-HDR-ORIGIN for line 1
R-GCX003-cbl-00382 Create Header Line 2 - User Information
Process Rules
📊 Business Logic Narrative
When the process 'Create Header Line 2 - User Information' is invoked, and assuming that a report header is being created, when setting up the second header line, the desired outcome is that set rpt-header-line-2 flag to true for line 2.
💻 Technical Criteria
Given A report header is being created
When Setting up the second header line
Then Set RPT-HEADER-LINE-2 flag to TRUE for line 2
R-GCX003-cbl-00383 Set User ID in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set User ID in Header' is invoked, and assuming that a report header line 2 is being populated, when adding user identification information, the desired outcome is that move cc-acf2-userid from cccom to rpt-hdr-user-id for line 2.
💻 Technical Criteria
Given A report header line 2 is being populated
When Adding user identification information
Then Move CC-ACF2-USERID from CCCOM to RPT-HDR-USER-ID for line 2
R-GCX003-cbl-00384 Set Terminal ID in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set Terminal ID in Header' is invoked, and assuming that a report header line 2 is being populated, when adding terminal identification information, the desired outcome is that move cc-orig-lterm from cccom to rpt-hdr-lterm for line 2.
💻 Technical Criteria
Given A report header line 2 is being populated
When Adding terminal identification information
Then Move CC-ORIG-LTERM from CCCOM to RPT-HDR-LTERM for line 2
R-GCX003-cbl-00385 Set Processing Date in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Date in Header' is invoked, and assuming that a report header line 2 is being populated, when adding processing date information, the desired outcome is that move cc-machine-date from cccom to rpt-hdr-date for line 2.
💻 Technical Criteria
Given A report header line 2 is being populated
When Adding processing date information
Then Move CC-MACHINE-DATE from CCCOM to RPT-HDR-DATE for line 2
R-GCX003-cbl-00386 Set Processing Time in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Time in Header' is invoked, and assuming that a report header line 2 is being populated, when adding processing time information, the desired outcome is that move cc-machine-hour and cc-machine-min from cccom to rpt-hdr-hour and rpt-hdr-min for line 2.
💻 Technical Criteria
Given A report header line 2 is being populated
When Adding processing time information
Then Move CC-MACHINE-HOUR and CC-MACHINE-MIN from CCCOM to RPT-HDR-HOUR and RPT-HDR-MIN for line 2
R-GCX003-cbl-00387 Create Header Line 3 - Action Type
Process Rules
📊 Business Logic Narrative
When the process 'Create Header Line 3 - Action Type' is invoked, and assuming that a report header is being created, when setting up the third header line, the desired outcome is that set rpt-header-line-3 flag to true for line 3.
💻 Technical Criteria
Given A report header is being created
When Setting up the third header line
Then Set RPT-HEADER-LINE-3 flag to TRUE for line 3
R-GCX003-cbl-00388 Request Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Request Action Type?' is invoked, and assuming that a report header line 3 is being populated, when the request action type is being evaluated, the desired outcome is that branch to send action processing if req-action-send, report action processing if req-action-report, or other action processing for any other action type.
💻 Technical Criteria
Given A report header line 3 is being populated
When The request action type is being evaluated
Then Branch to SEND action processing if REQ-ACTION-SEND, REPORT action processing if REQ-ACTION-REPORT, or OTHER action processing for any other action type
R-GCX003-cbl-00389 Set SEND Action Header
Process Rules
📊 Business Logic Narrative
When the process 'Set SEND Action Header' is invoked, and assuming that a report header line 3 is being populated, when the request action type is send, the desired outcome is that perform c150-send-report-wrapup to set send-specific header information.
💻 Technical Criteria
Given A report header line 3 is being populated
When The request action type is SEND
Then Perform C150-SEND-REPORT-WRAPUP to set SEND-specific header information
R-GCX003-cbl-00390 Set REPORT Action Header
Process Rules
📊 Business Logic Narrative
When the process 'Set REPORT Action Header' is invoked, and assuming that a report header line 3 is being populated, when the request action type is report, the desired outcome is that set rpt-hdr-report flag to true for line 3.
💻 Technical Criteria
Given A report header line 3 is being populated
When The request action type is REPORT
Then Set RPT-HDR-REPORT flag to TRUE for line 3
R-GCX003-cbl-00391 Set OTHER Action Header
Process Rules
📊 Business Logic Narrative
When the process 'Set OTHER Action Header' is invoked, and assuming that a report header line 3 is being populated, when the request action type is neither send nor report, the desired outcome is that move req-type to rpt-hdr-type for line 3 and set rpt-result-abort flag to true for line 3.
💻 Technical Criteria
Given A report header line 3 is being populated
When The request action type is neither SEND nor REPORT
Then Move REQ-TYPE to RPT-HDR-TYPE for line 3 and set RPT-RESULT-ABORT flag to TRUE for line 3
R-GCX003-cbl-00392 Processing Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Processing Status?' is invoked, and assuming that a send or report action header is being configured, when the processing status needs to be determined, the desired outcome is that check if there are no errors and no warnings to set result as no-msg, otherwise set result as msg with error and warning counts.
💻 Technical Criteria
Given A SEND or REPORT action header is being configured
When The processing status needs to be determined
Then Check if there are no errors and no warnings to set result as NO-MSG, otherwise set result as MSG with error and warning counts
R-GCX003-cbl-00395 Set Result as ABORTED
Process Rules
📊 Business Logic Narrative
When the process 'Set Result as ABORTED' is invoked, and assuming that an other action type is being processed, when the action is neither send nor report, the desired outcome is that set rpt-result-abort flag to true for line 3.
💻 Technical Criteria
Given An OTHER action type is being processed
When The action is neither SEND nor REPORT
Then Set RPT-RESULT-ABORT flag to TRUE for line 3
R-GCX003-cbl-00396 Add Warning Count to Header
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Warning Count to Header', assuming that a report action header is being configured, when there are errors or warnings (not rpt-no-error or not rpt-no-wrn), the desired outcome is that move rpt-warning-cnt to rpt-wrn-cnt4 for line 3.
💻 Technical Criteria
EXCLUDING A REPORT action header is being configured
When There are errors or warnings (not RPT-NO-ERROR or not RPT-NO-WRN)
Then Move RPT-WARNING-CNT to RPT-WRN-CNT4 for line 3
R-GCX003-cbl-00397 Add Error Count to Header
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Error Count to Header', assuming that a report action header is being configured, when there are errors or warnings (not rpt-no-error or not rpt-no-wrn), the desired outcome is that move rpt-error-cnt to rpt-err-cnt4 for line 3.
💻 Technical Criteria
EXCLUDING A REPORT action header is being configured
When There are errors or warnings (not RPT-NO-ERROR or not RPT-NO-WRN)
Then Move RPT-ERROR-CNT to RPT-ERR-CNT4 for line 3
R-GCX003-cbl-00398 Add DSP Count to Header
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add DSP Count to Header', assuming that a report action header is being configured, when there are errors or warnings (not rpt-no-error or not rpt-no-wrn), the desired outcome is that move rpt-dsp-cnt to rpt-dsp-cnt4 for line 3.
💻 Technical Criteria
EXCLUDING A REPORT action header is being configured
When There are errors or warnings (not RPT-NO-ERROR or not RPT-NO-WRN)
Then Move RPT-DSP-CNT to RPT-DSP-CNT4 for line 3
R-GCX003-cbl-00399 Create Header Line 4 - Train Details
Process Rules
📊 Business Logic Narrative
When the process 'Create Header Line 4 - Train Details' is invoked, and assuming that a report header is being created, when setting up the fourth header line, the desired outcome is that set rpt-header-line-4 flag to true for line 4.
💻 Technical Criteria
Given A report header is being created
When Setting up the fourth header line
Then Set RPT-HEADER-LINE-4 flag to TRUE for line 4
R-GCX003-cbl-00400 Set US Customs Train ID
Process Rules
📊 Business Logic Narrative
When the process 'Set US Customs Train ID' is invoked, and assuming that a report header line 4 is being populated, when adding us customs train identification, the desired outcome is that move gcwtl-m1005-us-cust-train-id to rpt-hdr-us-train-id for line 4.
💻 Technical Criteria
Given A report header line 4 is being populated
When Adding US Customs train identification
Then Move GCWTL-M1005-US-CUST-TRAIN-ID to RPT-HDR-US-TRAIN-ID for line 4
R-GCX003-cbl-00401 Set ETA Year in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set ETA Year in Header' is invoked, and assuming that a report header line 4 is being populated, when adding eta year information, the desired outcome is that move req-eta-year to rpt-hdr-eta-year for line 4.
💻 Technical Criteria
Given A report header line 4 is being populated
When Adding ETA year information
Then Move REQ-ETA-YEAR to RPT-HDR-ETA-YEAR for line 4
R-GCX003-cbl-00402 Set ETA Month in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set ETA Month in Header' is invoked, and assuming that a report header line 4 is being populated, when adding eta month information, the desired outcome is that move req-eta-month to rpt-hdr-eta-month for line 4.
💻 Technical Criteria
Given A report header line 4 is being populated
When Adding ETA month information
Then Move REQ-ETA-MONTH to RPT-HDR-ETA-MONTH for line 4
R-GCX003-cbl-00403 Set ETA Day in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set ETA Day in Header' is invoked, and assuming that a report header line 4 is being populated, when adding eta day information, the desired outcome is that move req-eta-day to rpt-hdr-eta-day for line 4.
💻 Technical Criteria
Given A report header line 4 is being populated
When Adding ETA day information
Then Move REQ-ETA-DAY to RPT-HDR-ETA-DAY for line 4
R-GCX003-cbl-00404 Set ETA Hour in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set ETA Hour in Header' is invoked, and assuming that a report header line 4 is being populated, when adding eta hour information, the desired outcome is that move req-eta-hour to rpt-hdr-eta-hour for line 4.
💻 Technical Criteria
Given A report header line 4 is being populated
When Adding ETA hour information
Then Move REQ-ETA-HOUR to RPT-HDR-ETA-HOUR for line 4
R-GCX003-cbl-00405 Set ETA Minutes in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set ETA Minutes in Header' is invoked, and assuming that a report header line 4 is being populated, when adding eta minutes information, the desired outcome is that move req-eta-min to rpt-hdr-eta-min for line 4.
💻 Technical Criteria
Given A report header line 4 is being populated
When Adding ETA minutes information
Then Move REQ-ETA-MIN to RPT-HDR-ETA-MIN for line 4
R-GCX003-cbl-00406 Create Detail Headers
Process Rules
📊 Business Logic Narrative
When the process 'Create Detail Headers' is invoked, and assuming that a report header is being finalized, when setting up detail section headers, the desired outcome is that set rpt-det-header-1 flag to true for line 6 and rpt-det-header-2 flag to true for line 7.
💻 Technical Criteria
Given A report header is being finalized
When Setting up detail section headers
Then Set RPT-DET-HEADER-1 flag to TRUE for line 6 and RPT-DET-HEADER-2 flag to TRUE for line 7
R-GCX003-cbl-00407 Copy Headers to Report Lines
Process Rules
📊 Business Logic Narrative
When the process 'Copy Headers to Report Lines' is invoked, and assuming that all report headers have been configured, when finalizing the report structure, the desired outcome is that move rpt-line content for lines 1 through 5 to corresponding emi-text-line positions.
💻 Technical Criteria
Given All report headers have been configured
When Finalizing the report structure
Then Move RPT-LINE content for lines 1 through 5 to corresponding EMI-TEXT-LINE positions
R-GCX003-cbl-01394 Set Report End Marker
Process Rules
📊 Business Logic Narrative
When the process 'Set Report End Marker' is invoked, and assuming that a report is being finalized, when the current report line at the report index is blank, the desired outcome is that set the report end marker flag for that line to indicate end of report.
💻 Technical Criteria
Given A report is being finalized
When The current report line at the report index is blank
Then Set the report end marker flag for that line to indicate end of report
R-GCX003-cbl-01395 Capture Report Line Count
Process Rules
📊 Business Logic Narrative
When the process 'Capture Report Line Count' is invoked, and assuming that a report has been built with multiple lines, when finalizing the report structure, the desired outcome is that set the last line number to the current report index and new report index.
💻 Technical Criteria
Given A report has been built with multiple lines
When Finalizing the report structure
Then Set the last line number to the current report index and new report index
R-GCX003-cbl-01396 Build Header Line 1 - Train Information
Process Rules
📊 Business Logic Narrative
When the process 'Build Header Line 1 - Train Information' is invoked, and assuming that a train manifest report is being generated, when building the report header, the desired outcome is that set header line 1 flag, populate train id from request, and set origin station name from station table.
💻 Technical Criteria
Given A train manifest report is being generated
When Building the report header
Then Set header line 1 flag, populate train ID from request, and set origin station name from station table
R-GCX003-cbl-01397 Build Header Line 2 - User Information
Process Rules
📊 Business Logic Narrative
When the process 'Build Header Line 2 - User Information' is invoked, and assuming that a train manifest report is being generated, when building the report header, the desired outcome is that set header line 2 flag and populate user id, terminal id, processing date, hour, and minutes from system session.
💻 Technical Criteria
Given A train manifest report is being generated
When Building the report header
Then Set header line 2 flag and populate user ID, terminal ID, processing date, hour, and minutes from system session
R-GCX003-cbl-01400 Set REPORT Action Header
Process Rules
📊 Business Logic Narrative
When the process 'Set REPORT Action Header' is invoked, and assuming that a train manifest processing request, when the request action type is report, the desired outcome is that set the header to indicate report action and determine result status based on errors and warnings.
💻 Technical Criteria
Given A train manifest processing request
When The request action type is REPORT
Then Set the header to indicate REPORT action and determine result status based on errors and warnings
R-GCX003-cbl-01401 Set OTHER Action Header
Process Rules
📊 Business Logic Narrative
When the process 'Set OTHER Action Header' is invoked, and assuming that a train manifest processing request, when the request action type is neither send nor report, the desired outcome is that set the header to show the request type and mark result as abort.
💻 Technical Criteria
Given A train manifest processing request
When The request action type is neither SEND nor REPORT
Then Set the header to show the request type and mark result as ABORT
R-GCX003-cbl-01405 Set REPORT Action Header
Decision Rules
📊 Business Logic Narrative
When the process 'Set REPORT Action Header' is invoked, and assuming that a report action has been processed, when setting the processing result status, the desired outcome is that if no errors and no warnings, set result as no message, otherwise set result as message with warning and error counts including dsp count.
💻 Technical Criteria
Given A REPORT action has been processed
When Setting the processing result status
Then If no errors and no warnings, set result as NO MESSAGE, otherwise set result as MESSAGE with warning and error counts including DSP count
R-GCX003-cbl-01406 Build Header Line 4 - Train Details
Process Rules
📊 Business Logic Narrative
When the process 'Build Header Line 4 - Train Details' is invoked, and assuming that a train manifest report is being generated, when building the detailed train information header, the desired outcome is that set header line 4 flag and populate us customs train id and eta components (year, month, day, hour, minutes).
💻 Technical Criteria
Given A train manifest report is being generated
When Building the detailed train information header
Then Set header line 4 flag and populate US customs train ID and ETA components (year, month, day, hour, minutes)
R-GCX003-cbl-01408 Copy Headers to Report Lines
Process Rules
📊 Business Logic Narrative
When the process 'Copy Headers to Report Lines' is invoked, and assuming that all report header lines have been constructed, when finalizing the report structure, the desired outcome is that copy the first five report lines to the corresponding email text lines for output.
💻 Technical Criteria
Given All report header lines have been constructed
When Finalizing the report structure
Then Copy the first five report lines to the corresponding email text lines for output
R-GCX003-cbl-01624 Any Processing Errors?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Processing Errors?' is invoked, and assuming that train processing has completed with potential errors and spawn activities, when the system checks for any processing errors in the report, the desired outcome is that if no errors exist, proceed to check spawn activities; if errors exist, proceed to error handling with spawn check.
💻 Technical Criteria
Given Train processing has completed with potential errors and spawn activities
When The system checks for any processing errors in the report
Then If no errors exist, proceed to check spawn activities; if errors exist, proceed to error handling with spawn check
R-GCX003-cbl-01627 Any Spawn Activities?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Spawn Activities?' is invoked, and assuming that train processing has errors, when the system checks for spawn activities, the desired outcome is that if no spawns exist, check message types for error classification; if spawns exist, check for diversion and it export messages.
💻 Technical Criteria
Given Train processing has errors
When The system checks for spawn activities
Then If no spawns exist, check message types for error classification; if spawns exist, check for diversion and IT export messages
R-GCX003-cbl-01630 Convert to Message 18
Process Rules
📊 Business Logic Narrative
When the process 'Convert to Message 18' is invoked, and assuming that processing has errors with spawn activities and it export messages are found, when the system processes spawn message conversion, the desired outcome is that convert it export messages to message type 18.
💻 Technical Criteria
Given Processing has errors with spawn activities and IT export messages are found
When The system processes spawn message conversion
Then Convert IT export messages to message type 18
R-GCX003-cbl-01632 Generate Report Header Line 4
Process Rules
📊 Business Logic Narrative
When the process 'Generate Report Header Line 4' is invoked, and assuming that processing result status has been determined and counts have been finalized, when the system generates the final report header, the desired outcome is that set header line 4 flag to true, populate us customer train id from gcwtl-m1005-us-cust-train-id, and set eta year, month, day, hour, and minute from request eta fields.
💻 Technical Criteria
Given Processing result status has been determined and counts have been finalized
When The system generates the final report header
Then Set header line 4 flag to true, populate US customer train ID from GCWTL-M1005-US-CUST-TRAIN-ID, and set ETA year, month, day, hour, and minute from request ETA fields
R-GCX003-cbl-01739 Is Message Line?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Message Line?' is invoked, and assuming that a report entry is being processed for error classification, when the system checks if the entry is a message line, the desired outcome is that the system identifies whether the entry contains message content that needs error type analysis.
💻 Technical Criteria
Given A report entry is being processed for error classification
When The system checks if the entry is a message line
Then The system identifies whether the entry contains message content that needs error type analysis
R-GCX003-cbl-01852 Is Message Line?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Message Line?' is invoked, and assuming that a report entry at a specific index position, when the system checks if the entry is classified as a message line, the desired outcome is that the system identifies whether the entry contains message content that needs further analysis.
💻 Technical Criteria
Given A report entry at a specific index position
When The system checks if the entry is classified as a message line
Then The system identifies whether the entry contains message content that needs further analysis
R-GCX003-cbl-01859 Add to Report Index
Process Rules
📊 Business Logic Narrative
When the process 'Add to Report Index' is invoked, and assuming that a message has been processed and classified, when the message processing is complete, the desired outcome is that the system increments the report index by one to move to the next entry.
💻 Technical Criteria
Given A message has been processed and classified
When The message processing is complete
Then The system increments the report index by one to move to the next entry
R-GCX003-cbl-01860 Check Report Limit?
Validation Rules
📊 Business Logic Narrative
When the process 'Check Report Limit?' is invoked, and assuming that the report index has been incremented, when the system checks if the maximum report capacity has been reached, the desired outcome is that the system determines whether to set an overflow condition or continue normal processing.
💻 Technical Criteria
Given The report index has been incremented
When The system checks if the maximum report capacity has been reached
Then The system determines whether to set an overflow condition or continue normal processing
R-GCX003-cbl-01861 Set Overflow Message
Validation Rules
📊 Business Logic Narrative
When the process 'Set Overflow Message' is invoked, and assuming that the report has reached its maximum capacity, when an attempt is made to add another entry beyond the limit, the desired outcome is that the system sets message type 9 as an overflow indicator.
💻 Technical Criteria
Given The report has reached its maximum capacity
When An attempt is made to add another entry beyond the limit
Then The system sets message type 9 as an overflow indicator
R-GCX003-cbl-01409 Any Processing Errors?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Processing Errors?' is invoked, and assuming that a train manifest processing request has been completed, when the system checks for any processing errors in the report, the desired outcome is that the system branches to either successful processing path or error handling path based on error presence.
💻 Technical Criteria
Given A train manifest processing request has been completed
When The system checks for any processing errors in the report
Then The system branches to either successful processing path or error handling path based on error presence
R-GCX003-cbl-01410 Set Result Status: SENT
Process Rules
📊 Business Logic Narrative
When the process 'Set Result Status: SENT' is invoked, and assuming that train manifest processing has completed with no errors and no spawn messages, when the system determines the final result status, the desired outcome is that the result status is set to sent indicating successful transmission to customs.
💻 Technical Criteria
Given Train manifest processing has completed with no errors and no spawn messages
When The system determines the final result status
Then The result status is set to SENT indicating successful transmission to customs
R-GCX003-cbl-01415 Convert Error Messages to Warning Messages
Process Rules
📊 Business Logic Narrative
When the process 'Convert Error Messages to Warning Messages' is invoked, and assuming that train manifest processing has errors but no spawn messages, when the system processes error messages for final reporting, the desired outcome is that specific error messages (type 43) are converted to warning messages if error count matches type 43 count.
💻 Technical Criteria
Given Train manifest processing has errors but no spawn messages
When The system processes error messages for final reporting
Then Specific error messages (type 43) are converted to warning messages if error count matches type 43 count
R-GCX003-cbl-01416 Convert Spawn Messages to Diversion Messages
Process Rules
📊 Business Logic Narrative
When the process 'Convert Spawn Messages to Diversion Messages' is invoked, and assuming that train manifest processing has both errors and spawn messages, when the system processes messages for final reporting, the desired outcome is that spawn diversion messages are converted to message 19 (diversion) and spawn ite messages are converted to message 18 (detour).
💻 Technical Criteria
Given Train manifest processing has both errors and spawn messages
When The system processes messages for final reporting
Then Spawn diversion messages are converted to message 19 (diversion) and spawn ITE messages are converted to message 18 (detour)
R-GCX003-cbl-01418 Set Train Header Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Header Information' is invoked, and assuming that train manifest processing result determination is complete, when the system prepares the final report header, the desired outcome is that the train header line 4 is set and us customer train id is populated from the train list.
💻 Technical Criteria
Given Train manifest processing result determination is complete
When The system prepares the final report header
Then The train header line 4 is set and US customer train ID is populated from the train list
R-GCX003-cbl-01419 Set ETA Information in Header
Process Rules
📊 Business Logic Narrative
When the process 'Set ETA Information in Header' is invoked, and assuming that train header information has been set, when the system completes the header information, the desired outcome is that eta year, month, day, hour, and minute are populated in the report header from the request data.
💻 Technical Criteria
Given Train header information has been set
When The system completes the header information
Then ETA year, month, day, hour, and minute are populated in the report header from the request data
R-GCX003-cbl-00410 Set Train Origin and Destination
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train Origin and Destination' is invoked, and assuming that train identification data is set and station information is validated, when the system assigns station information to the train record, the desired outcome is that the us station code, us station name, and firms code are populated in the train header.
💻 Technical Criteria
Given Train identification data is set and station information is validated
When The system assigns station information to the train record
Then The US station code, US station name, and FIRMS code are populated in the train header
R-GCX003-cbl-00431 Set Background Processing Mode
Process Rules
📊 Business Logic Narrative
When the process 'Set Background Processing Mode' is invoked, and assuming that a train list is ready for edi transmission to us customs, when the edi transmission process is initiated, the desired outcome is that the system must be configured for background processing mode.
💻 Technical Criteria
Given A train list is ready for EDI transmission to US Customs
When The EDI transmission process is initiated
Then The system must be configured for background processing mode
R-GCX003-cbl-00436 Build Report Header with Train Details
Process Rules
📊 Business Logic Narrative
When the process 'Build Report Header with Train Details' is invoked, and assuming that a train manifest processing request has been completed, when the system prepares the customs report transmission, the desired outcome is that the report header must include train id in header line 1, origin station name in header line 1, user id in header line 2, terminal id in header line 2, processing date in header line 2, processing hour in header line 2, and processing minute in header line 2.
💻 Technical Criteria
Given A train manifest processing request has been completed
When The system prepares the customs report transmission
Then The report header must include train ID in header line 1, origin station name in header line 1, user ID in header line 2, terminal ID in header line 2, processing date in header line 2, processing hour in header line 2, and processing minute in header line 2
R-GCX003-cbl-00437 Set US Customs Train ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set US Customs Train ID' is invoked, and assuming that a train list has been processed and a us customs train id has been generated, when the system builds the report header for customs transmission, the desired outcome is that the us customs train id from the train list must be assigned to header line 4.
💻 Technical Criteria
Given A train list has been processed and a US customs train ID has been generated
When The system builds the report header for customs transmission
Then The US customs train ID from the train list must be assigned to header line 4
R-GCX003-cbl-00438 Set ETA Date and Time Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set ETA Date and Time Fields' is invoked, and assuming that a train request contains eta date and time information, when the system builds the report header for customs transmission, the desired outcome is that the eta year must be set in header line 4, eta month must be set in header line 4, eta day must be set in header line 4, eta hour must be set in header line 4, and eta minute must be set in header line 4.
💻 Technical Criteria
Given A train request contains ETA date and time information
When The system builds the report header for customs transmission
Then The ETA year must be set in header line 4, ETA month must be set in header line 4, ETA day must be set in header line 4, ETA hour must be set in header line 4, and ETA minute must be set in header line 4
R-GCX003-cbl-00440 Format Report Lines for Email
Process Rules
📊 Business Logic Narrative
When the process 'Format Report Lines for Email' is invoked, and assuming that report lines have been generated for a train manifest, when the system prepares the email transmission to customs, the desired outcome is that report line 1 must be copied to email text line 1, report line 2 must be copied to email text line 2, report line 3 must be copied to email text line 3, report line 4 must be copied to email text line 4, detail header 1 must be copied to email text line 6, and detail header 2 must be copied to email text line 7.
💻 Technical Criteria
Given Report lines have been generated for a train manifest
When The system prepares the email transmission to customs
Then Report line 1 must be copied to email text line 1, report line 2 must be copied to email text line 2, report line 3 must be copied to email text line 3, report line 4 must be copied to email text line 4, detail header 1 must be copied to email text line 6, and detail header 2 must be copied to email text line 7
R-GCX003-cbl-00441 Set Email Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Parameters' is invoked, and assuming that a customs report is ready for transmission, when the system prepares the email parameters, the desired outcome is that keywords must be set to spaces, copy user code must be set to spaces, item number sequence must be set to spaces, item alpha sequence must be set to spaces, and return status flag must be initialized.
💻 Technical Criteria
Given A customs report is ready for transmission
When The system prepares the email parameters
Then Keywords must be set to spaces, copy user code must be set to spaces, item number sequence must be set to spaces, item alpha sequence must be set to spaces, and return status flag must be initialized
R-GCX003-cbl-00442 Set Sender as OM01247
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Sender as OM01247' is invoked, and assuming that a customs report is being prepared for transmission, when the system sets the email sender and recipient, the desired outcome is that the from user code must be set to 'om01247' and the to user code must be set to 'om01247'.
💻 Technical Criteria
Given A customs report is being prepared for transmission
When The system sets the email sender and recipient
Then The from user code must be set to 'OM01247' and the to user code must be set to 'OM01247'
R-GCX003-cbl-00443 Set Report Subject Line
Process Rules
📊 Business Logic Narrative
When the process 'Set Report Subject Line' is invoked, and assuming that a customs report has been formatted with header information, when the system sets the email subject line, the desired outcome is that the email subject must be set to the content of report line 1.
💻 Technical Criteria
Given A customs report has been formatted with header information
When The system sets the email subject line
Then The email subject must be set to the content of report line 1
R-GCX003-cbl-00444 Set Email Width to 80 Characters
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Email Width to 80 Characters' is invoked, and assuming that a customs report is being prepared for email transmission, when the system sets the email formatting parameters, the desired outcome is that the email item width must be set to '080' characters.
💻 Technical Criteria
Given A customs report is being prepared for email transmission
When The system sets the email formatting parameters
Then The email item width must be set to '080' characters
R-GCX003-cbl-00445 Report Size Check
Decision Rules
📊 Business Logic Narrative
When the process 'Report Size Check' is invoked, and assuming that a customs report has been formatted for transmission, when the system processes report lines for email transmission and the line count reaches 700 lines, the desired outcome is that the system must send the current email batch, reset the email text, initialize line counter to zero, add continuation message as line 1, add detail header 1 as line 2, add detail header 2 as line 3, and increment line counter by 3.
💻 Technical Criteria
Given A customs report has been formatted for transmission
When The system processes report lines for email transmission and the line count reaches 700 lines
Then The system must send the current email batch, reset the email text, initialize line counter to zero, add continuation message as line 1, add detail header 1 as line 2, add detail header 2 as line 3, and increment line counter by 3
R-GCX003-cbl-00446 Send Single Email with Complete Report
Action Rules
📊 Business Logic Narrative
When the process 'Send Single Email with Complete Report' is invoked, and assuming that a customs report has been formatted and the total line count is 700 or fewer lines, when the system completes processing all report lines, the desired outcome is that the system must call emcsend3 to transmit the complete email with all report content.
💻 Technical Criteria
Given A customs report has been formatted and the total line count is 700 or fewer lines
When The system completes processing all report lines
Then The system must call EMCSEND3 to transmit the complete email with all report content
R-GCX003-cbl-00447 Split Report into Multiple Emails
Process Rules
📊 Business Logic Narrative
When the process 'Split Report into Multiple Emails' is invoked, and assuming that a customs report exceeds 700 lines during processing, when the system reaches the line limit, the desired outcome is that the system must send the current email batch, clear the email text, reset line counter, add continuation message, add report headers, and continue processing remaining lines.
💻 Technical Criteria
Given A customs report exceeds 700 lines during processing
When The system reaches the line limit
Then The system must send the current email batch, clear the email text, reset line counter, add continuation message, add report headers, and continue processing remaining lines
R-GCX003-cbl-00448 Verify Email Send Success
Validation Rules
📊 Business Logic Narrative
When the process 'Verify Email Send Success' is invoked, and assuming that an email has been sent to customs using emcsend3, when the system checks the email transmission result, the desired outcome is that if the email return status is not successful, the system must handle the email send failure.
💻 Technical Criteria
Given An email has been sent to customs using EMCSEND3
When The system checks the email transmission result
Then If the email return status is not successful, the system must handle the email send failure
R-GCX003-cbl-00449 Handle Email Send Failure
Action Rules
📊 Business Logic Narrative
When the process 'Handle Email Send Failure' is invoked, and assuming that an email transmission to customs has failed, when the system detects the email send failure, the desired outcome is that the system must set the error message to 'send to file of om01247 failed' and perform system abend.
💻 Technical Criteria
Given An email transmission to customs has failed
When The system detects the email send failure
Then The system must set the error message to 'SEND TO FILE OF OM01247 FAILED' and perform system abend
R-GCX003-cbl-00450 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that an email has been successfully sent to customs, when the system completes the email transmission, the desired outcome is that the system must initialize the accept status and call cims with purg to purge the alternate pcb message queue.
💻 Technical Criteria
Given An email has been successfully sent to customs
When The system completes the email transmission
Then The system must initialize the accept status and call CIMS with PURG to purge the alternate PCB message queue
R-GCX003-cbl-01420 Initialize Report Headers and Status Lines
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Report Headers and Status Lines' is invoked, and assuming that a train manifest processing request is being finalized, when the system begins report formatting, the desired outcome is that report index is set to last line position, new report index is set to last line position, and all header lines are prepared for content.
💻 Technical Criteria
Given A train manifest processing request is being finalized
When The system begins report formatting
Then Report index is set to last line position, new report index is set to last line position, and all header lines are prepared for content
R-GCX003-cbl-01421 Set Report Header Line 1 - Train ID and Origin
Process Rules
📊 Business Logic Narrative
When the process 'Set Report Header Line 1 - Train ID and Origin' is invoked, and assuming that report headers are being initialized, when the system formats header line 1, the desired outcome is that header line 1 is marked as header type, train id is populated from request, and origin station name is populated from station table.
💻 Technical Criteria
Given Report headers are being initialized
When The system formats header line 1
Then Header line 1 is marked as header type, train ID is populated from request, and origin station name is populated from station table
R-GCX003-cbl-01422 Set Report Header Line 2 - User Info and Timestamp
Process Rules
📊 Business Logic Narrative
When the process 'Set Report Header Line 2 - User Info and Timestamp' is invoked, and assuming that header line 1 has been formatted, when the system formats header line 2, the desired outcome is that header line 2 is marked as header type, user id is populated from system context, terminal id is populated, machine date is populated, and machine time components (hour and minute) are populated.
💻 Technical Criteria
Given Header line 1 has been formatted
When The system formats header line 2
Then Header line 2 is marked as header type, user ID is populated from system context, terminal ID is populated, machine date is populated, and machine time components (hour and minute) are populated
R-GCX003-cbl-01423 Set Report Header Line 3 - Action Type and Results
Decision Rules
📊 Business Logic Narrative
When the process 'Set Report Header Line 3 - Action Type and Results' is invoked, and assuming that header lines 1 and 2 have been formatted, when the system evaluates the request action type, the desired outcome is that if action is send then send report formatting is applied, else if action is report then report formatting is applied, else other/abort formatting is applied.
💻 Technical Criteria
Given Header lines 1 and 2 have been formatted
When The system evaluates the request action type
Then If action is SEND then SEND report formatting is applied, else if action is REPORT then REPORT formatting is applied, else OTHER/ABORT formatting is applied
R-GCX003-cbl-01424 Format SEND Report Header with Train ID and ETA
Process Rules
📊 Business Logic Narrative
When the process 'Format SEND Report Header with Train ID and ETA' is invoked, and assuming that request action type is send, when the system formats the send report header, the desired outcome is that header line 3 is marked as send type, header line 4 is marked as header type, us customer train id is populated, and eta components (year, month, day, hour, minute) are populated from request.
💻 Technical Criteria
Given Request action type is SEND
When The system formats the SEND report header
Then Header line 3 is marked as SEND type, header line 4 is marked as header type, US customer train ID is populated, and ETA components (year, month, day, hour, minute) are populated from request
R-GCX003-cbl-01425 Format REPORT Header with Message Counts
Process Rules
📊 Business Logic Narrative
When the process 'Format REPORT Header with Message Counts' is invoked, and assuming that request action type is report, when the system formats the report header, the desired outcome is that header line 3 is marked as report type, and if no errors and no warnings then result is set to no messages, else result is set to show messages with warning count and error count populated.
💻 Technical Criteria
Given Request action type is REPORT
When The system formats the REPORT header
Then Header line 3 is marked as REPORT type, and if no errors and no warnings then result is set to no messages, else result is set to show messages with warning count and error count populated
R-GCX003-cbl-01426 Format OTHER/ABORT Header with Request Type
Process Rules
📊 Business Logic Narrative
When the process 'Format OTHER/ABORT Header with Request Type' is invoked, and assuming that request action type is neither send nor report, when the system formats the other action header, the desired outcome is that request type is populated in header and result is set to abort status.
💻 Technical Criteria
Given Request action type is neither SEND nor REPORT
When The system formats the OTHER action header
Then Request type is populated in header and result is set to ABORT status
R-GCX003-cbl-01427 Set Detail Header Lines 1 and 2
Process Rules
📊 Business Logic Narrative
When the process 'Set Detail Header Lines 1 and 2' is invoked, and assuming that report action headers have been formatted, when the system sets up detail headers, the desired outcome is that detail header line 1 is marked as detail header type and detail header line 2 is marked as detail header type.
💻 Technical Criteria
Given Report action headers have been formatted
When The system sets up detail headers
Then Detail header line 1 is marked as detail header type and detail header line 2 is marked as detail header type
R-GCX003-cbl-01428 Copy Header Lines to Email Text Lines
Process Rules
📊 Business Logic Narrative
When the process 'Copy Header Lines to Email Text Lines' is invoked, and assuming that all header lines have been formatted, when the system prepares email content, the desired outcome is that report lines 1 through 5 are copied to corresponding email text lines.
💻 Technical Criteria
Given All header lines have been formatted
When The system prepares email content
Then Report lines 1 through 5 are copied to corresponding email text lines
R-GCX003-cbl-01430 Set Email Parameters - From/To User Codes
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Parameters - From/To User Codes' is invoked, and assuming that report content has been formatted, when the system sets up email parameters, the desired outcome is that from user code is set to om01247, to user code is set to om01247, keywords are cleared, and copy user code is cleared.
💻 Technical Criteria
Given Report content has been formatted
When The system sets up email parameters
Then From user code is set to OM01247, to user code is set to OM01247, keywords are cleared, and copy user code is cleared
R-GCX003-cbl-01431 Set Email Subject Line from Report Header
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Subject Line from Report Header' is invoked, and assuming that email parameters have been configured, when the system sets the email subject, the desired outcome is that email subject is populated from report line 1 content.
💻 Technical Criteria
Given Email parameters have been configured
When The system sets the email subject
Then Email subject is populated from report line 1 content
R-GCX003-cbl-01434 Large Report Check - Lines > 699?
Decision Rules
📊 Business Logic Narrative
When the process 'Large Report Check - Lines > 699?' is invoked, and assuming that email status has been initialized and report content is being processed, when the system checks current line count, the desired outcome is that if line counter exceeds 699 then report must be split into multiple parts, else report can be sent as single email.
💻 Technical Criteria
Given Email status has been initialized and report content is being processed
When The system checks current line count
Then If line counter exceeds 699 then report must be split into multiple parts, else report can be sent as single email
R-GCX003-cbl-01435 Split Report into Multiple Email Parts
Process Rules
📊 Business Logic Narrative
When the process 'Split Report into Multiple Email Parts' is invoked, and assuming that report line count exceeds 699 lines, when the system splits the report, the desired outcome is that no-more-email flag is set to true, current email segment is sent, email text is cleared, and line counter is reset to zero.
💻 Technical Criteria
Given Report line count exceeds 699 lines
When The system splits the report
Then No-more-email flag is set to true, current email segment is sent, email text is cleared, and line counter is reset to zero
R-GCX003-cbl-01436 Add Continuation Header for Next Part
Process Rules
📊 Business Logic Narrative
When the process 'Add Continuation Header for Next Part' is invoked, and assuming that a report has been split and new email segment is starting, when the system adds continuation header, the desired outcome is that continuation message is added to line 1, detail header 1 is added to line 2, detail header 2 is added to line 3, and line counter is incremented by 3.
💻 Technical Criteria
Given A report has been split and new email segment is starting
When The system adds continuation header
Then Continuation message is added to line 1, detail header 1 is added to line 2, detail header 2 is added to line 3, and line counter is incremented by 3
R-GCX003-cbl-01437 Format Single Email with All Content
Process Rules
📊 Business Logic Narrative
When the process 'Format Single Email with All Content' is invoked, and assuming that report line count is 699 or fewer and more-email flag is true, when the system formats single email, the desired outcome is that complete report content is prepared for transmission in single email message.
💻 Technical Criteria
Given Report line count is 699 or fewer and more-email flag is true
When The system formats single email
Then Complete report content is prepared for transmission in single email message
R-GCX003-cbl-01438 Set Email Destination to OM01247
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Destination to OM01247' is invoked, and assuming that email content has been formatted (single or multi-part), when the system sets final destination, the desired outcome is that email destination is confirmed as om01247 for customs authority delivery.
💻 Technical Criteria
Given Email content has been formatted (single or multi-part)
When The system sets final destination
Then Email destination is confirmed as OM01247 for customs authority delivery
R-GCX003-cbl-01633 Check Line Counter > 699?
Process Rules
📊 Business Logic Narrative
When the process 'Check Line Counter > 699?' is invoked, and assuming that an email report is being processed with multiple report lines, when the line counter exceeds 699 lines in the current email message, the desired outcome is that the system should send the current email batch, clear the message buffer, reset the line counter, and add continuation headers for the next batch.
💻 Technical Criteria
Given An email report is being processed with multiple report lines
When The line counter exceeds 699 lines in the current email message
Then The system should send the current email batch, clear the message buffer, reset the line counter, and add continuation headers for the next batch
R-GCX003-cbl-01634 Add Current Line to Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Add Current Line to Email Message' is invoked, and assuming that a report line is available for processing and the line counter is within limits, when the system processes the current report line, the desired outcome is that the report line should be added to the email message buffer at the current line position.
💻 Technical Criteria
Given A report line is available for processing and the line counter is within limits
When The system processes the current report line
Then The report line should be added to the email message buffer at the current line position
R-GCX003-cbl-01635 Increment Line Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Line Counter' is invoked, and assuming that a report line has been successfully added to the email message, when the line addition is complete, the desired outcome is that the line counter should be incremented by one to track the current message size.
💻 Technical Criteria
Given A report line has been successfully added to the email message
When The line addition is complete
Then The line counter should be incremented by one to track the current message size
R-GCX003-cbl-01636 Send Current Email Batch via EMCSEND3
Action Rules
📊 Business Logic Narrative
When the process 'Send Current Email Batch via EMCSEND3' is invoked, and assuming that an email message buffer contains report lines ready for transmission, when the pagination limit is reached or all lines are processed, the desired outcome is that the system should invoke emcsend3 to transmit the email batch to the designated recipients.
💻 Technical Criteria
Given An email message buffer contains report lines ready for transmission
When The pagination limit is reached or all lines are processed
Then The system should invoke EMCSEND3 to transmit the email batch to the designated recipients
R-GCX003-cbl-01637 Clear Email Message Buffer
Process Rules
📊 Business Logic Narrative
When the process 'Clear Email Message Buffer' is invoked, and assuming that an email batch has been successfully transmitted, when the system needs to prepare for the next batch of report lines, the desired outcome is that the email message buffer should be cleared and reset to spaces.
💻 Technical Criteria
Given An email batch has been successfully transmitted
When The system needs to prepare for the next batch of report lines
Then The email message buffer should be cleared and reset to spaces
R-GCX003-cbl-01638 Reset Line Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Reset Line Counter to Zero' is invoked, and assuming that an email batch has been sent and the buffer has been cleared, when the system prepares for the next batch of report lines, the desired outcome is that the line counter should be reset to zero to start counting lines for the new batch.
💻 Technical Criteria
Given An email batch has been sent and the buffer has been cleared
When The system prepares for the next batch of report lines
Then The line counter should be reset to zero to start counting lines for the new batch
R-GCX003-cbl-01639 Add Continuation Header Line
Process Rules
📊 Business Logic Narrative
When the process 'Add Continuation Header Line' is invoked, and assuming that a new email batch is being prepared after pagination, when the system starts a continuation email, the desired outcome is that a continuation header message should be added as the first line indicating this is a continuation of the report.
💻 Technical Criteria
Given A new email batch is being prepared after pagination
When The system starts a continuation email
Then A continuation header message should be added as the first line indicating this is a continuation of the report
R-GCX003-cbl-01640 Add Report Detail Headers
Process Rules
📊 Business Logic Narrative
When the process 'Add Report Detail Headers' is invoked, and assuming that a continuation email batch is being prepared, when the continuation header has been added, the desired outcome is that the standard report detail headers should be added to maintain consistent report formatting across email batches.
💻 Technical Criteria
Given A continuation email batch is being prepared
When The continuation header has been added
Then The standard report detail headers should be added to maintain consistent report formatting across email batches
R-GCX003-cbl-01641 Set Line Counter to 3
Process Rules
📊 Business Logic Narrative
When the process 'Set Line Counter to 3' is invoked, and assuming that continuation header and report detail headers have been added to a new email batch, when the system prepares to continue adding report lines, the desired outcome is that the line counter should be set to 3 to account for the three header lines already added.
💻 Technical Criteria
Given Continuation header and report detail headers have been added to a new email batch
When The system prepares to continue adding report lines
Then The line counter should be set to 3 to account for the three header lines already added
R-GCX003-cbl-01642 More Report Lines to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Report Lines to Process?' is invoked, and assuming that the system is processing report lines for email transmission, when a line has been processed or a batch has been sent, the desired outcome is that the system should check if more report lines exist to determine whether to continue processing or finalize the email transmission.
💻 Technical Criteria
Given The system is processing report lines for email transmission
When A line has been processed or a batch has been sent
Then The system should check if more report lines exist to determine whether to continue processing or finalize the email transmission
R-GCX003-cbl-01643 Send Final Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Final Email Batch' is invoked, and assuming that all report lines have been processed and added to the current email message, when no more report lines remain to be processed, the desired outcome is that the system should send the final email batch containing the remaining report lines.
💻 Technical Criteria
Given All report lines have been processed and added to the current email message
When No more report lines remain to be processed
Then The system should send the final email batch containing the remaining report lines
R-GCX003-cbl-01756 Split Email into Batches
Process Rules
📊 Business Logic Narrative
When the process 'Split Email into Batches' is invoked, and assuming that an email message exceeds the 699 line limit, when the system processes the email for transmission, the desired outcome is that the system sets no-more-email flag to true, clears the message buffer, resets line counter to zero, and prepares continuation header with report headers.
💻 Technical Criteria
Given An email message exceeds the 699 line limit
When The system processes the email for transmission
Then The system sets no-more-email flag to true, clears the message buffer, resets line counter to zero, and prepares continuation header with report headers
R-GCX003-cbl-01759 Call EMCSEND3 for Current Batch
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND3 for Current Batch' is invoked, and assuming that email content is prepared for transmission, when the system needs to send the email, the desired outcome is that the system calls emcsend3 service with sender id, destination filename, recipient addresses, subject, keywords, message content, and formatting parameters.
💻 Technical Criteria
Given Email content is prepared for transmission
When The system needs to send the email
Then The system calls EMCSEND3 service with sender ID, destination filename, recipient addresses, subject, keywords, message content, and formatting parameters
R-GCX003-cbl-01864 Call EMCSEND3 for Current Batch
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND3 for Current Batch' is invoked, and assuming that email parameters are initialized and message content is prepared, when the system calls emcsend3 transmission module, the desired outcome is that the email is transmitted with from usercode, destination filename, to usercode, copy usercode, subject, keywords, message text, item formatting parameters, and transmission status is returned.
💻 Technical Criteria
Given Email parameters are initialized and message content is prepared
When The system calls EMCSEND3 transmission module
Then The email is transmitted with FROM usercode, destination filename, TO usercode, copy usercode, subject, keywords, message text, item formatting parameters, and transmission status is returned
R-GCX003-cbl-01866 Clear Message Buffer
Process Rules
📊 Business Logic Narrative
When the process 'Clear Message Buffer' is invoked, and assuming that an email batch has been successfully transmitted and line count exceeded 699, when the system prepares for the next batch, the desired outcome is that message buffer is cleared, continuation header 'continuation of report ....' is added, detail headers are added, and line counter is reset to 3.
💻 Technical Criteria
Given An email batch has been successfully transmitted and line count exceeded 699
When The system prepares for the next batch
Then Message buffer is cleared, continuation header 'CONTINUATION OF REPORT ....' is added, detail headers are added, and line counter is reset to 3
R-GCX003-cbl-01439 Initialize Email Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Email Parameters' is invoked, and assuming that a customs report needs to be transmitted via email, when the email transmission process is initiated, the desired outcome is that the system shall set the sender as om01247, clear recipient and copy fields, set item width to 080 characters, and initialize return status flags.
💻 Technical Criteria
Given A customs report needs to be transmitted via email
When The email transmission process is initiated
Then The system shall set the sender as OM01247, clear recipient and copy fields, set item width to 080 characters, and initialize return status flags
R-GCX003-cbl-01443 Add Line to Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Add Line to Email Message' is invoked, and assuming that a report line is available for processing and email buffer has capacity, when the line is added to the email message, the desired outcome is that the system shall copy the report line to the corresponding email text line position.
💻 Technical Criteria
Given A report line is available for processing and email buffer has capacity
When The line is added to the email message
Then The system shall copy the report line to the corresponding email text line position
R-GCX003-cbl-01444 Increment Line Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Line Counter' is invoked, and assuming that a report line has been added to the email message, when the line counter is updated, the desired outcome is that the system shall increment the line counter by one and set the email continuation flag to indicate more content exists.
💻 Technical Criteria
Given A report line has been added to the email message
When The line counter is updated
Then The system shall increment the line counter by one and set the email continuation flag to indicate more content exists
R-GCX003-cbl-01449 Send Error Notification to Support
Action Rules
📊 Business Logic Narrative
When the process 'Send Error Notification to Support' is invoked, and assuming that an email transmission has failed and error handling is in progress, when error notification is sent to support, the desired outcome is that the system shall set aei9999 as the first recipient, om01247 as the second recipient, and attempt to send the error notification.
💻 Technical Criteria
Given An email transmission has failed and error handling is in progress
When Error notification is sent to support
Then The system shall set AEI9999 as the first recipient, OM01247 as the second recipient, and attempt to send the error notification
R-GCX003-cbl-01451 Add Continuation Header
Process Rules
📊 Business Logic Narrative
When the process 'Add Continuation Header' is invoked, and assuming that a large report requires multiple email messages and a new message is being prepared, when continuation headers are added, the desired outcome is that the system shall add 'continuation of report ....' as the first line and increment the line counter to 1.
💻 Technical Criteria
Given A large report requires multiple email messages and a new message is being prepared
When Continuation headers are added
Then The system shall add 'CONTINUATION OF REPORT ....' as the first line and increment the line counter to 1
R-GCX003-cbl-01452 Add Report Headers to New Email
Process Rules
📊 Business Logic Narrative
When the process 'Add Report Headers to New Email' is invoked, and assuming that a continuation email is being prepared with continuation header already added, when report headers are added to the new email, the desired outcome is that the system shall add the detail header lines as the second and third lines and increment the line counter to 3.
💻 Technical Criteria
Given A continuation email is being prepared with continuation header already added
When Report headers are added to the new email
Then The system shall add the detail header lines as the second and third lines and increment the line counter to 3
R-GCX003-cbl-01453 Send Final Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Final Email Batch' is invoked, and assuming that all report lines have been processed and the final email batch is ready, when the final email transmission is executed, the desired outcome is that the system shall send the email using the same transmission service with all configured parameters.
💻 Technical Criteria
Given All report lines have been processed and the final email batch is ready
When The final email transmission is executed
Then The system shall send the email using the same transmission service with all configured parameters
R-GCX003-cbl-01454 Log Email Success
Process Rules
📊 Business Logic Narrative
When the process 'Log Email Success' is invoked, and assuming that an email has been successfully transmitted to the customs system, when success logging is performed, the desired outcome is that the system shall record the successful transmission without generating error messages.
💻 Technical Criteria
Given An email has been successfully transmitted to the customs system
When Success logging is performed
Then The system shall record the successful transmission without generating error messages
R-GCX003-cbl-00451 Initialize Email Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Email Parameters' is invoked, and assuming that a report needs to be sent via email, when email processing begins, the desired outcome is that email parameters are initialized with sender as om01247, destination filename is set, item width is set to 080, and line counter is reset to zero.
💻 Technical Criteria
Given A report needs to be sent via email
When Email processing begins
Then Email parameters are initialized with sender as OM01247, destination filename is set, item width is set to 080, and line counter is reset to zero
R-GCX003-cbl-00453 Add Report Line to Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Add Report Line to Email Message' is invoked, and assuming that a report line exists and needs to be added to the email, when the line is processed for inclusion, the desired outcome is that the report line is moved to the email text message line at the current line subscription position and the line subscription counter is incremented by 1 and the more email flag is set to true.
💻 Technical Criteria
Given A report line exists and needs to be added to the email
When The line is processed for inclusion
Then The report line is moved to the email text message line at the current line subscription position AND the line subscription counter is incremented by 1 AND the more email flag is set to true
R-GCX003-cbl-00458 Add Continuation Header
Process Rules
📊 Business Logic Narrative
When the process 'Add Continuation Header' is invoked, and assuming that a new email batch is being prepared after sending a previous batch, when the continuation header needs to be added, the desired outcome is that add 'continuation of report ....' message to the first line of the new email batch.
💻 Technical Criteria
Given A new email batch is being prepared after sending a previous batch
When The continuation header needs to be added
Then Add 'CONTINUATION OF REPORT ....' message to the first line of the new email batch
R-GCX003-cbl-00459 Add Report Detail Headers
Process Rules
📊 Business Logic Narrative
When the process 'Add Report Detail Headers' is invoked, and assuming that a continuation email batch is being prepared, when detail headers need to be added after the continuation message, the desired outcome is that add the standard detail header line 1 to email text message line 2 and add the standard detail header line 2 to email text message line 3.
💻 Technical Criteria
Given A continuation email batch is being prepared
When Detail headers need to be added after the continuation message
Then Add the standard detail header line 1 to email text message line 2 AND add the standard detail header line 2 to email text message line 3
R-GCX003-cbl-00461 Send Final Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Final Email Batch' is invoked, and assuming that all report lines have been processed and the more email flag is true, when no more lines remain to be processed, the desired outcome is that call emcsend3 to send the final email batch with all remaining content.
💻 Technical Criteria
Given All report lines have been processed and the more email flag is true
When No more lines remain to be processed
Then Call EMCSEND3 to send the final email batch with all remaining content
R-GCX003-cbl-00464 Send Error Notification to Support
Action Rules
📊 Business Logic Narrative
When the process 'Send Error Notification to Support' is invoked, and assuming that email send has failed and alternative recipients have been configured, when error notification needs to be sent, the desired outcome is that call emcsend3 to send error notification to support recipients and if this also fails, generate system abend with message 'send to file of om01247 failed'.
💻 Technical Criteria
Given Email send has failed and alternative recipients have been configured
When Error notification needs to be sent
Then Call EMCSEND3 to send error notification to support recipients AND if this also fails, generate system abend with message 'SEND TO FILE OF OM01247 FAILED'
R-GCX003-cbl-00465 Is AEI Train Send Request?
Decision Rules
📊 Business Logic Narrative
When the process 'Is AEI Train Send Request?' is invoked, and assuming that a train processing request is being evaluated, when the system checks if aei train send processing is enabled, the desired outcome is that aei send report processing is triggered if aei train send is set to yes.
💻 Technical Criteria
Given A train processing request is being evaluated
When The system checks if AEI train send processing is enabled
Then AEI send report processing is triggered if AEI train send is set to YES
R-GCX003-cbl-00467 Generate Email Subject Line
Decision Rules
📊 Business Logic Narrative
When the process 'Generate Email Subject Line' is invoked, and assuming that an aei email notification needs to be sent, when the system evaluates if there are errors in the report, the desired outcome is that email subject is set to 'us train [train_id] not sent at [origin]' for errors or 'us train [train_id] sent at [origin]' for successful processing.
💻 Technical Criteria
Given An AEI email notification needs to be sent
When The system evaluates if there are errors in the report
Then Email subject is set to 'US TRAIN [train_id] NOT SENT AT [origin]' for errors or 'US TRAIN [train_id] SENT AT [origin]' for successful processing
R-GCX003-cbl-00469 Report Size Exceeds Limit?
Process Rules
📊 Business Logic Narrative
When the process 'Report Size Exceeds Limit?' is invoked, and assuming that an aei report is being prepared for email transmission, when the report exceeds 699 lines, the desired outcome is that the report is split into multiple emails with continuation headers and the current email is sent before starting a new one.
💻 Technical Criteria
Given An AEI report is being prepared for email transmission
When The report exceeds 699 lines
Then The report is split into multiple emails with continuation headers and the current email is sent before starting a new one
R-GCX003-cbl-00470 Handle Email Send Errors
Decision Rules
📊 Business Logic Narrative
When the process 'Handle Email Send Errors' is invoked, and assuming that an aei email transmission fails, when the email send operation returns an unsuccessful status, the desired outcome is that an error notification is sent to aei9999 and om01247 support addresses, and if that also fails, the system abends with an error message.
💻 Technical Criteria
Given An AEI email transmission fails
When The email send operation returns an unsuccessful status
Then An error notification is sent to AEI9999 and OM01247 support addresses, and if that also fails, the system abends with an error message
R-GCX003-cbl-00471 Determine Destination Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Destination Terminal' is invoked, and assuming that a report needs to be sent to the originating user, when the system checks if an alternate terminal is configured for the user, the desired outcome is that the alternate terminal is used if available, otherwise the original terminal from the request is used.
💻 Technical Criteria
Given A report needs to be sent to the originating user
When The system checks if an alternate terminal is configured for the user
Then The alternate terminal is used if available, otherwise the original terminal from the request is used
R-GCX003-cbl-00472 Set Report Type Based on Action
Decision Rules
📊 Business Logic Narrative
When the process 'Set Report Type Based on Action' is invoked, and assuming that a report is being prepared for distribution, when the system evaluates the request action type and error status, the desired outcome is that report type is set to train-error for error conditions, train-sent for successful send actions, or train-report for report-only actions.
💻 Technical Criteria
Given A report is being prepared for distribution
When The system evaluates the request action type and error status
Then Report type is set to TRAIN-ERROR for error conditions, TRAIN-SENT for successful send actions, or TRAIN-REPORT for report-only actions
R-GCX003-cbl-00473 Report Display Mode?
Decision Rules
📊 Business Logic Narrative
When the process 'Report Display Mode?' is invoked, and assuming that a report is ready for transmission to the originator, when the system evaluates if the report should show all details or selective content, the desired outcome is that all report lines are sent for comprehensive reports, or selective content is sent based on warning conditions.
💻 Technical Criteria
Given A report is ready for transmission to the originator
When The system evaluates if the report should show all details or selective content
Then All report lines are sent for comprehensive reports, or selective content is sent based on warning conditions
R-GCX003-cbl-01461 Alternate Terminal Configured?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Alternate Terminal Configured?', assuming that report distribution is being configured, when the alternate terminal field in gcstbrt terminal configuration is not blank, the desired outcome is that use the alternate terminal, otherwise use the original request terminal.
💻 Technical Criteria
EXCLUDING Report distribution is being configured
When The alternate terminal field in GCSTBRT terminal configuration is not blank
Then Use the alternate terminal, otherwise use the original request terminal
R-GCX003-cbl-01462 Request Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Request Action Type?' is invoked, and assuming that a report is being prepared for distribution, when the request action type and error status are evaluated, the desired outcome is that set train error classification if errors exist, train sent classification for send actions, or train report classification for report actions.
💻 Technical Criteria
Given A report is being prepared for distribution
When The request action type and error status are evaluated
Then Set train error classification if errors exist, train sent classification for send actions, or train report classification for report actions
R-GCX003-cbl-01463 Report Distribution Mode?
Decision Rules
📊 Business Logic Narrative
When the process 'Report Distribution Mode?' is invoked, and assuming that report classification has been determined, when the report distribution mode is evaluated, the desired outcome is that send all report lines for full reports, or send selective lines based on warning presence for summary reports.
💻 Technical Criteria
Given Report classification has been determined
When The report distribution mode is evaluated
Then Send all report lines for full reports, or send selective lines based on warning presence for summary reports
R-GCX003-cbl-01464 Any Warnings Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Warnings Present?' is invoked, and assuming that selective report distribution mode is active, when the report warning status is evaluated, the desired outcome is that send header lines only if no warnings exist, otherwise send header plus warning lines.
💻 Technical Criteria
Given Selective report distribution mode is active
When The report warning status is evaluated
Then Send header lines only if no warnings exist, otherwise send header plus warning lines
R-GCX003-cbl-01465 Report Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Report Status?' is invoked, and assuming that report distribution parameters are being finalized, when the report transmission status is evaluated, the desired outcome is that generate 'not sent' subject line for errors or failed transmissions, otherwise generate 'sent' subject line for successful transmissions.
💻 Technical Criteria
Given Report distribution parameters are being finalized
When The report transmission status is evaluated
Then Generate 'NOT SENT' subject line for errors or failed transmissions, otherwise generate 'SENT' subject line for successful transmissions
R-GCX003-cbl-01466 Generate _SENT_ Subject
Computation Rules
📊 Business Logic Narrative
When the process 'Generate _SENT_ Subject' is invoked, and assuming that an aei train report was successfully transmitted, when generating the email subject line, the desired outcome is that create subject line with format 'us train [train_id] sent at [origin]' using report header train id and origin.
💻 Technical Criteria
Given An AEI train report was successfully transmitted
When Generating the email subject line
Then Create subject line with format 'US TRAIN [train_id] SENT AT [origin]' using report header train ID and origin
R-GCX003-cbl-01467 Generate _NOT SENT_ Subject
Computation Rules
📊 Business Logic Narrative
When the process 'Generate _NOT SENT_ Subject' is invoked, and assuming that an aei train report failed transmission or contains errors, when generating the email subject line, the desired outcome is that create subject line with format 'us train [train_id] not sent at [origin]' using report header train id and origin.
💻 Technical Criteria
Given An AEI train report failed transmission or contains errors
When Generating the email subject line
Then Create subject line with format 'US TRAIN [train_id] NOT SENT AT [origin]' using report header train ID and origin
R-GCX003-cbl-00481 Initialize Email Content
Action Rules
📊 Business Logic Narrative
When the process 'Initialize Email Content' is invoked, and assuming that email subject line has been created, when preparing to build email content, the desired outcome is that set line counter to 1, initialize email text structure, and set email parameters including destination filename and item width.
💻 Technical Criteria
Given Email subject line has been created
When Preparing to build email content
Then Set line counter to 1, initialize email text structure, and set email parameters including destination filename and item width
R-GCX003-cbl-00482 Add Report Lines to Email
Process Rules
📊 Business Logic Narrative
When the process 'Add Report Lines to Email' is invoked, and assuming that email content is initialized and report lines are available, when processing each report line up to the last line, the desired outcome is that add each report line to email text, increment line counter, and set more email flag to true.
💻 Technical Criteria
Given Email content is initialized and report lines are available
When Processing each report line up to the last line
Then Add each report line to email text, increment line counter, and set more email flag to true
R-GCX003-cbl-00483 Email Size Limit Reached?
Validation Rules
📊 Business Logic Narrative
When the process 'Email Size Limit Reached?' is invoked, and assuming that report lines are being added to email content, when the line counter exceeds 699 lines, the desired outcome is that trigger immediate email send and prepare for continuation email.
💻 Technical Criteria
Given Report lines are being added to email content
When The line counter exceeds 699 lines
Then Trigger immediate email send and prepare for continuation email
R-GCX003-cbl-00486 Send Final Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Final Email Batch' is invoked, and assuming that all report lines have been processed and more email flag is true, when sending the final email batch using emcsend3, the desired outcome is that if send fails, redirect to error notification addresses aei9999 and om01247.
💻 Technical Criteria
Given All report lines have been processed and more email flag is true
When Sending the final email batch using EMCSEND3
Then If send fails, redirect to error notification addresses AEI9999 and OM01247
R-GCX003-cbl-00487 Send Error Notification to Support
Action Rules
📊 Business Logic Narrative
When the process 'Send Error Notification to Support' is invoked, and assuming that email transmission has failed, when the emcsend3 return status indicates failure, the desired outcome is that clear recipient addresses, set error notification recipients to aei9999 and om01247, and attempt to send error notification.
💻 Technical Criteria
Given Email transmission has failed
When The EMCSEND3 return status indicates failure
Then Clear recipient addresses, set error notification recipients to AEI9999 and OM01247, and attempt to send error notification
R-GCX003-cbl-00489 Purge Email Transaction
Process Rules
📊 Business Logic Narrative
When the process 'Purge Email Transaction' is invoked, and assuming that email processing has completed successfully or error handling is complete, when performing transaction cleanup, the desired outcome is that initialize accept status, call cims with purg function, and set destination filename to export file.
💻 Technical Criteria
Given Email processing has completed successfully or error handling is complete
When Performing transaction cleanup
Then Initialize accept status, call CIMS with PURG function, and set destination filename to export file
R-GCX003-cbl-00498 Record Train ID from Customs
Definitional Rules
📊 Business Logic Narrative
When the process 'Record Train ID from Customs' is invoked, and assuming that an aei send activity is being logged, when the train identifier needs to be recorded, the desired outcome is that the us customs train id from the train list is stored in the log entry.
💻 Technical Criteria
Given An AEI send activity is being logged
When The train identifier needs to be recorded
Then The US Customs train ID from the train list is stored in the log entry
R-GCX003-cbl-00504 Check if Train Successfully Sent
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Train Successfully Sent' is invoked, and assuming that a train processing request has been completed, when the system evaluates the train processing outcome, the desired outcome is that canadian export report generation is triggered only if the train was successfully sent without errors and without spawn conditions.
💻 Technical Criteria
Given A train processing request has been completed
When The system evaluates the train processing outcome
Then Canadian export report generation is triggered only if the train was successfully sent without errors and without spawn conditions
R-GCX003-cbl-00505 Initialize GCX141 Message Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize GCX141 Message Parameters' is invoked, and assuming that canadian export report generation has been triggered, when the system prepares the export report message, the desired outcome is that all gcx141 input parameters are cleared and reset to initial state.
💻 Technical Criteria
Given Canadian export report generation has been triggered
When The system prepares the export report message
Then All GCX141 input parameters are cleared and reset to initial state
R-GCX003-cbl-00506 Set Message Function Name Flag
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Message Function Name Flag' is invoked, and assuming that gcx141 message parameters have been initialized, when the system configures the message function type, the desired outcome is that the message function name flag is set to indicate export report generation.
💻 Technical Criteria
Given GCX141 message parameters have been initialized
When The system configures the message function type
Then The message function name flag is set to indicate export report generation
R-GCX003-cbl-00508 Move US Customs Train ID to Message
Definitional Rules
📊 Business Logic Narrative
When the process 'Move US Customs Train ID to Message' is invoked, and assuming that export report security has been configured, when the system populates the train identifier in the message, the desired outcome is that the us customs train id from the train list is assigned to the gcx141 train id field.
💻 Technical Criteria
Given Export report security has been configured
When The system populates the train identifier in the message
Then The US customs train ID from the train list is assigned to the GCX141 train ID field
R-GCX003-cbl-00509 Set Message Function Length Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Function Length Flag' is invoked, and assuming that train identifier has been assigned to the export report message, when the system finalizes message configuration, the desired outcome is that the message function length flag is set to indicate proper message sizing.
💻 Technical Criteria
Given Train identifier has been assigned to the export report message
When The system finalizes message configuration
Then The message function length flag is set to indicate proper message sizing
R-GCX003-cbl-00511 Insert GCX141 Message to Queue
Action Rules
📊 Business Logic Narrative
When the process 'Insert GCX141 Message to Queue' is invoked, and assuming that export report message has been prepared with all required parameters, when the system sends the message to the gcx141 processing queue, the desired outcome is that the message is inserted into the queue for canadian export report generation.
💻 Technical Criteria
Given Export report message has been prepared with all required parameters
When The system sends the message to the GCX141 processing queue
Then The message is inserted into the queue for Canadian export report generation
R-GCX003-cbl-00512 Check if Laredo TX Station
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Laredo TX Station' is invoked, and assuming that a train processing request is being finalized, when the system checks the crossing port station code, the desired outcome is that enhanced report generation is triggered only for laredo tx station (cst-laredo-tx-station).
💻 Technical Criteria
Given A train processing request is being finalized
When The system checks the crossing port station code
Then Enhanced report generation is triggered only for Laredo TX station (CST-LAREDO-TX-STATION)
R-GCX003-cbl-00517 Initialize Email Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Email Parameters' is invoked, and assuming that enhanced report content is ready for distribution, when the system initializes email parameters, the desired outcome is that email sender and recipient are set to om01247, line width is set to 80 characters, and subject includes train id.
💻 Technical Criteria
Given Enhanced report content is ready for distribution
When The system initializes email parameters
Then Email sender and recipient are set to OM01247, line width is set to 80 characters, and subject includes train ID
R-GCX003-cbl-00518 Email Message Size Limit Reached?
Process Rules
📊 Business Logic Narrative
When the process 'Email Message Size Limit Reached?' is invoked, and assuming that enhanced report lines are being added to email message, when the system checks if message size limit is reached, the desired outcome is that if line count exceeds 699 lines, send current batch and initialize continuation email with headers.
💻 Technical Criteria
Given Enhanced report lines are being added to email message
When The system checks if message size limit is reached
Then If line count exceeds 699 lines, send current batch and initialize continuation email with headers
R-GCX003-cbl-00520 Start PDF Report Generation
Process Rules
📊 Business Logic Narrative
When the process 'Start PDF Report Generation' is invoked, and assuming that pdf report generation is initiated, when the system starts the pdf generation process, the desired outcome is that the report message data should be cleared to prepare for new content.
💻 Technical Criteria
Given PDF report generation is initiated
When the system starts the PDF generation process
Then the report message data should be cleared to prepare for new content
R-GCX003-cbl-00521 Prepare Pre-Exit Report Data
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Pre-Exit Report Data' is invoked, and assuming that a pre-exit report needs to be generated, when preparing the report data, the desired outcome is that the report message should be populated with the existing email text content and email subject should be set from the first report line.
💻 Technical Criteria
Given a pre-exit report needs to be generated
When preparing the report data
Then the report message should be populated with the existing email text content and email subject should be set from the first report line
R-GCX003-cbl-00522 Set Report Title: 'Pre-Exit Report'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Report Title: 'Pre-Exit Report'' is invoked, and assuming that a pre-exit report is being configured, when setting up the report parameters, the desired outcome is that the report title should be set to 'pre-exit report', report type to 'export', pdf length to 80 characters, train id from the train list, and number of lines from the current report.
💻 Technical Criteria
Given a pre-exit report is being configured
When setting up the report parameters
Then the report title should be set to 'Pre-Exit Report', report type to 'EXPORT', PDF length to 80 characters, train ID from the train list, and number of lines from the current report
R-GCX003-cbl-00523 Call GCX904R for Pre-Exit PDF
Action Rules
📊 Business Logic Narrative
When the process 'Call GCX904R for Pre-Exit PDF' is invoked, and assuming that pre-exit report data is prepared and configured, when generating the pdf document, the desired outcome is that the gcx904r service should be called to create the pdf with the prepared report data.
💻 Technical Criteria
Given pre-exit report data is prepared and configured
When generating the PDF document
Then the GCX904R service should be called to create the PDF with the prepared report data
R-GCX003-cbl-00524 Prepare Export Train Report Data
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Export Train Report Data' is invoked, and assuming that an export train report needs to be generated, when preparing the report data, the desired outcome is that the report message should be populated with the new report table content and email subject should be set from the new report subject.
💻 Technical Criteria
Given an export train report needs to be generated
When preparing the report data
Then the report message should be populated with the new report table content and email subject should be set from the new report subject
R-GCX003-cbl-00525 Set Report Title: 'Export Train Report'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Report Title: 'Export Train Report'' is invoked, and assuming that an export train report is being configured, when setting up the report parameters, the desired outcome is that the report title should be set to 'export train report', report type to 'export', pdf length to 132 characters, train id from the train list, and number of lines from the new report.
💻 Technical Criteria
Given an export train report is being configured
When setting up the report parameters
Then the report title should be set to 'Export Train Report', report type to 'EXPORT', PDF length to 132 characters, train ID from the train list, and number of lines from the new report
R-GCX003-cbl-00526 Call GCX904R for Export Train PDF
Action Rules
📊 Business Logic Narrative
When the process 'Call GCX904R for Export Train PDF' is invoked, and assuming that export train report data is prepared and configured, when generating the pdf document, the desired outcome is that the gcx904r service should be called to create the pdf with the prepared report data.
💻 Technical Criteria
Given export train report data is prepared and configured
When generating the PDF document
Then the GCX904R service should be called to create the PDF with the prepared report data
R-GCX003-cbl-01468 Is Spawn Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Spawn Message?' is invoked, and assuming that a message line has been added to the report, when the message is identified as a spawn message, the desired outcome is that skip all message type classification and counting processes.
💻 Technical Criteria
Given A message line has been added to the report
When The message is identified as a spawn message
Then Skip all message type classification and counting processes
R-GCX003-cbl-01469 Error Message?
Process Rules
📊 Business Logic Narrative
When the process 'Error Message?' is invoked, and assuming that a non-spawn message line exists in the report, when the message is classified as an error message (msg-err), the desired outcome is that increment the total error count by 1.
💻 Technical Criteria
Given A non-spawn message line exists in the report
When The message is classified as an error message (MSG-ERR)
Then Increment the total error count by 1
R-GCX003-cbl-01471 Warning Message?
Process Rules
📊 Business Logic Narrative
When the process 'Warning Message?' is invoked, and assuming that a non-spawn message line exists in the report, when the message is classified as a warning message (msg-wrn), the desired outcome is that increment the total warning count by 1.
💻 Technical Criteria
Given A non-spawn message line exists in the report
When The message is classified as a warning message (MSG-WRN)
Then Increment the total warning count by 1
R-GCX003-cbl-01473 Information Message?
Process Rules
📊 Business Logic Narrative
When the process 'Information Message?' is invoked, and assuming that a non-spawn message line exists in the report, when the message is classified as an information message (msg-inf), the desired outcome is that increment the total information count by 1.
💻 Technical Criteria
Given A non-spawn message line exists in the report
When The message is classified as an information message (MSG-INF)
Then Increment the total information count by 1
R-GCX003-cbl-01474 Is Message Line?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Message Line?' is invoked, and assuming that an entry has been added to the report, when the entry is evaluated for message line status, the desired outcome is that continue with message type classification if it is a message line, otherwise skip processing.
💻 Technical Criteria
Given An entry has been added to the report
When The entry is evaluated for message line status
Then Continue with message type classification if it is a message line, otherwise skip processing
R-GCX003-cbl-01644 Is Message Line?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Message Line?' is invoked, and assuming that a report entry has been added to the report index, when the system checks if the entry is a message line, the desired outcome is that the system identifies whether the entry contains a message that needs to be classified for counting purposes.
💻 Technical Criteria
Given A report entry has been added to the report index
When The system checks if the entry is a message line
Then The system identifies whether the entry contains a message that needs to be classified for counting purposes
R-GCX003-cbl-01645 Is Spawn Message?
Process Rules
📊 Business Logic Narrative
When the process 'Is Spawn Message?' is invoked, and assuming that a message line has been identified in the report, when the system checks if the message is a spawn message, the desired outcome is that spawn messages are excluded from error, warning, and information counting but still increment the report index.
💻 Technical Criteria
Given A message line has been identified in the report
When The system checks if the message is a spawn message
Then Spawn messages are excluded from error, warning, and information counting but still increment the report index
R-GCX003-cbl-01646 Error Message - Add to Error Count
Validation Rules
📊 Business Logic Narrative
When the process 'Error Message - Add to Error Count' is invoked, and assuming that a non-spawn message line exists in the report, when the message is classified as an error type, the desired outcome is that the system increments the error count by 1.
💻 Technical Criteria
Given A non-spawn message line exists in the report
When The message is classified as an error type
Then The system increments the error count by 1
R-GCX003-cbl-01648 Warning Message - Add to Warning Count
Validation Rules
📊 Business Logic Narrative
When the process 'Warning Message - Add to Warning Count' is invoked, and assuming that a non-spawn message line exists in the report, when the message is classified as a warning type, the desired outcome is that the system increments the warning count by 1.
💻 Technical Criteria
Given A non-spawn message line exists in the report
When The message is classified as a warning type
Then The system increments the warning count by 1
R-GCX003-cbl-01650 Information Message - Add to Info Count
Process Rules
📊 Business Logic Narrative
When the process 'Information Message - Add to Info Count' is invoked, and assuming that a non-spawn message line exists in the report, when the message is classified as an information type, the desired outcome is that the system increments the information count by 1.
💻 Technical Criteria
Given A non-spawn message line exists in the report
When The message is classified as an information type
Then The system increments the information count by 1
R-GCX003-cbl-01651 Increment Report Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Report Index' is invoked, and assuming that a message has been processed and classified, when the system completes message processing, the desired outcome is that the report index is incremented by 1 to point to the next available report line.
💻 Technical Criteria
Given A message has been processed and classified
When The system completes message processing
Then The report index is incremented by 1 to point to the next available report line
R-GCX003-cbl-01652 Report Index at Maximum?
Validation Rules
📊 Business Logic Narrative
When the process 'Report Index at Maximum?' is invoked, and assuming that the report index has been incremented, when the report index reaches the maximum allowed report lines, the desired outcome is that the system detects a report overflow condition.
💻 Technical Criteria
Given The report index has been incremented
When The report index reaches the maximum allowed report lines
Then The system detects a report overflow condition
R-GCX003-cbl-01653 Set Report Overflow Message
Process Rules
📊 Business Logic Narrative
When the process 'Set Report Overflow Message' is invoked, and assuming that the report index has reached maximum capacity, when a report overflow condition is detected, the desired outcome is that the system sets message type 9 (report overflow) to notify users that the report is truncated.
💻 Technical Criteria
Given The report index has reached maximum capacity
When A report overflow condition is detected
Then The system sets message type 9 (report overflow) to notify users that the report is truncated
R-GCX003-cbl-01762 Is Message Line Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Message Line Type?' is invoked, and assuming that a report entry is being processed for message classification, when the system checks if the report entry is a message line type, the desired outcome is that if the entry is not a message line type, skip all message processing and complete classification.
💻 Technical Criteria
Given A report entry is being processed for message classification
When The system checks if the report entry is a message line type
Then If the entry is not a message line type, skip all message processing and complete classification
R-GCX003-cbl-01763 Is Spawn Message?
Process Rules
📊 Business Logic Narrative
When the process 'Is Spawn Message?' is invoked, and assuming that a message line is identified for processing, when the message is classified as a spawn message type, the desired outcome is that skip the severity classification and counter increment processing but continue with report index addition.
💻 Technical Criteria
Given A message line is identified for processing
When The message is classified as a spawn message type
Then Skip the severity classification and counter increment processing but continue with report index addition
R-GCX003-cbl-01767 Report Line Limit Reached?
Process Rules
📊 Business Logic Narrative
When the process 'Report Line Limit Reached?' is invoked, and assuming that a message has been classified and counters updated, when the report index is incremented by 1, the desired outcome is that if the maximum report line limit is reached, set message type 9 (overflow message) at the current report index position.
💻 Technical Criteria
Given A message has been classified and counters updated
When The report index is incremented by 1
Then If the maximum report line limit is reached, set message type 9 (overflow message) at the current report index position
R-GCX003-cbl-01871 Is Message Line?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Message Line?', assuming that a report line is being processed for message classification, when the report line is not identified as a message line, the desired outcome is that the system skips message classification and continues processing without incrementing any counters.
💻 Technical Criteria
EXCLUDING A report line is being processed for message classification
When The report line is not identified as a message line
Then The system skips message classification and continues processing without incrementing any counters
R-GCX003-cbl-01475 Skip Counter Update
Process Rules
📊 Business Logic Narrative
When the process 'Skip Counter Update' is invoked, and assuming that a message line is being processed for counter updates, when the message line is identified as a spawn message type, the desired outcome is that the system skips all counter updates and proceeds to report index management.
💻 Technical Criteria
Given A message line is being processed for counter updates
When The message line is identified as a spawn message type
Then The system skips all counter updates and proceeds to report index management
R-GCX003-cbl-01481 Update Report Index
Process Rules
📊 Business Logic Narrative
When the process 'Update Report Index' is invoked, and assuming that a message line has been processed for counter updates, when counter processing is complete, the desired outcome is that the system adds 1 to the report line index.
💻 Technical Criteria
Given A message line has been processed for counter updates
When Counter processing is complete
Then The system adds 1 to the report line index
R-GCX003-cbl-01482 Set Overflow Message
Validation Rules
📊 Business Logic Narrative
When the process 'Set Overflow Message' is invoked, and assuming that the report line index is being updated, when the maximum number of report lines has been reached, the desired outcome is that the system sets message type 9 as an overflow indicator.
💻 Technical Criteria
Given The report line index is being updated
When The maximum number of report lines has been reached
Then The system sets message type 9 as an overflow indicator
R-GCX003-cbl-00581 Automated Carrier Flag = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Carrier Flag = 'Y'?' is invoked, and assuming that a port configuration record retrieved from reference table, when the automated carrier flag is evaluated, the desired outcome is that if flag equals 'y' then classify port as automated, otherwise classify as paper-based.
💻 Technical Criteria
Given A port configuration record retrieved from reference table
When The automated carrier flag is evaluated
Then If flag equals 'Y' then classify port as automated, otherwise classify as paper-based
R-GCX003-cbl-00584 Check Request Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Request Type' is invoked, and assuming that a train export request is received with a specific request type code, when the system evaluates the request type against the aei request type constant, the desired outcome is that if the request type equals the aei request type constant, the aei train send flag is set to yes, otherwise the aei train send flag is set to no.
💻 Technical Criteria
Given A train export request is received with a specific request type code
When The system evaluates the request type against the AEI request type constant
Then If the request type equals the AEI request type constant, the AEI train send flag is set to YES, otherwise the AEI train send flag is set to NO
R-GCX003-cbl-00596 Check Route Entry
Decision Rules
📊 Business Logic Narrative
When the process 'Check Route Entry' is invoked, and assuming that route analysis variables are initialized and routing information is available, when the system processes each route entry up to 9 positions or until route is found, the desired outcome is that scac code and junction/r260 code are extracted from current route position for evaluation.
💻 Technical Criteria
Given Route analysis variables are initialized and routing information is available
When The system processes each route entry up to 9 positions or until route is found
Then SCAC code and junction/R260 code are extracted from current route position for evaluation
R-GCX003-cbl-00665 Extract Commodity Description from Each Entry
Process Rules
📊 Business Logic Narrative
When the process 'Extract Commodity Description from Each Entry' is invoked, and assuming that a valid segment 07 entry contains commodity description data, when the system processes the segment 07 entry for report generation, the desired outcome is that the system moves the segment 07 data to working storage, extracts the commodity description field, and formats it for report display.
💻 Technical Criteria
Given A valid segment 07 entry contains commodity description data
When The system processes the segment 07 entry for report generation
Then The system moves the segment 07 data to working storage, extracts the commodity description field, and formats it for report display
R-GCX003-cbl-00741 Process Station Entries for Special Descriptions
Process Rules
📊 Business Logic Narrative
When the process 'Process Station Entries for Special Descriptions' is invoked, and assuming that station table data is available for processing, when the system processes station entries for special descriptions, the desired outcome is that the system should check for sfe type codes with us country designation and populate special descriptions in report fields while setting seg07 processing flag to no.
💻 Technical Criteria
Given Station table data is available for processing
When The system processes station entries for special descriptions
Then The system should check for SFE type codes with US country designation and populate special descriptions in report fields while setting SEG07 processing flag to no
R-GCX003-cbl-00776 Set Report End Marker
Process Rules
📊 Business Logic Narrative
When the process 'Set Report End Marker' is invoked, and assuming that a report is being finalized, when the current report line at rpt-idx is blank, the desired outcome is that set the report end marker flag for that line.
💻 Technical Criteria
Given A report is being finalized
When The current report line at RPT-IDX is blank
Then Set the report end marker flag for that line
R-GCX003-cbl-00778 Generate Header Line 1 - Train Information
Process Rules
📊 Business Logic Narrative
When the process 'Generate Header Line 1 - Train Information' is invoked, and assuming that a report is being finalized, when generating report headers, the desired outcome is that set header line 1 flag, populate train id from request, and populate origin station name from station code table.
💻 Technical Criteria
Given A report is being finalized
When Generating report headers
Then Set header line 1 flag, populate train ID from request, and populate origin station name from station code table
R-GCX003-cbl-00779 Generate Header Line 2 - User Information
Process Rules
📊 Business Logic Narrative
When the process 'Generate Header Line 2 - User Information' is invoked, and assuming that a report is being finalized, when generating report headers, the desired outcome is that set header line 2 flag, populate user id from cccom, populate terminal from cccom, populate machine date from cccom, populate machine hour from cccom, and populate machine minutes from cccom.
💻 Technical Criteria
Given A report is being finalized
When Generating report headers
Then Set header line 2 flag, populate user ID from CCCOM, populate terminal from CCCOM, populate machine date from CCCOM, populate machine hour from CCCOM, and populate machine minutes from CCCOM
R-GCX003-cbl-00780 Determine Request Action Type
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Request Action Type' is invoked, and assuming that a report is being finalized, when the request action is other, the desired outcome is that set request type in header and set result abort flag.
💻 Technical Criteria
Given A report is being finalized
When The request action is OTHER
Then Set request type in header and set result abort flag
R-GCX003-cbl-00781 Check Processing Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Processing Status' is invoked, and assuming that a report action is being processed, when there are errors or warnings, the desired outcome is that set message result flag, populate warning count, populate error count, and populate dsp count.
💻 Technical Criteria
Given A report action is being processed
When There are errors or warnings
Then Set message result flag, populate warning count, populate error count, and populate DSP count
R-GCX003-cbl-00782 Generate Header Line 4 - Train Details
Process Rules
📊 Business Logic Narrative
When the process 'Generate Header Line 4 - Train Details' is invoked, and assuming that a report is being finalized, when generating detailed train headers, the desired outcome is that set header line 4 flag, populate us customs train id from train list, populate eta year from request, populate eta month from request, populate eta day from request, populate eta hour from request, and populate eta minutes from request.
💻 Technical Criteria
Given A report is being finalized
When Generating detailed train headers
Then Set header line 4 flag, populate US customs train ID from train list, populate ETA year from request, populate ETA month from request, populate ETA day from request, populate ETA hour from request, and populate ETA minutes from request
R-GCX003-cbl-00783 Generate Detail Headers
Process Rules
📊 Business Logic Narrative
When the process 'Generate Detail Headers' is invoked, and assuming that a report is being finalized, when setting up detail section headers, the desired outcome is that set detail header line 1 flag and set detail header line 2 flag.
💻 Technical Criteria
Given A report is being finalized
When Setting up detail section headers
Then Set detail header line 1 flag and set detail header line 2 flag
R-GCX003-cbl-00784 Copy Headers to Report Lines
Process Rules
📊 Business Logic Narrative
When the process 'Copy Headers to Report Lines' is invoked, and assuming that report headers have been generated, when finalizing report output, the desired outcome is that copy report line 1 to email text line 1, copy report line 2 to email text line 2, copy report line 3 to email text line 3, copy report line 4 to email text line 4, and copy report line 5 to email text line 5.
💻 Technical Criteria
Given Report headers have been generated
When Finalizing report output
Then Copy report line 1 to email text line 1, copy report line 2 to email text line 2, copy report line 3 to email text line 3, copy report line 4 to email text line 4, and copy report line 5 to email text line 5
R-GCX003-cbl-00788 Convert Spawn Messages to Report Messages
Process Rules
📊 Business Logic Narrative
When the process 'Convert Spawn Messages to Report Messages' is invoked, and assuming that train processing has errors and no spawn messages are present, when message lines contain spawn division messages or spawn ite messages, the desired outcome is that convert spawn division messages to message nineteen with station code and convert spawn ite messages to message eighteen.
💻 Technical Criteria
Given Train processing has errors AND no spawn messages are present
When Message lines contain spawn division messages OR spawn ITE messages
Then Convert spawn division messages to message nineteen with station code AND convert spawn ITE messages to message eighteen
R-GCX003-cbl-00790 Convert Spawn Messages to Report Messages
Process Rules
📊 Business Logic Narrative
When the process 'Convert Spawn Messages to Report Messages' is invoked, and assuming that train processing has errors and no spawn messages and message type is 43 (special authorization error), when total error count equals the count of type 43 errors, the desired outcome is that convert message 43 to message eighteen and increment warning count and decrement error count.
💻 Technical Criteria
Given Train processing has errors AND no spawn messages AND message type is 43 (special authorization error)
When Total error count equals the count of type 43 errors
Then Convert message 43 to message eighteen AND increment warning count AND decrement error count
R-GCX003-cbl-00793 Evaluate Request Action Type
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Request Action Type' is invoked, and assuming that a train processing request has been finalized with a specific action type and error status, when the system evaluates the request for final processing, the desired outcome is that if the action is send with no errors and no spawns, perform full transmission processing; if the action is report, perform report-only processing; otherwise perform error handling with database rollback.
💻 Technical Criteria
Given A train processing request has been finalized with a specific action type and error status
When The system evaluates the request for final processing
Then If the action is SEND with no errors and no spawns, perform full transmission processing; if the action is REPORT, perform report-only processing; otherwise perform error handling with database rollback
R-GCX003-cbl-00795 Transmit Train List to US Customs EDI
Action Rules
📊 Business Logic Narrative
When the process 'Transmit Train List to US Customs EDI' is invoked, and assuming that a train list has been successfully stored in the database, when the system transmits the train information to customs, the desired outcome is that the system calls the customs edi transmission module (gccu358t) in background mode with the complete train list data, and if aei send flag is set, logs the aei transmission activity.
💻 Technical Criteria
Given A train list has been successfully stored in the database
When The system transmits the train information to customs
Then The system calls the customs EDI transmission module (GCCU358T) in background mode with the complete train list data, and if AEI send flag is set, logs the AEI transmission activity
R-GCX003-cbl-00798 Generate PDF Report
Action Rules
📊 Business Logic Narrative
When the process 'Generate PDF Report' is invoked, and assuming that a train report has been sent to the customs merlin system, when the system generates the pdf report, the desired outcome is that the system calls the pdf generation module (gcx904r) with the report message content, email subject from the first report line, train id, report title as 'pre-exit report', report type as 'export', pdf length of 80 characters, and the total number of report lines.
💻 Technical Criteria
Given A train report has been sent to the customs MERLIN system
When The system generates the PDF report
Then The system calls the PDF generation module (GCX904R) with the report message content, email subject from the first report line, train ID, report title as 'Pre-Exit Report', report type as 'EXPORT', PDF length of 80 characters, and the total number of report lines
R-GCX003-cbl-00799 Is Laredo TX Station?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Laredo TX Station?' is invoked, and assuming that a pdf report has been generated for the train processing, when the system determines the station-specific report format, the desired outcome is that if the crossing port is laredo tx station, generate an enhanced format report; otherwise generate a canadian export report.
💻 Technical Criteria
Given A PDF report has been generated for the train processing
When The system determines the station-specific report format
Then If the crossing port is Laredo TX station, generate an enhanced format report; otherwise generate a Canadian export report
R-GCX003-cbl-00801 Generate Second PDF Report
Action Rules
📊 Business Logic Narrative
When the process 'Generate Second PDF Report' is invoked, and assuming that an enhanced format report has been generated for laredo station, when the system creates the second pdf report, the desired outcome is that the system calls the pdf generation module (gcx904r) with the enhanced report table, new report subject, train id, report title as 'export train report', report type as 'export', pdf length of 132 characters, and the enhanced report line count.
💻 Technical Criteria
Given An enhanced format report has been generated for Laredo station
When The system creates the second PDF report
Then The system calls the PDF generation module (GCX904R) with the enhanced report table, new report subject, train ID, report title as 'Export Train Report', report type as 'EXPORT', PDF length of 132 characters, and the enhanced report line count
R-GCX003-cbl-00802 Spawn Canadian Export Report
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Spawn Canadian Export Report', assuming that the processing station is not laredo tx, when the system spawns the export report, the desired outcome is that the system creates a gcx141 message with function name flag, train id, and message length, then inserts the message to trigger the canadian export report generation process.
💻 Technical Criteria
EXCLUDING The processing station is not Laredo TX
When The system spawns the export report
Then The system creates a GCX141 message with function name flag, train ID, and message length, then inserts the message to trigger the Canadian export report generation process
R-GCX003-cbl-00803 Set Acknowledgment Only Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Acknowledgment Only Flag' is invoked, and assuming that all transmission and reporting processes have completed successfully for a send request, when the system prepares the originator response, the desired outcome is that the system sets the acknowledgment only flag to true to indicate that only a brief confirmation should be sent rather than the full detailed report.
💻 Technical Criteria
Given All transmission and reporting processes have completed successfully for a SEND request
When The system prepares the originator response
Then The system sets the acknowledgment only flag to true to indicate that only a brief confirmation should be sent rather than the full detailed report
R-GCX003-cbl-00804 Send Report to Originator Terminal
Action Rules
📊 Business Logic Narrative
When the process 'Send Report to Originator Terminal' is invoked, and assuming that a train processing request has completed with final status determined, when the system sends the response to the originator, the desired outcome is that if aei send flag is set, send aei-specific report; determine destination terminal from alternate terminal or original terminal; set call letters based on error status and action type; send header line first, then send appropriate report content based on acknowledgment flag and warning status, and finally send wrap-up message.
💻 Technical Criteria
Given A train processing request has completed with final status determined
When The system sends the response to the originator
Then If AEI send flag is set, send AEI-specific report; determine destination terminal from alternate terminal or original terminal; set call letters based on error status and action type; send header line first, then send appropriate report content based on acknowledgment flag and warning status, and finally send wrap-up message
R-GCX003-cbl-01483 SEND Action with No Errors and No Spawns?
Decision Rules
📊 Business Logic Narrative
When the process 'SEND Action with No Errors and No Spawns?' is invoked, and assuming that a train manifest request with action type send, when the request has no validation errors and no spawn processing requirements, the desired outcome is that execute the full transmission workflow including database storage, edi transmission, duplicate removal, customs reporting, pdf generation, station-specific processing, acknowledgment, and audit logging.
💻 Technical Criteria
Given A train manifest request with action type SEND
When The request has no validation errors AND no spawn processing requirements
Then Execute the full transmission workflow including database storage, EDI transmission, duplicate removal, customs reporting, PDF generation, station-specific processing, acknowledgment, and audit logging
R-GCX003-cbl-01485 Transmit Train List to US Customs EDI
Action Rules
📊 Business Logic Narrative
When the process 'Transmit Train List to US Customs EDI' is invoked, and assuming that a train list stored in the database, when the system processes the transmission step, the desired outcome is that call gccu358t module to transmit the train list data via edi to us customs.
💻 Technical Criteria
Given A train list stored in the database
When The system processes the transmission step
Then Call GCCU358T module to transmit the train list data via EDI to US Customs
R-GCX003-cbl-01488 Generate PDF Report
Action Rules
📊 Business Logic Narrative
When the process 'Generate PDF Report' is invoked, and assuming that a processed train manifest with report data, when the system generates pdf documentation, the desired outcome is that call gcx904r module to create pdf report with pre-exit report title and export type.
💻 Technical Criteria
Given A processed train manifest with report data
When The system generates PDF documentation
Then Call GCX904R module to create PDF report with Pre-Exit Report title and EXPORT type
R-GCX003-cbl-01489 Is Laredo TX Station?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Laredo TX Station?' is invoked, and assuming that a train manifest with a defined crossing station, when the system checks the station location, the desired outcome is that if the station is laredo tx, execute enhanced reporting; otherwise, execute standard canadian export processing.
💻 Technical Criteria
Given A train manifest with a defined crossing station
When The system checks the station location
Then If the station is Laredo TX, execute enhanced reporting; otherwise, execute standard Canadian export processing
R-GCX003-cbl-01491 Generate Second PDF Report
Action Rules
📊 Business Logic Narrative
When the process 'Generate Second PDF Report' is invoked, and assuming that an enhanced format report generated for laredo tx station, when the system creates the second pdf, the desired outcome is that call gcx904r module to create pdf with export train report title and 132-character width.
💻 Technical Criteria
Given An enhanced format report generated for Laredo TX station
When The system creates the second PDF
Then Call GCX904R module to create PDF with Export Train Report title and 132-character width
R-GCX003-cbl-01492 Spawn Canadian Export Report
Action Rules
📊 Business Logic Narrative
When the process 'Spawn Canadian Export Report' is invoked, and assuming that a train manifest crossing at a station other than laredo tx, when the system processes export reporting, the desired outcome is that send message to gcx141 queue to spawn canadian export report processing.
💻 Technical Criteria
Given A train manifest crossing at a station other than Laredo TX
When The system processes export reporting
Then Send message to GCX141 queue to spawn Canadian export report processing
R-GCX003-cbl-01493 Set Acknowledgment Only Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Acknowledgment Only Flag' is invoked, and assuming that a successfully processed and transmitted train manifest, when the system prepares the originator response, the desired outcome is that set the report flag to rpt-ack-only to indicate acknowledgment-only response.
💻 Technical Criteria
Given A successfully processed and transmitted train manifest
When The system prepares the originator response
Then Set the report flag to RPT-ACK-ONLY to indicate acknowledgment-only response
R-GCX003-cbl-01494 Send Report to Originator
Action Rules
📊 Business Logic Narrative
When the process 'Send Report to Originator' is invoked, and assuming that a processed train manifest request with determined response type, when the system sends the response to the originator, the desired outcome is that call gcstonly module to send formatted report to the originating terminal with appropriate status indicators.
💻 Technical Criteria
Given A processed train manifest request with determined response type
When The system sends the response to the originator
Then Call GCSTONLY module to send formatted report to the originating terminal with appropriate status indicators
R-GCX003-cbl-01496 REPORT Action?
Decision Rules
📊 Business Logic Narrative
When the process 'REPORT Action?' is invoked, and assuming that a train manifest request with action type report, when the system processes the report-only request, the desired outcome is that execute duplicate removal and send report to originator without database storage or edi transmission.
💻 Technical Criteria
Given A train manifest request with action type REPORT
When The system processes the report-only request
Then Execute duplicate removal and send report to originator without database storage or EDI transmission
R-GCX003-cbl-01770 Check REQ-ACTION-SEND
Decision Rules
📊 Business Logic Narrative
When the process 'Check REQ-ACTION-SEND' is invoked, and assuming that a train manifest request has been received and initial processing completed, when the system evaluates the request action type for send operations, the desired outcome is that the system determines whether to proceed with customs transmission or generate reports only.
💻 Technical Criteria
Given A train manifest request has been received and initial processing completed
When The system evaluates the request action type for send operations
Then The system determines whether to proceed with customs transmission or generate reports only
R-GCX003-cbl-01771 Check REQ-ACTION-REPORT
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check REQ-ACTION-REPORT', assuming that a train manifest request has been received and is not a send action, when the system evaluates the request action type for report operations, the desired outcome is that the system determines whether to generate reports without customs transmission.
💻 Technical Criteria
EXCLUDING A train manifest request has been received and is not a send action
When The system evaluates the request action type for report operations
Then The system determines whether to generate reports without customs transmission
R-GCX003-cbl-01772 Set Processing Result: SENT
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Result: SENT' is invoked, and assuming that train manifest processing completed with no errors, no spawn activities, and a send action request, when the system determines the final processing result, the desired outcome is that the system sets the processing result to sent indicating successful customs transmission.
💻 Technical Criteria
Given Train manifest processing completed with no errors, no spawn activities, and a send action request
When The system determines the final processing result
Then The system sets the processing result to SENT indicating successful customs transmission
R-GCX003-cbl-01774 Set Processing Result: REPORT GENERATED
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Result: REPORT GENERATED' is invoked, and assuming that a train manifest request specified report action type, when the system determines the final processing result, the desired outcome is that the system sets the processing result to report generated indicating successful report creation without customs transmission.
💻 Technical Criteria
Given A train manifest request specified report action type
When The system determines the final processing result
Then The system sets the processing result to REPORT GENERATED indicating successful report creation without customs transmission
R-GCX003-cbl-01775 Set Processing Result: ABORTED
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Result: ABORTED' is invoked, and assuming that a train manifest request has an action type that is neither send nor report, when the system determines the final processing result, the desired outcome is that the system sets the processing result to aborted indicating the request could not be processed.
💻 Technical Criteria
Given A train manifest request has an action type that is neither send nor report
When The system determines the final processing result
Then The system sets the processing result to ABORTED indicating the request could not be processed
R-GCX003-cbl-01776 Validate Error Count Accumulation
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Error Count Accumulation' is invoked, and assuming that train manifest processing has completed and processing result has been determined, when the system validates the accumulated error count from all processing steps, the desired outcome is that the system ensures accurate error count totals for reporting and decision making.
💻 Technical Criteria
Given Train manifest processing has completed and processing result has been determined
When The system validates the accumulated error count from all processing steps
Then The system ensures accurate error count totals for reporting and decision making
R-GCX003-cbl-01777 Validate Warning Count Accumulation
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Warning Count Accumulation' is invoked, and assuming that error count validation has been completed, when the system validates the accumulated warning count from all processing steps, the desired outcome is that the system ensures accurate warning count totals for reporting purposes.
💻 Technical Criteria
Given Error count validation has been completed
When The system validates the accumulated warning count from all processing steps
Then The system ensures accurate warning count totals for reporting purposes
R-GCX003-cbl-01779 Calculate Final Error Statistics
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Final Error Statistics' is invoked, and assuming that all count validations have been completed, when the system calculates final error statistics, the desired outcome is that the system produces complete error metrics for inclusion in processing reports and audit trails.
💻 Technical Criteria
Given All count validations have been completed
When The system calculates final error statistics
Then The system produces complete error metrics for inclusion in processing reports and audit trails
R-GCX003-cbl-01780 Calculate Final Warning Statistics
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Final Warning Statistics' is invoked, and assuming that final error statistics calculation has been completed, when the system calculates final warning statistics, the desired outcome is that the system produces complete warning metrics for inclusion in processing reports.
💻 Technical Criteria
Given Final error statistics calculation has been completed
When The system calculates final warning statistics
Then The system produces complete warning metrics for inclusion in processing reports
R-GCX003-cbl-01781 Calculate Final Spawn Statistics
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Final Spawn Statistics' is invoked, and assuming that final warning statistics calculation has been completed, when the system calculates final spawn activity statistics, the desired outcome is that the system produces complete spawn metrics for inclusion in processing reports and audit trails.
💻 Technical Criteria
Given Final warning statistics calculation has been completed
When The system calculates final spawn activity statistics
Then The system produces complete spawn metrics for inclusion in processing reports and audit trails
R-GCX003-cbl-01878 Message Line Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Line Type?' is invoked, and assuming that a report line exists at a specific index position, when the system evaluates the report line type, the desired outcome is that the system identifies whether the line is a message line requiring error count processing or a non-message line to be skipped.
💻 Technical Criteria
Given A report line exists at a specific index position
When The system evaluates the report line type
Then The system identifies whether the line is a message line requiring error count processing or a non-message line to be skipped
R-GCX003-cbl-01881 Increment Error Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Error Counter' is invoked, and assuming that a message has been classified as an error type, when the system processes the error message, the desired outcome is that the report error counter is incremented by one.
💻 Technical Criteria
Given A message has been classified as an error type
When The system processes the error message
Then The report error counter is incremented by one
R-GCX003-cbl-01884 Increment Warning Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Warning Counter' is invoked, and assuming that a message has been classified as a warning type, when the system processes the warning message, the desired outcome is that the report warning counter is incremented by one.
💻 Technical Criteria
Given A message has been classified as a warning type
When The system processes the warning message
Then The report warning counter is incremented by one
R-GCX003-cbl-01887 Increment Info Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Info Counter' is invoked, and assuming that a message has been classified as an information type, when the system processes the information message, the desired outcome is that the report information counter is incremented by one.
💻 Technical Criteria
Given A message has been classified as an information type
When The system processes the information message
Then The report information counter is incremented by one
R-GCX003-cbl-01890 Adjust Error Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Adjust Error Counter' is invoked, and assuming that type 43 errors are being converted to warnings, when the system adjusts the error count, the desired outcome is that the report error counter is decremented by one for each converted error.
💻 Technical Criteria
Given Type 43 errors are being converted to warnings
When The system adjusts the error count
Then The report error counter is decremented by one for each converted error
R-GCX003-cbl-01891 Adjust Warning Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Adjust Warning Counter' is invoked, and assuming that type 43 errors are being converted to warnings and error counter has been decremented, when the system adjusts the warning count, the desired outcome is that the report warning counter is incremented by one for each converted error.
💻 Technical Criteria
Given Type 43 errors are being converted to warnings and error counter has been decremented
When The system adjusts the warning count
Then The report warning counter is incremented by one for each converted error
R-GCX003-cbl-01498 Generate Final Report Headers and Summary
Process Rules
📊 Business Logic Narrative
When the process 'Generate Final Report Headers and Summary' is invoked, and assuming that a train processing request has been completed with processing results available, when the system generates the final report headers and summary, the desired outcome is that the report must include train id in header line 1, user id and terminal info in header line 2, action type and result status in header line 3, us customer train id and eta details in header line 4, detail headers in lines 6-7, and all header lines must be copied to email text lines.
💻 Technical Criteria
Given A train processing request has been completed with processing results available
When The system generates the final report headers and summary
Then The report must include train ID in header line 1, user ID and terminal info in header line 2, action type and result status in header line 3, US customer train ID and ETA details in header line 4, detail headers in lines 6-7, and all header lines must be copied to email text lines
R-GCX003-cbl-01499 Evaluate Request Action Type
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Request Action Type' is invoked, and assuming that a train processing request with a specific action type, when the system evaluates the request action type and error status, the desired outcome is that if action is send with no errors and no spawns, execute full send processing; if action is report, execute report-only processing; otherwise execute error processing with database rollback.
💻 Technical Criteria
Given A train processing request with a specific action type
When The system evaluates the request action type and error status
Then If action is SEND with no errors and no spawns, execute full send processing; if action is REPORT, execute report-only processing; otherwise execute error processing with database rollback
R-GCX003-cbl-01500 SEND Action Processing
Process Rules
📊 Business Logic Narrative
When the process 'SEND Action Processing' is invoked, and assuming that a send action request with no errors and no spawn conditions, when the system processes the send action, the desired outcome is that the system must store train list in database, transmit via edi, check for duplicates, send reports to customs, generate export reports, send acknowledgment to originator, and create audit logs.
💻 Technical Criteria
Given A SEND action request with no errors and no spawn conditions
When The system processes the SEND action
Then The system must store train list in database, transmit via EDI, check for duplicates, send reports to customs, generate export reports, send acknowledgment to originator, and create audit logs
R-GCX003-cbl-01502 Transmit Train List via EDI
Action Rules
📊 Business Logic Narrative
When the process 'Transmit Train List via EDI' is invoked, and assuming that a stored train list ready for customs transmission, when the system transmits the train list via edi, the desired outcome is that the complete train manifest must be sent to customs system via gccu358t module in background mode, and if aei send is enabled, an aei send log entry must be created.
💻 Technical Criteria
Given A stored train list ready for customs transmission
When The system transmits the train list via EDI
Then The complete train manifest must be sent to customs system via GCCU358T module in background mode, and if AEI send is enabled, an AEI send log entry must be created
R-GCX003-cbl-01504 Send Report to Customs MERLIN System
Action Rules
📊 Business Logic Narrative
When the process 'Send Report to Customs MERLIN System' is invoked, and assuming that a finalized train manifest report ready for customs distribution, when the system sends the report to customs merlin system, the desired outcome is that the report must be sent to om01247 usercode via emcsend3 module with proper formatting, and if the report exceeds 699 lines, it must be split into multiple emails with continuation headers.
💻 Technical Criteria
Given A finalized train manifest report ready for customs distribution
When The system sends the report to customs MERLIN system
Then The report must be sent to OM01247 usercode via EMCSEND3 module with proper formatting, and if the report exceeds 699 lines, it must be split into multiple emails with continuation headers
R-GCX003-cbl-01506 Generate Enhanced Format Reports
Action Rules
📊 Business Logic Narrative
When the process 'Generate Enhanced Format Reports' is invoked, and assuming that a processed train manifest for non-laredo station crossing, when the system generates enhanced format reports, the desired outcome is that a gcx141 message must be created with the us customer train id and sent via message queue for enhanced report generation.
💻 Technical Criteria
Given A processed train manifest for non-Laredo station crossing
When The system generates enhanced format reports
Then A GCX141 message must be created with the US customer train ID and sent via message queue for enhanced report generation
R-GCX003-cbl-01507 Generate PDF Reports
Action Rules
📊 Business Logic Narrative
When the process 'Generate PDF Reports' is invoked, and assuming that completed train manifest reports in text format, when the system generates pdf reports, the desired outcome is that two pdf reports must be created: a pre-exit report with 80-character width and an export train report with 132-character width, both containing the complete manifest data.
💻 Technical Criteria
Given Completed train manifest reports in text format
When The system generates PDF reports
Then Two PDF reports must be created: a pre-exit report with 80-character width and an export train report with 132-character width, both containing the complete manifest data
R-GCX003-cbl-01508 Send Acknowledgment to Originator
Process Rules
📊 Business Logic Narrative
When the process 'Send Acknowledgment to Originator' is invoked, and assuming that a completed train processing request with results, when the system sends acknowledgment to the originator, the desired outcome is that the acknowledgment must include appropriate call letters based on processing result (error, sent, or report), complete report content based on report type (all lines for full report, headers only for summary), and be sent to the originating terminal or alternate terminal if specified.
💻 Technical Criteria
Given A completed train processing request with results
When The system sends acknowledgment to the originator
Then The acknowledgment must include appropriate call letters based on processing result (error, sent, or report), complete report content based on report type (all lines for full report, headers only for summary), and be sent to the originating terminal or alternate terminal if specified
R-GCX003-cbl-01510 REPORT Action Processing
Process Rules
📊 Business Logic Narrative
When the process 'REPORT Action Processing' is invoked, and assuming that a report action request, when the system processes the report action, the desired outcome is that the system must check for duplicates, generate and send the report to originator without storing data or transmitting to customs.
💻 Technical Criteria
Given A REPORT action request
When The system processes the REPORT action
Then The system must check for duplicates, generate and send the report to originator without storing data or transmitting to customs
R-GCX003-cbl-01511 OTHER Action Processing
Process Rules
📊 Business Logic Narrative
When the process 'OTHER Action Processing' is invoked, and assuming that an invalid action type or error conditions during processing, when the system executes error processing, the desired outcome is that the system must perform database rollback to undo any changes, check for duplicates, and send error report to originator.
💻 Technical Criteria
Given An invalid action type or error conditions during processing
When The system executes error processing
Then The system must perform database rollback to undo any changes, check for duplicates, and send error report to originator
R-GCX003-cbl-01512 Send Acknowledgment to Originator
Action Rules
📊 Business Logic Narrative
When the process 'Send Acknowledgment to Originator' is invoked, and assuming that an aei-enabled train request that has been processed, when the system sends aei email notifications, the desired outcome is that email notifications must be sent to configured aei users retrieved from database, or to default merlin id if no users configured, with subject indicating train sent or not sent status and complete report content.
💻 Technical Criteria
Given An AEI-enabled train request that has been processed
When The system sends AEI email notifications
Then Email notifications must be sent to configured AEI users retrieved from database, or to default MERLIN ID if no users configured, with subject indicating train sent or not sent status and complete report content
R-GCX003-cbl-00827 Set Background Processing Mode
Process Rules
📊 Business Logic Narrative
When the process 'Set Background Processing Mode' is invoked, and assuming that a train list is ready for edi transmission to us customs, when the edi transmission process is initiated, the desired outcome is that the system must be configured for background processing mode.
💻 Technical Criteria
Given A train list is ready for EDI transmission to US Customs
When The EDI transmission process is initiated
Then The system must be configured for background processing mode
R-GCX003-cbl-00835 Set Report End Marker
Process Rules
📊 Business Logic Narrative
When the process 'Set Report End Marker' is invoked, and assuming that a report is being finalized, when the current report line at rpt-idx is blank, the desired outcome is that set the report end marker flag for that line.
💻 Technical Criteria
Given A report is being finalized
When The current report line at RPT-IDX is blank
Then Set the report end marker flag for that line
R-GCX003-cbl-00837 Generate Header Line 1 - Train Information
Process Rules
📊 Business Logic Narrative
When the process 'Generate Header Line 1 - Train Information' is invoked, and assuming that a report is being finalized, when generating report headers, the desired outcome is that set header line 1 flag, populate train id from request, and set origin station name from station code table.
💻 Technical Criteria
Given A report is being finalized
When Generating report headers
Then Set header line 1 flag, populate train ID from request, and set origin station name from station code table
R-GCX003-cbl-00838 Generate Header Line 2 - User Information
Process Rules
📊 Business Logic Narrative
When the process 'Generate Header Line 2 - User Information' is invoked, and assuming that a report is being finalized, when generating report headers, the desired outcome is that set header line 2 flag, populate user id, terminal id, machine date, hour, and minute from system information.
💻 Technical Criteria
Given A report is being finalized
When Generating report headers
Then Set header line 2 flag, populate user ID, terminal ID, machine date, hour, and minute from system information
R-GCX003-cbl-00839 Processing Results
Decision Rules
📊 Business Logic Narrative
When the process 'Processing Results' is invoked, and assuming that a report is being finalized, when the request action is other, the desired outcome is that set request type in header and mark result as abort.
💻 Technical Criteria
Given A report is being finalized
When The request action is OTHER
Then Set request type in header and mark result as abort
R-GCX003-cbl-00840 Set NO MESSAGE Result
Decision Rules
📊 Business Logic Narrative
When the process 'Set NO MESSAGE Result' is invoked, and assuming that a report action is being processed, when there are no errors (rpt-no-error) and no warnings (rpt-no-wrn), the desired outcome is that set the result status to no message.
💻 Technical Criteria
Given A report action is being processed
When There are no errors (RPT-NO-ERROR) and no warnings (RPT-NO-WRN)
Then Set the result status to no message
R-GCX003-cbl-00841 Set MESSAGE Result with Counts
Decision Rules
📊 Business Logic Narrative
When the process 'Set MESSAGE Result with Counts' is invoked, and assuming that a report action is being processed, when there are errors or warnings present, the desired outcome is that set result status to message, populate warning count, error count, and dsp count in the header.
💻 Technical Criteria
Given A report action is being processed
When There are errors or warnings present
Then Set result status to message, populate warning count, error count, and DSP count in the header
R-GCX003-cbl-00842 Generate Header Line 4 - Train Details
Process Rules
📊 Business Logic Narrative
When the process 'Generate Header Line 4 - Train Details' is invoked, and assuming that a report is being finalized, when generating detailed train headers, the desired outcome is that set header line 4 flag, populate us customs train id, and set eta year, month, day, hour, and minute components.
💻 Technical Criteria
Given A report is being finalized
When Generating detailed train headers
Then Set header line 4 flag, populate US customs train ID, and set ETA year, month, day, hour, and minute components
R-GCX003-cbl-00843 Generate Detail Headers
Process Rules
📊 Business Logic Narrative
When the process 'Generate Detail Headers' is invoked, and assuming that a report is being finalized, when setting up report structure, the desired outcome is that set detail header 1 flag for line 6 and detail header 2 flag for line 7.
💻 Technical Criteria
Given A report is being finalized
When Setting up report structure
Then Set detail header 1 flag for line 6 and detail header 2 flag for line 7
R-GCX003-cbl-00844 Copy Headers to Report Lines
Process Rules
📊 Business Logic Narrative
When the process 'Copy Headers to Report Lines' is invoked, and assuming that report headers have been generated, when finalizing report output, the desired outcome is that copy report lines 1 through 5 to corresponding email text lines.
💻 Technical Criteria
Given Report headers have been generated
When Finalizing report output
Then Copy report lines 1 through 5 to corresponding email text lines
R-GCX003-cbl-00845 Any Processing Errors?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Processing Errors?' is invoked, and assuming that a train manifest processing request has been completed, when the system checks for any processing errors in the report, the desired outcome is that if no errors exist (rpt-no-error is true), proceed to check for spawn messages, otherwise proceed to spawn message evaluation for error handling.
💻 Technical Criteria
Given A train manifest processing request has been completed
When The system checks for any processing errors in the report
Then If no errors exist (RPT-NO-ERROR is true), proceed to check for spawn messages, otherwise proceed to spawn message evaluation for error handling
R-GCX003-cbl-00846 Set Result Status: SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Result Status: SENT' is invoked, and assuming that train manifest processing completed with no errors and no spawn messages, when the system determines the final processing result status, the desired outcome is that set the result status to sent and record warning count for reporting.
💻 Technical Criteria
Given Train manifest processing completed with no errors and no spawn messages
When The system determines the final processing result status
Then Set the result status to SENT and record warning count for reporting
R-GCX003-cbl-00849 Add Spawn Count to Error Count
Computation Rules
📊 Business Logic Narrative
When the process 'Add Spawn Count to Error Count' is invoked, and assuming that train manifest processing has spawn messages that require special processing, when the system calculates the total error count for reporting, the desired outcome is that add the spawn message count to the existing error count to get the total error count.
💻 Technical Criteria
Given Train manifest processing has spawn messages that require special processing
When The system calculates the total error count for reporting
Then Add the spawn message count to the existing error count to get the total error count
R-GCX003-cbl-00852 Update Message Counts
Computation Rules
📊 Business Logic Narrative
When the process 'Update Message Counts' is invoked, and assuming that error messages have been evaluated and potentially converted to warnings, when the system finalizes message counts for reporting, the desired outcome is that increment warning count by 1 and decrement error count by 1 for each converted message.
💻 Technical Criteria
Given Error messages have been evaluated and potentially converted to warnings
When The system finalizes message counts for reporting
Then Increment warning count by 1 and decrement error count by 1 for each converted message
R-GCX003-cbl-00853 Convert Error Messages to Warning Messages
Decision Rules
📊 Business Logic Narrative
When the process 'Convert Error Messages to Warning Messages' is invoked, and assuming that train manifest processing has both errors and spawn messages, when the system processes spawn-related messages for final reporting, the desired outcome is that convert diversion spawn messages to message type 19 and it export spawn messages to message type 18, then add spawn count to warning count.
💻 Technical Criteria
Given Train manifest processing has both errors and spawn messages
When The system processes spawn-related messages for final reporting
Then Convert diversion spawn messages to message type 19 and IT export spawn messages to message type 18, then add spawn count to warning count
R-GCX003-cbl-00854 Generate Report Header with Status
Process Rules
📊 Business Logic Narrative
When the process 'Generate Report Header with Status' is invoked, and assuming that all processing result classifications and message counts have been determined, when the system generates the final report header, the desired outcome is that create report header line 4 with train id, eta information, and set the appropriate result status (sent, not sent, or aborted) with final warning and error counts.
💻 Technical Criteria
Given All processing result classifications and message counts have been determined
When The system generates the final report header
Then Create report header line 4 with train ID, ETA information, and set the appropriate result status (SENT, NOT SENT, or ABORTED) with final warning and error counts
R-GCX003-cbl-00855 Add Line to Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Add Line to Email Message' is invoked, and assuming that a report line exists to be processed for email transmission, when the system processes the report line for email inclusion, the desired outcome is that the report line is added to the email message buffer and the line counter is incremented by 1.
💻 Technical Criteria
Given A report line exists to be processed for email transmission
When The system processes the report line for email inclusion
Then The report line is added to the email message buffer and the line counter is incremented by 1
R-GCX003-cbl-00857 Send Current Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Current Email Batch' is invoked, and assuming that an email message buffer contains 699 or more lines of report data, when the batch size limit is reached, the desired outcome is that the email is sent using emcsend3 service, the message buffer is cleared, and the line counter is reset to zero.
💻 Technical Criteria
Given An email message buffer contains 699 or more lines of report data
When The batch size limit is reached
Then The email is sent using EMCSEND3 service, the message buffer is cleared, and the line counter is reset to zero
R-GCX003-cbl-00858 Add Continuation Header
Process Rules
📊 Business Logic Narrative
When the process 'Add Continuation Header' is invoked, and assuming that a new email batch is being prepared after sending a previous batch, when the system initializes the continuation email, the desired outcome is that a continuation message 'continuation of report ....' is added as the first line, followed by report detail headers, and the line counter is incremented by 3.
💻 Technical Criteria
Given A new email batch is being prepared after sending a previous batch
When The system initializes the continuation email
Then A continuation message 'CONTINUATION OF REPORT ....' is added as the first line, followed by report detail headers, and the line counter is incremented by 3
R-GCX003-cbl-00859 Send Final Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Final Email Batch' is invoked, and assuming that all report lines have been processed and there is remaining content in the email buffer, when no more report lines exist to process, the desired outcome is that the final email batch is sent using emcsend3 service with all remaining accumulated content.
💻 Technical Criteria
Given All report lines have been processed and there is remaining content in the email buffer
When No more report lines exist to process
Then The final email batch is sent using EMCSEND3 service with all remaining accumulated content
R-GCX003-cbl-00860 More Report Lines to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Report Lines to Process?' is invoked, and assuming that the system is iterating through report lines for email processing, when the system checks for more lines to process, the desired outcome is that processing continues if the current line contains data and the maximum line limit has not been exceeded, otherwise processing stops.
💻 Technical Criteria
Given The system is iterating through report lines for email processing
When The system checks for more lines to process
Then Processing continues if the current line contains data and the maximum line limit has not been exceeded, otherwise processing stops
R-GCX003-cbl-00861 Is AEI Train Send?
Decision Rules
📊 Business Logic Narrative
When the process 'Is AEI Train Send?' is invoked, and assuming that a train report distribution process is initiated, when the system checks if aei train send flag is set to yes, the desired outcome is that the system processes aei send report if flag is yes, otherwise continues with standard report distribution.
💻 Technical Criteria
Given A train report distribution process is initiated
When The system checks if AEI train send flag is set to YES
Then The system processes AEI send report if flag is YES, otherwise continues with standard report distribution
R-GCX003-cbl-00863 Request Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Request Action Type?' is invoked, and assuming that a report is being prepared for distribution, when the system evaluates the request action type and error append status, the desired outcome is that the system sets train error type if error append is true, train sent type if action is send, or train report type if action is report.
💻 Technical Criteria
Given A report is being prepared for distribution
When The system evaluates the request action type and error append status
Then The system sets train error type if error append is true, train sent type if action is send, or train report type if action is report
R-GCX003-cbl-00864 Report Display Mode?
Decision Rules
📊 Business Logic Narrative
When the process 'Report Display Mode?' is invoked, and assuming that a report is ready for transmission to the originator, when the system checks the report display mode setting, the desired outcome is that the system sends all report lines if set to all report mode, otherwise sends summary based on warning status.
💻 Technical Criteria
Given A report is ready for transmission to the originator
When The system checks the report display mode setting
Then The system sends all report lines if set to all report mode, otherwise sends summary based on warning status
R-GCX003-cbl-00865 Has Warnings?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Warnings?' is invoked, and assuming that a summary report mode is selected and report content needs to be determined, when the system checks if the report contains warning messages, the desired outcome is that the system sends only header lines if no warnings exist, otherwise sends header plus all warning message lines.
💻 Technical Criteria
Given A summary report mode is selected and report content needs to be determined
When The system checks if the report contains warning messages
Then The system sends only header lines if no warnings exist, otherwise sends header plus all warning message lines
R-GCX003-cbl-00866 Send Report Header Line
Process Rules
📊 Business Logic Narrative
When the process 'Send Report Header Line' is invoked, and assuming that a report type has been determined and destination terminal is set, when the system initiates report transmission, the desired outcome is that the system sends the report header line containing report identification and formatting information.
💻 Technical Criteria
Given A report type has been determined and destination terminal is set
When The system initiates report transmission
Then The system sends the report header line containing report identification and formatting information
R-GCX003-cbl-00867 Send All Report Lines
Process Rules
📊 Business Logic Narrative
When the process 'Send All Report Lines' is invoked, and assuming that report display mode is set to all report and header has been sent, when the system processes report line transmission, the desired outcome is that the system iterates through and sends every report line from first line to last line.
💻 Technical Criteria
Given Report display mode is set to all report and header has been sent
When The system processes report line transmission
Then The system iterates through and sends every report line from first line to last line
R-GCX003-cbl-00868 Send Header Lines Only
Process Rules
📊 Business Logic Narrative
When the process 'Send Header Lines Only' is invoked, and assuming that summary report mode is selected and no warning messages exist, when the system determines report content to transmit, the desired outcome is that the system sends only the first four header lines containing basic report information.
💻 Technical Criteria
Given Summary report mode is selected and no warning messages exist
When The system determines report content to transmit
Then The system sends only the first four header lines containing basic report information
R-GCX003-cbl-00869 Send Warning Messages Only
Process Rules
📊 Business Logic Narrative
When the process 'Send Warning Messages Only' is invoked, and assuming that summary report mode is selected and warning messages exist, when the system scans through report lines to identify warnings, the desired outcome is that the system processes each warning message line and its preceding context line for transmission.
💻 Technical Criteria
Given Summary report mode is selected and warning messages exist
When The system scans through report lines to identify warnings
Then The system processes each warning message line and its preceding context line for transmission
R-GCX003-cbl-00870 Send Report Wrap Command
Process Rules
📊 Business Logic Narrative
When the process 'Send Report Wrap Command' is invoked, and assuming that all required report content has been transmitted to the destination terminal, when the system completes report line transmission, the desired outcome is that the system sends a wrap command with user function code to properly terminate the report session.
💻 Technical Criteria
Given All required report content has been transmitted to the destination terminal
When The system completes report line transmission
Then The system sends a wrap command with user function code to properly terminate the report session
R-GCX003-cbl-00876 Load Report Lines into Email
Process Rules
📊 Business Logic Narrative
When the process 'Load Report Lines into Email' is invoked, and assuming that report lines are available from train processing results, when the system loads report content into email message, the desired outcome is that each report line is copied to email text lines sequentially, with line counter incremented, and email-more flag set to true.
💻 Technical Criteria
Given Report lines are available from train processing results
When The system loads report content into email message
Then Each report line is copied to email text lines sequentially, with line counter incremented, and email-more flag set to true
R-GCX003-cbl-00877 Email Size Limit Reached?
Decision Rules
📊 Business Logic Narrative
When the process 'Email Size Limit Reached?' is invoked, and assuming that report lines are being loaded into email message, when the email line count exceeds 699 lines, the desired outcome is that the system sets no-more-email flag, sends current email batch, clears email text, resets line counter to 1, and adds continuation header lines.
💻 Technical Criteria
Given Report lines are being loaded into email message
When The email line count exceeds 699 lines
Then The system sets no-more-email flag, sends current email batch, clears email text, resets line counter to 1, and adds continuation header lines
R-GCX003-cbl-00878 Send Current Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Current Email Batch' is invoked, and assuming that email content is prepared with recipients, subject, and message text, when the system sends the email batch, the desired outcome is that the email is transmitted to inbox destination using sender id, recipient list, subject line, and message content through the email service.
💻 Technical Criteria
Given Email content is prepared with recipients, subject, and message text
When The system sends the email batch
Then The email is transmitted to inbox destination using sender ID, recipient list, subject line, and message content through the email service
R-GCX003-cbl-00879 Send Error Notification to Support
Decision Rules
📊 Business Logic Narrative
When the process 'Send Error Notification to Support' is invoked, and assuming that an aei email send operation fails, when the system detects email transmission failure, the desired outcome is that the system clears recipient list, sets aei9999 and om01247 as error recipients, and attempts to send error notification using the same email service.
💻 Technical Criteria
Given An AEI email send operation fails
When The system detects email transmission failure
Then The system clears recipient list, sets AEI9999 and OM01247 as error recipients, and attempts to send error notification using the same email service
R-GCX003-cbl-00889 Record US Customs Train ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Record US Customs Train ID' is invoked, and assuming that an aei train send operation has been completed for a specific train, when the activity log record is being populated with train information, the desired outcome is that the us customs train id from the train list is recorded in the log as the train identifier.
💻 Technical Criteria
Given An AEI train send operation has been completed for a specific train
When The activity log record is being populated with train information
Then The US Customs Train ID from the train list is recorded in the log as the train identifier
R-GCX003-cbl-00898 Move US Customs Train ID to GCX141 Train ID
Process Rules
📊 Business Logic Narrative
When the process 'Move US Customs Train ID to GCX141 Train ID' is invoked, and assuming that a train list contains a valid us customs train id, when a canadian export message is being prepared for that train, the desired outcome is that the us customs train id is copied to the gcx141 train id field.
💻 Technical Criteria
Given A train list contains a valid US customs train ID
When A Canadian export message is being prepared for that train
Then The US customs train ID is copied to the GCX141 train ID field
R-GCX003-cbl-00901 Insert GCX141 Message to Queue
Action Rules
📊 Business Logic Narrative
When the process 'Insert GCX141 Message to Queue' is invoked, and assuming that a complete canadian export message is prepared in the output text field, when the message needs to be queued for processing, the desired outcome is that the gcx141 message is inserted into the processing queue via z750-isrt-gcx141-msg procedure.
💻 Technical Criteria
Given A complete Canadian export message is prepared in the output text field
When The message needs to be queued for processing
Then The GCX141 message is inserted into the processing queue via Z750-ISRT-GCX141-MSG procedure
R-GCX003-cbl-00902 Check Location
Decision Rules
📊 Business Logic Narrative
When the process 'Check Location' is invoked, and assuming that a train export request is being processed, when the system checks the train crossing location, the desired outcome is that enhanced report generation is enabled only for laredo tx station, otherwise the process is skipped.
💻 Technical Criteria
Given A train export request is being processed
When The system checks the train crossing location
Then Enhanced report generation is enabled only for Laredo TX station, otherwise the process is skipped
R-GCX003-cbl-00906 Line Count > 699?
Process Rules
📊 Business Logic Narrative
When the process 'Line Count > 699?' is invoked, and assuming that enhanced report lines are being processed for email transmission, when the line count reaches 699 lines, the desired outcome is that the current email batch is sent, email buffer is reset, continuation header is added, and processing continues with remaining lines.
💻 Technical Criteria
Given Enhanced report lines are being processed for email transmission
When The line count reaches 699 lines
Then The current email batch is sent, email buffer is reset, continuation header is added, and processing continues with remaining lines
R-GCX003-cbl-00907 Send Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Email Batch' is invoked, and assuming that enhanced report content is ready for transmission, when the system sends the email batch, the desired outcome is that email is sent to om01247 usercode with 80-character line width and appropriate subject line containing train id.
💻 Technical Criteria
Given Enhanced report content is ready for transmission
When The system sends the email batch
Then Email is sent to OM01247 usercode with 80-character line width and appropriate subject line containing train ID
R-GCX003-cbl-00908 Handle Email Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Email Error' is invoked, and assuming that enhanced report email transmission fails, when the email send operation is unsuccessful, the desired outcome is that the system terminates processing with error message 'send to file of om01247 failed'.
💻 Technical Criteria
Given Enhanced report email transmission fails
When The email send operation is unsuccessful
Then The system terminates processing with error message 'SEND TO FILE OF OM01247 FAILED'
R-GCX003-cbl-00909 Call GCX904R for Pre-Exit PDF
Action Rules
📊 Business Logic Narrative
When the process 'Call GCX904R for Pre-Exit PDF' is invoked, and assuming that a train export report has been processed and report data is available, when the system initiates pdf report generation for pre-exit documentation, the desired outcome is that the system should prepare report data, set report title to 'pre-exit report', set report type to 'export', configure pdf line length to 80 characters, calculate total number of report lines, and call gcx904r module to generate the pdf report.
💻 Technical Criteria
Given A train export report has been processed and report data is available
When The system initiates PDF report generation for pre-exit documentation
Then The system should prepare report data, set report title to 'Pre-Exit Report', set report type to 'EXPORT', configure PDF line length to 80 characters, calculate total number of report lines, and call GCX904R module to generate the PDF report
R-GCX003-cbl-00910 Laredo TX Station?
Decision Rules
📊 Business Logic Narrative
When the process 'Laredo TX Station?' is invoked, and assuming that a pre-exit pdf report has been generated, when the system checks if the current station is laredo tx station, the desired outcome is that if the station is laredo tx, the system should proceed to generate an enhanced report format, otherwise pdf generation should be marked as complete.
💻 Technical Criteria
Given A pre-exit PDF report has been generated
When The system checks if the current station is Laredo TX station
Then If the station is Laredo TX, the system should proceed to generate an enhanced report format, otherwise PDF generation should be marked as complete
R-GCX003-cbl-00911 Call GCX904R for Enhanced PDF
Action Rules
📊 Business Logic Narrative
When the process 'Call GCX904R for Enhanced PDF' is invoked, and assuming that the processing station is laredo tx and pre-exit pdf has been generated, when the system initiates enhanced pdf report generation, the desired outcome is that the system should prepare enhanced report data, set report title to 'export train report', maintain report type as 'export', configure pdf line length to 132 characters, calculate enhanced report line count, and call gcx904r module to generate the enhanced pdf report.
💻 Technical Criteria
Given The processing station is Laredo TX and pre-exit PDF has been generated
When The system initiates enhanced PDF report generation
Then The system should prepare enhanced report data, set report title to 'Export Train Report', maintain report type as 'EXPORT', configure PDF line length to 132 characters, calculate enhanced report line count, and call GCX904R module to generate the enhanced PDF report
R-GCX003-cbl-00912 Prepare Pre-Exit Report Data
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Pre-Exit Report Data' is invoked, and assuming that train processing has completed and report generation is requested, when the system prepares data for pdf report creation, the desired outcome is that the system should extract train id for report identification, use email subject line as pdf subject, format report content for pdf output, and include report statistics with line count calculations.
💻 Technical Criteria
Given Train processing has completed and report generation is requested
When The system prepares data for PDF report creation
Then The system should extract train ID for report identification, use email subject line as PDF subject, format report content for PDF output, and include report statistics with line count calculations
R-GCX003-cbl-00916 Automation Flag = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Automation Flag = 'Y'?' is invoked, and assuming that a port record retrieved from reference table with automation flag, when the automation flag is evaluated, the desired outcome is that if flag equals 'y' then classify as automated, otherwise classify as paper.
💻 Technical Criteria
Given A port record retrieved from reference table with automation flag
When The automation flag is evaluated
Then If flag equals 'Y' then classify as AUTOMATED, otherwise classify as PAPER
R-GCX003-cbl-00917 Set Port as PAPER
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Port as PAPER', assuming that a port that is either not found in reference table or has automation flag not equal to 'y', when port classification is being determined, the desired outcome is that the port is classified as paper.
💻 Technical Criteria
EXCLUDING A port that is either not found in reference table or has automation flag not equal to 'Y'
When Port classification is being determined
Then The port is classified as PAPER
R-GCX003-cbl-00931 Is Message Line?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Message Line?' is invoked, and assuming that a report line has been added to the report at a specific index position, when the system checks if the line contains a message using the message line indicator, the desired outcome is that the system identifies whether the line is a message line that requires classification or a regular report line that should be skipped for message counting.
💻 Technical Criteria
Given A report line has been added to the report at a specific index position
When The system checks if the line contains a message using the message line indicator
Then The system identifies whether the line is a message line that requires classification or a regular report line that should be skipped for message counting
R-GCX003-cbl-00932 Is Spawn Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Spawn Message?' is invoked, and assuming that a message line has been identified in the report, when the system checks if the message is a spawn message type, the desired outcome is that if it is a spawn message, skip the message counting process and proceed to increment report index, otherwise continue with message classification.
💻 Technical Criteria
Given A message line has been identified in the report
When The system checks if the message is a spawn message type
Then If it is a spawn message, skip the message counting process and proceed to increment report index, otherwise continue with message classification
R-GCX003-cbl-00933 Increment Error Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Error Count' is invoked, and assuming that a non-spawn message line has been identified, when the message type is classified as an error message, the desired outcome is that the system increments the error count by 1 for report statistics.
💻 Technical Criteria
Given A non-spawn message line has been identified
When The message type is classified as an error message
Then The system increments the error count by 1 for report statistics
R-GCX003-cbl-00935 Increment Warning Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Warning Count' is invoked, and assuming that a non-spawn message line has been identified, when the message type is classified as a warning message, the desired outcome is that the system increments the warning count by 1 for report statistics.
💻 Technical Criteria
Given A non-spawn message line has been identified
When The message type is classified as a warning message
Then The system increments the warning count by 1 for report statistics
R-GCX003-cbl-00937 Increment Info Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Info Count' is invoked, and assuming that a non-spawn message line has been identified, when the message type is classified as an informational message, the desired outcome is that the system increments the information count by 1 for report statistics.
💻 Technical Criteria
Given A non-spawn message line has been identified
When The message type is classified as an informational message
Then The system increments the information count by 1 for report statistics
R-GCX003-cbl-00938 Increment Report Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Report Index' is invoked, and assuming that a report line has been processed (either message classified or non-message line handled), when the system completes processing of the current report line, the desired outcome is that the system increments the report index by 1 to move to the next report line position.
💻 Technical Criteria
Given A report line has been processed (either message classified or non-message line handled)
When The system completes processing of the current report line
Then The system increments the report index by 1 to move to the next report line position
R-GCX003-cbl-00939 Report Maximum Reached?
Validation Rules
📊 Business Logic Narrative
When the process 'Report Maximum Reached?' is invoked, and assuming that the report index has been incremented to the next position, when the system checks if the report has reached its maximum capacity, the desired outcome is that if maximum capacity is reached, set an overflow message indicator, otherwise continue normal processing.
💻 Technical Criteria
Given The report index has been incremented to the next position
When The system checks if the report has reached its maximum capacity
Then If maximum capacity is reached, set an overflow message indicator, otherwise continue normal processing
R-GCX003-cbl-00940 Set Overflow Message
Action Rules
📊 Business Logic Narrative
When the process 'Set Overflow Message' is invoked, and assuming that the report has reached its maximum capacity, when the system detects report overflow condition, the desired outcome is that the system sets message type 9 (overflow message) at the current report index position to indicate report truncation.
💻 Technical Criteria
Given The report has reached its maximum capacity
When The system detects report overflow condition
Then The system sets message type 9 (overflow message) at the current report index position to indicate report truncation
R-GCX003-cbl-00941 Initialize Email Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Email Parameters' is invoked, and assuming that an email report needs to be sent with pagination support, when the email report process begins, the desired outcome is that email parameters are initialized with default usercode, destination filename, subject, keywords, item specifications, and return status flag are cleared.
💻 Technical Criteria
Given An email report needs to be sent with pagination support
When The email report process begins
Then Email parameters are initialized with default usercode, destination filename, subject, keywords, item specifications, and return status flag are cleared
R-GCX003-cbl-00943 Set Email Status to More Email
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Status to More Email' is invoked, and assuming that email report processing is active with lines to send, when email status needs to be set for active processing, the desired outcome is that email status is set to 'more email' indicating active processing state.
💻 Technical Criteria
Given Email report processing is active with lines to send
When Email status needs to be set for active processing
Then Email status is set to 'More Email' indicating active processing state
R-GCX003-cbl-00944 Add Line to Email Message
Process Rules
📊 Business Logic Narrative
When the process 'Add Line to Email Message' is invoked, and assuming that a report line exists in the report table and email message buffer has capacity, when a report line needs to be added to the email, the desired outcome is that the report line is moved to the email text message line at the current line position.
💻 Technical Criteria
Given A report line exists in the report table and email message buffer has capacity
When A report line needs to be added to the email
Then The report line is moved to the email text message line at the current line position
R-GCX003-cbl-00948 Send Current Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Current Email Batch' is invoked, and assuming that an email batch is ready for transmission with accumulated report lines, when email batch sending is triggered, the desired outcome is that the email is sent using emcsend3 with all configured parameters and accumulated message lines.
💻 Technical Criteria
Given An email batch is ready for transmission with accumulated report lines
When Email batch sending is triggered
Then The email is sent using EMCSEND3 with all configured parameters and accumulated message lines
R-GCX003-cbl-00951 Add Continuation Header Line
Process Rules
📊 Business Logic Narrative
When the process 'Add Continuation Header Line' is invoked, and assuming that a new email batch is starting after reaching line limits, when continuation header needs to be added, the desired outcome is that the message 'continuation of report ....' is added as the first line of the new email batch.
💻 Technical Criteria
Given A new email batch is starting after reaching line limits
When Continuation header needs to be added
Then The message 'CONTINUATION OF REPORT ....' is added as the first line of the new email batch
R-GCX003-cbl-00952 Add Report Detail Headers
Process Rules
📊 Business Logic Narrative
When the process 'Add Report Detail Headers' is invoked, and assuming that a continuation email batch is being prepared, when report structure headers need to be included, the desired outcome is that report detail header lines are added to the email message to maintain column structure.
💻 Technical Criteria
Given A continuation email batch is being prepared
When Report structure headers need to be included
Then Report detail header lines are added to the email message to maintain column structure
R-GCX003-cbl-00954 More Lines to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Lines to Process?' is invoked, and assuming that email processing is in progress, when system needs to determine if more lines exist to process, the desired outcome is that if more report lines exist, continue processing loop, otherwise proceed to send final email batch.
💻 Technical Criteria
Given Email processing is in progress
When System needs to determine if more lines exist to process
Then If more report lines exist, continue processing loop, otherwise proceed to send final email batch
R-GCX003-cbl-00955 Send Final Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Final Email Batch' is invoked, and assuming that all report lines have been processed and final email batch is ready, when final email transmission is required, the desired outcome is that the final email batch is sent using emcsend3 with all remaining accumulated message lines.
💻 Technical Criteria
Given All report lines have been processed and final email batch is ready
When Final email transmission is required
Then The final email batch is sent using EMCSEND3 with all remaining accumulated message lines
R-GCX003-cbl-00957 Build Database Key with Train Origin Location
Process Rules
📊 Business Logic Narrative
When the process 'Build Database Key with Train Origin Location' is invoked, and assuming that train origin location is available in request, when system needs to query email distribution database, the desired outcome is that database record key is populated with train origin location in first 4 positions.
💻 Technical Criteria
Given Train origin location is available in request
When System needs to query email distribution database
Then Database record key is populated with train origin location in first 4 positions
R-GCX003-cbl-00971 Set Support Team as Recipient
Action Rules
📊 Business Logic Narrative
When the process 'Set Support Team as Recipient' is invoked, and assuming that a database error has been detected, when the system prepares error notification, the desired outcome is that the email recipient should be set to the support team identifier and the sender should be set to the default merlin id.
💻 Technical Criteria
Given A database error has been detected
When The system prepares error notification
Then The email recipient should be set to the support team identifier and the sender should be set to the default Merlin ID
R-GCX003-cbl-00973 Set Email Destination to Support Inbox
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Destination to Support Inbox' is invoked, and assuming that an error notification email is being prepared, when the system configures the email delivery settings, the desired outcome is that the email destination should be set to the support inbox and email parameters should be initialized for sending.
💻 Technical Criteria
Given An error notification email is being prepared
When The system configures the email delivery settings
Then The email destination should be set to the support inbox and email parameters should be initialized for sending
R-GCX003-cbl-00974 Email Send Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Email Send Successful?' is invoked, and assuming that an error notification email has been sent to the support team, when the system checks the email delivery status, the desired outcome is that if the email delivery fails, the system should trigger an abend condition, otherwise it should purge the email transaction and continue processing.
💻 Technical Criteria
Given An error notification email has been sent to the support team
When The system checks the email delivery status
Then If the email delivery fails, the system should trigger an abend condition, otherwise it should purge the email transaction and continue processing
R-GCX003-cbl-01077 Parse Routing Fields into Structured Format
Process Rules
📊 Business Logic Narrative
When the process 'Parse Routing Fields into Structured Format' is invoked, and assuming that raw routing information has been extracted from the database, when system processes the routing information string, the desired outcome is that parse into structured fields including scac codes, junction points, and route segments up to 4 routing entries.
💻 Technical Criteria
Given Raw routing information has been extracted from the database
When System processes the routing information string
Then Parse into structured fields including SCAC codes, junction points, and route segments up to 4 routing entries
R-GCX003-cbl-01125 Generate Report-Only Message
Process Rules
📊 Business Logic Narrative
When the process 'Generate Report-Only Message' is invoked, and assuming that special manifest processing is required, when the request action is report instead of send, the desired outcome is that the system should generate appropriate report messages (18, 19, 24, 50) without creating special manifests.
💻 Technical Criteria
Given Special manifest processing is required
When The request action is REPORT instead of SEND
Then The system should generate appropriate report messages (18, 19, 24, 50) without creating special manifests
R-GCX003-cbl-01159 Extract FIRMS Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract FIRMS Code' is invoked, and assuming that station record contains customs-related codes, when the system processes customs information, the desired outcome is that the firms code is extracted from the station record.
💻 Technical Criteria
Given Station record contains customs-related codes
When The system processes customs information
Then The FIRMS code is extracted from the station record

🔁 EDI, Status & Database 332 logic blocks
R-GCX003-cbl-00002 2:User Security Validation
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '2:User Security Validation', assuming that a user attempts to process a train request with their acf2 user id, when the user's scac access is invalid and the request is not an aei train send request, the desired outcome is that generate error message 14 (access denied) and set user access flag to no.
💻 Technical Criteria
EXCLUDING A user attempts to process a train request with their ACF2 user ID
When The user's SCAC access is invalid AND the request is not an AEI train send request
Then Generate error message 14 (access denied) and set user access flag to NO
R-GCX003-cbl-00003 2:User Security Validation
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '2:User Security Validation', assuming that a user requests to send a train manifest, when the user's utf authorization is not 'u' or 's' and the request is not an aei train send request, the desired outcome is that generate error message 13 (insufficient authorization) and set user access flag to no.
💻 Technical Criteria
EXCLUDING A user requests to send a train manifest
When The user's UTF authorization is not 'U' or 'S' AND the request is not an AEI train send request
Then Generate error message 13 (insufficient authorization) and set user access flag to NO
R-GCX003-cbl-00004 2:User Security Validation
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '2:User Security Validation', assuming that a user requests to send a train manifest that requires special manifest processing, when the user's special manifest authorization is not 's' and the request is not an aei train send request, the desired outcome is that set user not authorized for special manifest flag to true.
💻 Technical Criteria
EXCLUDING A user requests to send a train manifest that requires special manifest processing
When The user's special manifest authorization is not 'S' AND the request is not an AEI train send request
Then Set user not authorized for special manifest flag to TRUE
R-GCX003-cbl-00005 3:Train Origin Validation
Validation Rules
📊 Business Logic Narrative
When the process '3:Train Origin Validation' is invoked, and assuming that a train request is being processed, when the train origin field is blank or spaces, the desired outcome is that generate error message 2 (missing train origin) and exit validation.
💻 Technical Criteria
Given A train request is being processed
When The train origin field is blank or spaces
Then Generate error message 2 (missing train origin) and exit validation
R-GCX003-cbl-00006 3:Train Origin Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '3:Train Origin Validation', assuming that a train origin is provided, when the origin is not found in station code table or the us station code is blank, the desired outcome is that generate error message 2 (invalid train origin).
💻 Technical Criteria
EXCLUDING A train origin is provided
When The origin is not found in station code table OR the US station code is blank
Then Generate error message 2 (invalid train origin)
R-GCX003-cbl-00007 4:Estimated Time of Arrival Validation
Validation Rules
📊 Business Logic Narrative
When the process '4:Estimated Time of Arrival Validation' is invoked, and assuming that a train request includes an eta date, when the eta date equals '000000', the desired outcome is that generate error message 3 (invalid eta date) and exit validation.
💻 Technical Criteria
Given A train request includes an ETA date
When The ETA date equals '000000'
Then Generate error message 3 (invalid ETA date) and exit validation
R-GCX003-cbl-00008 4:Estimated Time of Arrival Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '4:Estimated Time of Arrival Validation', assuming that an eta date and time are provided, when the date conversion fails or eta time is not numeric or hour is not 00-23 or minute is not 00-59, the desired outcome is that generate error message 3 (invalid eta format).
💻 Technical Criteria
EXCLUDING An ETA date and time are provided
When The date conversion fails OR ETA time is not numeric OR hour is not 00-23 OR minute is not 00-59
Then Generate error message 3 (invalid ETA format)
R-GCX003-cbl-00009 4:Estimated Time of Arrival Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '4:Estimated Time of Arrival Validation', assuming that a valid eta date is provided and user authorization level is determined, when for 's' authorization: eta is not within 30 days before to 5 days after current date, or for other users: eta is not within 2 days before to 2 days after current date, the desired outcome is that generate error message 4 (for 's' users) or message 21 (for other users).
💻 Technical Criteria
EXCLUDING A valid ETA date is provided and user authorization level is determined
When For 'S' authorization: ETA is not within 30 days before to 5 days after current date, OR For other users: ETA is not within 2 days before to 2 days after current date
Then Generate error message 4 (for 'S' users) or message 21 (for other users)
R-GCX003-cbl-00040 37:AEI Activity Logging
Process Rules
📊 Business Logic Narrative
When the process '37:AEI Activity Logging' is invoked, and assuming that aei train processing is completed, when logging aei activity, the desired outcome is that create log entry with train id, user id, date/time, action code 'zzz', and aei send message.
💻 Technical Criteria
Given AEI train processing is completed
When Logging AEI activity
Then Create log entry with train ID, user ID, date/time, action code 'ZZZ', and AEI send message
R-GCX003-cbl-00051 45:Database Rollback Processing
Process Rules
📊 Business Logic Narrative
When the process '45:Database Rollback Processing' is invoked, and assuming that processing errors occur that require rollback, when performing rollback, the desired outcome is that execute database rollback operation to undo all changes made during current transaction.
💻 Technical Criteria
Given Processing errors occur that require rollback
When Performing rollback
Then Execute database rollback operation to undo all changes made during current transaction
R-GCX003-cbl-00053 More Input Messages Available?
Decision Rules
📊 Business Logic Narrative
When the process 'More Input Messages Available?' is invoked, and assuming that the system has attempted to read an input message, when the system checks the message availability status, the desired outcome is that processing continues if messages are available, otherwise the processing loop terminates.
💻 Technical Criteria
Given The system has attempted to read an input message
When The system checks the message availability status
Then Processing continues if messages are available, otherwise the processing loop terminates
R-GCX003-cbl-00060 Read Next Input Message
Process Rules
📊 Business Logic Narrative
When the process 'Read Next Input Message' is invoked, and assuming that current request processing has been terminated, when the system attempts to read the next message, the desired outcome is that the next input message is read and message availability status is updated for the next loop iteration.
💻 Technical Criteria
Given Current request processing has been terminated
When The system attempts to read the next message
Then The next input message is read and message availability status is updated for the next loop iteration
R-GCX003-cbl-00062 Check SCAC Access Permission
Authorization Rules
📊 Business Logic Narrative
When the process 'Check SCAC Access Permission' is invoked, and assuming that a user with acf2 id attempts to access train processing functionality, when the system checks scac access permission and the request is an aei train request, the desired outcome is that access is granted even if scac access is invalid, but for non-aei requests with invalid scac access, user access is denied and error message 14 is generated.
💻 Technical Criteria
Given A user with ACF2 ID attempts to access train processing functionality
When The system checks SCAC access permission and the request is an AEI train request
Then Access is granted even if SCAC access is invalid, but for non-AEI requests with invalid SCAC access, user access is denied and error message 14 is generated
R-GCX003-cbl-00063 Retrieve User Profile from Security Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve User Profile from Security Table' is invoked, and assuming that a valid acf2 user id is available, when the system queries the user security table, the desired outcome is that if user profile is found, the profile data is loaded for further validation, otherwise processing continues with default permissions.
💻 Technical Criteria
Given A valid ACF2 user ID is available
When The system queries the user security table
Then If user profile is found, the profile data is loaded for further validation, otherwise processing continues with default permissions
R-GCX003-cbl-00064 Validate User Train Send Authority
Authorization Rules
📊 Business Logic Narrative
When the process 'Validate User Train Send Authority' is invoked, and assuming that a user profile exists and the request action is send, when the system checks the user's train send authority flag, the desired outcome is that if user has 'u' or 's' authorization or the request is an aei train send, access is granted, otherwise error message 13 is generated and access is denied.
💻 Technical Criteria
Given A user profile exists and the request action is SEND
When The system checks the user's train send authority flag
Then If user has 'U' or 'S' authorization or the request is an AEI train send, access is granted, otherwise error message 13 is generated and access is denied
R-GCX003-cbl-00065 Check Special Manifest Authorization
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Special Manifest Authorization', assuming that a user has valid send authority and the request is not an aei train send, when the system checks the user's special manifest authorization flag, the desired outcome is that if user does not have 's' authorization for special manifests, the special manifest flag is set to indicate restricted access.
💻 Technical Criteria
EXCLUDING A user has valid send authority and the request is not an AEI train send
When The system checks the user's special manifest authorization flag
Then If user does not have 'S' authorization for special manifests, the special manifest flag is set to indicate restricted access
R-GCX003-cbl-01183 SCAC Access Valid?
Authorization Rules
📊 Business Logic Narrative
When the process 'SCAC Access Valid?' is invoked, and assuming that a user with acf2 user id attempts to access train processing functionality, when the system validates scac access permission for canadian pacific (cst-cp-scac) through gccscac security module, the desired outcome is that if scac access is invalid and it is not an aei train send request, then set access denied message and deny user access.
💻 Technical Criteria
Given A user with ACF2 user ID attempts to access train processing functionality
When The system validates SCAC access permission for Canadian Pacific (CST-CP-SCAC) through GCCSCAC security module
Then If SCAC access is invalid AND it is not an AEI train send request, then set access denied message and deny user access
R-GCX003-cbl-01184 AEI Train Send Request?
Policy Rules
📊 Business Logic Narrative
When the process 'AEI Train Send Request?' is invoked, and assuming that a user has invalid scac access permission, when the request type equals aei request type (aei-train-send-yes is true), the desired outcome is that allow the user to continue processing despite invalid scac access.
💻 Technical Criteria
Given A user has invalid SCAC access permission
When The request type equals AEI request type (AEI-TRAIN-SEND-YES is true)
Then Allow the user to continue processing despite invalid SCAC access
R-GCX003-cbl-01185 User Profile Found?
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'User Profile Found?', assuming that a user has valid scac access or aei exception applies, when the system searches for user security profile in gcstbrt table using acf2 user id, the desired outcome is that if profile is found, load user security settings; otherwise set default security settings to spaces.
💻 Technical Criteria
EXCLUDING A user has valid SCAC access or AEI exception applies
When The system searches for user security profile in GCSTBRT table using ACF2 user ID
Then If profile is found, load user security settings; otherwise set default security settings to spaces
R-GCX003-cbl-01186 User Has Send Permission?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Has Send Permission?' is invoked, and assuming that a user requests to perform a send action (req-action-send is true), when the system checks user's utf-add permission in security profile, the desired outcome is that if user does not have 'u' or 's' authorization and it is not an aei train send request, then set send permission denied message and deny access.
💻 Technical Criteria
Given A user requests to perform a send action (REQ-ACTION-SEND is true)
When The system checks user's UTF-ADD permission in security profile
Then If user does not have 'U' or 'S' authorization AND it is not an AEI train send request, then set send permission denied message and deny access
R-GCX003-cbl-01187 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifests?' is invoked, and assuming that a user has valid send permissions and no errors have occurred, when the system checks user's utf-spec-mani permission for special manifest authorization, the desired outcome is that if user does not have 's' authorization and it is not an aei train send request, then set user not authorized for special manifest flag.
💻 Technical Criteria
Given A user has valid send permissions and no errors have occurred
When The system checks user's UTF-SPEC-MANI permission for special manifest authorization
Then If user does not have 'S' authorization AND it is not an AEI train send request, then set user not authorized for special manifest flag
R-GCX003-cbl-01535 User Has Special Manifest Authority?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'User Has Special Manifest Authority?', assuming that a user has valid send action permissions and no errors have occurred, when the user's utf special manifest authority is not 's' and the request is not an aei train send request, the desired outcome is that the system should set the user as not authorized for special manifest processing.
💻 Technical Criteria
EXCLUDING A user has valid send action permissions and no errors have occurred
When The user's UTF special manifest authority is not 'S' AND the request is not an AEI train send request
Then The system should set the user as not authorized for special manifest processing
R-GCX003-cbl-01665 SCAC Access Valid?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'SCAC Access Valid?', assuming that a user attempts to process a train request with their acf2 user id and the system needs to validate scac access for cp (canadian pacific) operations, when the system calls gccscac to validate scac access and the validation returns scac-access-invalid flag and the request is not an aei train send request, the desired outcome is that the system sets user access to denied, generates error message fourteen, and prevents further processing.
💻 Technical Criteria
EXCLUDING A user attempts to process a train request with their ACF2 user ID and the system needs to validate SCAC access for CP (Canadian Pacific) operations
When The system calls GCCSCAC to validate SCAC access and the validation returns SCAC-ACCESS-INVALID flag and the request is not an AEI train send request
Then The system sets user access to denied, generates error message fourteen, and prevents further processing
R-GCX003-cbl-01668 AEI Train Send Request?
Authorization Rules
📊 Business Logic Narrative
When the process 'AEI Train Send Request?' is invoked, and assuming that a user lacks standard utf-add authorization ('u' or 's') for send operations, when the request is identified as an aei train send request, the desired outcome is that the system grants send authorization despite the lack of standard utf-add permissions.
💻 Technical Criteria
Given A user lacks standard UTF-ADD authorization ('U' or 'S') for send operations
When The request is identified as an AEI train send request
Then The system grants send authorization despite the lack of standard UTF-ADD permissions
R-GCX003-cbl-01669 Set No User Access - Send Not Authorized
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set No User Access - Send Not Authorized', assuming that a user requests to send train data but lacks proper authorization, when the request action is send and the user's utf-add field is not 'u' or 's' and the request is not an aei train send request, the desired outcome is that the system sets user access to denied, generates error message thirteen, and prevents send operations.
💻 Technical Criteria
EXCLUDING A user requests to send train data but lacks proper authorization
When The request action is SEND and the user's UTF-ADD field is not 'U' or 'S' and the request is not an AEI train send request
Then The system sets user access to denied, generates error message thirteen, and prevents send operations
R-GCX003-cbl-01670 UTF-SPEC-MANI = 'S'?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'UTF-SPEC-MANI = 'S'?', assuming that a user has been granted send authorization and the system needs to check special manifest permissions, when the user's utf-spec-mani field does not equal 's' (special) and the request is not an aei train send request, the desired outcome is that the system sets the user as not authorized for special manifest operations.
💻 Technical Criteria
EXCLUDING A user has been granted send authorization and the system needs to check special manifest permissions
When The user's UTF-SPEC-MANI field does not equal 'S' (Special) and the request is not an AEI train send request
Then The system sets the user as not authorized for special manifest operations
R-GCX003-cbl-01788 Get User ID from CCCOM
Definitional Rules
📊 Business Logic Narrative
When the process 'Get User ID from CCCOM' is invoked, and assuming that a user session is active in the system, when the system needs to validate user access permissions, the desired outcome is that the user id is retrieved from the system communication area.
💻 Technical Criteria
Given A user session is active in the system
When The system needs to validate user access permissions
Then The user ID is retrieved from the system communication area
R-GCX003-cbl-01789 Set SCAC Code to CP-SCAC
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code to CP-SCAC' is invoked, and assuming that a train security validation is being performed, when the system needs to validate carrier access permissions, the desired outcome is that the scac code is set to the canadian pacific carrier code.
💻 Technical Criteria
Given A train security validation is being performed
When The system needs to validate carrier access permissions
Then The SCAC code is set to the Canadian Pacific carrier code
R-GCX003-cbl-01790 Call GCCSCAC Security Module
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCSCAC Security Module' is invoked, and assuming that user id and scac code are available for validation, when the system needs to verify carrier access permissions, the desired outcome is that the gccscac security module is called with user and carrier parameters.
💻 Technical Criteria
Given User ID and SCAC code are available for validation
When The system needs to verify carrier access permissions
Then The GCCSCAC security module is called with user and carrier parameters
R-GCX003-cbl-01791 SCAC Access Valid?
Authorization Rules
📊 Business Logic Narrative
When the process 'SCAC Access Valid?' is invoked, and assuming that the scac security module has been called, when the system evaluates the security validation result, the desired outcome is that access is considered valid unless the scac flag indicates invalid access and the request is not an aei train send request.
💻 Technical Criteria
Given The SCAC security module has been called
When The system evaluates the security validation result
Then Access is considered valid unless the SCAC flag indicates invalid access AND the request is not an AEI train send request
R-GCX003-cbl-01793 Is AEI Request?
Authorization Rules
📊 Business Logic Narrative
When the process 'Is AEI Request?' is invoked, and assuming that scac access validation has failed, when the request is an aei train send request, the desired outcome is that access validation continues without setting access denied flag.
💻 Technical Criteria
Given SCAC access validation has failed
When The request is an AEI train send request
Then Access validation continues without setting access denied flag
R-GCX003-cbl-01794 Set Access Denied Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Access Denied Flag', assuming that scac access validation has failed and the request is not an aei request, when the system processes the access validation result, the desired outcome is that the no user access flag is set to true.
💻 Technical Criteria
EXCLUDING SCAC access validation has failed AND the request is not an AEI request
When The system processes the access validation result
Then The no user access flag is set to true
R-GCX003-cbl-01796 Query User Security Table GCSTBRT-US
Action Rules
📊 Business Logic Narrative
When the process 'Query User Security Table GCSTBRT-US' is invoked, and assuming that user id is available for security lookup, when the system needs to retrieve detailed user permissions, the desired outcome is that the gcstbrt user security table is queried using the acf2 user id.
💻 Technical Criteria
Given User ID is available for security lookup
When The system needs to retrieve detailed user permissions
Then The GCSTBRT user security table is queried using the ACF2 user ID
R-GCX003-cbl-01797 User Found in Security Table?
Validation Rules
📊 Business Logic Narrative
When the process 'User Found in Security Table?' is invoked, and assuming that the user security table has been queried, when the system evaluates the query result, the desired outcome is that the user is considered found if the database operation was successful.
💻 Technical Criteria
Given The user security table has been queried
When The system evaluates the query result
Then The user is considered found if the database operation was successful
R-GCX003-cbl-01798 Load User Security Segment
Process Rules
📊 Business Logic Narrative
When the process 'Load User Security Segment' is invoked, and assuming that the user exists in the security table, when the system loads user permission data, the desired outcome is that the security segment data is moved to the user security segment structure.
💻 Technical Criteria
Given The user exists in the security table
When The system loads user permission data
Then The security segment data is moved to the user security segment structure
R-GCX003-cbl-01800 Check Send Action Authorization
Authorization Rules
📊 Business Logic Narrative
When the process 'Check Send Action Authorization' is invoked, and assuming that user security permissions have been loaded, when the request action is send, the desired outcome is that authorization is checked based on utf-add permission level and aei request status.
💻 Technical Criteria
Given User security permissions have been loaded
When The request action is SEND
Then Authorization is checked based on UTF-ADD permission level and AEI request status
R-GCX003-cbl-01801 Permission Level U or S?
Authorization Rules
📊 Business Logic Narrative
When the process 'Permission Level U or S?' is invoked, and assuming that a send action is being authorized, when the system checks user permission levels, the desired outcome is that access is granted if utf-add equals 'u' or 's' or the request is an aei train send request.
💻 Technical Criteria
Given A send action is being authorized
When The system checks user permission levels
Then Access is granted if UTF-ADD equals 'U' or 'S' OR the request is an AEI train send request
R-GCX003-cbl-01802 Set No User Access Flag
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set No User Access Flag', assuming that user does not have 'u' or 's' permission level and the request is not an aei request, when the system evaluates send action authorization, the desired outcome is that the no user access flag is set to true.
💻 Technical Criteria
EXCLUDING User does not have 'U' or 'S' permission level AND the request is not an AEI request
When The system evaluates send action authorization
Then The no user access flag is set to true
R-GCX003-cbl-01804 Check Special Manifest Authorization
Authorization Rules
📊 Business Logic Narrative
When the process 'Check Special Manifest Authorization' is invoked, and assuming that no errors have occurred in previous validations and the request action is send, when the system checks special manifest permissions, the desired outcome is that authorization is evaluated if utf-spec-mani is not 's' and the request is not an aei request.
💻 Technical Criteria
Given No errors have occurred in previous validations AND the request action is SEND
When The system checks special manifest permissions
Then Authorization is evaluated if UTF-SPEC-MANI is not 'S' AND the request is not an AEI request
R-GCX003-cbl-01805 Set Special Manifest Auth Flag
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Special Manifest Auth Flag' is invoked, and assuming that user has 's' level special manifest permissions or the request is an aei request, when the system sets special manifest authorization, the desired outcome is that the user is authorized for special manifest operations.
💻 Technical Criteria
Given User has 'S' level special manifest permissions OR the request is an AEI request
When The system sets special manifest authorization
Then The user is authorized for special manifest operations
R-GCX003-cbl-01806 Set No Special Manifest Auth Flag
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set No Special Manifest Auth Flag', assuming that user does not have 's' level special manifest permissions and the request is not an aei request, when the system evaluates special manifest authorization, the desired outcome is that the user not authorized for special manifest flag is set to true.
💻 Technical Criteria
EXCLUDING User does not have 'S' level special manifest permissions AND the request is not an AEI request
When The system evaluates special manifest authorization
Then The user not authorized for special manifest flag is set to true
R-GCX003-cbl-01188 SCAC Access Valid?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'SCAC Access Valid?', assuming that a user attempts to access train send functionality, when the system validates scac access permissions and the request is not an aei request type and scac access is invalid, the desired outcome is that set user access denied flag and generate access denied message.
💻 Technical Criteria
EXCLUDING A user attempts to access train send functionality
When The system validates SCAC access permissions AND the request is not an AEI request type AND SCAC access is invalid
Then Set user access denied flag and generate access denied message
R-GCX003-cbl-01190 User Has Send Authority 'U' or 'S'?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Has Send Authority 'U' or 'S'?' is invoked, and assuming that a user requests to send train information and the request action is send, when the system checks user's utf-add field for send authority, the desired outcome is that allow operation if user has 'u' or 's' authority or if request is aei type, otherwise deny access and generate unauthorized message.
💻 Technical Criteria
Given A user requests to send train information AND the request action is SEND
When The system checks user's UTF-ADD field for send authority
Then Allow operation if user has 'U' or 'S' authority OR if request is AEI type, otherwise deny access and generate unauthorized message
R-GCX003-cbl-01191 User Has Special Manifest Authority 'S'?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'User Has Special Manifest Authority 'S'?', assuming that a user has valid send authority and the request is not an aei type, when the system checks user's utf-spec-mani field for special manifest authority, the desired outcome is that set special manifest authorization flag based on whether user has 's' authority.
💻 Technical Criteria
EXCLUDING A user has valid send authority AND the request is not an AEI type
When The system checks user's UTF-SPEC-MANI field for special manifest authority
Then Set special manifest authorization flag based on whether user has 'S' authority
R-GCX003-cbl-01192 AEI Request Override
Policy Rules
📊 Business Logic Narrative
When the process 'AEI Request Override' is invoked, and assuming that a request has invalid scac access permissions, when the request type is identified as aei request type, the desired outcome is that allow the request to proceed despite invalid scac access.
💻 Technical Criteria
Given A request has invalid SCAC access permissions
When The request type is identified as AEI request type
Then Allow the request to proceed despite invalid SCAC access
R-GCX003-cbl-00068 Station Found in Table?
Validation Rules
📊 Business Logic Narrative
When the process 'Station Found in Table?' is invoked, and assuming that a train origin has been looked up in the station code reference table, when the station lookup operation completes, the desired outcome is that if the station is not found in the reference table, the system should set error message 2 for invalid origin station.
💻 Technical Criteria
Given A train origin has been looked up in the station code reference table
When The station lookup operation completes
Then If the station is not found in the reference table, the system should set error message 2 for invalid origin station
R-GCX003-cbl-00074 Date/Time Format Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Date/Time Format Valid?', assuming that an eta date and time are provided, when date conversion service validates the format or time is not numeric or hour is not between 00-23 or minute is not between 00-59, the desired outcome is that set error message indicating invalid eta format.
💻 Technical Criteria
EXCLUDING An ETA date and time are provided
When Date conversion service validates the format OR time is not numeric OR hour is not between 00-23 OR minute is not between 00-59
Then Set error message indicating invalid ETA format
R-GCX003-cbl-00075 User Type = Supervisor?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Type = Supervisor?' is invoked, and assuming that a user is processing an eta validation, when the user has supervisor authorization level ('s'), the desired outcome is that set acceptable date range to 30 days before current date to 5 days after current date, otherwise set range to 2 days before current date to 2 days after current date.
💻 Technical Criteria
Given A user is processing an ETA validation
When The user has supervisor authorization level ('S')
Then Set acceptable date range to 30 days before current date to 5 days after current date, otherwise set range to 2 days before current date to 2 days after current date
R-GCX003-cbl-00082 Convert Date to Julian Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Date to Julian Format' is invoked, and assuming that the system has captured the current machine date and century, when the date needs to be formatted for train identifier generation, the desired outcome is that the system converts the date to julian format using date conversion services and stores it as a 5-digit julian date.
💻 Technical Criteria
Given The system has captured the current machine date and century
When The date needs to be formatted for train identifier generation
Then The system converts the date to Julian format using date conversion services and stores it as a 5-digit Julian date
R-GCX003-cbl-00087 Read Existing Train Record
Process Rules
📊 Business Logic Narrative
When the process 'Read Existing Train Record' is invoked, and assuming that a train record with the same identifier exists in the database, when the system needs to determine the status of the existing record, the desired outcome is that the system reads the existing train record to examine its current status and deletion flag.
💻 Technical Criteria
Given A train record with the same identifier exists in the database
When The system needs to determine the status of the existing record
Then The system reads the existing train record to examine its current status and deletion flag
R-GCX003-cbl-00088 Is Existing Record Marked for Deletion?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Existing Record Marked for Deletion?' is invoked, and assuming that an existing train record has been found with the same identifier, when the system needs to determine if the new record can proceed, the desired outcome is that the system checks if the existing record has a deletion confirmation flag set to determine next action.
💻 Technical Criteria
Given An existing train record has been found with the same identifier
When The system needs to determine if the new record can proceed
Then The system checks if the existing record has a deletion confirmation flag set to determine next action
R-GCX003-cbl-00089 Delete Existing Train Record
Process Rules
📊 Business Logic Narrative
When the process 'Delete Existing Train Record' is invoked, and assuming that an existing train record is found and is marked for deletion, when the system needs to create a new record with the same identifier, the desired outcome is that the system deletes the existing train record from the database.
💻 Technical Criteria
Given An existing train record is found and is marked for deletion
When The system needs to create a new record with the same identifier
Then The system deletes the existing train record from the database
R-GCX003-cbl-00090 Generate Error - Duplicate Train ID
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error - Duplicate Train ID' is invoked, and assuming that an existing active train record is found with the same identifier, when the system attempts to create a new train record, the desired outcome is that the system generates error message 6 indicating a duplicate train identifier and prevents record creation.
💻 Technical Criteria
Given An existing active train record is found with the same identifier
When The system attempts to create a new train record
Then The system generates error message 6 indicating a duplicate train identifier and prevents record creation
R-GCX003-cbl-01197 Get Current Machine Date
Process Rules
📊 Business Logic Narrative
When the process 'Get Current Machine Date' is invoked, and assuming that a train manifest is being processed, when the system needs to create a time-stamped unique identifier, the desired outcome is that the current machine date is captured from the system for inclusion in the train id.
💻 Technical Criteria
Given A train manifest is being processed
When The system needs to create a time-stamped unique identifier
Then The current machine date is captured from the system for inclusion in the train ID
R-GCX003-cbl-01203 Delete Existing Record if Marked for Deletion
Process Rules
📊 Business Logic Narrative
When the process 'Delete Existing Record if Marked for Deletion' is invoked, and assuming that a train id exists in the database and is marked as deleted, when the same train id is being created again, the desired outcome is that the existing deleted record is removed from the database to allow the new train creation.
💻 Technical Criteria
Given A train ID exists in the database and is marked as deleted
When The same train ID is being created again
Then The existing deleted record is removed from the database to allow the new train creation
R-GCX003-cbl-01204 Generate Error - Duplicate Train ID
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error - Duplicate Train ID' is invoked, and assuming that a train id already exists in the database as an active record, when an attempt is made to create a new train with the same identifier, the desired outcome is that an error message (msg-six) is generated indicating the train id already exists.
💻 Technical Criteria
Given A train ID already exists in the database as an active record
When An attempt is made to create a new train with the same identifier
Then An error message (MSG-SIX) is generated indicating the train ID already exists
R-GCX003-cbl-01206 Mark Train as Added to System
Process Rules
📊 Business Logic Narrative
When the process 'Mark Train as Added to System' is invoked, and assuming that a new train header has been successfully initialized, when the train creation process is completed, the desired outcome is that the train is marked as added to the system for status tracking purposes.
💻 Technical Criteria
Given A new train header has been successfully initialized
When The train creation process is completed
Then The train is marked as added to the system for status tracking purposes
R-GCX003-cbl-01208 Generate Train Creation Date
Computation Rules
📊 Business Logic Narrative
When the process 'Generate Train Creation Date' is invoked, and assuming that current system date in yymmdd format and century indicator, when the system needs to create a train creation timestamp, the desired outcome is that the system converts the date to 8-digit format, then to julian date format, and extracts 5-digit julian date for train id construction.
💻 Technical Criteria
Given Current system date in YYMMDD format and century indicator
When The system needs to create a train creation timestamp
Then The system converts the date to 8-digit format, then to Julian date format, and extracts 5-digit Julian date for train ID construction
R-GCX003-cbl-01211 Train Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Record Found?' is invoked, and assuming that a database search result for a specific train id, when the system evaluates the search outcome, the desired outcome is that if a matching train record is found in the database, the system proceeds to deletion status check, otherwise it continues to create a new train record.
💻 Technical Criteria
Given A database search result for a specific train ID
When The system evaluates the search outcome
Then If a matching train record is found in the database, the system proceeds to deletion status check, otherwise it continues to create a new train record
R-GCX003-cbl-01212 Record Marked for Deletion?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Marked for Deletion?' is invoked, and assuming that an existing train record found in the database, when the system checks the deletion confirmation status of the record, the desired outcome is that if the record is marked for deletion, the system proceeds to remove it, otherwise it generates a duplicate train id error.
💻 Technical Criteria
Given An existing train record found in the database
When The system checks the deletion confirmation status of the record
Then If the record is marked for deletion, the system proceeds to remove it, otherwise it generates a duplicate train ID error
R-GCX003-cbl-01213 Delete Existing Train Record
Action Rules
📊 Business Logic Narrative
When the process 'Delete Existing Train Record' is invoked, and assuming that an existing train record marked for deletion, when the system processes the deletion request, the desired outcome is that the system removes the existing train record from the gcsutrt database and allows the train id to be reused.
💻 Technical Criteria
Given An existing train record marked for deletion
When The system processes the deletion request
Then The system removes the existing train record from the GCSUTRT database and allows the train ID to be reused
R-GCX003-cbl-01214 Generate Duplicate Train ID Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Duplicate Train ID Error', assuming that an existing train record that is not marked for deletion, when the system attempts to create a new train with the same identifier, the desired outcome is that the system generates error message 6 indicating a duplicate train id conflict and prevents the creation of the new record.
💻 Technical Criteria
EXCLUDING An existing train record that is not marked for deletion
When The system attempts to create a new train with the same identifier
Then The system generates error message 6 indicating a duplicate train ID conflict and prevents the creation of the new record
R-GCX003-cbl-00095 Administration Table Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Administration Table Found?' is invoked, and assuming that administration table retrieval has been attempted, when the system checks if the administration table was successfully retrieved, the desired outcome is that if table not found, generate error message 7 indicating merlin configuration unavailable, otherwise proceed to extract merlin id.
💻 Technical Criteria
Given Administration table retrieval has been attempted
When The system checks if the administration table was successfully retrieved
Then If table not found, generate error message 7 indicating MERLIN configuration unavailable, otherwise proceed to extract MERLIN ID
R-GCX003-cbl-00098 Validate MERLIN ID in MERLIN Database
Action Rules
📊 Business Logic Narrative
When the process 'Validate MERLIN ID in MERLIN Database' is invoked, and assuming that a valid merlin id has been extracted from administration configuration, when the system queries the merlin database using the extracted merlin id, the desired outcome is that the merlin database is accessed to verify id validity and availability.
💻 Technical Criteria
Given A valid MERLIN ID has been extracted from administration configuration
When The system queries the MERLIN database using the extracted MERLIN ID
Then The MERLIN database is accessed to verify ID validity and availability
R-GCX003-cbl-00099 MERLIN ID Valid in Database?
Validation Rules
📊 Business Logic Narrative
When the process 'MERLIN ID Valid in Database?' is invoked, and assuming that merlin database validation has been performed, when the system evaluates the database query results for merlin id existence, the desired outcome is that if merlin id not found in database, generate error message 8 indicating invalid merlin id, otherwise validation is successful.
💻 Technical Criteria
Given MERLIN database validation has been performed
When The system evaluates the database query results for MERLIN ID existence
Then If MERLIN ID not found in database, generate error message 8 indicating invalid MERLIN ID, otherwise validation is successful
R-GCX003-cbl-01259 More Cross-References?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cross-References?' is invoked, and assuming that the system has processed a cross-reference entry, when the system checks for more cross-reference entries, the desired outcome is that if database status code is spaces and index is 30 or less, more cross-references are available and scanning continues, otherwise cross-reference resolution is complete.
💻 Technical Criteria
Given The system has processed a cross-reference entry
When The system checks for more cross-reference entries
Then If database status code is spaces and index is 30 or less, more cross-references are available and scanning continues, otherwise cross-reference resolution is complete
R-GCX003-cbl-01554 Read Next FWIQBOTL Record
Action Rules
📊 Business Logic Narrative
When the process 'Read Next FWIQBOTL Record' is invoked, and assuming that more inquiry records are available for processing, when system reads the next fwiqbotl record, the desired outcome is that system calls fwiqio with gnp function to retrieve next inquiry bottom line record.
💻 Technical Criteria
Given More inquiry records are available for processing
When System reads the next FWIQBOTL record
Then System calls FWIQIO with GNP function to retrieve next inquiry bottom line record
R-GCX003-cbl-01578 FWCARGET Error or Not Found?
Decision Rules
📊 Business Logic Narrative
When the process 'FWCARGET Error or Not Found?' is invoked, and assuming that fwcarget call has been executed, when the system evaluates the return status, the desired outcome is that if error or not found condition exists, the system branches to error handling, otherwise continues with validation checks.
💻 Technical Criteria
Given FWCARGET call has been executed
When The system evaluates the return status
Then If error or not found condition exists, the system branches to error handling, otherwise continues with validation checks
R-GCX003-cbl-01283 Extract Routing Fields
Process Rules
📊 Business Logic Narrative
When the process 'Extract Routing Fields' is invoked, and assuming that routing information contains data, when system parses routing info fields by spaces, the desired outcome is that extract individual routing fields with their lengths for further processing.
💻 Technical Criteria
Given Routing information contains data
When System parses routing info fields by spaces
Then Extract individual routing fields with their lengths for further processing
R-GCX003-cbl-01284 Parse SCAC and Junction Data
Process Rules
📊 Business Logic Narrative
When the process 'Parse SCAC and Junction Data' is invoked, and assuming that individual routing fields have been extracted, when system processes each field sequentially, the desired outcome is that assign fields to scac codes and junction r260 codes in alternating pattern up to 4 scac entries.
💻 Technical Criteria
Given Individual routing fields have been extracted
When System processes each field sequentially
Then Assign fields to SCAC codes and junction R260 codes in alternating pattern up to 4 SCAC entries
R-GCX003-cbl-01285 Build Routing Information Array
Process Rules
📊 Business Logic Narrative
When the process 'Build Routing Information Array' is invoked, and assuming that scac codes and junction data have been parsed, when system builds routing information structure, the desired outcome is that create routing information array with scac and junction pairs for shipment root structure.
💻 Technical Criteria
Given SCAC codes and junction data have been parsed
When System builds routing information structure
Then Create routing information array with SCAC and junction pairs for shipment root structure
R-GCX003-cbl-01590 Clean Routing Data - Replace Special Characters
Process Rules
📊 Business Logic Narrative
When the process 'Clean Routing Data - Replace Special Characters' is invoked, and assuming that routing information contains special characters including exclamation marks, when the system processes the routing data, the desired outcome is that all exclamation marks in the routing information are replaced with spaces.
💻 Technical Criteria
Given Routing information contains special characters including exclamation marks
When The system processes the routing data
Then All exclamation marks in the routing information are replaced with spaces
R-GCX003-cbl-01594 Analyze SCAC Carrier Patterns
Process Rules
📊 Business Logic Narrative
When the process 'Analyze SCAC Carrier Patterns' is invoked, and assuming that valid routing entries with scac carrier codes and junction information exist, when the system processes consecutive routing entries to identify carrier patterns, the desired outcome is that the routing information is parsed into scac codes and junction codes for pattern analysis.
💻 Technical Criteria
Given Valid routing entries with SCAC carrier codes and junction information exist
When The system processes consecutive routing entries to identify carrier patterns
Then The routing information is parsed into SCAC codes and junction codes for pattern analysis
R-GCX003-cbl-01699 Replace Exclamation Marks with Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Replace Exclamation Marks with Spaces' is invoked, and assuming that routing information contains exclamation marks as field delimiters, when the system processes the routing data, the desired outcome is that all exclamation marks in the routing information line are replaced with spaces.
💻 Technical Criteria
Given Routing information contains exclamation marks as field delimiters
When The system processes the routing data
Then All exclamation marks in the routing information line are replaced with spaces
R-GCX003-cbl-01703 SCAC1 = CSXT or NS?
Decision Rules
📊 Business Logic Narrative
When the process 'SCAC1 = CSXT or NS?' is invoked, and assuming that routing information contains carrier scac codes and junction information, when first scac equals csxt or ns and second scac equals cprs and junction code equals det, the desired outcome is that the routing pattern is recognized as a valid csxt/ns to cprs via detroit connection.
💻 Technical Criteria
Given Routing information contains carrier SCAC codes and junction information
When First SCAC equals CSXT or NS AND second SCAC equals CPRS AND junction code equals DET
Then The routing pattern is recognized as a valid CSXT/NS to CPRS via Detroit connection
R-GCX003-cbl-01710 SHIPCOMM Retrieved Successfully?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPCOMM Retrieved Successfully?' is invoked, and assuming that system has attempted to retrieve shipcomm segment, when database status code is evaluated, the desired outcome is that if retrieval successful, use retrieved data; if failed, initialize shipcomm to spaces to prevent processing errors.
💻 Technical Criteria
Given System has attempted to retrieve SHIPCOMM segment
When Database status code is evaluated
Then If retrieval successful, use retrieved data; if failed, initialize SHIPCOMM to spaces to prevent processing errors
R-GCX003-cbl-01605 Read User Security Table GCSTBRT-US
Action Rules
📊 Business Logic Narrative
When the process 'Read User Security Table GCSTBRT-US' is invoked, and assuming that a user acf2 id is provided for authorization check, when the system queries the user security table gcstbrt-us with the user's acf2 id, the desired outcome is that the system retrieves the user's security record containing authorization flags and permissions.
💻 Technical Criteria
Given A user ACF2 ID is provided for authorization check
When The system queries the user security table GCSTBRT-US with the user's ACF2 ID
Then The system retrieves the user's security record containing authorization flags and permissions
R-GCX003-cbl-01606 User Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'User Record Found?' is invoked, and assuming that a query has been made to retrieve user security information, when the system checks if a valid user security record was returned from the database, the desired outcome is that the system determines if the user has a valid security profile or should use default authorization settings.
💻 Technical Criteria
Given A query has been made to retrieve user security information
When The system checks if a valid user security record was returned from the database
Then The system determines if the user has a valid security profile or should use default authorization settings
R-GCX003-cbl-01607 Initialize User Authorization Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize User Authorization Flags' is invoked, and assuming that a valid user security record exists in the database, when the system processes the user security information, the desired outcome is that the system copies the user security segment data to working storage for authorization processing.
💻 Technical Criteria
Given A valid user security record exists in the database
When The system processes the user security information
Then The system copies the user security segment data to working storage for authorization processing
R-GCX003-cbl-01609 Set User Authorized for Special Manifests
Authorization Rules
📊 Business Logic Narrative
When the process 'Set User Authorized for Special Manifests' is invoked, and assuming that the user's utf-spec-mani field contains 's', when the system evaluates special manifest authorization, the desired outcome is that the system sets the user as authorized for special manifest creation.
💻 Technical Criteria
Given The user's UTF-SPEC-MANI field contains 'S'
When The system evaluates special manifest authorization
Then The system sets the user as authorized for special manifest creation
R-GCX003-cbl-01610 Set User NOT Authorized for Special Manifests
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set User NOT Authorized for Special Manifests', assuming that the user's utf-spec-mani field does not contain 's' or no user security record exists, when the system evaluates special manifest authorization, the desired outcome is that the system sets the user as not authorized for special manifest creation.
💻 Technical Criteria
EXCLUDING The user's UTF-SPEC-MANI field does not contain 'S' OR no user security record exists
When The system evaluates special manifest authorization
Then The system sets the user as not authorized for special manifest creation
R-GCX003-cbl-01612 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifests?' is invoked, and assuming that special manifest creation is required for the current operation, when the system checks the user's special manifest authorization status, the desired outcome is that the system determines if the user is authorized to proceed with special manifest creation or should be denied.
💻 Technical Criteria
Given Special manifest creation is required for the current operation
When The system checks the user's special manifest authorization status
Then The system determines if the user is authorized to proceed with special manifest creation or should be denied
R-GCX003-cbl-01613 Allow Special Manifest Creation
Authorization Rules
📊 Business Logic Narrative
When the process 'Allow Special Manifest Creation' is invoked, and assuming that special manifest is required and user is authorized for special manifests, when the system processes the authorization decision, the desired outcome is that the system allows the special manifest creation process to continue.
💻 Technical Criteria
Given Special manifest is required AND user is authorized for special manifests
When The system processes the authorization decision
Then The system allows the special manifest creation process to continue
R-GCX003-cbl-01614 Generate Error Message 43 - Not Authorized
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message 43 - Not Authorized', assuming that special manifest is required and user is not authorized for special manifests, when the system processes the authorization decision, the desired outcome is that the system generates error message 43 indicating the user is not authorized for special manifest creation.
💻 Technical Criteria
EXCLUDING Special manifest is required AND user is not authorized for special manifests
When The system processes the authorization decision
Then The system generates error message 43 indicating the user is not authorized for special manifest creation
R-GCX003-cbl-01722 Check UTF-SPEC-MANI Field
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check UTF-SPEC-MANI Field', assuming that a user is processing a train request with send action, when the system validates special manifest authorization and the request action is send and the user's utf-spec-mani field is not equal to 's' and the aei train send flag is set to no, the desired outcome is that the system sets the user as not authorized for special manifest creation.
💻 Technical Criteria
EXCLUDING A user is processing a train request with send action
When The system validates special manifest authorization AND the request action is SEND AND the user's UTF-SPEC-MANI field is not equal to 'S' AND the AEI train send flag is set to NO
Then The system sets the user as NOT authorized for special manifest creation
R-GCX003-cbl-01723 Set User Authorized for Special Manifest
Authorization Rules
📊 Business Logic Narrative
When the process 'Set User Authorized for Special Manifest' is invoked, and assuming that a user is processing a train request with send action, when the system validates special manifest authorization and the request action is send and (the user's utf-spec-mani field equals 's' or the aei train send flag is set to yes), the desired outcome is that the system sets the user as authorized for special manifest creation.
💻 Technical Criteria
Given A user is processing a train request with send action
When The system validates special manifest authorization AND the request action is SEND AND (the user's UTF-SPEC-MANI field equals 'S' OR the AEI train send flag is set to YES)
Then The system sets the user as authorized for special manifest creation
R-GCX003-cbl-01724 Continue Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue Processing', assuming that a user is processing a train request, when the system validates special manifest authorization and the request action is not send, the desired outcome is that the system continues processing without setting special manifest authorization status.
💻 Technical Criteria
EXCLUDING A user is processing a train request
When The system validates special manifest authorization AND the request action is NOT SEND
Then The system continues processing without setting special manifest authorization status
R-GCX003-cbl-01353 Check User Special Manifest Authorization Flag
Authorization Rules
📊 Business Logic Narrative
When the process 'Check User Special Manifest Authorization Flag' is invoked, and assuming that a user is processing a non-aei train request and user security check is complete, when the system checks the user's special manifest authorization flag in the user security table, the desired outcome is that if the user's special manifest flag is not 's' and the request is not an aei train send, then set the user not authorized for special manifest flag to true.
💻 Technical Criteria
Given A user is processing a non-AEI train request and user security check is complete
When The system checks the user's special manifest authorization flag in the user security table
Then If the user's special manifest flag is not 'S' and the request is not an AEI train send, then set the user not authorized for special manifest flag to true
R-GCX003-cbl-01355 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifests?' is invoked, and assuming that a train request is being processed, when the request type equals the aei request type constant, the desired outcome is that set aei train send flag to yes and bypass special manifest authorization checks.
💻 Technical Criteria
Given A train request is being processed
When The request type equals the AEI request type constant
Then Set AEI train send flag to YES and bypass special manifest authorization checks
R-GCX003-cbl-01373 Queue Manifest for Processing
Action Rules
📊 Business Logic Narrative
When the process 'Queue Manifest for Processing' is invoked, and assuming that a special manifest record has been fully configured with all required information, when the manifest is ready for processing, the desired outcome is that add manifest to gcx101 spawn table and increment spawn counter for batch processing.
💻 Technical Criteria
Given A special manifest record has been fully configured with all required information
When The manifest is ready for processing
Then Add manifest to GCX101 spawn table and increment spawn counter for batch processing
R-GCX003-cbl-00287 More Reference Numbers?
Process Rules
📊 Business Logic Narrative
When the process 'More Reference Numbers?' is invoked, and assuming that system is processing segment 02 reference numbers, when current reference number processing is complete, the desired outcome is that if more reference numbers exist, continue processing next reference number, otherwise proceed to documentation validation.
💻 Technical Criteria
Given System is processing segment 02 reference numbers
When Current reference number processing is complete
Then If more reference numbers exist, continue processing next reference number, otherwise proceed to documentation validation
R-GCX003-cbl-00295 Is FEN Documentation Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Is FEN Documentation Missing?' is invoked, and assuming that all hold status conditions have been processed, when the system validates fen documentation presence, the desired outcome is that if fen documentation is not found, generate message 46 for missing fen documentation.
💻 Technical Criteria
Given All hold status conditions have been processed
When The system validates FEN documentation presence
Then If FEN documentation is not found, generate message 46 for missing FEN documentation
R-GCX003-cbl-00297 Is KCM Documentation Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Is KCM Documentation Missing?' is invoked, and assuming that fen documentation validation is complete, when the system validates kcm documentation presence, the desired outcome is that if kcm documentation is not found, generate message 47 for missing kcm documentation.
💻 Technical Criteria
Given FEN documentation validation is complete
When The system validates KCM documentation presence
Then If KCM documentation is not found, generate message 47 for missing KCM documentation
R-GCX003-cbl-00315 Create US-US Detour Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create US-US Detour Special Manifest' is invoked, and assuming that user is authorized and us-us detour is required and action is send, when the system creates a us-us detour special manifest, the desired outcome is that generate message 23, set us-us detour spawn flag, and invoke special manifest creation process.
💻 Technical Criteria
Given User is authorized and US-US detour is required and action is SEND
When The system creates a US-US detour special manifest
Then Generate message 23, set US-US detour spawn flag, and invoke special manifest creation process
R-GCX003-cbl-01728 More Codes in Array AND ER Not Found?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More Codes in Array AND ER Not Found?', assuming that special handling codes array processing is in progress, when the current array position is less than or equal to 7 and er found flag is not set to true, the desired outcome is that the system should continue processing the next code in the array.
💻 Technical Criteria
EXCLUDING Special handling codes array processing is in progress
When The current array position is less than or equal to 7 AND ER found flag is not set to true
Then The system should continue processing the next code in the array
R-GCX003-cbl-01729 Get Next Special Handling Code from Array Position
Process Rules
📊 Business Logic Narrative
When the process 'Get Next Special Handling Code from Array Position' is invoked, and assuming that array iteration is continuing and current position is valid, when the system needs to examine the next special handling code, the desired outcome is that the system should retrieve the special handling code from the current array position.
💻 Technical Criteria
Given Array iteration is continuing and current position is valid
When The system needs to examine the next special handling code
Then The system should retrieve the special handling code from the current array position
R-GCX003-cbl-01732 Increment Array Position Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Array Position Counter' is invoked, and assuming that current special handling code has been processed, when the system needs to move to the next array position, the desired outcome is that the array position counter should be incremented by 1.
💻 Technical Criteria
Given Current special handling code has been processed
When The system needs to move to the next array position
Then The array position counter should be incremented by 1
R-GCX003-cbl-01850 Get Next Special Handling Code from Array Position
Validation Rules
📊 Business Logic Narrative
When the process 'Get Next Special Handling Code from Array Position' is invoked, and assuming that special handling codes are being processed from an array with maximum 8 positions, when the system processes array positions and the current position sub1 reaches or exceeds 8, the desired outcome is that the system stops processing and exits the special handling code loop.
💻 Technical Criteria
Given Special handling codes are being processed from an array with maximum 8 positions
When The system processes array positions and the current position SUB1 reaches or exceeds 8
Then The system stops processing and exits the special handling code loop
R-GCX003-cbl-01851 Get Next Special Handling Code from Array Position
Process Rules
📊 Business Logic Narrative
When the process 'Get Next Special Handling Code from Array Position' is invoked, and assuming that a special handling code has been processed at the current array position, when the system completes processing the current code regardless of whether it matches er threshold code, the desired outcome is that the system increments the array position counter sub1 by 1 to move to the next code.
💻 Technical Criteria
Given A special handling code has been processed at the current array position
When The system completes processing the current code regardless of whether it matches ER threshold code
Then The system increments the array position counter SUB1 by 1 to move to the next code
R-GCX003-cbl-01385 User Authorization Check
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorization Check' is invoked, and assuming that detour processing requires special manifest creation, when the system validates user authorization for special manifests, the desired outcome is that if user is authorized for special manifests, proceed to request action type check; if user is not authorized, generate authorization error message.
💻 Technical Criteria
Given Detour processing requires special manifest creation
When The system validates user authorization for special manifests
Then If user is authorized for special manifests, proceed to request action type check; if user is not authorized, generate authorization error message
R-GCX003-cbl-01387 Create Special Manifest Spawn
Action Rules
📊 Business Logic Narrative
When the process 'Create Special Manifest Spawn' is invoked, and assuming that request action is send and user is authorized, when the system creates a special manifest spawn, the desired outcome is that set appropriate manifest type flags and generate corresponding manifest based on detour classification.
💻 Technical Criteria
Given Request action is SEND and user is authorized
When The system creates a special manifest spawn
Then Set appropriate manifest type flags and generate corresponding manifest based on detour classification
R-GCX003-cbl-00350 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifests?' is invoked, and assuming that a us-us movement detour scenario exists and request action is send, when the system checks user authorization for special manifests, the desired outcome is that the system should proceed with special manifest creation if authorized, otherwise generate an authorization error.
💻 Technical Criteria
Given A US-US movement detour scenario exists and request action is SEND
When The system checks user authorization for special manifests
Then The system should proceed with special manifest creation if authorized, otherwise generate an authorization error
R-GCX003-cbl-00351 Generate Error Message 43: User Not Authorized for Special Manifests
Action Rules
📊 Business Logic Narrative
When the process 'Generate Error Message 43: User Not Authorized for Special Manifests' is invoked, and assuming that a us-us movement detour scenario exists with send action and user lacks special manifest authorization, when the system processes the unauthorized special manifest request, the desired outcome is that the system should generate error message 43 indicating the user is not authorized for special manifests.
💻 Technical Criteria
Given A US-US movement detour scenario exists with SEND action and user lacks special manifest authorization
When The system processes the unauthorized special manifest request
Then The system should generate error message 43 indicating the user is not authorized for special manifests
R-GCX003-cbl-00352 Generate Success Message 23: Special Manifest Will Be Created
Action Rules
📊 Business Logic Narrative
When the process 'Generate Success Message 23: Special Manifest Will Be Created' is invoked, and assuming that a us-us movement detour scenario exists with send action and user has special manifest authorization, when the system processes the authorized special manifest request, the desired outcome is that the system should generate success message 23 indicating that a special manifest will be created.
💻 Technical Criteria
Given A US-US movement detour scenario exists with SEND action and user has special manifest authorization
When The system processes the authorized special manifest request
Then The system should generate success message 23 indicating that a special manifest will be created
R-GCX003-cbl-00353 Set US-US Detour Spawn Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set US-US Detour Spawn Flag' is invoked, and assuming that a us-us movement detour scenario requires special manifest creation, when the system processes the detour request, the desired outcome is that the system should set the us-us detour spawn flag to trigger subsequent special manifest processing.
💻 Technical Criteria
Given A US-US movement detour scenario requires special manifest creation
When The system processes the detour request
Then The system should set the US-US detour spawn flag to trigger subsequent special manifest processing
R-GCX003-cbl-00354 Create Special Manifest Request
Action Rules
📊 Business Logic Narrative
When the process 'Create Special Manifest Request' is invoked, and assuming that a us-us detour spawn flag is set, when the system initiates special manifest creation, the desired outcome is that the system should create a special manifest request through the special manifest creation process.
💻 Technical Criteria
Given A US-US detour spawn flag is set
When The system initiates special manifest creation
Then The system should create a special manifest request through the special manifest creation process
R-GCX003-cbl-00393 Set Result as SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Result as SENT' is invoked, and assuming that a send action is being processed, when there are no errors (rpt-no-error) and no spawn processing (rpt-no-spawn), the desired outcome is that set rpt-result-sent flag to true for line 3 and move rpt-warning-cnt to rpt-wrn-cnt1 for line 3.
💻 Technical Criteria
Given A SEND action is being processed
When There are no errors (RPT-NO-ERROR) and no spawn processing (RPT-NO-SPAWN)
Then Set RPT-RESULT-SENT flag to TRUE for line 3 and move RPT-WARNING-CNT to RPT-WRN-CNT1 for line 3
R-GCX003-cbl-00394 Set Result as NOT SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Result as NOT SENT' is invoked, and assuming that a send action is being processed, when there are errors or spawn processing is required, the desired outcome is that set rpt-result-no-sent flag to true for line 3, move rpt-warning-cnt to rpt-wrn-cnt2 for line 3, add rpt-spawn-cnt to rpt-error-cnt, and move rpt-error-cnt to rpt-err-cnt2 for line 3.
💻 Technical Criteria
Given A SEND action is being processed
When There are errors or spawn processing is required
Then Set RPT-RESULT-NO-SENT flag to TRUE for line 3, move RPT-WARNING-CNT to RPT-WRN-CNT2 for line 3, add RPT-SPAWN-CNT to RPT-ERROR-CNT, and move RPT-ERROR-CNT to RPT-ERR-CNT2 for line 3
R-GCX003-cbl-01398 Determine Request Action Type
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Request Action Type' is invoked, and assuming that a train manifest is being processed, when building the processing status header, the desired outcome is that evaluate the request action type and branch to appropriate header processing logic.
💻 Technical Criteria
Given A train manifest is being processed
When Building the processing status header
Then Evaluate the request action type and branch to appropriate header processing logic
R-GCX003-cbl-01399 Set SEND Action Header
Process Rules
📊 Business Logic Narrative
When the process 'Set SEND Action Header' is invoked, and assuming that a train manifest processing request, when the request action type is send, the desired outcome is that set the header to indicate send action type.
💻 Technical Criteria
Given A train manifest processing request
When The request action type is SEND
Then Set the header to indicate SEND action type
R-GCX003-cbl-01402 Check Processing Results
Decision Rules
📊 Business Logic Narrative
When the process 'Check Processing Results' is invoked, and assuming that a send action has been processed, when determining the processing results, the desired outcome is that if no errors and no spawns occurred, set sent status with warning count, otherwise set not sent status with error and warning counts.
💻 Technical Criteria
Given A SEND action has been processed
When Determining the processing results
Then If no errors and no spawns occurred, set SENT status with warning count, otherwise set NOT SENT status with error and warning counts
R-GCX003-cbl-01403 Set SENT Status with Warning Count
Process Rules
📊 Business Logic Narrative
When the process 'Set SENT Status with Warning Count' is invoked, and assuming that a send action completed without errors or spawns, when setting the processing result status, the desired outcome is that set result as sent and include the warning count in the header.
💻 Technical Criteria
Given A SEND action completed without errors or spawns
When Setting the processing result status
Then Set result as SENT and include the warning count in the header
R-GCX003-cbl-01404 Set NOT SENT Status with Error/Warning Counts
Process Rules
📊 Business Logic Narrative
When the process 'Set NOT SENT Status with Error/Warning Counts' is invoked, and assuming that a send action encountered errors or spawns, when setting the processing result status, the desired outcome is that set result as not sent and include both error count and warning count in the header.
💻 Technical Criteria
Given A SEND action encountered errors or spawns
When Setting the processing result status
Then Set result as NOT SENT and include both error count and warning count in the header
R-GCX003-cbl-01625 Set Result Status: SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Result Status: SENT' is invoked, and assuming that train processing has no errors and no spawn activities, when the system evaluates the final processing status, the desired outcome is that set the result status to sent and count warning messages only.
💻 Technical Criteria
Given Train processing has no errors and no spawn activities
When The system evaluates the final processing status
Then Set the result status to SENT and count warning messages only
R-GCX003-cbl-01626 Set Result Status: NOT SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Result Status: NOT SENT' is invoked, and assuming that train processing has no errors but has spawn activities, when the system evaluates the final processing status, the desired outcome is that set the result status to not sent, count warnings, add spawn count to error count, and trigger special manifest processing.
💻 Technical Criteria
Given Train processing has no errors but has spawn activities
When The system evaluates the final processing status
Then Set the result status to NOT SENT, count warnings, add spawn count to error count, and trigger special manifest processing
R-GCX003-cbl-01628 Convert Error 43 to Warning 18
Process Rules
📊 Business Logic Narrative
When the process 'Convert Error 43 to Warning 18' is invoked, and assuming that processing has errors with no spawn activities and message type 43 is found, when the system processes error message classification, the desired outcome is that convert message type 43 to message type 18, increase warning count by 1, and decrease error count by 1.
💻 Technical Criteria
Given Processing has errors with no spawn activities and message type 43 is found
When The system processes error message classification
Then Convert message type 43 to message type 18, increase warning count by 1, and decrease error count by 1
R-GCX003-cbl-01629 Convert to Message 19 with Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Convert to Message 19 with Station Code' is invoked, and assuming that processing has errors with spawn activities and diversion messages are found, when the system processes spawn message conversion, the desired outcome is that convert diversion messages to message 19 and include the station code from gcstbrt-sc-us-stat-code-x.
💻 Technical Criteria
Given Processing has errors with spawn activities and diversion messages are found
When The system processes spawn message conversion
Then Convert diversion messages to message 19 and include the station code from GCSTBRT-SC-US-STAT-CODE-X
R-GCX003-cbl-01631 Add Spawn Count to Warning Count
Computation Rules
📊 Business Logic Narrative
When the process 'Add Spawn Count to Warning Count' is invoked, and assuming that processing has errors with spawn activities and message conversion is complete, when the system calculates final warning count, the desired outcome is that add the spawn count to the existing warning count to get the final warning total.
💻 Technical Criteria
Given Processing has errors with spawn activities and message conversion is complete
When The system calculates final warning count
Then Add the spawn count to the existing warning count to get the final warning total
R-GCX003-cbl-01740 Is Spawn Message?
Process Rules
📊 Business Logic Narrative
When the process 'Is Spawn Message?' is invoked, and assuming that a message line has been identified for error classification, when the system checks if the message is a spawn message, the desired outcome is that if it is a spawn message, the system skips error counting and continues processing without incrementing counters.
💻 Technical Criteria
Given A message line has been identified for error classification
When The system checks if the message is a spawn message
Then If it is a spawn message, the system skips error counting and continues processing without incrementing counters
R-GCX003-cbl-01743 Message Type = Info?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Message Type = Info?', assuming that a non-spawn message line is not classified as error or warning, when the system evaluates the message type indicator, the desired outcome is that if the message type is information, the system increments the information counter.
💻 Technical Criteria
EXCLUDING A non-spawn message line is not classified as error or warning
When The system evaluates the message type indicator
Then If the message type is information, the system increments the information counter
R-GCX003-cbl-01744 Is Error Type 43?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Error Type 43?' is invoked, and assuming that a message has been classified as an error type, when the system checks the specific error type indicator, the desired outcome is that if the error type is 43, the system increments the error type 43 counter in addition to the general error counter.
💻 Technical Criteria
Given A message has been classified as an error type
When The system checks the specific error type indicator
Then If the error type is 43, the system increments the error type 43 counter in addition to the general error counter
R-GCX003-cbl-01745 Increment Error Type 43 Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Error Type 43 Counter' is invoked, and assuming that an error message has been identified as type 43, when the system processes the error classification, the desired outcome is that the system increments the error type 43 counter by 1.
💻 Technical Criteria
Given An error message has been identified as type 43
When The system processes the error classification
Then The system increments the error type 43 counter by 1
R-GCX003-cbl-01746 Increment General Error Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment General Error Counter' is invoked, and assuming that a message has been classified as an error type, when the system processes the error classification, the desired outcome is that the system increments the general error counter by 1.
💻 Technical Criteria
Given A message has been classified as an error type
When The system processes the error classification
Then The system increments the general error counter by 1
R-GCX003-cbl-01747 Is Warning Type 49 or 52?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Warning Type 49 or 52?' is invoked, and assuming that a message has been classified as a warning type, when the system checks the specific warning type indicator, the desired outcome is that if the warning type is 49 or 52, the system increments the dsp counter in addition to the warning counter.
💻 Technical Criteria
Given A message has been classified as a warning type
When The system checks the specific warning type indicator
Then If the warning type is 49 or 52, the system increments the DSP counter in addition to the warning counter
R-GCX003-cbl-01748 Increment DSP Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment DSP Counter' is invoked, and assuming that a warning message has been identified as type 49 or 52, when the system processes the warning classification, the desired outcome is that the system increments the dsp counter by 1.
💻 Technical Criteria
Given A warning message has been identified as type 49 or 52
When The system processes the warning classification
Then The system increments the DSP counter by 1
R-GCX003-cbl-01749 Increment Warning Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Warning Counter' is invoked, and assuming that a message has been classified as a warning type, when the system processes the warning classification, the desired outcome is that the system increments the warning counter by 1.
💻 Technical Criteria
Given A message has been classified as a warning type
When The system processes the warning classification
Then The system increments the warning counter by 1
R-GCX003-cbl-01750 Increment Info Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Info Counter' is invoked, and assuming that a message has been classified as an information type, when the system processes the information classification, the desired outcome is that the system increments the information counter by 1.
💻 Technical Criteria
Given A message has been classified as an information type
When The system processes the information classification
Then The system increments the information counter by 1
R-GCX003-cbl-01751 Check Error 43 Count vs Total Errors
Decision Rules
📊 Business Logic Narrative
When the process 'Check Error 43 Count vs Total Errors' is invoked, and assuming that all message processing has been completed and counters have been updated, when the system compares the error type 43 count against the total error count, the desired outcome is that if the error type 43 count equals the total error count, the system proceeds with error-to-warning conversion.
💻 Technical Criteria
Given All message processing has been completed and counters have been updated
When The system compares the error type 43 count against the total error count
Then If the error type 43 count equals the total error count, the system proceeds with error-to-warning conversion
R-GCX003-cbl-01752 Convert Error 43 to Warning Type 18
Process Rules
📊 Business Logic Narrative
When the process 'Convert Error 43 to Warning Type 18' is invoked, and assuming that all errors in the batch are identified as type 43, when the system performs error-to-warning conversion, the desired outcome is that the system changes all error type 43 messages to warning type 18.
💻 Technical Criteria
Given All errors in the batch are identified as type 43
When The system performs error-to-warning conversion
Then The system changes all error type 43 messages to warning type 18
R-GCX003-cbl-01753 Adjust Error Counter Down
Computation Rules
📊 Business Logic Narrative
When the process 'Adjust Error Counter Down' is invoked, and assuming that error type 43 messages are being converted to warnings, when the system adjusts the counters for the conversion, the desired outcome is that the system decrements the error counter by 1 for each converted message.
💻 Technical Criteria
Given Error type 43 messages are being converted to warnings
When The system adjusts the counters for the conversion
Then The system decrements the error counter by 1 for each converted message
R-GCX003-cbl-01754 Adjust Warning Counter Up
Computation Rules
📊 Business Logic Narrative
When the process 'Adjust Warning Counter Up' is invoked, and assuming that error type 43 messages are being converted to warnings, when the system adjusts the counters for the conversion, the desired outcome is that the system increments the warning counter by 1 for each converted message.
💻 Technical Criteria
Given Error type 43 messages are being converted to warnings
When The system adjusts the counters for the conversion
Then The system increments the warning counter by 1 for each converted message
R-GCX003-cbl-01854 Classify as Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Classify as Error Message' is invoked, and assuming that a non-spawn message line that requires classification, when the message type indicator shows it is an error message, the desired outcome is that the system increments the error count by one.
💻 Technical Criteria
Given A non-spawn message line that requires classification
When The message type indicator shows it is an error message
Then The system increments the error count by one
R-GCX003-cbl-01856 Classify as Warning Message
Validation Rules
📊 Business Logic Narrative
When the process 'Classify as Warning Message' is invoked, and assuming that a non-spawn message line that requires classification, when the message type indicator shows it is a warning message, the desired outcome is that the system increments the warning count by one.
💻 Technical Criteria
Given A non-spawn message line that requires classification
When The message type indicator shows it is a warning message
Then The system increments the warning count by one
R-GCX003-cbl-01858 Classify as Information Message
Validation Rules
📊 Business Logic Narrative
When the process 'Classify as Information Message' is invoked, and assuming that a non-spawn message line that requires classification, when the message type indicator shows it is an information message, the desired outcome is that the system increments the information count by one.
💻 Technical Criteria
Given A non-spawn message line that requires classification
When The message type indicator shows it is an information message
Then The system increments the information count by one
R-GCX003-cbl-01411 Set Result Status: NOT SENT
Process Rules
📊 Business Logic Narrative
When the process 'Set Result Status: NOT SENT' is invoked, and assuming that train manifest processing has completed with no errors but has spawn messages, when the system determines the final result status, the desired outcome is that the result status is set to not sent indicating special processing is required.
💻 Technical Criteria
Given Train manifest processing has completed with no errors but has spawn messages
When The system determines the final result status
Then The result status is set to NOT SENT indicating special processing is required
R-GCX003-cbl-01412 Copy Warning Count to Display
Process Rules
📊 Business Logic Narrative
When the process 'Copy Warning Count to Display' is invoked, and assuming that train manifest processing has completed successfully, when the system prepares the result display information, the desired outcome is that the warning count is copied to the appropriate display field for the success scenario.
💻 Technical Criteria
Given Train manifest processing has completed successfully
When The system prepares the result display information
Then The warning count is copied to the appropriate display field for the success scenario
R-GCX003-cbl-01414 Trigger Special Manifest Processing
Action Rules
📊 Business Logic Narrative
When the process 'Trigger Special Manifest Processing' is invoked, and assuming that train manifest processing completed successfully but generated spawn messages, when the system needs to handle special processing requirements, the desired outcome is that special manifest processing is triggered using gcx101 spawn functionality.
💻 Technical Criteria
Given Train manifest processing completed successfully but generated spawn messages
When The system needs to handle special processing requirements
Then Special manifest processing is triggered using GCX101 spawn functionality
R-GCX003-cbl-00409 Set Train Identification Data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train Identification Data' is invoked, and assuming that a train header record is initialized and train request data is available, when the system sets train identification data, the desired outcome is that the train number, train day, train origin, and consist number are assigned to the train header record.
💻 Technical Criteria
Given A train header record is initialized and train request data is available
When The system sets train identification data
Then The train number, train day, train origin, and consist number are assigned to the train header record
R-GCX003-cbl-00411 Set Estimated Time of Arrival
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Estimated Time of Arrival' is invoked, and assuming that station information is assigned and eta data is validated, when the system sets the estimated time of arrival, the desired outcome is that the eta date and eta time are assigned to the train header record.
💻 Technical Criteria
Given Station information is assigned and ETA data is validated
When The system sets the estimated time of arrival
Then The ETA date and ETA time are assigned to the train header record
R-GCX003-cbl-00412 Set AEI Send Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set AEI Send Flag' is invoked, and assuming that eta information is set and aei send status is determined, when the system configures the aei send flag, the desired outcome is that the aei send indicator is set to true if aei sending is enabled, otherwise set to false.
💻 Technical Criteria
Given ETA information is set and AEI send status is determined
When The system configures the AEI send flag
Then The AEI send indicator is set to true if AEI sending is enabled, otherwise set to false
R-GCX003-cbl-00422 Database Insert Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Insert Successful?' is invoked, and assuming that train record insertion to database is attempted, when the system validates database insert success, the desired outcome is that if insertion is successful, continue processing, otherwise if record already exists trigger system abend.
💻 Technical Criteria
Given Train record insertion to database is attempted
When The system validates database insert success
Then If insertion is successful, continue processing, otherwise if record already exists trigger system abend
R-GCX003-cbl-00423 Train Record Created Successfully
Process Rules
📊 Business Logic Narrative
When the process 'Train Record Created Successfully' is invoked, and assuming that database insertion is validated as successful, when the system completes train record creation, the desired outcome is that train record creation process is marked as successfully completed.
💻 Technical Criteria
Given Database insertion is validated as successful
When The system completes train record creation
Then Train record creation process is marked as successfully completed
R-GCX003-cbl-00433 Validate Module Parameters
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Module Parameters' is invoked, and assuming that the gccu358t module has been called for edi transmission, when the module execution completes, the desired outcome is that the system must validate that the module parameters were valid and the transmission was successful, otherwise terminate with system error.
💻 Technical Criteria
Given The GCCU358T module has been called for EDI transmission
When The module execution completes
Then The system must validate that the module parameters were valid and the transmission was successful, otherwise terminate with system error
R-GCX003-cbl-00434 AEI Train Send Request?
Decision Rules
📊 Business Logic Narrative
When the process 'AEI Train Send Request?' is invoked, and assuming that a train list has been successfully transmitted via edi, when the system checks the train send type, the desired outcome is that if the train send is marked as aei-enabled, additional aei logging must be performed.
💻 Technical Criteria
Given A train list has been successfully transmitted via EDI
When The system checks the train send type
Then If the train send is marked as AEI-enabled, additional AEI logging must be performed
R-GCX003-cbl-00435 Log AEI Send Activity
Action Rules
📊 Business Logic Narrative
When the process 'Log AEI Send Activity' is invoked, and assuming that an aei train send request has been successfully transmitted, when aei logging is required, the desired outcome is that the system must create an activity log record with train details, user information, timestamp, and aei send confirmation message.
💻 Technical Criteria
Given An AEI train send request has been successfully transmitted
When AEI logging is required
Then The system must create an activity log record with train details, user information, timestamp, and AEI send confirmation message
R-GCX003-cbl-01433 Initialize Email Return Status Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Email Return Status Flags' is invoked, and assuming that email formatting has been configured, when the system initializes status tracking, the desired outcome is that email return status flags are cleared and no-more-email flag is set to true and line counter is reset to zero.
💻 Technical Criteria
Given Email formatting has been configured
When The system initializes status tracking
Then Email return status flags are cleared and no-more-email flag is set to true and line counter is reset to zero
R-GCX003-cbl-01755 Email Content Exceeds Line Limit?
Validation Rules
📊 Business Logic Narrative
When the process 'Email Content Exceeds Line Limit?' is invoked, and assuming that an email message is being prepared for transmission, when the system checks if the current line count exceeds 699 lines, the desired outcome is that the system determines whether to split the email into multiple batches or send as a single transmission.
💻 Technical Criteria
Given An email message is being prepared for transmission
When The system checks if the current line count exceeds 699 lines
Then The system determines whether to split the email into multiple batches or send as a single transmission
R-GCX003-cbl-01757 Email Transmission Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Email Transmission Successful?' is invoked, and assuming that an email has been sent via emcsend3 service, when the system checks the email return status flag, the desired outcome is that the system determines if the transmission was successful based on the return status.
💻 Technical Criteria
Given An email has been sent via EMCSEND3 service
When The system checks the email return status flag
Then The system determines if the transmission was successful based on the return status
R-GCX003-cbl-01758 Handle Transmission Failure
Action Rules
📊 Business Logic Narrative
When the process 'Handle Transmission Failure' is invoked, and assuming that an email transmission has failed, when the system processes the transmission failure, the desired outcome is that the system clears the primary recipient, sets fallback recipients to 'aei9999' and 'om01247', and attempts retransmission.
💻 Technical Criteria
Given An email transmission has failed
When The system processes the transmission failure
Then The system clears the primary recipient, sets fallback recipients to 'AEI9999' and 'OM01247', and attempts retransmission
R-GCX003-cbl-01760 Retry Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Retry Successful?' is invoked, and assuming that a retry email transmission attempt has been made with fallback recipients, when the system checks the retry transmission status, the desired outcome is that if retry fails, the system generates an error message 'send to file of om01247 failed' and abends the process.
💻 Technical Criteria
Given A retry email transmission attempt has been made with fallback recipients
When The system checks the retry transmission status
Then If retry fails, the system generates an error message 'SEND TO FILE OF OM01247 FAILED' and abends the process
R-GCX003-cbl-01761 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that email transmission has been completed successfully, when the system finalizes the email process, the desired outcome is that the system initializes accept status and calls cims with purg function to purge the alternate pcb message queue.
💻 Technical Criteria
Given Email transmission has been completed successfully
When The system finalizes the email process
Then The system initializes accept status and calls CIMS with PURG function to purge the alternate PCB message queue
R-GCX003-cbl-01862 Initialize Email Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Email Parameters' is invoked, and assuming that an email transmission process is initiated, when the system prepares email parameters, the desired outcome is that from usercode is set to default merlin id, to usercode is set to default merlin id, subject line is cleared, message content is cleared, and item width is set to 080.
💻 Technical Criteria
Given An email transmission process is initiated
When The system prepares email parameters
Then FROM usercode is set to default Merlin ID, TO usercode is set to default Merlin ID, subject line is cleared, message content is cleared, and item width is set to 080
R-GCX003-cbl-01863 Check Line Count > 699?
Validation Rules
📊 Business Logic Narrative
When the process 'Check Line Count > 699?' is invoked, and assuming that email message content is being processed with accumulated lines, when the line count reaches or exceeds 699 lines, the desired outcome is that the current batch must be transmitted immediately and a new batch started.
💻 Technical Criteria
Given Email message content is being processed with accumulated lines
When The line count reaches or exceeds 699 lines
Then The current batch must be transmitted immediately and a new batch started
R-GCX003-cbl-01865 Transmission Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Transmission Successful?' is invoked, and assuming that emcsend3 email transmission module has been called, when the transmission return status is evaluated, the desired outcome is that if return status indicates success, continue normal processing; if return status indicates failure, initiate error notification process.
💻 Technical Criteria
Given EMCSEND3 email transmission module has been called
When The transmission return status is evaluated
Then If return status indicates success, continue normal processing; if return status indicates failure, initiate error notification process
R-GCX003-cbl-01867 Set Error Recipients
Process Rules
📊 Business Logic Narrative
When the process 'Set Error Recipients' is invoked, and assuming that email transmission has failed, when the system handles transmission failure, the desired outcome is that to usercode is cleared, error recipient 'aei9999' is set as first recipient, and 'om01247' is set as second recipient.
💻 Technical Criteria
Given Email transmission has failed
When The system handles transmission failure
Then TO usercode is cleared, error recipient 'AEI9999' is set as first recipient, and 'OM01247' is set as second recipient
R-GCX003-cbl-01868 Call EMCSEND3 for Error Notification
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND3 for Error Notification' is invoked, and assuming that primary email transmission has failed and error recipients are set, when the system calls emcsend3 for error notification, the desired outcome is that error notification email is transmitted to designated error recipients with same message content and formatting parameters.
💻 Technical Criteria
Given Primary email transmission has failed and error recipients are set
When The system calls EMCSEND3 for error notification
Then Error notification email is transmitted to designated error recipients with same message content and formatting parameters
R-GCX003-cbl-01869 Error Notification Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Notification Successful?' is invoked, and assuming that error notification email has been transmitted via emcsend3, when the error notification transmission status is evaluated, the desired outcome is that if error notification succeeds, clear message buffer and continue; if error notification fails, trigger system abend with 'send to file of om01247 failed' message.
💻 Technical Criteria
Given Error notification email has been transmitted via EMCSEND3
When The error notification transmission status is evaluated
Then If error notification succeeds, clear message buffer and continue; if error notification fails, trigger system abend with 'SEND TO FILE OF OM01247 FAILED' message
R-GCX003-cbl-01870 System Abend
Process Rules
📊 Business Logic Narrative
When the process 'System Abend' is invoked, and assuming that both primary email transmission and error notification transmission have failed, when the system cannot recover from email transmission failures, the desired outcome is that system abends with error message 'send to file of om01247 failed'.
💻 Technical Criteria
Given Both primary email transmission and error notification transmission have failed
When The system cannot recover from email transmission failures
Then System abends with error message 'SEND TO FILE OF OM01247 FAILED'
R-GCX003-cbl-01441 Initialize Line Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Line Counter' is invoked, and assuming that email headers have been configured, when the line counting process is initialized, the desired outcome is that the system shall set the line counter to zero and establish email continuation flags.
💻 Technical Criteria
Given Email headers have been configured
When The line counting process is initialized
Then The system shall set the line counter to zero and establish email continuation flags
R-GCX003-cbl-01445 Line Count > 699?
Validation Rules
📊 Business Logic Narrative
When the process 'Line Count > 699?' is invoked, and assuming that lines have been added to the email message buffer, when the system checks the current line count, the desired outcome is that the system shall trigger email transmission if the line count exceeds 699 lines.
💻 Technical Criteria
Given Lines have been added to the email message buffer
When The system checks the current line count
Then The system shall trigger email transmission if the line count exceeds 699 lines
R-GCX003-cbl-01446 Send Current Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Current Email Batch' is invoked, and assuming that an email message is ready for transmission with proper headers and content, when the email send operation is executed, the desired outcome is that the system shall call the email service with all configured parameters including sender, recipient, subject, content, and formatting options.
💻 Technical Criteria
Given An email message is ready for transmission with proper headers and content
When The email send operation is executed
Then The system shall call the email service with all configured parameters including sender, recipient, subject, content, and formatting options
R-GCX003-cbl-01447 Email Send Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Email Send Successful?' is invoked, and assuming that an email transmission attempt has been completed, when the system evaluates the transmission result, the desired outcome is that the system shall check the email return status flag to determine if the transmission was successful.
💻 Technical Criteria
Given An email transmission attempt has been completed
When The system evaluates the transmission result
Then The system shall check the email return status flag to determine if the transmission was successful
R-GCX003-cbl-01448 Handle Email Failure
Process Rules
📊 Business Logic Narrative
When the process 'Handle Email Failure' is invoked, and assuming that an email transmission has failed, when the failure handling process is initiated, the desired outcome is that the system shall clear the recipient usercode field and prepare alternative recipient addresses for error notification.
💻 Technical Criteria
Given An email transmission has failed
When The failure handling process is initiated
Then The system shall clear the recipient usercode field and prepare alternative recipient addresses for error notification
R-GCX003-cbl-01450 Reset Email Message Buffer
Process Rules
📊 Business Logic Narrative
When the process 'Reset Email Message Buffer' is invoked, and assuming that an email batch has been sent successfully or after error handling, when the message buffer is reset for continuation, the desired outcome is that the system shall clear the email text content and reset the line counter to zero.
💻 Technical Criteria
Given An email batch has been sent successfully or after error handling
When The message buffer is reset for continuation
Then The system shall clear the email text content and reset the line counter to zero
R-GCX003-cbl-01455 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that email transmission has been completed successfully, when message queue purging is performed, the desired outcome is that the system shall clear the accept status and call the message purge service to clean up communication resources.
💻 Technical Criteria
Given Email transmission has been completed successfully
When Message queue purging is performed
Then The system shall clear the accept status and call the message purge service to clean up communication resources
R-GCX003-cbl-00454 Line Count > 699?
Validation Rules
📊 Business Logic Narrative
When the process 'Line Count > 699?' is invoked, and assuming that lines are being added to an email message buffer, when the line subscription counter is evaluated, the desired outcome is that if the line counter exceeds 699 lines, trigger email batch sending process.
💻 Technical Criteria
Given Lines are being added to an email message buffer
When The line subscription counter is evaluated
Then If the line counter exceeds 699 lines, trigger email batch sending process
R-GCX003-cbl-00457 Reset Line Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Reset Line Counter to Zero' is invoked, and assuming that the email message buffer has been cleared after sending a batch, when preparing for the next batch of lines, the desired outcome is that set the line subscription counter to zero.
💻 Technical Criteria
Given The email message buffer has been cleared after sending a batch
When Preparing for the next batch of lines
Then Set the line subscription counter to zero
R-GCX003-cbl-00460 Add 3 to Line Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Add 3 to Line Counter' is invoked, and assuming that continuation header and detail headers have been added to the email batch, when the line counter needs to be updated, the desired outcome is that add 3 to the line subscription counter to account for the added header lines.
💻 Technical Criteria
Given Continuation header and detail headers have been added to the email batch
When The line counter needs to be updated
Then Add 3 to the line subscription counter to account for the added header lines
R-GCX003-cbl-00462 Email Send Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Email Send Successful?' is invoked, and assuming that an email send operation has been attempted, when the email return status is evaluated, the desired outcome is that if the email return status is not successful, trigger error handling process.
💻 Technical Criteria
Given An email send operation has been attempted
When The email return status is evaluated
Then If the email return status is not successful, trigger error handling process
R-GCX003-cbl-00463 Handle Email Send Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Email Send Error' is invoked, and assuming that an email send operation has failed, when error handling is triggered, the desired outcome is that clear the current recipient usercode and set aei9999 as the first recipient usercode and set om01247 as the second recipient usercode.
💻 Technical Criteria
Given An email send operation has failed
When Error handling is triggered
Then Clear the current recipient usercode AND set AEI9999 as the first recipient usercode AND set OM01247 as the second recipient usercode
R-GCX003-cbl-00466 Retrieve Email Distribution List
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Email Distribution List' is invoked, and assuming that an aei train send request requires email notification, when the system queries the customer email table using train origin as the key, the desired outcome is that email addresses are retrieved for notification distribution or default addresses are used if none found.
💻 Technical Criteria
Given An AEI train send request requires email notification
When The system queries the customer email table using train origin as the key
Then Email addresses are retrieved for notification distribution or default addresses are used if none found
R-GCX003-cbl-00468 Use Default Recipients
Decision Rules
📊 Business Logic Narrative
When the process 'Use Default Recipients' is invoked, and assuming that aei email distribution list retrieval returns no entries or encounters an error, when the system cannot find specific email recipients for the train origin, the desired outcome is that default merlin id is assigned as both sender and recipient for the email notification.
💻 Technical Criteria
Given AEI email distribution list retrieval returns no entries or encounters an error
When The system cannot find specific email recipients for the train origin
Then Default Merlin ID is assigned as both sender and recipient for the email notification
R-GCX003-cbl-01457 Retrieve AEI Email Distribution List
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve AEI Email Distribution List' is invoked, and assuming that an aei train send request is being processed, when the system calls aecwrktb with train origin as record key and cusemail as record type, the desired outcome is that return the email distribution configuration for the specified origin.
💻 Technical Criteria
Given An AEI train send request is being processed
When The system calls AECWRKTB with train origin as record key and CUSEMAIL as record type
Then Return the email distribution configuration for the specified origin
R-GCX003-cbl-01458 Email Distribution Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Email Distribution Found?' is invoked, and assuming that aei email distribution retrieval has been attempted, when the return code equals aei success constant, the desired outcome is that use retrieved email recipients, otherwise use default merlin recipients.
💻 Technical Criteria
Given AEI email distribution retrieval has been attempted
When The return code equals AEI success constant
Then Use retrieved email recipients, otherwise use default MERLIN recipients
R-GCX003-cbl-01459 Use Retrieved Email Recipients
Process Rules
📊 Business Logic Narrative
When the process 'Use Retrieved Email Recipients' is invoked, and assuming that aei email distribution list was successfully retrieved, when processing email recipients from cusemail user ids, the desired outcome is that assign each non-blank cusemail user id to email recipient list up to maximum of 10 recipients.
💻 Technical Criteria
Given AEI email distribution list was successfully retrieved
When Processing email recipients from CUSEMAIL user IDs
Then Assign each non-blank CUSEMAIL user ID to email recipient list up to maximum of 10 recipients
R-GCX003-cbl-01460 Use Default MERLIN Recipients
Decision Rules
📊 Business Logic Narrative
When the process 'Use Default MERLIN Recipients' is invoked, and assuming that aei email distribution list retrieval failed or returned no entry, when no specific email recipients are configured, the desired outcome is that set both from and to email addresses to default merlin id constant.
💻 Technical Criteria
Given AEI email distribution list retrieval failed or returned no entry
When No specific email recipients are configured
Then Set both FROM and TO email addresses to default MERLIN ID constant
R-GCX003-cbl-00476 Retrieve AEI Email Distribution List
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve AEI Email Distribution List' is invoked, and assuming that an aei train send request is being processed, when the system queries the aei work table using train origin as the key with record type 'cusemail', the desired outcome is that return the configured email distribution list or indicate no entry found.
💻 Technical Criteria
Given An AEI train send request is being processed
When The system queries the AEI work table using train origin as the key with record type 'CUSEMAIL'
Then Return the configured email distribution list or indicate no entry found
R-GCX003-cbl-00477 Email Distribution Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Email Distribution Found?' is invoked, and assuming that aei email distribution retrieval has been attempted, when the return code indicates successful retrieval, the desired outcome is that use the retrieved email addresses for up to 10 recipients, otherwise use default merlin email address.
💻 Technical Criteria
Given AEI email distribution retrieval has been attempted
When The return code indicates successful retrieval
Then Use the retrieved email addresses for up to 10 recipients, otherwise use default MERLIN email address
R-GCX003-cbl-00478 Use Default MERLIN Email
Action Rules
📊 Business Logic Narrative
When the process 'Use Default MERLIN Email' is invoked, and assuming that no aei email distribution list was found or database error occurred, when the system needs to assign email recipients, the desired outcome is that set both sender and recipient to the default merlin id.
💻 Technical Criteria
Given No AEI email distribution list was found or database error occurred
When The system needs to assign email recipients
Then Set both sender and recipient to the default MERLIN ID
R-GCX003-cbl-00479 Set Multiple Email Recipients
Action Rules
📊 Business Logic Narrative
When the process 'Set Multiple Email Recipients' is invoked, and assuming that aei email distribution list was successfully retrieved, when processing email recipient configuration, the desired outcome is that set sender to default merlin id and assign up to 10 recipient email addresses from the distribution list until a blank entry is encountered.
💻 Technical Criteria
Given AEI email distribution list was successfully retrieved
When Processing email recipient configuration
Then Set sender to default MERLIN ID and assign up to 10 recipient email addresses from the distribution list until a blank entry is encountered
R-GCX003-cbl-00484 Send Current Email Batch
Action Rules
📊 Business Logic Narrative
When the process 'Send Current Email Batch' is invoked, and assuming that email content has reached the 699 line limit, when sending the current email batch using emcsend3, the desired outcome is that if send fails, redirect to error notification addresses aei9999 and om01247, otherwise continue processing.
💻 Technical Criteria
Given Email content has reached the 699 line limit
When Sending the current email batch using EMCSEND3
Then If send fails, redirect to error notification addresses AEI9999 and OM01247, otherwise continue processing
R-GCX003-cbl-00485 Start New Email with Continuation Header
Process Rules
📊 Business Logic Narrative
When the process 'Start New Email with Continuation Header' is invoked, and assuming that a previous email batch was sent due to size limits, when starting a new continuation email, the desired outcome is that clear email text, reset line counter to 1, add continuation message, and add detail headers starting at line 3.
💻 Technical Criteria
Given A previous email batch was sent due to size limits
When Starting a new continuation email
Then Clear email text, reset line counter to 1, add continuation message, and add detail headers starting at line 3
R-GCX003-cbl-00488 Log Email Failure
Action Rules
📊 Business Logic Narrative
When the process 'Log Email Failure' is invoked, and assuming that error notification email transmission has also failed, when the system cannot send any email notifications, the desired outcome is that generate system error message 'send to file of om01247 failed' and perform system abend.
💻 Technical Criteria
Given Error notification email transmission has also failed
When The system cannot send any email notifications
Then Generate system error message 'SEND TO FILE OF OM01247 FAILED' and perform system abend
R-GCX003-cbl-00490 Initialize Log Entry Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Log Entry Structure' is invoked, and assuming that aei activity logging is triggered, when the system begins creating a log entry, the desired outcome is that the log entry structure is initialized to prepare for data population.
💻 Technical Criteria
Given AEI activity logging is triggered
When The system begins creating a log entry
Then The log entry structure is initialized to prepare for data population
R-GCX003-cbl-00492 Set Record Type as US Train
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type as US Train' is invoked, and assuming that an aei activity log entry is being prepared, when record type classification is required, the desired outcome is that the record type is set to us-train to identify this as a us train activity log.
💻 Technical Criteria
Given An AEI activity log entry is being prepared
When Record type classification is required
Then The record type is set to US-TRAIN to identify this as a US train activity log
R-GCX003-cbl-00493 Set Action Code to ZZZ
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to ZZZ' is invoked, and assuming that an aei log entry requires an action code, when the action code field needs to be populated, the desired outcome is that the action code is set to 'zzz' as the standard identifier for aei send activities.
💻 Technical Criteria
Given An AEI log entry requires an action code
When The action code field needs to be populated
Then The action code is set to 'ZZZ' as the standard identifier for AEI send activities
R-GCX003-cbl-00494 Set Sending Transaction ID
Process Rules
📊 Business Logic Narrative
When the process 'Set Sending Transaction ID' is invoked, and assuming that an aei log entry is being created, when the originating transaction needs to be identified, the desired outcome is that the sending transaction is set to 'gct0031e' to identify the source transaction.
💻 Technical Criteria
Given An AEI log entry is being created
When The originating transaction needs to be identified
Then The sending transaction is set to 'GCT0031E' to identify the source transaction
R-GCX003-cbl-00495 Capture User ACF2 ID
Authorization Rules
📊 Business Logic Narrative
When the process 'Capture User ACF2 ID' is invoked, and assuming that an aei activity is being logged, when user identification is required for the log entry, the desired outcome is that the acf2 user id from the current session is captured and stored in the log entry.
💻 Technical Criteria
Given An AEI activity is being logged
When User identification is required for the log entry
Then The ACF2 user ID from the current session is captured and stored in the log entry
R-GCX003-cbl-00496 Format Current Date
Computation Rules
📊 Business Logic Narrative
When the process 'Format Current Date' is invoked, and assuming that an aei log entry requires a date timestamp, when the current date needs to be recorded, the desired outcome is that the system date is formatted by concatenating machine century and machine date into the log entry date field.
💻 Technical Criteria
Given An AEI log entry requires a date timestamp
When The current date needs to be recorded
Then The system date is formatted by concatenating machine century and machine date into the log entry date field
R-GCX003-cbl-00500 Prepare Log Message for Queue
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Message for Queue' is invoked, and assuming that an aei log entry has been populated with all required data, when the log entry needs to be queued for processing, the desired outcome is that the log input structure is moved to the message format for queue transmission.
💻 Technical Criteria
Given An AEI log entry has been populated with all required data
When The log entry needs to be queued for processing
Then The log input structure is moved to the message format for queue transmission
R-GCX003-cbl-00501 Send Log to Message Queue
Action Rules
📊 Business Logic Narrative
When the process 'Send Log to Message Queue' is invoked, and assuming that an aei log entry is prepared for transmission, when the log needs to be sent to the queue system, the desired outcome is that the system calls the message queue service to transmit the log entry.
💻 Technical Criteria
Given An AEI log entry is prepared for transmission
When The log needs to be sent to the queue system
Then The system calls the message queue service to transmit the log entry
R-GCX003-cbl-00510 Move Input Parameters to Message Output
Process Rules
📊 Business Logic Narrative
When the process 'Move Input Parameters to Message Output' is invoked, and assuming that all gcx141 message parameters have been configured, when the system prepares the message for transmission, the desired outcome is that the complete gcx141 input structure is moved to the message output text field.
💻 Technical Criteria
Given All GCX141 message parameters have been configured
When The system prepares the message for transmission
Then The complete GCX141 input structure is moved to the message output text field
R-GCX003-cbl-00519 Initialize Continuation Email
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Continuation Email' is invoked, and assuming that email message size limit of 699 lines has been reached, when the system initializes a continuation email, the desired outcome is that email message is cleared, line counter is reset, continuation message is added, and detail headers are re-added.
💻 Technical Criteria
Given Email message size limit of 699 lines has been reached
When The system initializes a continuation email
Then Email message is cleared, line counter is reset, continuation message is added, and detail headers are re-added
R-GCX003-cbl-01647 Is Message Type 43?
Authorization Rules
📊 Business Logic Narrative
When the process 'Is Message Type 43?' is invoked, and assuming that an error message has been identified and counted, when the error message type is 43 (authorization failure), the desired outcome is that the system increments the special error count 43 by 1 in addition to the general error count.
💻 Technical Criteria
Given An error message has been identified and counted
When The error message type is 43 (authorization failure)
Then The system increments the special error count 43 by 1 in addition to the general error count
R-GCX003-cbl-01649 Is Message Type 49 or 52?
Policy Rules
📊 Business Logic Narrative
When the process 'Is Message Type 49 or 52?' is invoked, and assuming that a warning message has been identified and counted, when the warning message type is 49 or 52 (dsp hold conditions), the desired outcome is that the system increments the dsp hold count by 1 in addition to the general warning count.
💻 Technical Criteria
Given A warning message has been identified and counted
When The warning message type is 49 or 52 (DSP hold conditions)
Then The system increments the DSP hold count by 1 in addition to the general warning count
R-GCX003-cbl-01766 Classify as Information Message
Decision Rules
📊 Business Logic Narrative
When the process 'Classify as Information Message' is invoked, and assuming that a non-spawn message line is being processed, when the message severity is classified as information level, the desired outcome is that increment the information counter by 1.
💻 Technical Criteria
Given A non-spawn message line is being processed
When The message severity is classified as information level
Then Increment the information counter by 1
R-GCX003-cbl-01872 Is Spawn Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Spawn Message?' is invoked, and assuming that a message line is being processed for severity classification, when the message is identified as a spawn message, the desired outcome is that the system skips severity classification and continues processing without incrementing any counters.
💻 Technical Criteria
Given A message line is being processed for severity classification
When The message is identified as a spawn message
Then The system skips severity classification and continues processing without incrementing any counters
R-GCX003-cbl-01873 Error Message?
Validation Rules
📊 Business Logic Narrative
When the process 'Error Message?' is invoked, and assuming that a non-spawn message line is being processed for severity classification, when the message is classified as an error message, the desired outcome is that the system increments the error counter by 1.
💻 Technical Criteria
Given A non-spawn message line is being processed for severity classification
When The message is classified as an error message
Then The system increments the error counter by 1
R-GCX003-cbl-01875 Warning Message?
Validation Rules
📊 Business Logic Narrative
When the process 'Warning Message?' is invoked, and assuming that a non-spawn, non-error message line is being processed for severity classification, when the message is classified as a warning message, the desired outcome is that the system increments the warning counter by 1.
💻 Technical Criteria
Given A non-spawn, non-error message line is being processed for severity classification
When The message is classified as a warning message
Then The system increments the warning counter by 1
R-GCX003-cbl-01877 Information Message?
Validation Rules
📊 Business Logic Narrative
When the process 'Information Message?' is invoked, and assuming that a non-spawn, non-error, non-warning message line is being processed for severity classification, when the message is classified as an information message, the desired outcome is that the system increments the information counter by 1.
💻 Technical Criteria
Given A non-spawn, non-error, non-warning message line is being processed for severity classification
When The message is classified as an information message
Then The system increments the information counter by 1
R-GCX003-cbl-01477 Increment ERR-43 Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment ERR-43 Counter' is invoked, and assuming that an error message is being processed, when the message type indicator equals 43, the desired outcome is that the system adds 1 to the err-43 counter in addition to the general error counter.
💻 Technical Criteria
Given An error message is being processed
When The message type indicator equals 43
Then The system adds 1 to the ERR-43 counter in addition to the general error counter
R-GCX003-cbl-01479 Increment DSP Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment DSP Counter' is invoked, and assuming that a warning message is being processed, when the message type indicator is 49 or 52, the desired outcome is that the system adds 1 to the dsp counter in addition to the warning counter.
💻 Technical Criteria
Given A warning message is being processed
When The message type indicator is 49 or 52
Then The system adds 1 to the DSP counter in addition to the warning counter
R-GCX003-cbl-01480 Increment Info Counter
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Info Counter', assuming that a message line is classified as an informational message and is not a spawn message, when the message type is determined to be informational, the desired outcome is that the system adds 1 to the informational message counter.
💻 Technical Criteria
EXCLUDING A message line is classified as an informational message and is not a spawn message
When The message type is determined to be informational
Then The system adds 1 to the informational message counter
R-GCX003-cbl-00561 Set Action Code to ZZZ
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to ZZZ' is invoked, and assuming that an audit log entry is being created, when the system assigns an action code to categorize the audit activity, the desired outcome is that the action code is set to 'zzz' as the standard code for this type of audit logging.
💻 Technical Criteria
Given An audit log entry is being created
When The system assigns an action code to categorize the audit activity
Then The action code is set to 'ZZZ' as the standard code for this type of audit logging
R-GCX003-cbl-00562 Set Sending Transaction ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Sending Transaction ID' is invoked, and assuming that an audit log entry is being created, when the system records the source transaction information, the desired outcome is that the sending transaction is set to 'gct0031e' to identify the originating transaction type.
💻 Technical Criteria
Given An audit log entry is being created
When The system records the source transaction information
Then The sending transaction is set to 'GCT0031E' to identify the originating transaction type
R-GCX003-cbl-00563 Capture User ACF2 ID
Authorization Rules
📊 Business Logic Narrative
When the process 'Capture User ACF2 ID' is invoked, and assuming that an audit log entry is being created, when the system records user identification information, the desired outcome is that the acf2 user id from the common communication area is captured in the audit log.
💻 Technical Criteria
Given An audit log entry is being created
When The system records user identification information
Then The ACF2 user ID from the common communication area is captured in the audit log
R-GCX003-cbl-00564 Capture Current Date
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Date' is invoked, and assuming that an audit log entry is being created, when the system records timestamp information, the desired outcome is that the current machine date including century and date components are concatenated and stored in the audit log.
💻 Technical Criteria
Given An audit log entry is being created
When The system records timestamp information
Then The current machine date including century and date components are concatenated and stored in the audit log
R-GCX003-cbl-00565 Capture Current Time
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Time' is invoked, and assuming that an audit log entry is being created, when the system records timestamp information, the desired outcome is that the current machine time is captured and stored in the audit log.
💻 Technical Criteria
Given An audit log entry is being created
When The system records timestamp information
Then The current machine time is captured and stored in the audit log
R-GCX003-cbl-00568 Format Complete Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Complete Log Message' is invoked, and assuming that all audit log components have been populated, when the system prepares the final audit message, the desired outcome is that the complete gcx105 input structure is moved to the gct1051e message format for transmission.
💻 Technical Criteria
Given All audit log components have been populated
When The system prepares the final audit message
Then The complete GCX105 input structure is moved to the GCT1051E message format for transmission
R-GCX003-cbl-00569 Send Log to Message Queue
Action Rules
📊 Business Logic Narrative
When the process 'Send Log to Message Queue' is invoked, and assuming that a complete audit log message has been formatted, when the system sends the message to the queue, the desired outcome is that the message is sent using cims with chng function to the alternate pcb for the gct1051e message type.
💻 Technical Criteria
Given A complete audit log message has been formatted
When The system sends the message to the queue
Then The message is sent using CIMS with CHNG function to the alternate PCB for the GCT1051E message type
R-GCX003-cbl-00571 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that an audit log message has been written to the system log, when the system completes the logging process, the desired outcome is that the message queue is purged using cims with purg function to clean up the alternate pcb.
💻 Technical Criteria
Given An audit log message has been written to the system log
When The system completes the logging process
Then The message queue is purged using CIMS with PURG function to clean up the alternate PCB
R-GCX003-cbl-00574 Error Detected During Processing
Process Rules
📊 Business Logic Narrative
When the process 'Error Detected During Processing' is invoked, and assuming that a train manifest processing operation is in progress with database changes pending, when an error is detected during processing that requires transaction rollback, the desired outcome is that the system should execute database rollback to undo all uncommitted changes and restore the database to its previous consistent state.
💻 Technical Criteria
Given A train manifest processing operation is in progress with database changes pending
When An error is detected during processing that requires transaction rollback
Then The system should execute database rollback to undo all uncommitted changes and restore the database to its previous consistent state
R-GCX003-cbl-00575 Initialize Rollback Status
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Rollback Status' is invoked, and assuming that a database rollback operation needs to be performed, when the rollback process is initiated, the desired outcome is that the system should initialize the accept status to prepare for rollback command execution.
💻 Technical Criteria
Given A database rollback operation needs to be performed
When The rollback process is initiated
Then The system should initialize the accept status to prepare for rollback command execution
R-GCX003-cbl-00576 Execute Database Rollback Command
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Rollback Command' is invoked, and assuming that the rollback status has been initialized, when the database rollback command is executed, the desired outcome is that the system should call the database rollback function to undo all pending changes.
💻 Technical Criteria
Given The rollback status has been initialized
When The database rollback command is executed
Then The system should call the database rollback function to undo all pending changes
R-GCX003-cbl-00666 Retrieve Station Table Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Station Table Information' is invoked, and assuming that segment 07 processing is complete and station table lookup is required, when the system retrieves station table data using commodity code id and 'st' qualifier, the desired outcome is that if station table data is found successfully, move data to station segment working storage, otherwise set station segment to spaces.
💻 Technical Criteria
Given Segment 07 processing is complete and station table lookup is required
When The system retrieves station table data using commodity code ID and 'ST' qualifier
Then If station table data is found successfully, move data to station segment working storage, otherwise set station segment to spaces
R-GCX003-cbl-00753 Initialize Train Header Information
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Train Header Information' is invoked, and assuming that a train transmission has been successfully validated and approved for sending, when the system begins the train list storage process, the desired outcome is that the train header information is initialized and cleared of any previous data to prepare for new train data storage.
💻 Technical Criteria
Given A train transmission has been successfully validated and approved for sending
When The system begins the train list storage process
Then The train header information is initialized and cleared of any previous data to prepare for new train data storage
R-GCX003-cbl-00754 Set Train Identification Data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train Identification Data' is invoked, and assuming that train header information has been initialized, when setting train identification data, the desired outcome is that train number, train day, train origin, and consist number are copied from the request to the train list structure.
💻 Technical Criteria
Given Train header information has been initialized
When Setting train identification data
Then Train number, train day, train origin, and consist number are copied from the request to the train list structure
R-GCX003-cbl-00755 Set Origin Station Details
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Origin Station Details' is invoked, and assuming that train identification data has been set, when setting origin station details, the desired outcome is that us station code, station name, and firms code are stored from the validated station information.
💻 Technical Criteria
Given Train identification data has been set
When Setting origin station details
Then US station code, station name, and FIRMS code are stored from the validated station information
R-GCX003-cbl-00756 Set ETA Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set ETA Information' is invoked, and assuming that origin station details have been set, when setting eta information, the desired outcome is that eta date and eta time are stored from the validated request data.
💻 Technical Criteria
Given Origin station details have been set
When Setting ETA information
Then ETA date and ETA time are stored from the validated request data
R-GCX003-cbl-00757 Set AEI Send Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set AEI Send Flag' is invoked, and assuming that eta information has been set, when the request type indicates aei transmission, the desired outcome is that the aei send flag is set to true, otherwise it is set to false.
💻 Technical Criteria
Given ETA information has been set
When The request type indicates AEI transmission
Then The AEI send flag is set to true, otherwise it is set to false
R-GCX003-cbl-00772 Database Insert Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Insert Successful?' is invoked, and assuming that train record insert has been attempted, when checking insert operation result, the desired outcome is that if insert failed or record already exists, abort with insert failure error; otherwise complete storage process successfully.
💻 Technical Criteria
Given Train record insert has been attempted
When Checking insert operation result
Then If insert failed or record already exists, abort with insert failure error; otherwise complete storage process successfully
R-GCX003-cbl-00773 Train List Storage Complete
Process Rules
📊 Business Logic Narrative
When the process 'Train List Storage Complete' is invoked, and assuming that database insert has completed successfully, when finalizing storage process, the desired outcome is that train list storage process completes and control returns to main processing flow.
💻 Technical Criteria
Given Database insert has completed successfully
When Finalizing storage process
Then Train list storage process completes and control returns to main processing flow
R-GCX003-cbl-00775 Abort - Insert Failed
Validation Rules
📊 Business Logic Narrative
When the process 'Abort - Insert Failed' is invoked, and assuming that database insert operation has failed or record already exists, when insert failure condition is detected, the desired outcome is that system aborts with database insert failure error message.
💻 Technical Criteria
Given Database insert operation has failed or record already exists
When Insert failure condition is detected
Then System aborts with database insert failure error message
R-GCX003-cbl-00785 Set Result Status: SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Result Status: SENT' is invoked, and assuming that train processing has completed, when there are no processing errors and there are no spawn messages, the desired outcome is that set result status to sent and record warning message count.
💻 Technical Criteria
Given Train processing has completed
When There are no processing errors AND there are no spawn messages
Then Set result status to SENT AND record warning message count
R-GCX003-cbl-00786 Set Result Status: NOT SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Result Status: NOT SENT' is invoked, and assuming that train processing has completed with no processing errors, when there are spawn messages present, the desired outcome is that set result status to not sent and count warning messages and add spawn count to error count and set total error count.
💻 Technical Criteria
Given Train processing has completed with no processing errors
When There are spawn messages present
Then Set result status to NOT SENT AND count warning messages AND add spawn count to error count AND set total error count
R-GCX003-cbl-00791 Set Result Status: NOT SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Result Status: NOT SENT' is invoked, and assuming that train processing has encountered errors, when final result classification is performed, the desired outcome is that set result status to not sent and record final warning message count and record final error message count.
💻 Technical Criteria
Given Train processing has encountered errors
When Final result classification is performed
Then Set result status to NOT SENT AND record final warning message count AND record final error message count
R-GCX003-cbl-00806 Perform Database Rollback
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Perform Database Rollback', assuming that a train processing request has encountered errors or is not a successful send action, when the system handles the error condition, the desired outcome is that the system performs a database rollback operation to undo all changes made during the current processing session.
💻 Technical Criteria
EXCLUDING A train processing request has encountered errors or is not a successful SEND action
When The system handles the error condition
Then The system performs a database rollback operation to undo all changes made during the current processing session
R-GCX003-cbl-01497 Rollback Database Changes
Action Rules
📊 Business Logic Narrative
When the process 'Rollback Database Changes' is invoked, and assuming that a train manifest request that encountered processing errors, when the system handles the error condition, the desired outcome is that execute database rollback operation to undo any partial changes made during processing.
💻 Technical Criteria
Given A train manifest request that encountered processing errors
When The system handles the error condition
Then Execute database rollback operation to undo any partial changes made during processing
R-GCX003-cbl-01654 Check Processing Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Processing Status' is invoked, and assuming that a send action is being processed for a train manifest, when the system checks the processing status for errors and spawn conditions, the desired outcome is that the system determines if the train can be transmitted based on error-free processing and no spawn requirements.
💻 Technical Criteria
Given A SEND action is being processed for a train manifest
When The system checks the processing status for errors and spawn conditions
Then The system determines if the train can be transmitted based on error-free processing and no spawn requirements
R-GCX003-cbl-01655 Set RPT-RESULT-SENT Status
Process Rules
📊 Business Logic Narrative
When the process 'Set RPT-RESULT-SENT Status' is invoked, and assuming that train processing has completed with no errors and no spawn requirements, when the system sets the transmission result status, the desired outcome is that the result status is set to sent and warning count is recorded.
💻 Technical Criteria
Given Train processing has completed with no errors and no spawn requirements
When The system sets the transmission result status
Then The result status is set to SENT and warning count is recorded
R-GCX003-cbl-01656 Set RPT-RESULT-NO-SENT Status
Process Rules
📊 Business Logic Narrative
When the process 'Set RPT-RESULT-NO-SENT Status' is invoked, and assuming that train processing has completed with no errors but has spawn requirements, when the system evaluates the transmission eligibility, the desired outcome is that the result status is set to no-sent, spawn count is added to error count, and special manifest processing is prepared.
💻 Technical Criteria
Given Train processing has completed with no errors but has spawn requirements
When The system evaluates the transmission eligibility
Then The result status is set to NO-SENT, spawn count is added to error count, and special manifest processing is prepared
R-GCX003-cbl-01657 Set RPT-RESULT-NO-SENT Status
Process Rules
📊 Business Logic Narrative
When the process 'Set RPT-RESULT-NO-SENT Status' is invoked, and assuming that train processing has completed with errors, when the system evaluates the transmission eligibility, the desired outcome is that the result status is set to no-sent and both warning and error counts are recorded.
💻 Technical Criteria
Given Train processing has completed with errors
When The system evaluates the transmission eligibility
Then The result status is set to NO-SENT and both warning and error counts are recorded
R-GCX003-cbl-01658 Prepare Special Manifest Processing
Action Rules
📊 Business Logic Narrative
When the process 'Prepare Special Manifest Processing' is invoked, and assuming that train processing has spawn requirements that need special manifest generation, when the system prepares to handle spawn processing, the desired outcome is that special manifest processing is invoked for each spawn requirement.
💻 Technical Criteria
Given Train processing has spawn requirements that need special manifest generation
When The system prepares to handle spawn processing
Then Special manifest processing is invoked for each spawn requirement
R-GCX003-cbl-01768 Check RPT-NO-ERROR Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Check RPT-NO-ERROR Flag' is invoked, and assuming that a train manifest processing operation has completed all validation and processing steps, when the system checks the error accumulation status using the rpt-no-error flag, the desired outcome is that the system determines whether any business rule violations or data validation errors have occurred during processing.
💻 Technical Criteria
Given A train manifest processing operation has completed all validation and processing steps
When The system checks the error accumulation status using the RPT-NO-ERROR flag
Then The system determines whether any business rule violations or data validation errors have occurred during processing
R-GCX003-cbl-01773 Set Processing Result: NOT SENT with Spawns
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Result: NOT SENT with Spawns' is invoked, and assuming that train manifest processing completed with either errors present or spawn activities triggered or both, when the system determines the final processing result for send actions, the desired outcome is that the system sets the processing result to not sent and indicates special processing activities occurred.
💻 Technical Criteria
Given Train manifest processing completed with either errors present or spawn activities triggered or both
When The system determines the final processing result for send actions
Then The system sets the processing result to NOT SENT and indicates special processing activities occurred
R-GCX003-cbl-01778 Validate Spawn Count Accumulation
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Spawn Count Accumulation' is invoked, and assuming that warning count validation has been completed, when the system validates the accumulated spawn count from all processing steps, the desired outcome is that the system ensures accurate spawn activity count totals for processing outcome determination.
💻 Technical Criteria
Given Warning count validation has been completed
When The system validates the accumulated spawn count from all processing steps
Then The system ensures accurate spawn activity count totals for processing outcome determination
R-GCX003-cbl-01782 Determine Processing Completion Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Processing Completion Status' is invoked, and assuming that all final statistics calculations have been completed, when the system determines the overall processing completion status, the desired outcome is that the system establishes whether processing completed successfully, with warnings, with errors, or was aborted.
💻 Technical Criteria
Given All final statistics calculations have been completed
When The system determines the overall processing completion status
Then The system establishes whether processing completed successfully, with warnings, with errors, or was aborted
R-GCX003-cbl-01783 Set Final Processing Outcome
Process Rules
📊 Business Logic Narrative
When the process 'Set Final Processing Outcome' is invoked, and assuming that processing completion status has been determined, when the system sets the final processing outcome, the desired outcome is that the system assigns the appropriate outcome status that accurately reflects the processing results for user notification and audit purposes.
💻 Technical Criteria
Given Processing completion status has been determined
When The system sets the final processing outcome
Then The system assigns the appropriate outcome status that accurately reflects the processing results for user notification and audit purposes
R-GCX003-cbl-01879 Spawn Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Spawn Message?' is invoked, and assuming that a message line has been identified for processing, when the system checks if the message is a spawn message type, the desired outcome is that spawn messages are excluded from error counting while non-spawn messages proceed to error type classification.
💻 Technical Criteria
Given A message line has been identified for processing
When The system checks if the message is a spawn message type
Then Spawn messages are excluded from error counting while non-spawn messages proceed to error type classification
R-GCX003-cbl-01880 Error Type Classification
Decision Rules
📊 Business Logic Narrative
When the process 'Error Type Classification' is invoked, and assuming that a non-spawn message line requires processing, when the system evaluates the message type indicator, the desired outcome is that messages are classified as errors (increment error counter), warnings (increment warning counter), or information (increment info counter).
💻 Technical Criteria
Given A non-spawn message line requires processing
When The system evaluates the message type indicator
Then Messages are classified as errors (increment error counter), warnings (increment warning counter), or information (increment info counter)
R-GCX003-cbl-01882 Check Error Type 43
Decision Rules
📊 Business Logic Narrative
When the process 'Check Error Type 43' is invoked, and assuming that an error message has been processed and error counter incremented, when the system checks if the message type indicator equals 43, the desired outcome is that type 43 errors increment a special type 43 counter in addition to the general error counter.
💻 Technical Criteria
Given An error message has been processed and error counter incremented
When The system checks if the message type indicator equals 43
Then Type 43 errors increment a special Type 43 counter in addition to the general error counter
R-GCX003-cbl-01885 Warning Type 49 or 52?
Decision Rules
📊 Business Logic Narrative
When the process 'Warning Type 49 or 52?' is invoked, and assuming that a warning message has been processed and warning counter incremented, when the system checks if the message type indicator is 49 or 52, the desired outcome is that warning types 49 and 52 additionally increment the dsp counter by one.
💻 Technical Criteria
Given A warning message has been processed and warning counter incremented
When The system checks if the message type indicator is 49 or 52
Then Warning types 49 and 52 additionally increment the DSP counter by one
R-GCX003-cbl-01889 Convert Error to Warning
Process Rules
📊 Business Logic Narrative
When the process 'Convert Error to Warning' is invoked, and assuming that type 43 error count validation has identified a count mismatch, when the system processes the count correction, the desired outcome is that excess type 43 error messages are converted to warning type 18 messages.
💻 Technical Criteria
Given Type 43 error count validation has identified a count mismatch
When The system processes the count correction
Then Excess Type 43 error messages are converted to warning type 18 messages
R-GCX003-cbl-00808 Set Train Identification Data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train Identification Data' is invoked, and assuming that train header information has been initialized, when setting train identification data for database storage, the desired outcome is that train number, train day, train origin, and consist number are stored in the train list record.
💻 Technical Criteria
Given Train header information has been initialized
When Setting train identification data for database storage
Then Train number, train day, train origin, and consist number are stored in the train list record
R-GCX003-cbl-00809 Set Origin Station Details
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Origin Station Details' is invoked, and assuming that train identification data has been set, when setting origin station details, the desired outcome is that origin station us code, station name, and firms code are stored in the train record.
💻 Technical Criteria
Given Train identification data has been set
When Setting origin station details
Then Origin station US code, station name, and FIRMS code are stored in the train record
R-GCX003-cbl-00810 Set ETA Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Set ETA Information' is invoked, and assuming that origin station details have been set, when setting eta information, the desired outcome is that eta date and eta time are stored in the train record.
💻 Technical Criteria
Given Origin station details have been set
When Setting ETA information
Then ETA date and ETA time are stored in the train record
R-GCX003-cbl-00811 Set AEI Send Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set AEI Send Flag' is invoked, and assuming that eta information has been set and aei train send status is determined, when setting aei send flag, the desired outcome is that if aei train send is yes, then aei send flag is set to true, otherwise aei send flag is set to false.
💻 Technical Criteria
Given ETA information has been set and AEI train send status is determined
When Setting AEI send flag
Then If AEI train send is YES, then AEI send flag is set to TRUE, otherwise AEI send flag is set to FALSE
R-GCX003-cbl-00826 Database Insert Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Insert Successful?' is invoked, and assuming that train record insert operation has been attempted, when validating database insert success, the desired outcome is that if gccutrio return indicates already exists error, then system abend with insert failed message, otherwise insertion is successful.
💻 Technical Criteria
Given Train record insert operation has been attempted
When Validating database insert success
Then If GCCUTRIO return indicates already exists error, then system abend with insert failed message, otherwise insertion is successful
R-GCX003-cbl-00829 EDI Transmission Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI Transmission Successful?' is invoked, and assuming that the gccu358t module has been called for edi transmission, when the transmission process completes, the desired outcome is that the system must verify the transmission was successful and if unsuccessful, trigger parameter validation error handling.
💻 Technical Criteria
Given The GCCU358T module has been called for EDI transmission
When The transmission process completes
Then The system must verify the transmission was successful AND if unsuccessful, trigger parameter validation error handling
R-GCX003-cbl-00830 Validate Module Parameters
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Module Parameters' is invoked, and assuming that the edi transmission has failed, when parameter validation is performed, the desired outcome is that the system must validate all module parameters and if invalid, generate an abend condition with error message 'gccu358t module parameters invalid'.
💻 Technical Criteria
Given The EDI transmission has failed
When Parameter validation is performed
Then The system must validate all module parameters AND if invalid, generate an abend condition with error message 'GCCU358T MODULE PARAMETERS INVALID'
R-GCX003-cbl-00831 AEI Train Send Request?
Decision Rules
📊 Business Logic Narrative
When the process 'AEI Train Send Request?' is invoked, and assuming that the edi transmission has completed successfully, when the system checks the request type, the desired outcome is that if the request is an aei train send request, additional aei logging must be performed and if not an aei request, complete the transmission process normally.
💻 Technical Criteria
Given The EDI transmission has completed successfully
When The system checks the request type
Then If the request is an AEI train send request, additional AEI logging must be performed AND if not an AEI request, complete the transmission process normally
R-GCX003-cbl-00832 Log AEI Send Activity
Process Rules
📊 Business Logic Narrative
When the process 'Log AEI Send Activity' is invoked, and assuming that the transmission is confirmed as an aei train send request, when aei logging is performed, the desired outcome is that the system must create an activity log entry with train id, user information, timestamp, and aei send confirmation message.
💻 Technical Criteria
Given The transmission is confirmed as an AEI train send request
When AEI logging is performed
Then The system must create an activity log entry with train ID, user information, timestamp, and AEI send confirmation message
R-GCX003-cbl-00833 Complete EDI Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Complete EDI Transmission' is invoked, and assuming that the edi transmission is successful and any required aei logging is complete, when the transmission process is finalized, the desired outcome is that the edi transmission process must be marked as complete and control returned to the calling process.
💻 Technical Criteria
Given The EDI transmission is successful AND any required AEI logging is complete
When The transmission process is finalized
Then The EDI transmission process must be marked as complete and control returned to the calling process
R-GCX003-cbl-00834 System Abend - Invalid Parameters
Action Rules
📊 Business Logic Narrative
When the process 'System Abend - Invalid Parameters' is invoked, and assuming that edi module parameters have been validated and found to be invalid, when the parameter validation fails, the desired outcome is that the system must initiate an abend condition with the specific error message indicating invalid gccu358t module parameters.
💻 Technical Criteria
Given EDI module parameters have been validated and found to be invalid
When The parameter validation fails
Then The system must initiate an abend condition with the specific error message indicating invalid GCCU358T module parameters
R-GCX003-cbl-00847 Set Result Status: NOT SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Result Status: NOT SENT' is invoked, and assuming that train manifest processing completed with no errors but spawn messages exist, when the system determines the final processing result status, the desired outcome is that set the result status to not sent, add spawn count to error count, and trigger special manifest processing.
💻 Technical Criteria
Given Train manifest processing completed with no errors but spawn messages exist
When The system determines the final processing result status
Then Set the result status to NOT SENT, add spawn count to error count, and trigger special manifest processing
R-GCX003-cbl-00848 Count Warning Messages
Computation Rules
📊 Business Logic Narrative
When the process 'Count Warning Messages' is invoked, and assuming that train manifest processing completed successfully, when the system prepares the final result classification, the desired outcome is that count all warning messages and record the warning count in the result status.
💻 Technical Criteria
Given Train manifest processing completed successfully
When The system prepares the final result classification
Then Count all warning messages and record the warning count in the result status
R-GCX003-cbl-00851 Convert Error Messages to Warning Messages
Decision Rules
📊 Business Logic Narrative
When the process 'Convert Error Messages to Warning Messages' is invoked, and assuming that train manifest processing has errors but no spawn messages exist, when the system evaluates message types for final classification, the desired outcome is that convert specific error messages (type 43) to warning messages if error count matches the count of type 43 messages, otherwise keep as warnings.
💻 Technical Criteria
Given Train manifest processing has errors but no spawn messages exist
When The system evaluates message types for final classification
Then Convert specific error messages (type 43) to warning messages if error count matches the count of type 43 messages, otherwise keep as warnings
R-GCX003-cbl-00872 Query AEI Email Distribution List
Action Rules
📊 Business Logic Narrative
When the process 'Query AEI Email Distribution List' is invoked, and assuming that a train origin station code is available, when the system queries the aei email distribution table using train origin as key with record type 'cusemail', the desired outcome is that the system retrieves the email distribution configuration for that origin station.
💻 Technical Criteria
Given A train origin station code is available
When The system queries the AEI email distribution table using train origin as key with record type 'CUSEMAIL'
Then The system retrieves the email distribution configuration for that origin station
R-GCX003-cbl-00873 Email Distribution Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Email Distribution Found?' is invoked, and assuming that the aei email distribution query returns success status, when the system processes the query results, the desired outcome is that the system sets default merlin id as sender and populates up to 10 recipient email addresses from the distribution list, stopping when a blank recipient is encountered.
💻 Technical Criteria
Given The AEI email distribution query returns success status
When The system processes the query results
Then The system sets default MERLIN ID as sender and populates up to 10 recipient email addresses from the distribution list, stopping when a blank recipient is encountered
R-GCX003-cbl-00874 Use Default MERLIN Email
Decision Rules
📊 Business Logic Narrative
When the process 'Use Default MERLIN Email' is invoked, and assuming that the aei email distribution query fails or returns no entry status, when the system cannot retrieve specific email distribution configuration, the desired outcome is that the system uses default merlin id for both sender and recipient email addresses.
💻 Technical Criteria
Given The AEI email distribution query fails or returns no entry status
When The system cannot retrieve specific email distribution configuration
Then The system uses default MERLIN ID for both sender and recipient email addresses
R-GCX003-cbl-00875 Build Email Subject Line
Computation Rules
📊 Business Logic Narrative
When the process 'Build Email Subject Line' is invoked, and assuming that a train processing result status and train identification information are available, when the system builds the email subject line, the desired outcome is that the subject contains 'us train [train_id] not sent at [origin]' if errors occurred, or 'us train [train_id] sent at [origin]' if processing was successful.
💻 Technical Criteria
Given A train processing result status and train identification information are available
When The system builds the email subject line
Then The subject contains 'US TRAIN [train_id] NOT SENT AT [origin]' if errors occurred, or 'US TRAIN [train_id] SENT AT [origin]' if processing was successful
R-GCX003-cbl-00880 Purge Email Transaction
Process Rules
📊 Business Logic Narrative
When the process 'Purge Email Transaction' is invoked, and assuming that email processing is complete regardless of success or failure, when the system finalizes email operations, the desired outcome is that the system clears accept status and purges the email transaction using the alternate pcb.
💻 Technical Criteria
Given Email processing is complete regardless of success or failure
When The system finalizes email operations
Then The system clears accept status and purges the email transaction using the alternate PCB
R-GCX003-cbl-00881 Initialize Activity Log Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Activity Log Record' is invoked, and assuming that an aei train send operation has been completed successfully, when the system begins the activity logging process, the desired outcome is that a new activity log record is initialized with all fields cleared and ready for population.
💻 Technical Criteria
Given An AEI train send operation has been completed successfully
When The system begins the activity logging process
Then A new activity log record is initialized with all fields cleared and ready for population
R-GCX003-cbl-00883 Set Record Type as US-TRAIN
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type as US-TRAIN' is invoked, and assuming that an aei activity log record is being created for a train send operation, when the record type classification is being assigned, the desired outcome is that the record type is set to 'us-train' to identify this as a us train activity.
💻 Technical Criteria
Given An AEI activity log record is being created for a train send operation
When The record type classification is being assigned
Then The record type is set to 'US-TRAIN' to identify this as a US train activity
R-GCX003-cbl-00884 Set Action Code to 'ZZZ'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'ZZZ'' is invoked, and assuming that an aei activity log record is being created, when the action code needs to be assigned, the desired outcome is that the action code is set to 'zzz' as the standard identifier for aei logging activities.
💻 Technical Criteria
Given An AEI activity log record is being created
When The action code needs to be assigned
Then The action code is set to 'ZZZ' as the standard identifier for AEI logging activities
R-GCX003-cbl-00885 Set Sending Transaction to 'GCT0031E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Sending Transaction to 'GCT0031E'' is invoked, and assuming that an aei activity log record is being created from a train send operation, when the sending transaction identifier needs to be recorded, the desired outcome is that the sending transaction is set to 'gct0031e' to identify the source transaction.
💻 Technical Criteria
Given An AEI activity log record is being created from a train send operation
When The sending transaction identifier needs to be recorded
Then The sending transaction is set to 'GCT0031E' to identify the source transaction
R-GCX003-cbl-00886 Capture User ACF2 ID
Authorization Rules
📊 Business Logic Narrative
When the process 'Capture User ACF2 ID' is invoked, and assuming that an aei train send operation was initiated by a user, when the activity log record is being populated, the desired outcome is that the user's acf2 id from the common communication area is captured and recorded in the log.
💻 Technical Criteria
Given An AEI train send operation was initiated by a user
When The activity log record is being populated
Then The user's ACF2 ID from the common communication area is captured and recorded in the log
R-GCX003-cbl-00887 Capture Current System Date
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current System Date' is invoked, and assuming that an aei activity log record is being created, when the date timestamp needs to be recorded, the desired outcome is that the current system date from the machine century and date fields is captured and formatted for the log record.
💻 Technical Criteria
Given An AEI activity log record is being created
When The date timestamp needs to be recorded
Then The current system date from the machine century and date fields is captured and formatted for the log record
R-GCX003-cbl-00888 Capture Current System Time
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current System Time' is invoked, and assuming that an aei activity log record is being created, when the time timestamp needs to be recorded, the desired outcome is that the current system time from the machine time field is captured and recorded in the log.
💻 Technical Criteria
Given An AEI activity log record is being created
When The time timestamp needs to be recorded
Then The current system time from the machine time field is captured and recorded in the log
R-GCX003-cbl-00890 Set Log Message as 'AEI SEND LOG MESSAGE'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Log Message as 'AEI SEND LOG MESSAGE'' is invoked, and assuming that an aei activity log record is being created for a train send operation, when the log message content needs to be assigned, the desired outcome is that the message field is set to the predefined 'aei send log message' constant.
💻 Technical Criteria
Given An AEI activity log record is being created for a train send operation
When The log message content needs to be assigned
Then The message field is set to the predefined 'AEI SEND LOG MESSAGE' constant
R-GCX003-cbl-00891 Format Log Record for GCT1051E
Process Rules
📊 Business Logic Narrative
When the process 'Format Log Record for GCT1051E' is invoked, and assuming that an aei activity log record has been populated with all required information, when the record needs to be prepared for transmission, the desired outcome is that the log input structure is formatted and moved to the gct1051e message format.
💻 Technical Criteria
Given An AEI activity log record has been populated with all required information
When The record needs to be prepared for transmission
Then The log input structure is formatted and moved to the GCT1051E message format
R-GCX003-cbl-00892 Send Log Record to Message Queue
Action Rules
📊 Business Logic Narrative
When the process 'Send Log Record to Message Queue' is invoked, and assuming that an aei activity log record has been formatted for transmission, when the record needs to be sent to the logging system, the desired outcome is that the system calls the message processing service to change the alternate pcb and queue the log record.
💻 Technical Criteria
Given An AEI activity log record has been formatted for transmission
When The record needs to be sent to the logging system
Then The system calls the message processing service to change the alternate PCB and queue the log record
R-GCX003-cbl-00893 Write Log Message to System
Action Rules
📊 Business Logic Narrative
When the process 'Write Log Message to System' is invoked, and assuming that an aei activity log record has been queued for processing, when the record needs to be permanently logged, the desired outcome is that the system calls the message writing service with the log message code, content, length, and module name.
💻 Technical Criteria
Given An AEI activity log record has been queued for processing
When The record needs to be permanently logged
Then The system calls the message writing service with the log message code, content, length, and module name
R-GCX003-cbl-00894 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that an aei activity log record has been successfully written to the system log, when the logging transaction needs to be completed, the desired outcome is that the system calls the message processing service to purge the alternate pcb and complete the transaction.
💻 Technical Criteria
Given An AEI activity log record has been successfully written to the system log
When The logging transaction needs to be completed
Then The system calls the message processing service to purge the alternate PCB and complete the transaction
R-GCX003-cbl-00896 Set Message Function Name Flag
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Message Function Name Flag' is invoked, and assuming that gcx141 message parameters are initialized, when the system configures the message type, the desired outcome is that the message function name flag is set to true.
💻 Technical Criteria
Given GCX141 message parameters are initialized
When The system configures the message type
Then The message function name flag is set to TRUE
R-GCX003-cbl-00899 Set Message Function Length Flag
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Message Function Length Flag' is invoked, and assuming that train id has been set in the gcx141 message, when message length parameters need to be configured, the desired outcome is that the message function length flag is set to true.
💻 Technical Criteria
Given Train ID has been set in the GCX141 message
When Message length parameters need to be configured
Then The message function length flag is set to TRUE
R-GCX003-cbl-00934 Check if Message Type 43
Computation Rules
📊 Business Logic Narrative
When the process 'Check if Message Type 43' is invoked, and assuming that an error message has been identified and error count has been incremented, when the message type indicator equals 43, the desired outcome is that the system increments the type 43 error count by 1 in addition to the general error count.
💻 Technical Criteria
Given An error message has been identified and error count has been incremented
When The message type indicator equals 43
Then The system increments the Type 43 error count by 1 in addition to the general error count
R-GCX003-cbl-00936 Warning Type 49 or 52?
Computation Rules
📊 Business Logic Narrative
When the process 'Warning Type 49 or 52?' is invoked, and assuming that a warning message has been identified and warning count has been incremented, when the message type indicator equals 49 or 52, the desired outcome is that the system increments the dsp count by 1 in addition to the general warning count.
💻 Technical Criteria
Given A warning message has been identified and warning count has been incremented
When The message type indicator equals 49 or 52
Then The system increments the DSP count by 1 in addition to the general warning count
R-GCX003-cbl-00942 Set Line Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Set Line Counter to Zero' is invoked, and assuming that email pagination process is starting or a new email batch is beginning, when line counting needs to be reset, the desired outcome is that the line counter is set to zero to start counting lines for the current email batch.
💻 Technical Criteria
Given Email pagination process is starting or a new email batch is beginning
When Line counting needs to be reset
Then The line counter is set to zero to start counting lines for the current email batch
R-GCX003-cbl-00945 Increment Line Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Line Counter' is invoked, and assuming that a line has been added to the email message buffer, when line counting needs to be updated, the desired outcome is that the line counter is incremented by 1 and email status is set to 'more email'.
💻 Technical Criteria
Given A line has been added to the email message buffer
When Line counting needs to be updated
Then The line counter is incremented by 1 and email status is set to 'More Email'
R-GCX003-cbl-00947 Set No More Email Status
Process Rules
📊 Business Logic Narrative
When the process 'Set No More Email Status' is invoked, and assuming that the email line counter has exceeded 699 lines, when the current email batch needs to be marked as complete, the desired outcome is that email status is set to 'no more email' indicating the batch is ready for sending.
💻 Technical Criteria
Given The email line counter has exceeded 699 lines
When The current email batch needs to be marked as complete
Then Email status is set to 'No More Email' indicating the batch is ready for sending
R-GCX003-cbl-00953 Update Line Counter for Headers
Process Rules
📊 Business Logic Narrative
When the process 'Update Line Counter for Headers' is invoked, and assuming that continuation header and detail headers have been added to new email batch, when line counter needs to reflect added headers, the desired outcome is that line counter is updated to account for the header lines added to the email batch.
💻 Technical Criteria
Given Continuation header and detail headers have been added to new email batch
When Line counter needs to reflect added headers
Then Line counter is updated to account for the header lines added to the email batch
R-GCX003-cbl-00958 Set Record Type to 'CUSEMAIL'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type to 'CUSEMAIL'' is invoked, and assuming that database query key is being constructed, when system prepares to retrieve email distribution list, the desired outcome is that record type is set to 'cusemail' to identify email records.
💻 Technical Criteria
Given Database query key is being constructed
When System prepares to retrieve email distribution list
Then Record type is set to 'CUSEMAIL' to identify email records
R-GCX003-cbl-00959 Call AECWRKTB to Retrieve Email List
Action Rules
📊 Business Logic Narrative
When the process 'Call AECWRKTB to Retrieve Email List' is invoked, and assuming that database key is constructed with train origin and record type, when system executes aecwrktb database call, the desired outcome is that database query is performed and return code and sql code are captured.
💻 Technical Criteria
Given Database key is constructed with train origin and record type
When System executes AECWRKTB database call
Then Database query is performed and return code and SQL code are captured
R-GCX003-cbl-00960 Database Access Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Access Successful?' is invoked, and assuming that database query has been executed, when system checks database return code, the desired outcome is that if return code equals success constant, processing continues with retrieved data, otherwise error handling is initiated.
💻 Technical Criteria
Given Database query has been executed
When System checks database return code
Then If return code equals success constant, processing continues with retrieved data, otherwise error handling is initiated
R-GCX003-cbl-00961 Process Retrieved Email Distribution List
Process Rules
📊 Business Logic Narrative
When the process 'Process Retrieved Email Distribution List' is invoked, and assuming that database query returned success status, when email distribution list is available for processing, the desired outcome is that system sets default merlin id as sender and prepares to extract individual email addresses.
💻 Technical Criteria
Given Database query returned success status
When Email distribution list is available for processing
Then System sets default MERLIN ID as sender and prepares to extract individual email addresses
R-GCX003-cbl-00962 Extract User Email ID from Database Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract User Email ID from Database Record' is invoked, and assuming that email distribution list record is available and counter is within range 1 to 10, when system processes each email address position, the desired outcome is that if email address at current position is not spaces, it is added to distribution list.
💻 Technical Criteria
Given Email distribution list record is available and counter is within range 1 to 10
When System processes each email address position
Then If email address at current position is not spaces, it is added to distribution list
R-GCX003-cbl-00963 Handle No Entry Found Condition
Decision Rules
📊 Business Logic Narrative
When the process 'Handle No Entry Found Condition' is invoked, and assuming that database query completed with return code, when return code indicates no entry found condition, the desired outcome is that system continues processing without error and uses default email configuration.
💻 Technical Criteria
Given Database query completed with return code
When Return code indicates no entry found condition
Then System continues processing without error and uses default email configuration
R-GCX003-cbl-00964 Handle Database Error Occurred
Decision Rules
📊 Business Logic Narrative
When the process 'Handle Database Error Occurred' is invoked, and assuming that database query completed with return code, when return code indicates error other than no entry found, the desired outcome is that system initiates database error handling procedure.
💻 Technical Criteria
Given Database query completed with return code
When Return code indicates error other than no entry found
Then System initiates database error handling procedure
R-GCX003-cbl-00965 Set Default Email Recipients
Policy Rules
📊 Business Logic Narrative
When the process 'Set Default Email Recipients' is invoked, and assuming that database lookup failed or returned no email addresses, when system needs to establish email distribution, the desired outcome is that default merlin id is set as both sender and recipient for email notifications.
💻 Technical Criteria
Given Database lookup failed or returned no email addresses
When System needs to establish email distribution
Then Default MERLIN ID is set as both sender and recipient for email notifications
R-GCX003-cbl-00966 Generate 'NOT SENT' Subject Line
Decision Rules
📊 Business Logic Narrative
When the process 'Generate 'NOT SENT' Subject Line' is invoked, and assuming that a train processing request has completed with errors and rpt-error-append is true, when the system generates an email subject line for aei notification, the desired outcome is that the subject line should be formatted as 'us train [train_id] not sent at [origin_station]'.
💻 Technical Criteria
Given A train processing request has completed with errors and RPT-ERROR-APPEND is true
When The system generates an email subject line for AEI notification
Then The subject line should be formatted as 'US TRAIN [train_id] NOT SENT AT [origin_station]'
R-GCX003-cbl-00967 Generate 'SENT' Subject Line
Decision Rules
📊 Business Logic Narrative
When the process 'Generate 'SENT' Subject Line' is invoked, and assuming that a train processing request has completed successfully and rpt-error-append is false, when the system generates an email subject line for aei notification, the desired outcome is that the subject line should be formatted as 'us train [train_id] sent at [origin_station]'.
💻 Technical Criteria
Given A train processing request has completed successfully and RPT-ERROR-APPEND is false
When The system generates an email subject line for AEI notification
Then The subject line should be formatted as 'US TRAIN [train_id] SENT AT [origin_station]'
R-GCX003-cbl-00968 Build Subject String with Train ID
Process Rules
📊 Business Logic Narrative
When the process 'Build Subject String with Train ID' is invoked, and assuming that an email subject template has been determined based on train send status, when the system builds the complete subject line, the desired outcome is that the train id from rpt-hdr-train-id should be inserted into the subject template.
💻 Technical Criteria
Given An email subject template has been determined based on train send status
When The system builds the complete subject line
Then The train ID from RPT-HDR-TRAIN-ID should be inserted into the subject template
R-GCX003-cbl-00969 Build Subject String with Origin Station
Process Rules
📊 Business Logic Narrative
When the process 'Build Subject String with Origin Station' is invoked, and assuming that an email subject template with train id has been partially constructed, when the system completes the subject line building process, the desired outcome is that the origin station from rpt-hdr-origin should be inserted into the subject template to complete the subject line.
💻 Technical Criteria
Given An email subject template with train ID has been partially constructed
When The system completes the subject line building process
Then The origin station from RPT-HDR-ORIGIN should be inserted into the subject template to complete the subject line
R-GCX003-cbl-00970 Check Return Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check Return Code' is invoked, and assuming that a database operation has been attempted, when the system checks the return code from the database operation, the desired outcome is that the system should identify if the operation failed and determine if it is a db2 sqlcode error type.
💻 Technical Criteria
Given A database operation has been attempted
When The system checks the return code from the database operation
Then The system should identify if the operation failed and determine if it is a DB2 SQLCODE error type
R-GCX003-cbl-00975 System Abend - Email Send Failed
Action Rules
📊 Business Logic Narrative
When the process 'System Abend - Email Send Failed' is invoked, and assuming that a database error notification email has failed to send, when the email delivery validation detects the failure, the desired outcome is that the system should set an error message indicating 'send to file of om01247 failed' and perform an abend to halt processing.
💻 Technical Criteria
Given A database error notification email has failed to send
When The email delivery validation detects the failure
Then The system should set an error message indicating 'SEND TO FILE OF OM01247 FAILED' and perform an abend to halt processing
R-GCX003-cbl-00976 Get Train List Record
Action Rules
📊 Business Logic Narrative
When the process 'Get Train List Record' is invoked, and assuming that a train list database operation is requested with operation type get and train identifier is provided, when the system performs database retrieval operation using train identifier as key, the desired outcome is that the system should retrieve the existing train record if found or return not found status.
💻 Technical Criteria
Given A train list database operation is requested with operation type GET and train identifier is provided
When The system performs database retrieval operation using train identifier as key
Then The system should retrieve the existing train record if found or return not found status
R-GCX003-cbl-00977 Delete Train List Record
Action Rules
📊 Business Logic Narrative
When the process 'Delete Train List Record' is invoked, and assuming that a train record exists in database and is marked as deleted with confirmation status, when the system performs delete operation on the train record, the desired outcome is that the system should remove the train record from the database permanently.
💻 Technical Criteria
Given A train record exists in database and is marked as deleted with confirmation status
When The system performs delete operation on the train record
Then The system should remove the train record from the database permanently
R-GCX003-cbl-00979 Build Train List Key
Computation Rules
📊 Business Logic Narrative
When the process 'Build Train List Key' is invoked, and assuming that train request contains scac code, train id, train origin, consist number and current system date, when the system builds train list key for database operations, the desired outcome is that the system should create unique train identifier by concatenating scac code, train id, origin, consist number and julian creation date.
💻 Technical Criteria
Given Train request contains SCAC code, train ID, train origin, consist number and current system date
When The system builds train list key for database operations
Then The system should create unique train identifier by concatenating SCAC code, train ID, origin, consist number and Julian creation date
R-GCX003-cbl-00980 Set Database Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Parameters' is invoked, and assuming that a specific database operation type is determined (get, delete, or insert), when the system sets database operation parameters, the desired outcome is that the system should configure operation type flags, pcb reference, and data structure parameters appropriate for the requested operation.
💻 Technical Criteria
Given A specific database operation type is determined (GET, DELETE, or INSERT)
When The system sets database operation parameters
Then The system should configure operation type flags, PCB reference, and data structure parameters appropriate for the requested operation
R-GCX003-cbl-00981 Call Database Interface GCCUTRIO
Action Rules
📊 Business Logic Narrative
When the process 'Call Database Interface GCCUTRIO' is invoked, and assuming that database operation parameters are properly configured and train list data structure is prepared, when the system calls database interface gccutrio, the desired outcome is that the system should execute the database operation and return operation status.
💻 Technical Criteria
Given Database operation parameters are properly configured and train list data structure is prepared
When The system calls database interface GCCUTRIO
Then The system should execute the database operation and return operation status
R-GCX003-cbl-00984 Log Operation Result
Process Rules
📊 Business Logic Narrative
When the process 'Log Operation Result' is invoked, and assuming that database operation has completed either successfully or with handled errors, when the system logs operation result, the desired outcome is that the system should record operation outcome and continue with next processing step.
💻 Technical Criteria
Given Database operation has completed either successfully or with handled errors
When The system logs operation result
Then The system should record operation outcome and continue with next processing step
R-GCX003-cbl-00994 Database Call Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Call Successful?' is invoked, and assuming that the database i/o module has been called, when the system receives the operation result, the desired outcome is that the system validates that no database errors occurred and the operation completed successfully.
💻 Technical Criteria
Given The database I/O module has been called
When The system receives the operation result
Then The system validates that no database errors occurred and the operation completed successfully
R-GCX003-cbl-01027 Calculate Field Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Field Length' is invoked, and assuming that system is processing routing information bytes, when system encounters non-space characters in routing fields, the desired outcome is that field length counter is incremented until space character is found or maximum field length is reached.
💻 Technical Criteria
Given System is processing routing information bytes
When System encounters non-space characters in routing fields
Then Field length counter is incremented until space character is found or maximum field length is reached
R-GCX003-cbl-01028 Field Length Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Field Length Valid?' is invoked, and assuming that field length has been calculated for a routing field, when system checks if field length is less than 1, the desired outcome is that field processing terminates if length is invalid, otherwise field extraction continues.
💻 Technical Criteria
Given Field length has been calculated for a routing field
When System checks if field length is less than 1
Then Field processing terminates if length is invalid, otherwise field extraction continues
R-GCX003-cbl-01030 Extract Junction1/R260 Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Junction1/R260 Code' is invoked, and assuming that field number is 2 and field length is valid, when system processes the second routing field, the desired outcome is that first junction/r260 code is extracted and stored, and field number is incremented to 3.
💻 Technical Criteria
Given Field number is 2 and field length is valid
When System processes the second routing field
Then First junction/R260 code is extracted and stored, and field number is incremented to 3
R-GCX003-cbl-01032 Extract Junction2/R260 Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Junction2/R260 Code' is invoked, and assuming that field number is 4 and field length is valid, when system processes the fourth routing field, the desired outcome is that second junction/r260 code is extracted and stored, and field number is incremented to 5.
💻 Technical Criteria
Given Field number is 4 and field length is valid
When System processes the fourth routing field
Then Second junction/R260 code is extracted and stored, and field number is incremented to 5
R-GCX003-cbl-01034 Extract Junction3/R260 Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Junction3/R260 Code' is invoked, and assuming that field number is 6 and field length is valid, when system processes the sixth routing field, the desired outcome is that third junction/r260 code is extracted and stored, and field number is incremented to 7.
💻 Technical Criteria
Given Field number is 6 and field length is valid
When System processes the sixth routing field
Then Third junction/R260 code is extracted and stored, and field number is incremented to 7
R-GCX003-cbl-01060 Parse Routing Fields into Structured Format
Process Rules
📊 Business Logic Narrative
When the process 'Parse Routing Fields into Structured Format' is invoked, and assuming that routing information string contains space-separated routing fields, when parsing routing information into individual components, the desired outcome is that if routing information is not blank then iterate through each space-separated field and extract field length by counting characters until space or end of string.
💻 Technical Criteria
Given Routing information string contains space-separated routing fields
When Parsing routing information into individual components
Then If routing information is not blank then iterate through each space-separated field and extract field length by counting characters until space or end of string
R-GCX003-cbl-01061 Extract SCAC Codes and Junction Points
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Codes and Junction Points' is invoked, and assuming that routing fields have been parsed into individual components, when extracting routing components in sequence, the desired outcome is that set field 1 as primary scac code, field 2 as first junction r260 code, field 3 as secondary scac code, field 4 as second junction r260 code, field 5 as tertiary scac code, and field 6 as final junction code.
💻 Technical Criteria
Given Routing fields have been parsed into individual components
When Extracting routing components in sequence
Then Set field 1 as primary SCAC code, field 2 as first junction R260 code, field 3 as secondary SCAC code, field 4 as second junction R260 code, field 5 as tertiary SCAC code, and field 6 as final junction code
R-GCX003-cbl-01087 Initialize Field Parsing Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Field Parsing Variables' is invoked, and assuming that valid routing information fields are available, when field parsing begins, the desired outcome is that field length counter is set to 0, byte position counters are set to 1, and field number is set to 1.
💻 Technical Criteria
Given Valid routing information fields are available
When Field parsing begins
Then Field length counter is set to 0, byte position counters are set to 1, and field number is set to 1
R-GCX003-cbl-01088 More Fields to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Fields to Process?' is invoked, and assuming that field parsing is in progress, when the system checks for more fields to process, the desired outcome is that processing continues if current byte position is 34 or less and current field is not spaces, otherwise field processing ends.
💻 Technical Criteria
Given Field parsing is in progress
When The system checks for more fields to process
Then Processing continues if current byte position is 34 or less and current field is not spaces, otherwise field processing ends
R-GCX003-cbl-01089 Calculate Field Length by Finding Space Delimiter
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Field Length by Finding Space Delimiter' is invoked, and assuming that a routing field is being processed, when field length calculation is performed, the desired outcome is that the system scans from current position until a space is found or position exceeds 34, incrementing both byte position and field length counters.
💻 Technical Criteria
Given A routing field is being processed
When Field length calculation is performed
Then The system scans from current position until a space is found or position exceeds 34, incrementing both byte position and field length counters
R-GCX003-cbl-01090 Field Length Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Field Length Valid?' is invoked, and assuming that field length has been calculated, when field length validation is performed, the desired outcome is that field processing continues only if length is 1 or greater, otherwise field processing terminates.
💻 Technical Criteria
Given Field length has been calculated
When Field length validation is performed
Then Field processing continues only if length is 1 or greater, otherwise field processing terminates
R-GCX003-cbl-01091 Which Field Number?
Decision Rules
📊 Business Logic Narrative
When the process 'Which Field Number?' is invoked, and assuming that a valid routing field has been extracted, when field number evaluation is performed, the desired outcome is that field 1 maps to scac1, field 2 to junction1, field 3 to scac2, field 4 to junction2, field 5 to scac3, field 6 to junction3, and field 7 to scac4.
💻 Technical Criteria
Given A valid routing field has been extracted
When Field number evaluation is performed
Then Field 1 maps to SCAC1, Field 2 to Junction1, Field 3 to SCAC2, Field 4 to Junction2, Field 5 to SCAC3, Field 6 to Junction3, and Field 7 to SCAC4
R-GCX003-cbl-01099 Store Structured Routing Group in SHIPROOT
Process Rules
📊 Business Logic Narrative
When the process 'Store Structured Routing Group in SHIPROOT' is invoked, and assuming that routing information has been successfully parsed into structured format, when routing information storage is performed, the desired outcome is that the structured routing group containing scac codes and junction points is moved to the shiproot routing information field.
💻 Technical Criteria
Given Routing information has been successfully parsed into structured format
When Routing information storage is performed
Then The structured routing group containing SCAC codes and junction points is moved to the SHIPROOT routing information field
R-GCX003-cbl-01131 Set Sending Transaction ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Sending Transaction ID' is invoked, and assuming that the action code is set to zzz, when the system assigns a transaction identifier, the desired outcome is that the gcx105-sending-transaction is set to 'gct0031e'.
💻 Technical Criteria
Given The action code is set to ZZZ
When The system assigns a transaction identifier
Then The GCX105-SENDING-TRANSACTION is set to 'GCT0031E'
R-GCX003-cbl-01132 Capture User ACF2 ID
Process Rules
📊 Business Logic Narrative
When the process 'Capture User ACF2 ID' is invoked, and assuming that the transaction identifier is assigned, when the system captures user identification information, the desired outcome is that the gcx105-acf2-id is populated with cc-acf2-userid from cccom.
💻 Technical Criteria
Given The transaction identifier is assigned
When The system captures user identification information
Then The GCX105-ACF2-ID is populated with CC-ACF2-USERID from CCCOM
R-GCX003-cbl-01138 Send Log Message to Alt PCB
Action Rules
📊 Business Logic Narrative
When the process 'Send Log Message to Alt PCB' is invoked, and assuming that the log data is transferred to the message structure, when the system sends the log message, the desired outcome is that cims is called with chng function using alt-pcb and gct1051e structure.
💻 Technical Criteria
Given The log data is transferred to the message structure
When The system sends the log message
Then CIMS is called with CHNG function using ALT-PCB and GCT1051E structure
R-GCX003-cbl-01140 Purge Message from Queue
Action Rules
📊 Business Logic Narrative
When the process 'Purge Message from Queue' is invoked, and assuming that the log message is written to the system, when the system purges the message from queue, the desired outcome is that cims is called with purg function using alt-pcb to clear the message.
💻 Technical Criteria
Given The log message is written to the system
When The system purges the message from queue
Then CIMS is called with PURG function using ALT-PCB to clear the message
R-GCX003-cbl-01150 Initialize GCSTBRT Key Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize GCSTBRT Key Structure' is invoked, and assuming that a station code lookup request is initiated, when the system prepares to search the station reference table, the desired outcome is that the gcstbrt key structure is cleared and initialized to spaces.
💻 Technical Criteria
Given A station code lookup request is initiated
When The system prepares to search the station reference table
Then The GCSTBRT key structure is cleared and initialized to spaces
R-GCX003-cbl-01151 Set Table Type to SC - Station Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table Type to SC - Station Code' is invoked, and assuming that a station code validation is required, when the system determines the lookup table type, the desired outcome is that the table type is set to sc for station code lookup.
💻 Technical Criteria
Given A station code validation is required
When The system determines the lookup table type
Then The table type is set to SC for station code lookup
R-GCX003-cbl-01152 Move Station Code to Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Move Station Code to Search Key' is invoked, and assuming that a train origin station code exists in the request, when the system prepares to validate the station code, the desired outcome is that the train origin code is moved to the station search key field.
💻 Technical Criteria
Given A train origin station code exists in the request
When The system prepares to validate the station code
Then The train origin code is moved to the station search key field
R-GCX003-cbl-01153 Call GCCTBIO to Retrieve Station Data
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Retrieve Station Data' is invoked, and assuming that the station search key is populated with a station code, when the system executes the table lookup operation, the desired outcome is that the gcctbio module is called to retrieve matching station data.
💻 Technical Criteria
Given The station search key is populated with a station code
When The system executes the table lookup operation
Then The GCCTBIO module is called to retrieve matching station data
R-GCX003-cbl-01154 Station Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Station Record Found?' is invoked, and assuming that a station code table lookup has been executed, when the system checks the lookup results, the desired outcome is that the system determines if a matching station record was successfully found.
💻 Technical Criteria
Given A station code table lookup has been executed
When The system checks the lookup results
Then The system determines if a matching station record was successfully found
R-GCX003-cbl-01155 Move Station Segment Data to Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Move Station Segment Data to Working Storage' is invoked, and assuming that a valid station record has been found in the table lookup, when the system processes the retrieved station data, the desired outcome is that the station segment data is moved to the working storage area.
💻 Technical Criteria
Given A valid station record has been found in the table lookup
When The system processes the retrieved station data
Then The station segment data is moved to the working storage area
R-GCX003-cbl-01156 Extract US Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract US Station Code' is invoked, and assuming that station segment data is available in working storage, when the system extracts station identification information, the desired outcome is that the us station code is extracted from the station record.
💻 Technical Criteria
Given Station segment data is available in working storage
When The system extracts station identification information
Then The US station code is extracted from the station record
R-GCX003-cbl-01157 Extract Station Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Name' is invoked, and assuming that station segment data contains station details, when the system processes station information, the desired outcome is that the station name is extracted from the station record.
💻 Technical Criteria
Given Station segment data contains station details
When The system processes station information
Then The station name is extracted from the station record
R-GCX003-cbl-01158 Extract Time Zone Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Time Zone Information' is invoked, and assuming that station record contains time zone data, when the system processes station geographic information, the desired outcome is that the time zone information is extracted for eta calculations.
💻 Technical Criteria
Given Station record contains time zone data
When The system processes station geographic information
Then The time zone information is extracted for ETA calculations
R-GCX003-cbl-01161 Set Station Validation Success
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Validation Success' is invoked, and assuming that a valid us station code exists in the station record, when the system completes station validation, the desired outcome is that the station validation status is set to successful.
💻 Technical Criteria
Given A valid US station code exists in the station record
When The system completes station validation
Then The station validation status is set to successful
R-GCX003-cbl-01162 Set Station Not Found Error
Validation Rules
📊 Business Logic Narrative
When the process 'Set Station Not Found Error' is invoked, and assuming that a station code lookup has been performed, when no matching station record is found in the reference table, the desired outcome is that a station not found error is set with message code 2.
💻 Technical Criteria
Given A station code lookup has been performed
When No matching station record is found in the reference table
Then A station not found error is set with message code 2
R-GCX003-cbl-01164 Return Station Information
Process Rules
📊 Business Logic Narrative
When the process 'Return Station Information' is invoked, and assuming that station validation processing has completed, when the system finalizes the station lookup operation, the desired outcome is that the station information and validation status are returned to the calling process.
💻 Technical Criteria
Given Station validation processing has completed
When The system finalizes the station lookup operation
Then The station information and validation status are returned to the calling process

🚂 Equipment & Cargo Specs 767 logic blocks
R-GCX003-cbl-00013 47:Equipment Limit Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '47:Equipment Limit Validation', assuming that a train request contains an equipment list, when the first equipment item is marked as 'no more equipment' or the 500th equipment item is not marked as 'no more equipment', the desired outcome is that generate error message 5 (invalid equipment list size).
💻 Technical Criteria
EXCLUDING A train request contains an equipment list
When The first equipment item is marked as 'no more equipment' OR the 500th equipment item is not marked as 'no more equipment'
Then Generate error message 5 (invalid equipment list size)
R-GCX003-cbl-00017 11:Cargo Attachment to Train
Decision Rules
📊 Business Logic Narrative
When the process '11:Cargo Attachment to Train' is invoked, and assuming that cargo is found for equipment and request action is send with no errors, when cargo is immediate transport or already created for it or us-canada-us with release status or default with release status or empty equipment or special manifest at woburn pq station or export at non-laredo stations, the desired outcome is that skip cargo attachment to train.
💻 Technical Criteria
Given Cargo is found for equipment and request action is SEND with no errors
When Cargo is immediate transport OR already created for IT OR US-Canada-US with release status OR default with release status OR empty equipment OR special manifest at Woburn PQ station OR export at non-Laredo stations
Then Skip cargo attachment to train
R-GCX003-cbl-00018 12:Equipment Detail Line Building
Process Rules
📊 Business Logic Narrative
When the process '12:Equipment Detail Line Building' is invoked, and assuming that equipment information is available, when building equipment detail line, the desired outcome is that include equipment id, load/empty indicator, equipment type, and format according to container or car type.
💻 Technical Criteria
Given Equipment information is available
When Building equipment detail line
Then Include equipment ID, load/empty indicator, equipment type, and format according to container or car type
R-GCX003-cbl-00019 13:Equipment Type Validation
Validation Rules
📊 Business Logic Narrative
When the process '13:Equipment Type Validation' is invoked, and assuming that equipment id is provided, when equipment type lookup fails, the desired outcome is that generate error message 35 (for containers) or message 36 (for cars) and set equipment error flag.
💻 Technical Criteria
Given Equipment ID is provided
When Equipment type lookup fails
Then Generate error message 35 (for containers) or message 36 (for cars) and set equipment error flag
R-GCX003-cbl-00022 15:Bond Type Classification
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '15:Bond Type Classification', assuming that cargo with bond type information is processed, when bond type is us-canada-us and not created for it and not special tr, the desired outcome is that set tr bond found flag, and when bond type is transport export and not created for it, set te bond found flag.
💻 Technical Criteria
EXCLUDING Cargo with bond type information is processed
When Bond type is US-Canada-US and not created for IT and not special TR
Then Set TR bond found flag, and when bond type is transport export and not created for IT, set TE bond found flag
R-GCX003-cbl-00023 16:Special Manifest Processing
Decision Rules
📊 Business Logic Narrative
When the process '16:Special Manifest Processing' is invoked, and assuming that cargo is being processed, when cargo has special manifest origin flag, the desired outcome is that set special manifest it found flag, and when cargo is transport export with special manifest flag, set special manifest te found flag.
💻 Technical Criteria
Given Cargo is being processed
When Cargo has special manifest origin flag
Then Set special manifest IT found flag, and when cargo is transport export with special manifest flag, set special manifest TE found flag
R-GCX003-cbl-00024 16:Special Manifest Processing
Decision Rules
📊 Business Logic Narrative
When the process '16:Special Manifest Processing' is invoked, and assuming that cargo is export type with us-mexico country codes, when cargo has special 88 flag, the desired outcome is that set us-mexico 88 found flag, and when cargo is us-canada-us with special tr flag, set special tr found flag.
💻 Technical Criteria
Given Cargo is export type with US-Mexico country codes
When Cargo has special 88 flag
Then Set US-Mexico 88 found flag, and when cargo is US-Canada-US with special TR flag, set special TR found flag
R-GCX003-cbl-00025 17:Cargo Status Validation
Validation Rules
📊 Business Logic Narrative
When the process '17:Cargo Status Validation' is invoked, and assuming that cargo is found and being validated, when cargo status is pending, deleted, or error, the desired outcome is that generate error message 16 (cargo status invalid).
💻 Technical Criteria
Given Cargo is found and being validated
When Cargo status is pending, deleted, or error
Then Generate error message 16 (cargo status invalid)
R-GCX003-cbl-00026 18:Bill Type Validation
Process Rules
📊 Business Logic Narrative
When the process '18:Bill Type Validation' is invoked, and assuming that cargo with specific bill type is processed, when bill type is '15', the desired outcome is that format as 'ppr 7512 15 us-ca-us', when bond type is it or ie, format as 'ams [bond_type] [bond_number]', when bond type is te, tr, or mt, format as 'ams 7512 [bond_type] [bond_number]'.
💻 Technical Criteria
Given Cargo with specific bill type is processed
When Bill type is '15'
Then Format as 'PPR 7512 15 US-CA-US', when bond type is IT or IE, format as 'AMS [bond_type] [bond_number]', when bond type is TE, TR, or MT, format as 'AMS 7512 [bond_type] [bond_number]'
R-GCX003-cbl-00027 19:Equipment Load Status Validation
Decision Rules
📊 Business Logic Narrative
When the process '19:Equipment Load Status Validation' is invoked, and assuming that equipment with cargo is being processed, when cargo is empty equipment or empty residue type, the desired outcome is that set equipment as empty, update counters from loaded to empty, and format info as 'empty'.
💻 Technical Criteria
Given Equipment with cargo is being processed
When Cargo is empty equipment or empty residue type
Then Set equipment as empty, update counters from loaded to empty, and format info as 'EMPTY'
R-GCX003-cbl-00028 20:Mexico Customs Documentation Check
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '20:Mexico Customs Documentation Check', assuming that cargo is processed at laredo tx station, when fen reference number is not found, the desired outcome is that generate error message 46, when kcm reference number is not found, generate error message 47, when cargo has hold border status, generate message 48, when cargo has dsp hold flag, generate message 49, when both hold border and dsp hold exist, generate message 52.
💻 Technical Criteria
EXCLUDING Cargo is processed at Laredo TX station
When FEN reference number is not found
Then Generate error message 46, when KCM reference number is not found, generate error message 47, when cargo has hold border status, generate message 48, when cargo has DSP hold flag, generate message 49, when both hold border and DSP hold exist, generate message 52
R-GCX003-cbl-00030 22:TE Bond Port Change Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '22:TE Bond Port Change Processing', assuming that transport export cargo not created for it with location mismatch, when request action is report, the desired outcome is that generate message 19 with station code, when request action is send and user is authorized for special manifest, generate message 20 and spawn port change manifest, when user is not authorized, generate message 43.
💻 Technical Criteria
EXCLUDING Transport export cargo not created for IT with location mismatch
When Request action is REPORT
Then Generate message 19 with station code, when request action is SEND and user is authorized for special manifest, generate message 20 and spawn port change manifest, when user is not authorized, generate message 43
R-GCX003-cbl-00031 23:TR Bond Diversion Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '23:TR Bond Diversion Processing', assuming that transit cargo not created for it with release status, when request action is report, the desired outcome is that generate message 18, when request action is send and user is authorized for special manifest, generate message 23 and spawn detour manifest, when user is not authorized, generate message 43.
💻 Technical Criteria
EXCLUDING Transit cargo not created for IT with release status
When Request action is REPORT
Then Generate message 18, when request action is SEND and user is authorized for special manifest, generate message 23 and spawn detour manifest, when user is not authorized, generate message 43
R-GCX003-cbl-00032 24:Border Clearance Detour Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '24:Border Clearance Detour Processing', assuming that default cargo type not created for it, when cargo has release status and request action is report, the desired outcome is that generate message 18, when request action is send and user is authorized for special manifest, generate message 23 and spawn detour manifest, when user is not authorized, generate message 43, when cargo does not have release status, generate message 31.
💻 Technical Criteria
EXCLUDING Default cargo type not created for IT
When Cargo has release status and request action is REPORT
Then Generate message 18, when request action is SEND and user is authorized for special manifest, generate message 23 and spawn detour manifest, when user is not authorized, generate message 43, when cargo does not have release status, generate message 31
R-GCX003-cbl-00034 26:US-Mexico Export Detour Processing
Process Rules
📊 Business Logic Narrative
When the process '26:US-Mexico Export Detour Processing' is invoked, and assuming that export cargo with us-mexico country codes without special manifest, when request action is report, the desired outcome is that generate message 50, when request action is send and user is authorized for special manifest, generate message 23 and spawn 88-tr detour manifest, when user is not authorized, generate message 43, when cargo is not export type, generate message 31.
💻 Technical Criteria
Given Export cargo with US-Mexico country codes without special manifest
When Request action is REPORT
Then Generate message 50, when request action is SEND and user is authorized for special manifest, generate message 23 and spawn 88-TR detour manifest, when user is not authorized, generate message 43, when cargo is not export type, generate message 31
R-GCX003-cbl-00037 29:Report Header and Summary Building
Process Rules
📊 Business Logic Narrative
When the process '29:Report Header and Summary Building' is invoked, and assuming that train processing is complete, when building final report, the desired outcome is that include train id, origin station, user id, processing date/time, action type (send/report), result status, error/warning counts, equipment totals, and eta information.
💻 Technical Criteria
Given Train processing is complete
When Building final report
Then Include train ID, origin station, user ID, processing date/time, action type (SEND/REPORT), result status, error/warning counts, equipment totals, and ETA information
R-GCX003-cbl-00038 30:Train Database Record Creation
Process Rules
📊 Business Logic Narrative
When the process '30:Train Database Record Creation' is invoked, and assuming that train processing completed successfully with send action, when creating train database record, the desired outcome is that store train header with id, origin, destination, eta, aei flag, and up to maximum equipment items with their cargo details, generate error if equipment limit exceeded.
💻 Technical Criteria
Given Train processing completed successfully with SEND action
When Creating train database record
Then Store train header with ID, origin, destination, ETA, AEI flag, and up to maximum equipment items with their cargo details, generate error if equipment limit exceeded
R-GCX003-cbl-00041 33:Report Transmission to Customs
Action Rules
📊 Business Logic Narrative
When the process '33:Report Transmission to Customs' is invoked, and assuming that train processing is completed successfully, when sending report to customs, the desired outcome is that send email to om01247 with train details, equipment list, and status information, handle large reports with continuation logic.
💻 Technical Criteria
Given Train processing is completed successfully
When Sending report to customs
Then Send email to OM01247 with train details, equipment list, and status information, handle large reports with continuation logic
R-GCX003-cbl-00046 40:Enhanced Report Generation
Process Rules
📊 Business Logic Narrative
When the process '40:Enhanced Report Generation' is invoked, and assuming that train processing completed successfully at laredo tx station, when generating enhanced report, the desired outcome is that create detailed report with car/container counts, locomotive counts, port information, eta details, and equipment details with bol information.
💻 Technical Criteria
Given Train processing completed successfully at Laredo TX station
When Generating enhanced report
Then Create detailed report with car/container counts, locomotive counts, port information, ETA details, and equipment details with BOL information
R-GCX003-cbl-00049 43:Duplicate Equipment Removal
Process Rules
📊 Business Logic Narrative
When the process '43:Duplicate Equipment Removal' is invoked, and assuming that report contains equipment entries, when scanning for duplicates, the desired outcome is that remove duplicate car ids while preserving first occurrence, skip error/warning/info message lines.
💻 Technical Criteria
Given Report contains equipment entries
When Scanning for duplicates
Then Remove duplicate car IDs while preserving first occurrence, skip error/warning/info message lines
R-GCX003-cbl-00056 Prepare Request for Processing
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Request for Processing' is invoked, and assuming that a train export request has been received and classified, when the system prepares the request for processing, the desired outcome is that all request validations are performed including train security, origin validation, eta validation, us customer train id validation, equipment list validation, and customs id retrieval.
💻 Technical Criteria
Given A train export request has been received and classified
When The system prepares the request for processing
Then All request validations are performed including train security, origin validation, ETA validation, US customer train ID validation, equipment list validation, and customs ID retrieval
R-GCX003-cbl-00057 User Has Access to Process Request?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Has Access to Process Request?' is invoked, and assuming that request preparation including security validation has been completed, when the system checks the user access status, the desired outcome is that processing continues to equipment processing if user has access, otherwise skips to request termination.
💻 Technical Criteria
Given Request preparation including security validation has been completed
When The system checks the user access status
Then Processing continues to equipment processing if user has access, otherwise skips to request termination
R-GCX003-cbl-00059 Terminate Current Request Processing
Process Rules
📊 Business Logic Narrative
When the process 'Terminate Current Request Processing' is invoked, and assuming that equipment processing has been completed or user access was denied, when the system terminates the current request, the desired outcome is that final report is generated, appropriate actions are taken based on request type (send, report, or error), and all necessary notifications are sent to originators and customs systems.
💻 Technical Criteria
Given Equipment processing has been completed or user access was denied
When The system terminates the current request
Then Final report is generated, appropriate actions are taken based on request type (SEND, REPORT, or ERROR), and all necessary notifications are sent to originators and customs systems
R-GCX003-cbl-01165 More Equipment to Process? REQ-IDX ≤ 499
Process Rules
📊 Business Logic Narrative
When the process 'More Equipment to Process? REQ-IDX ≤ 499' is invoked, and assuming that a train request contains equipment items to be processed, when the system processes equipment items in sequence, the desired outcome is that processing stops when either all equipment is processed or the 499 item limit is reached.
💻 Technical Criteria
Given A train request contains equipment items to be processed
When The system processes equipment items in sequence
Then Processing stops when either all equipment is processed or the 499 item limit is reached
R-GCX003-cbl-01166 Get Equipment ID from Request
Process Rules
📊 Business Logic Narrative
When the process 'Get Equipment ID from Request' is invoked, and assuming that a request contains equipment items at specific index positions, when the system processes an equipment item at current index, the desired outcome is that the equipment id is extracted and prepared with size 12 for formatting validation.
💻 Technical Criteria
Given A request contains equipment items at specific index positions
When The system processes an equipment item at current index
Then The equipment ID is extracted and prepared with size 12 for formatting validation
R-GCX003-cbl-01167 Equipment Format Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Format Valid?' is invoked, and assuming that an equipment id has been extracted from the request, when the equipment formatter gcccarfm is called to validate the format, the desired outcome is that if format is invalid, equipment error message 34 is generated and processing continues to next equipment.
💻 Technical Criteria
Given An equipment ID has been extracted from the request
When The equipment formatter GCCCARFM is called to validate the format
Then If format is invalid, equipment error message 34 is generated and processing continues to next equipment
R-GCX003-cbl-01174 Retrieve Segment 07 Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Segment 07 Data' is invoked, and assuming that a cargo record has been found for the equipment, when the system retrieves detailed segment information, the desired outcome is that seg07 (commodity description), seg02 (reference numbers), and seg08 (hazmat) data are retrieved and availability flags are set.
💻 Technical Criteria
Given A cargo record has been found for the equipment
When The system retrieves detailed segment information
Then SEG07 (commodity description), SEG02 (reference numbers), and SEG08 (hazmat) data are retrieved and availability flags are set
R-GCX003-cbl-01175 Build Equipment Report Line
Process Rules
📊 Business Logic Narrative
When the process 'Build Equipment Report Line' is invoked, and assuming that equipment and cargo data have been processed, when the system builds report output, the desired outcome is that detailed report lines are created with equipment details, cargo information, and appropriate formatting for manifest display.
💻 Technical Criteria
Given Equipment and cargo data have been processed
When The system builds report output
Then Detailed report lines are created with equipment details, cargo information, and appropriate formatting for manifest display
R-GCX003-cbl-01176 Attach Cargo to Train SEND Action Only
Decision Rules
📊 Business Logic Narrative
When the process 'Attach Cargo to Train SEND Action Only' is invoked, and assuming that the request action is send and cargo has been processed without errors, when the system evaluates cargo for train attachment, the desired outcome is that cargo is attached unless it is immediate transport, already created for it, us-canada-us with release status, default with release status, empty equipment, or special manifest cargo.
💻 Technical Criteria
Given The request action is SEND and cargo has been processed without errors
When The system evaluates cargo for train attachment
Then Cargo is attached unless it is immediate transport, already created for IT, US-Canada-US with release status, default with release status, empty equipment, or special manifest cargo
R-GCX003-cbl-01181 Container on Flat Car?
Decision Rules
📊 Business Logic Narrative
When the process 'Container on Flat Car?' is invoked, and assuming that container retrieval processing has been attempted, when the system checks container processing results, the desired outcome is that if containers are found, processing continues with next container, otherwise container processing completes for current equipment.
💻 Technical Criteria
Given Container retrieval processing has been attempted
When The system checks container processing results
Then If containers are found, processing continues with next container, otherwise container processing completes for current equipment
R-GCX003-cbl-01182 Increment Equipment Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Equipment Index' is invoked, and assuming that current equipment processing has completed (successful or with errors), when the system prepares for next equipment item, the desired outcome is that equipment index is incremented and new report index is advanced for next equipment processing cycle.
💻 Technical Criteria
Given Current equipment processing has completed (successful or with errors)
When The system prepares for next equipment item
Then Equipment index is incremented and new report index is advanced for next equipment processing cycle
R-GCX003-cbl-01513 Empty Residue Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Empty Residue Cargo?' is invoked, and assuming that a cargo record exists for processing, when the cargo is classified as empty residue (88-gcusrt-m1109-empty-residue), the desired outcome is that skip all error message generation and exit the error processing routine.
💻 Technical Criteria
Given A cargo record exists for processing
When The cargo is classified as empty residue (88-GCUSRT-M1109-EMPTY-RESIDUE)
Then Skip all error message generation and exit the error processing routine
R-GCX003-cbl-01514 No Cargo Found with Residue Weight?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No Cargo Found with Residue Weight?', assuming that no cargo is found for the equipment and residue weight is greater than 0 and emergency response code is not found or emergency response weight threshold is less than or equal to 7, when the equipment is marked as empty, the desired outcome is that skip error message generation and exit the error processing routine.
💻 Technical Criteria
EXCLUDING No cargo is found for the equipment AND residue weight is greater than 0 AND emergency response code is not found OR emergency response weight threshold is less than or equal to 7
When The equipment is marked as empty
Then Skip error message generation and exit the error processing routine
R-GCX003-cbl-01515 Empty Equipment with Country Codes CAMX/MXCA?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Empty Equipment with Country Codes CAMX/MXCA?', assuming that cargo is found and cargo type is empty equipment (88-gcusrt-m1109-empty-equip), when the origin-destination country codes are not 'camx' or 'mxca', the desired outcome is that generate message 27 (empty equipment warning).
💻 Technical Criteria
EXCLUDING Cargo is found AND cargo type is empty equipment (88-GCUSRT-M1109-EMPTY-EQUIP)
When The origin-destination country codes are NOT 'CAMX' or 'MXCA'
Then Generate message 27 (empty equipment warning)
R-GCX003-cbl-01516 IT Bond Type Found?
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'IT Bond Type Found?', assuming that cargo is found and bond type is 'it' (in-transit), when the cargo does not have special manifest original designation, the desired outcome is that execute crowley process logic (b525-crowley-process).
💻 Technical Criteria
EXCLUDING Cargo is found AND bond type is 'IT' (in-transit)
When The cargo does NOT have special manifest original designation
Then Execute Crowley process logic (B525-CROWLEY-PROCESS)
R-GCX003-cbl-01525 Cargo Status Issues?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Status Issues?' is invoked, and assuming that cargo is found, when cargo status is pending (88-gcusrt-rt10-cpcargo-pending) or deleted (88-gcusrt-rt10-cpcargo-deleted) or error (88-gcusrt-rt10-cpcargo-error), the desired outcome is that generate message 16 (cargo status error).
💻 Technical Criteria
Given Cargo is found
When Cargo status is pending (88-GCUSRT-RT10-CPCARGO-PENDING) OR deleted (88-GCUSRT-RT10-CPCARGO-DELETED) OR error (88-GCUSRT-RT10-CPCARGO-ERROR)
Then Generate message 16 (cargo status error)
R-GCX003-cbl-01526 TR Bond Export Status?
Validation Rules
📊 Business Logic Narrative
When the process 'TR Bond Export Status?' is invoked, and assuming that cargo is found and bond type is 'tr' (transit), when cargo status description equals export status constant, the desired outcome is that generate message 12 (tr bond status error).
💻 Technical Criteria
Given Cargo is found AND bond type is 'TR' (transit)
When Cargo status description equals export status constant
Then Generate message 12 (TR bond status error)
R-GCX003-cbl-01527 MT Bond Vessel Issues?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'MT Bond Vessel Issues?', assuming that cargo is found and bond type is 'mt' (merchandise in transit) and vessel name is not 'train' and not spaces, when the crossing port station code equals the cargo location id, the desired outcome is that generate message 25 (mt bond vessel error).
💻 Technical Criteria
EXCLUDING Cargo is found AND bond type is 'MT' (merchandise in transit) AND vessel name is not 'TRAIN' and not spaces
When The crossing port station code equals the cargo location ID
Then Generate message 25 (MT bond vessel error)
R-GCX003-cbl-01528 TE Bond Vessel Issues?
Validation Rules
📊 Business Logic Narrative
When the process 'TE Bond Vessel Issues?' is invoked, and assuming that cargo is found and bond type is 'te' (transport export), when vessel name character 23 is 't', the desired outcome is that generate message 17 (te bond vessel error).
💻 Technical Criteria
Given Cargo is found AND bond type is 'TE' (transport export)
When Vessel name character 23 is 'T'
Then Generate message 17 (TE bond vessel error)
R-GCX003-cbl-01529 Non-Train Vessel Issues?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Non-Train Vessel Issues?', assuming that cargo is found and bond type is not 'te' and not 'mt', when vessel name is not 'train', the desired outcome is that generate message 17 (non-train vessel error).
💻 Technical Criteria
EXCLUDING Cargo is found AND bond type is NOT 'TE' and NOT 'MT'
When Vessel name is not 'TRAIN'
Then Generate message 17 (non-train vessel error)
R-GCX003-cbl-01530 Laredo Station Specific Checks?
Validation Rules
📊 Business Logic Narrative
When the process 'Laredo Station Specific Checks?' is invoked, and assuming that cargo is found, when the crossing port is laredo tx station, the desired outcome is that evaluate cargo hold status and border conditions to generate messages 46-52 (fen not found, kcm not found, hold border, hold apply, hold border apply).
💻 Technical Criteria
Given Cargo is found
When The crossing port is Laredo TX station
Then Evaluate cargo hold status and border conditions to generate messages 46-52 (FEN not found, KCM not found, hold border, hold apply, hold border apply)
R-GCX003-cbl-01531 TE Bond Port Change Conditions?
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'TE Bond Port Change Conditions?', assuming that cargo is found and bond type is transport export and cargo is not created for it and cargo status is not export and cargo is billable as cprs, when cargo location id does not match the crossing port station code, the desired outcome is that execute te bond detour processing (b551-detour-for-te-bond).
💻 Technical Criteria
EXCLUDING Cargo is found AND bond type is transport export AND cargo is not created for IT AND cargo status is not export AND cargo is billable as CPRS
When Cargo location ID does not match the crossing port station code
Then Execute TE bond detour processing (B551-DETOUR-FOR-TE-BOND)
R-GCX003-cbl-01659 Is TR Already Created for IT?
Decision Rules
📊 Business Logic Narrative
When the process 'Is TR Already Created for IT?' is invoked, and assuming that an it bond cargo record exists in the system, when the system checks if tr has already been created for it cargo by evaluating gcusrt-tr-created-for-it field, the desired outcome is that if tr is already created (gcusrt-tr-created-for-it = 'y'), skip further it bond processing and exit the crowley process.
💻 Technical Criteria
Given An IT bond cargo record exists in the system
When The system checks if TR has already been created for IT cargo by evaluating GCUSRT-TR-CREATED-FOR-IT field
Then If TR is already created (GCUSRT-TR-CREATED-FOR-IT = 'Y'), skip further IT bond processing and exit the Crowley process
R-GCX003-cbl-01660 Is Request Action SEND?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Request Action SEND?', assuming that an it bond cargo requires processing and tr has not been created, when the system evaluates the request action type (req-action-send), the desired outcome is that if request action is send, proceed to check user authorization for special manifests; if request action is report, generate report message msg-24.
💻 Technical Criteria
EXCLUDING An IT bond cargo requires processing and TR has not been created
When The system evaluates the request action type (REQ-ACTION-SEND)
Then If request action is SEND, proceed to check user authorization for special manifests; if request action is REPORT, generate report message MSG-24
R-GCX003-cbl-01661 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifests?' is invoked, and assuming that a send request for it bond cargo that requires special manifest creation, when the system checks user authorization status (ws-user-not-auth-4-spcl-manif), the desired outcome is that if user is not authorized for special manifests, generate authorization error msg-43; if user is authorized, proceed to create it export special manifest msg-23.
💻 Technical Criteria
Given A SEND request for IT bond cargo that requires special manifest creation
When The system checks user authorization status (WS-USER-NOT-AUTH-4-SPCL-MANIF)
Then If user is not authorized for special manifests, generate authorization error MSG-43; if user is authorized, proceed to create IT export special manifest MSG-23
R-GCX003-cbl-01662 Create IT Export Special Manifest MSG-23
Action Rules
📊 Business Logic Narrative
When the process 'Create IT Export Special Manifest MSG-23' is invoked, and assuming that a send request for it bond cargo from an authorized user, when the system creates an it export special manifest, the desired outcome is that generate message msg-23, set it export spawn flag (ws-it-export-spawn), and call special manifest creation process (z870-create-special-manifest).
💻 Technical Criteria
Given A SEND request for IT bond cargo from an authorized user
When The system creates an IT export special manifest
Then Generate message MSG-23, set IT export spawn flag (WS-IT-EXPORT-SPAWN), and call special manifest creation process (Z870-CREATE-SPECIAL-MANIFEST)
R-GCX003-cbl-01663 Generate Authorization Error MSG-43
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Authorization Error MSG-43', assuming that a send request for it bond cargo from an unauthorized user, when the system detects user is not authorized for special manifests (ws-user-not-auth-4-spcl-manif is true), the desired outcome is that generate authorization error message msg-43 and add it to the report without creating special manifest.
💻 Technical Criteria
EXCLUDING A SEND request for IT bond cargo from an unauthorized user
When The system detects user is not authorized for special manifests (WS-USER-NOT-AUTH-4-SPCL-MANIF is true)
Then Generate authorization error message MSG-43 and add it to the report without creating special manifest
R-GCX003-cbl-01664 Generate Report Message MSG-24
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Report Message MSG-24', assuming that an it bond cargo with report action request and tr not already created, when the system processes a report action for it bond, the desired outcome is that generate report message msg-24 and add it to the report without creating special manifest or spawn processes.
💻 Technical Criteria
EXCLUDING An IT bond cargo with REPORT action request and TR not already created
When The system processes a REPORT action for IT bond
Then Generate report message MSG-24 and add it to the report without creating special manifest or spawn processes
R-GCX003-cbl-01784 Check User Authorization for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
When the process 'Check User Authorization for Special Manifests?' is invoked, and assuming that a user is attempting to create an it export special manifest for cargo with bond type 'it' and special manifest original flag is set, when the request action is send and the system checks user authorization for special manifests, the desired outcome is that if the user is not authorized for special manifests, set msg-43 unauthorized message and continue processing without creating the manifest.
💻 Technical Criteria
Given A user is attempting to create an IT export special manifest for cargo with bond type 'IT' and special manifest original flag is set
When The request action is SEND and the system checks user authorization for special manifests
Then If the user is not authorized for special manifests, set MSG-43 unauthorized message and continue processing without creating the manifest
R-GCX003-cbl-01785 Check Cargo Bond Type = 'IT'?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Cargo Bond Type = 'IT'?', assuming that a cargo record is being processed for potential it export special manifest creation, when the system checks if the cargo bond type is 'it' and the special manifest original flag is not set, the desired outcome is that only proceed with it export manifest creation if cargo bond type is 'it' and special manifest original flag is not set, otherwise continue normal processing.
💻 Technical Criteria
EXCLUDING A cargo record is being processed for potential IT export special manifest creation
When The system checks if the cargo bond type is 'IT' and the special manifest original flag is not set
Then Only proceed with IT export manifest creation if cargo bond type is 'IT' and special manifest original flag is not set, otherwise continue normal processing
R-GCX003-cbl-01786 Check Request Action = SEND?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Request Action = SEND?', assuming that an it export special manifest is being created for cargo with bond type 'it' and special manifest original flag not set, when the system checks the request action type, the desired outcome is that if request action is send and user is authorized, create msg-23 and spawn special manifest; if request action is report, create msg-24 report-only message.
💻 Technical Criteria
EXCLUDING An IT export special manifest is being created for cargo with bond type 'IT' and special manifest original flag not set
When The system checks the request action type
Then If request action is SEND and user is authorized, create MSG-23 and spawn special manifest; if request action is REPORT, create MSG-24 report-only message
R-GCX003-cbl-01533 User Profile Found?
Action Rules
📊 Business Logic Narrative
When the process 'User Profile Found?' is invoked, and assuming that a user has passed scac access validation, when the system attempts to retrieve the user's security profile from gcstbrt table using their acf2 user id, the desired outcome is that if the profile is found successfully, load the user security segment data, otherwise initialize an empty security segment.
💻 Technical Criteria
Given A user has passed SCAC access validation
When The system attempts to retrieve the user's security profile from GCSTBRT table using their ACF2 user ID
Then If the profile is found successfully, load the user security segment data, otherwise initialize an empty security segment
R-GCX003-cbl-01666 User Profile Found?
Action Rules
📊 Business Logic Narrative
When the process 'User Profile Found?' is invoked, and assuming that a user with valid scac access needs their security profile validated for train processing operations, when the system performs a database lookup for the user's acf2 id in the gcstbrt-us table, the desired outcome is that if the profile is found, the system loads the user segment data, otherwise initializes an empty profile with spaces.
💻 Technical Criteria
Given A user with valid SCAC access needs their security profile validated for train processing operations
When The system performs a database lookup for the user's ACF2 ID in the GCSTBRT-US table
Then If the profile is found, the system loads the user segment data, otherwise initializes an empty profile with spaces
R-GCX003-cbl-01799 Initialize Empty Security Segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize Empty Security Segment', assuming that the user does not exist in the security table, when the system initializes user permission data, the desired outcome is that the user security segment is set to spaces.
💻 Technical Criteria
EXCLUDING The user does not exist in the security table
When The system initializes user permission data
Then The user security segment is set to spaces
R-GCX003-cbl-01189 User Profile Found?
Action Rules
📊 Business Logic Narrative
When the process 'User Profile Found?' is invoked, and assuming that a valid user id exists in the system, when the system attempts to retrieve user profile from gcstbrt security table, the desired outcome is that load user profile segment if found, otherwise initialize with default empty profile settings.
💻 Technical Criteria
Given A valid user ID exists in the system
When The system attempts to retrieve user profile from GCSTBRT security table
Then Load user profile segment if found, otherwise initialize with default empty profile settings
R-GCX003-cbl-00066 Is Train Origin Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Train Origin Empty?' is invoked, and assuming that a train manifest request is being processed, when the train origin field is empty or contains only spaces, the desired outcome is that the system should set error message 2 indicating origin is required and mark validation as failed.
💻 Technical Criteria
Given A train manifest request is being processed
When The train origin field is empty or contains only spaces
Then The system should set error message 2 indicating origin is required and mark validation as failed
R-GCX003-cbl-00070 US Station Code Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'US Station Code Valid?' is invoked, and assuming that a us station code has been extracted from the station reference data, when the system validates the us station code, the desired outcome is that if the us station code is empty or contains only spaces, the system should set error message 2 for invalid origin station.
💻 Technical Criteria
Given A US station code has been extracted from the station reference data
When The system validates the US station code
Then If the US station code is empty or contains only spaces, the system should set error message 2 for invalid origin station
R-GCX003-cbl-00097 MERLIN ID Present?
Validation Rules
📊 Business Logic Narrative
When the process 'MERLIN ID Present?' is invoked, and assuming that public merlin id has been extracted from administration table, when the system checks if the merlin id field contains spaces or is empty, the desired outcome is that if merlin id is spaces, generate error message 7 indicating missing merlin configuration, otherwise proceed to database validation.
💻 Technical Criteria
Given Public MERLIN ID has been extracted from administration table
When The system checks if the MERLIN ID field contains spaces or is empty
Then If MERLIN ID is spaces, generate error message 7 indicating missing MERLIN configuration, otherwise proceed to database validation
R-GCX003-cbl-00100 Equipment Index <= 499?
Process Rules
📊 Business Logic Narrative
When the process 'Equipment Index <= 499?' is invoked, and assuming that a train request is being processed with multiple equipment items, when the system processes equipment items in sequence, the desired outcome is that the system must stop processing when the equipment index exceeds 499 items.
💻 Technical Criteria
Given A train request is being processed with multiple equipment items
When The system processes equipment items in sequence
Then The system must stop processing when the equipment index exceeds 499 items
R-GCX003-cbl-00101 More Equipment to Process?
Validation Rules
📊 Business Logic Narrative
When the process 'More Equipment to Process?' is invoked, and assuming that the system is processing equipment items in a loop, when the system checks for the next equipment item to process, the desired outcome is that the system must verify that req-no-more-eqp flag is not set for the current equipment index.
💻 Technical Criteria
Given The system is processing equipment items in a loop
When The system checks for the next equipment item to process
Then The system must verify that REQ-NO-MORE-EQP flag is not set for the current equipment index
R-GCX003-cbl-00102 Get Equipment ID from Request
Action Rules
📊 Business Logic Narrative
When the process 'Get Equipment ID from Request' is invoked, and assuming that an equipment item needs to be processed, when the system extracts equipment information from the request, the desired outcome is that the system must move the equipment id from req-eqp-id array to gccarfm-input and set the size to 12 characters.
💻 Technical Criteria
Given An equipment item needs to be processed
When The system extracts equipment information from the request
Then The system must move the equipment ID from REQ-EQP-ID array to GCCARFM-INPUT and set the size to 12 characters
R-GCX003-cbl-00103 Equipment Format Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Format Valid?' is invoked, and assuming that an equipment id has been extracted from the request, when the system calls the equipment formatter gcccarfm, the desired outcome is that the system must check if gccarfm-rc-success is true to determine if the equipment format is valid.
💻 Technical Criteria
Given An equipment ID has been extracted from the request
When The system calls the equipment formatter GCCCARFM
Then The system must check if GCCARFM-RC-SUCCESS is true to determine if the equipment format is valid
R-GCX003-cbl-00104 Process Equipment with B000-PROCESS-EQUIPMENT
Process Rules
📊 Business Logic Narrative
When the process 'Process Equipment with B000-PROCESS-EQUIPMENT' is invoked, and assuming that an equipment item has passed format validation, when the system processes the equipment, the desired outcome is that the system must perform b000-process-equipment with test after until ws-no-more-container is true.
💻 Technical Criteria
Given An equipment item has passed format validation
When The system processes the equipment
Then The system must perform B000-PROCESS-EQUIPMENT with TEST AFTER until WS-NO-MORE-CONTAINER is true
R-GCX003-cbl-00105 More Containers on Equipment?
Process Rules
📊 Business Logic Narrative
When the process 'More Containers on Equipment?' is invoked, and assuming that equipment processing is in progress, when the system checks for additional containers on the equipment, the desired outcome is that the system must continue processing while ws-no-more-container is false.
💻 Technical Criteria
Given Equipment processing is in progress
When The system checks for additional containers on the equipment
Then The system must continue processing while WS-NO-MORE-CONTAINER is false
R-GCX003-cbl-00106 Add Equipment Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Add Equipment Error Message' is invoked, and assuming that an equipment item fails format validation, when the system handles the format error, the desired outcome is that the system must move req-eqp-id to rpt-car-id and req-le-ind to rpt-le-ind at the current report index.
💻 Technical Criteria
Given An equipment item fails format validation
When The system handles the format error
Then The system must move REQ-EQP-ID to RPT-CAR-ID and REQ-LE-IND to RPT-LE-IND at the current report index
R-GCX003-cbl-00107 Set Equipment Error Flag MSG-THIRTY-FOUR
Action Rules
📊 Business Logic Narrative
When the process 'Set Equipment Error Flag MSG-THIRTY-FOUR' is invoked, and assuming that equipment format validation has failed and error details have been recorded, when the system sets error flags, the desired outcome is that the system must set msg-thirty-four flag to true at the current report index and increment the report index.
💻 Technical Criteria
Given Equipment format validation has failed and error details have been recorded
When The system sets error flags
Then The system must set MSG-THIRTY-FOUR flag to true at the current report index and increment the report index
R-GCX003-cbl-00108 Increment Equipment Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Equipment Index' is invoked, and assuming that processing of the current equipment item is complete, when the system prepares to process the next equipment item, the desired outcome is that the system must increment the equipment index req-idx by 1 to move to the next equipment item.
💻 Technical Criteria
Given Processing of the current equipment item is complete
When The system prepares to process the next equipment item
Then The system must increment the equipment index REQ-IDX by 1 to move to the next equipment item
R-GCX003-cbl-01217 Call GCCCARFM Service for Format Validation
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCARFM Service for Format Validation' is invoked, and assuming that an equipment id from the request and equipment id length set to 12 characters, when the gcccarfm service is called to validate the equipment format, the desired outcome is that the system determines if the equipment format is valid or invalid for further processing.
💻 Technical Criteria
Given An equipment ID from the request and equipment ID length set to 12 characters
When The GCCCARFM service is called to validate the equipment format
Then The system determines if the equipment format is valid or invalid for further processing
R-GCX003-cbl-01218 Equipment Format Valid - Continue Processing
Process Rules
📊 Business Logic Narrative
When the process 'Equipment Format Valid - Continue Processing' is invoked, and assuming that equipment format validation has been performed, when gcccarfm validation returns successful status, the desired outcome is that the equipment is marked as valid and processing continues to the next step.
💻 Technical Criteria
Given Equipment format validation has been performed
When GCCCARFM validation returns successful status
Then The equipment is marked as valid and processing continues to the next step
R-GCX003-cbl-01219 Mark as Equipment Format Error
Validation Rules
📊 Business Logic Narrative
When the process 'Mark as Equipment Format Error' is invoked, and assuming that equipment format validation has been performed, when gcccarfm validation returns unsuccessful status, the desired outcome is that the equipment is marked with format error status and added to report with load/empty indicator.
💻 Technical Criteria
Given Equipment format validation has been performed
When GCCCARFM validation returns unsuccessful status
Then The equipment is marked with format error status and added to report with load/empty indicator
R-GCX003-cbl-01220 Set Container Error Message 35
Decision Rules
📊 Business Logic Narrative
When the process 'Set Container Error Message 35' is invoked, and assuming that equipment format validation has failed and equipment type is container, when the system determines the equipment is a container type, the desired outcome is that error message 35 is set for the container format validation failure.
💻 Technical Criteria
Given Equipment format validation has failed and equipment type is container
When The system determines the equipment is a container type
Then Error message 35 is set for the container format validation failure
R-GCX003-cbl-01221 Set Car Error Message 36
Decision Rules
📊 Business Logic Narrative
When the process 'Set Car Error Message 36' is invoked, and assuming that equipment format validation has failed and equipment type is car, when the system determines the equipment is a car type, the desired outcome is that error message 36 is set for the car format validation failure.
💻 Technical Criteria
Given Equipment format validation has failed and equipment type is car
When The system determines the equipment is a car type
Then Error message 36 is set for the car format validation failure
R-GCX003-cbl-01222 Skip Further Equipment Processing
Process Rules
📊 Business Logic Narrative
When the process 'Skip Further Equipment Processing' is invoked, and assuming that equipment format validation has failed and appropriate error message has been generated, when the error has been added to the report, the desired outcome is that further processing of this equipment item is skipped and control returns to process the next equipment.
💻 Technical Criteria
Given Equipment format validation has failed and appropriate error message has been generated
When The error has been added to the report
Then Further processing of this equipment item is skipped and control returns to process the next equipment
R-GCX003-cbl-01223 Initialize Equipment Processing Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Equipment Processing Flags' is invoked, and assuming that equipment processing is starting for a new equipment item, when the system begins processing equipment, the desired outcome is that all processing state flags are set to their initial values: tr bond not found, tr not created for it, te bond not found, te not created for te, special location codes not found, us-mx export not found, and segment indicators reset.
💻 Technical Criteria
Given Equipment processing is starting for a new equipment item
When The system begins processing equipment
Then All processing state flags are set to their initial values: TR bond not found, TR not created for IT, TE bond not found, TE not created for TE, special location codes not found, US-MX export not found, and segment indicators reset
R-GCX003-cbl-01231 Retrieve Segment 07 Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Segment 07 Data' is invoked, and assuming that a cargo record is being processed, when detailed cargo information is needed, the desired outcome is that system retrieves segment 07 (cargo details), segment 02 (reference numbers), and segment 08 (hazmat information) and sets appropriate found/not found indicators.
💻 Technical Criteria
Given A cargo record is being processed
When Detailed cargo information is needed
Then System retrieves segment 07 (cargo details), segment 02 (reference numbers), and segment 08 (hazmat information) and sets appropriate found/not found indicators
R-GCX003-cbl-01232 Build Equipment Detail Report Line
Action Rules
📊 Business Logic Narrative
When the process 'Build Equipment Detail Report Line' is invoked, and assuming that equipment and cargo data has been retrieved, when report generation is performed, the desired outcome is that system creates detail line with equipment id, load/empty status, cargo descriptions, bond information, and special handling codes formatted for report output.
💻 Technical Criteria
Given Equipment and cargo data has been retrieved
When Report generation is performed
Then System creates detail line with equipment ID, load/empty status, cargo descriptions, bond information, and special handling codes formatted for report output
R-GCX003-cbl-01233 Send Action and No Errors?
Decision Rules
📊 Business Logic Narrative
When the process 'Send Action and No Errors?' is invoked, and assuming that equipment processing is complete and cargo exists, when system evaluates cargo attachment, the desired outcome is that if request action is send and no errors exist and no spawn conditions are met and cargo is not empty residue, proceed with cargo attachment.
💻 Technical Criteria
Given Equipment processing is complete and cargo exists
When System evaluates cargo attachment
Then If request action is SEND and no errors exist and no spawn conditions are met and cargo is not empty residue, proceed with cargo attachment
R-GCX003-cbl-01234 Attach Cargo to Train
Process Rules
📊 Business Logic Narrative
When the process 'Attach Cargo to Train' is invoked, and assuming that cargo is eligible for attachment to train, when cargo attachment processing occurs, the desired outcome is that skip attachment for immediate transport cargo, cargo already created for it, us-canada-us cargo with release status, default cargo with release status, empty equipment cargo, special manifest cargo at specific stations, or export cargo at non-laredo stations.
💻 Technical Criteria
Given Cargo is eligible for attachment to train
When Cargo attachment processing occurs
Then Skip attachment for immediate transport cargo, cargo already created for IT, US-Canada-US cargo with release status, default cargo with release status, empty equipment cargo, special manifest cargo at specific stations, or export cargo at non-Laredo stations
R-GCX003-cbl-01236 Check for Special Bond Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Check for Special Bond Processing' is invoked, and assuming that all cargo records for equipment have been processed, when special bond processing evaluation occurs, the desired outcome is that check for tr bond creation for it cargo, te bond creation for te cargo, special it manifest requirements, and us-mx export conditions.
💻 Technical Criteria
Given All cargo records for equipment have been processed
When Special bond processing evaluation occurs
Then Check for TR bond creation for IT cargo, TE bond creation for TE cargo, special IT manifest requirements, and US-MX export conditions
R-GCX003-cbl-01237 TR Bond Created for IT?
Validation Rules
📊 Business Logic Narrative
When the process 'TR Bond Created for IT?' is invoked, and assuming that equipment processing found it cargo that should have tr bond, when tr bond validation occurs, the desired outcome is that if tr bond was created for it cargo but tr bond not found during processing, generate message 22 warning and add to report.
💻 Technical Criteria
Given Equipment processing found IT cargo that should have TR bond
When TR bond validation occurs
Then If TR bond was created for IT cargo but TR bond not found during processing, generate message 22 warning and add to report
R-GCX003-cbl-01238 Add TR Bond Warning Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add TR Bond Warning Message', assuming that tr bond is required but not found for it cargo, when warning message generation occurs, the desired outcome is that add message 22 to report with equipment details and increment total equipment count.
💻 Technical Criteria
EXCLUDING TR bond is required but not found for IT cargo
When Warning message generation occurs
Then Add message 22 to report with equipment details and increment total equipment count
R-GCX003-cbl-01239 TE Bond Created for TE?
Validation Rules
📊 Business Logic Narrative
When the process 'TE Bond Created for TE?' is invoked, and assuming that equipment processing found te cargo that should have te bond, when te bond validation occurs, the desired outcome is that if te bond was created for te cargo but te bond not found during processing, generate message 32 warning and add to report.
💻 Technical Criteria
Given Equipment processing found TE cargo that should have TE bond
When TE bond validation occurs
Then If TE bond was created for TE cargo but TE bond not found during processing, generate message 32 warning and add to report
R-GCX003-cbl-01240 Add TE Bond Warning Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add TE Bond Warning Message', assuming that te bond is required but not found for te cargo, when warning message generation occurs, the desired outcome is that add message 32 to report with equipment details and increment total equipment count.
💻 Technical Criteria
EXCLUDING TE bond is required but not found for TE cargo
When Warning message generation occurs
Then Add message 32 to report with equipment details and increment total equipment count
R-GCX003-cbl-01241 Special IT Manifest Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Special IT Manifest Found?' is invoked, and assuming that equipment processing found special it manifest location code, when special manifest validation occurs, the desired outcome is that if special it manifest found but corresponding te manifest location not found, generate message 45 warning and add to report.
💻 Technical Criteria
Given Equipment processing found special IT manifest location code
When Special manifest validation occurs
Then If special IT manifest found but corresponding TE manifest location not found, generate message 45 warning and add to report
R-GCX003-cbl-01242 Add Special Manifest Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Special Manifest Message', assuming that special it manifest found but te manifest requirements not met, when special manifest warning generation occurs, the desired outcome is that add message 45 to report with equipment details and increment total equipment count.
💻 Technical Criteria
EXCLUDING Special IT manifest found but TE manifest requirements not met
When Special manifest warning generation occurs
Then Add message 45 to report with equipment details and increment total equipment count
R-GCX003-cbl-01243 US-MX Export Found?
Validation Rules
📊 Business Logic Narrative
When the process 'US-MX Export Found?' is invoked, and assuming that equipment processing found us-mx export type 88 cargo, when export manifest validation occurs, the desired outcome is that if us-mx export type 88 found but tr manifest location not found, generate message 51 warning and add to report.
💻 Technical Criteria
Given Equipment processing found US-MX export type 88 cargo
When Export manifest validation occurs
Then If US-MX export type 88 found but TR manifest location not found, generate message 51 warning and add to report
R-GCX003-cbl-01244 Add Export Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Export Message', assuming that us-mx export type 88 found but tr manifest requirements not met, when export warning generation occurs, the desired outcome is that add message 51 to report with equipment details and increment total equipment count.
💻 Technical Criteria
EXCLUDING US-MX export type 88 found but TR manifest requirements not met
When Export warning generation occurs
Then Add message 51 to report with equipment details and increment total equipment count
R-GCX003-cbl-01536 Bond Type = IT or IE?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = IT or IE?' is invoked, and assuming that cargo exists for the equipment, when the cargo bond type code is 'it' or 'ie', the desired outcome is that set it bond found flag to true for subsequent special manifest evaluation.
💻 Technical Criteria
Given Cargo exists for the equipment
When The cargo bond type code is 'IT' or 'IE'
Then Set IT bond found flag to true for subsequent special manifest evaluation
R-GCX003-cbl-01537 Bond Type = TE?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = TE?' is invoked, and assuming that cargo exists for the equipment, when the cargo bond type code is 'te', the desired outcome is that set te bond found flag to true for subsequent port change evaluation.
💻 Technical Criteria
Given Cargo exists for the equipment
When The cargo bond type code is 'TE'
Then Set TE bond found flag to true for subsequent port change evaluation
R-GCX003-cbl-01538 Bond Type = TR?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = TR?' is invoked, and assuming that cargo exists for the equipment, when the cargo bond type code is 'tr', the desired outcome is that set tr bond found flag to true for subsequent diversion evaluation.
💻 Technical Criteria
Given Cargo exists for the equipment
When The cargo bond type code is 'TR'
Then Set TR bond found flag to true for subsequent diversion evaluation
R-GCX003-cbl-01539 Create IT Export Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create IT Export Special Manifest', assuming that cargo has it bond type and tr created for it flag is not 'y' and special manifest original is not set, when action is send and user is authorized for special manifests, the desired outcome is that generate message 23, add report line, set it export spawn flag, and perform special manifest creation.
💻 Technical Criteria
EXCLUDING Cargo has IT bond type and TR created for IT flag is not 'Y' and special manifest original is not set
When Action is SEND and user is authorized for special manifests
Then Generate message 23, add report line, set IT export spawn flag, and perform special manifest creation
R-GCX003-cbl-01540 Create TE Port Change Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create TE Port Change Manifest', assuming that cargo has te bond type and tr created for it is spaces and cargo status is not export and cargo is billed as cprs and location id does not equal station code, when action is send and user is authorized for special manifests, the desired outcome is that generate message 20, add report line, set port change spawn flag, and perform special manifest creation.
💻 Technical Criteria
EXCLUDING Cargo has TE bond type and TR created for IT is spaces and cargo status is not export and cargo is billed as CPRS and location ID does not equal station code
When Action is SEND and user is authorized for special manifests
Then Generate message 20, add report line, set port change spawn flag, and perform special manifest creation
R-GCX003-cbl-01541 Create TR Diversion Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create TR Diversion Manifest' is invoked, and assuming that cargo has tr bond type and tr created for it is spaces and cargo status equals release, when action is send and user is authorized for special manifests, the desired outcome is that generate message 23, add report line, set detour spawn flag, and perform special manifest creation.
💻 Technical Criteria
Given Cargo has TR bond type and TR created for IT is spaces and cargo status equals release
When Action is SEND and user is authorized for special manifests
Then Generate message 23, add report line, set detour spawn flag, and perform special manifest creation
R-GCX003-cbl-01542 Create Border Clearance Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create Border Clearance Manifest', assuming that cargo has default bond type and tr created for it is spaces and cargo status equals release and special manifest original is not set, when action is send and user is authorized for special manifests, the desired outcome is that generate message 23, add report line, set detour spawn flag, and perform special manifest creation.
💻 Technical Criteria
EXCLUDING Cargo has default bond type and TR created for IT is spaces and cargo status equals release and special manifest original is not set
When Action is SEND and user is authorized for special manifests
Then Generate message 23, add report line, set detour spawn flag, and perform special manifest creation
R-GCX003-cbl-01543 Create US-MX Export Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create US-MX Export Manifest', assuming that cargo has export bond type and special manifest is spaces and origin-destination country codes equal 'usmx' and station is not laredo tx, when action is send and user is authorized for special manifests, the desired outcome is that generate message 23, add report line, set 88 tr detour spawn flag, and perform special manifest creation.
💻 Technical Criteria
EXCLUDING Cargo has export bond type and special manifest is spaces and origin-destination country codes equal 'USMX' and station is not Laredo TX
When Action is SEND and user is authorized for special manifests
Then Generate message 23, add report line, set 88 TR detour spawn flag, and perform special manifest creation
R-GCX003-cbl-01545 Set TR Bond Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set TR Bond Found Flag', assuming that cargo exists with us-canada-us bond type and tr created for it is not 'y' and cargo is not usmx special tr, when processing cargo information, the desired outcome is that set tr bond found flag to true.
💻 Technical Criteria
EXCLUDING Cargo exists with US-Canada-US bond type and TR created for IT is not 'Y' and cargo is not USMX special TR
When Processing cargo information
Then Set TR bond found flag to true
R-GCX003-cbl-01546 Set TE Bond Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set TE Bond Found Flag', assuming that cargo exists with transport export bond type and tr created for it is not 'y', when processing cargo information, the desired outcome is that set te bond found flag to true.
💻 Technical Criteria
EXCLUDING Cargo exists with transport export bond type and TR created for IT is not 'Y'
When Processing cargo information
Then Set TE bond found flag to true
R-GCX003-cbl-01547 Set IT Bond Found Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set IT Bond Found Flag' is invoked, and assuming that cargo exists, when cargo special manifest original flag is set, the desired outcome is that set special manifest it found flag to true.
💻 Technical Criteria
Given Cargo exists
When Cargo special manifest original flag is set
Then Set special manifest IT found flag to true
R-GCX003-cbl-01548 Set TE Bond Found Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set TE Bond Found Flag' is invoked, and assuming that cargo exists with transport export bond type, when cargo special manifest special flag is set, the desired outcome is that set special manifest te found flag to true.
💻 Technical Criteria
Given Cargo exists with transport export bond type
When Cargo special manifest special flag is set
Then Set special manifest TE found flag to true
R-GCX003-cbl-01549 Set Special Manifest Spawn Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Special Manifest Spawn Flag' is invoked, and assuming that cargo exists with export bond type, when cargo usmx special 88 flag is set, the desired outcome is that set usmx 88 found flag to true.
💻 Technical Criteria
Given Cargo exists with export bond type
When Cargo USMX special 88 flag is set
Then Set USMX 88 found flag to true
R-GCX003-cbl-01550 Set Special Manifest Spawn Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Special Manifest Spawn Flag' is invoked, and assuming that cargo exists with us-canada-us bond type, when cargo usmx special tr flag is set, the desired outcome is that set special tr found flag to true.
💻 Technical Criteria
Given Cargo exists with US-Canada-US bond type
When Cargo USMX special TR flag is set
Then Set special TR found flag to true
R-GCX003-cbl-01671 Is Cargo Immediate Transport Bond?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Immediate Transport Bond?' is invoked, and assuming that a cargo record exists with bond type classification, when the cargo is classified as immediate transport bond (m1201 movement type), the desired outcome is that the system skips cargo attachment and exits the attachment process.
💻 Technical Criteria
Given A cargo record exists with bond type classification
When The cargo is classified as immediate transport bond (M1201 movement type)
Then The system skips cargo attachment and exits the attachment process
R-GCX003-cbl-01672 Is TR Created for IT = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is TR Created for IT = 'Y'?' is invoked, and assuming that a cargo record with tr created for it indicator, when the tr created for it flag equals 'y', the desired outcome is that the system skips cargo attachment and exits the attachment process.
💻 Technical Criteria
Given A cargo record with TR created for IT indicator
When The TR created for IT flag equals 'Y'
Then The system skips cargo attachment and exits the attachment process
R-GCX003-cbl-01673 Is Cargo US-Canada-US Movement? AND Is TR Created for IT Empty? AND Is Cargo Short Description = Release?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo US-Canada-US Movement? AND Is TR Created for IT Empty? AND Is Cargo Short Description = Release?' is invoked, and assuming that a cargo record with us-canada-us movement type, empty tr created for it indicator, and cargo short description, when the cargo is us-canada-us movement and tr created for it is empty and cargo short description equals release status, the desired outcome is that the system skips cargo attachment and exits the attachment process.
💻 Technical Criteria
Given A cargo record with US-Canada-US movement type, empty TR created for IT indicator, and cargo short description
When The cargo is US-Canada-US movement AND TR created for IT is empty AND cargo short description equals release status
Then The system skips cargo attachment and exits the attachment process
R-GCX003-cbl-01674 Is Cargo Default Movement? AND Is TR Created for IT Empty? AND Is Cargo Short Description = Release?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Default Movement? AND Is TR Created for IT Empty? AND Is Cargo Short Description = Release?' is invoked, and assuming that a cargo record with default movement type, empty tr created for it indicator, and cargo short description, when the cargo is default movement and tr created for it is empty and cargo short description equals release status, the desired outcome is that the system skips cargo attachment and exits the attachment process.
💻 Technical Criteria
Given A cargo record with default movement type, empty TR created for IT indicator, and cargo short description
When The cargo is default movement AND TR created for IT is empty AND cargo short description equals release status
Then The system skips cargo attachment and exits the attachment process
R-GCX003-cbl-01675 Is Cargo Empty Equipment?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Empty Equipment?' is invoked, and assuming that a cargo record with equipment load status classification, when the cargo is classified as empty equipment, the desired outcome is that the system skips cargo attachment and exits the attachment process.
💻 Technical Criteria
Given A cargo record with equipment load status classification
When The cargo is classified as empty equipment
Then The system skips cargo attachment and exits the attachment process
R-GCX003-cbl-01676 Is Special Manifest Original? AND Is Woburn PQ Station?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Special Manifest Original? AND Is Woburn PQ Station?' is invoked, and assuming that a cargo record with special manifest classification and current station location, when the cargo has special manifest original status and the current station is woburn pq, the desired outcome is that the system skips cargo attachment and exits the attachment process.
💻 Technical Criteria
Given A cargo record with special manifest classification and current station location
When The cargo has special manifest original status AND the current station is Woburn PQ
Then The system skips cargo attachment and exits the attachment process
R-GCX003-cbl-01677 Is Special Manifest Special? AND Is NOT Woburn PQ Station?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Special Manifest Special? AND Is NOT Woburn PQ Station?', assuming that a cargo record with special manifest classification and current station location, when the cargo has special manifest special status and the current station is not woburn pq, the desired outcome is that the system skips cargo attachment and exits the attachment process.
💻 Technical Criteria
EXCLUDING A cargo record with special manifest classification and current station location
When The cargo has special manifest special status AND the current station is not Woburn PQ
Then The system skips cargo attachment and exits the attachment process
R-GCX003-cbl-01678 Is Export Movement? AND Is Origin-Destination = US-Mexico? AND Is NOT Laredo TX Station?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Export Movement? AND Is Origin-Destination = US-Mexico? AND Is NOT Laredo TX Station?', assuming that a cargo record with export movement type, origin-destination country codes, and current station location, when the cargo is export movement and origin-destination is us-mexico and the current station is not laredo tx, the desired outcome is that the system skips cargo attachment and exits the attachment process.
💻 Technical Criteria
EXCLUDING A cargo record with export movement type, origin-destination country codes, and current station location
When The cargo is export movement AND origin-destination is US-Mexico AND the current station is not Laredo TX
Then The system skips cargo attachment and exits the attachment process
R-GCX003-cbl-01679 Attach Cargo to Train
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Attach Cargo to Train', assuming that a cargo record that does not meet any skip attachment conditions, when none of the special manifest, bond type, or routing skip conditions are met, the desired outcome is that the system proceeds with standard cargo attachment to the train manifest.
💻 Technical Criteria
EXCLUDING A cargo record that does not meet any skip attachment conditions
When None of the special manifest, bond type, or routing skip conditions are met
Then The system proceeds with standard cargo attachment to the train manifest
R-GCX003-cbl-01807 Is M1201 In-Bond Type Code = 'IT'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is M1201 In-Bond Type Code = 'IT'?' is invoked, and assuming that a cargo record with m1201 in-bond type code, when the system evaluates the bond type for immediate transport classification, the desired outcome is that the cargo is classified as immediate transport bond if m1201 in-bond type code equals 'it' or 'ie'.
💻 Technical Criteria
Given A cargo record with M1201 in-bond type code
When The system evaluates the bond type for immediate transport classification
Then The cargo is classified as immediate transport bond if M1201 in-bond type code equals 'IT' or 'IE'
R-GCX003-cbl-01808 Is TR Created for IT = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is TR Created for IT = 'Y'?' is invoked, and assuming that a cargo record with immediate transport bond type and tr created for it indicator, when the system evaluates cargo attachment eligibility for immediate transport processing, the desired outcome is that the cargo is marked for tr created for it processing if the tr created for it flag equals 'y', otherwise cargo attachment is skipped.
💻 Technical Criteria
Given A cargo record with immediate transport bond type and TR created for IT indicator
When The system evaluates cargo attachment eligibility for immediate transport processing
Then The cargo is marked for TR created for IT processing if the TR created for IT flag equals 'Y', otherwise cargo attachment is skipped
R-GCX003-cbl-01809 Is Cargo Status Valid for IT Bond?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Cargo Status Valid for IT Bond?' is invoked, and assuming that a cargo record with us-canada-us bond type and tr created for it status as spaces and cargo short description, when the system evaluates cargo attachment eligibility for us-canada-us processing, the desired outcome is that the cargo attachment is skipped if the cargo short description equals the release status value.
💻 Technical Criteria
Given A cargo record with US-Canada-US bond type and TR created for IT status as spaces and cargo short description
When The system evaluates cargo attachment eligibility for US-Canada-US processing
Then The cargo attachment is skipped if the cargo short description equals the release status value
R-GCX003-cbl-01810 Is Cargo Status Valid for IT Bond?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Cargo Status Valid for IT Bond?' is invoked, and assuming that a cargo record with default bond type and tr created for it status as spaces and cargo short description, when the system evaluates cargo attachment eligibility for default bond processing, the desired outcome is that the cargo attachment is skipped if the cargo short description equals the release status value.
💻 Technical Criteria
Given A cargo record with default bond type and TR created for IT status as spaces and cargo short description
When The system evaluates cargo attachment eligibility for default bond processing
Then The cargo attachment is skipped if the cargo short description equals the release status value
R-GCX003-cbl-01811 Skip Cargo Attachment - IT Bond
Process Rules
📊 Business Logic Narrative
When the process 'Skip Cargo Attachment - IT Bond' is invoked, and assuming that a cargo record with empty equipment bond type classification, when the system evaluates cargo attachment eligibility, the desired outcome is that the cargo attachment processing is skipped for empty equipment bonds.
💻 Technical Criteria
Given A cargo record with empty equipment bond type classification
When The system evaluates cargo attachment eligibility
Then The cargo attachment processing is skipped for empty equipment bonds
R-GCX003-cbl-01812 Is Special Manifest Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Special Manifest Required?' is invoked, and assuming that a cargo record with special manifest origin indicator and crossing station information, when the system evaluates cargo attachment eligibility for special manifest processing, the desired outcome is that the cargo attachment is skipped if special manifest origin is true and the crossing station is woburn pq station.
💻 Technical Criteria
Given A cargo record with special manifest origin indicator and crossing station information
When The system evaluates cargo attachment eligibility for special manifest processing
Then The cargo attachment is skipped if special manifest origin is true and the crossing station is Woburn PQ station
R-GCX003-cbl-01813 Is Special Manifest Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Special Manifest Required?' is invoked, and assuming that a cargo record with special manifest special indicator and crossing station information, when the system evaluates cargo attachment eligibility for special manifest processing, the desired outcome is that the cargo attachment is skipped if special manifest special is true and the crossing station is not woburn pq station.
💻 Technical Criteria
Given A cargo record with special manifest special indicator and crossing station information
When The system evaluates cargo attachment eligibility for special manifest processing
Then The cargo attachment is skipped if special manifest special is true and the crossing station is not Woburn PQ station
R-GCX003-cbl-01814 Process IT Bond for Attachment
Process Rules
📊 Business Logic Narrative
When the process 'Process IT Bond for Attachment' is invoked, and assuming that a cargo record with export bond type, us-mexico country codes, and station information, when the system evaluates cargo attachment eligibility for export processing, the desired outcome is that the cargo attachment is skipped if the bond type is export and country codes are 'usmx' and the station is not laredo tx station.
💻 Technical Criteria
Given A cargo record with export bond type, US-Mexico country codes, and station information
When The system evaluates cargo attachment eligibility for export processing
Then The cargo attachment is skipped if the bond type is export and country codes are 'USMX' and the station is not Laredo TX station
R-GCX003-cbl-01815 Process as AMS 7512 Bond Type
Process Rules
📊 Business Logic Narrative
When the process 'Process as AMS 7512 Bond Type' is invoked, and assuming that a cargo record with bond type of 'te', 'tr', or 'mt' and bond number information, when the system formats the cargo information for reporting, the desired outcome is that the bond information is formatted as 'ams 7512' followed by the bond type code and bond number.
💻 Technical Criteria
Given A cargo record with bond type of 'TE', 'TR', or 'MT' and bond number information
When The system formats the cargo information for reporting
Then The bond information is formatted as 'AMS 7512' followed by the bond type code and bond number
R-GCX003-cbl-01816 Process as Standard AMS Bond Type
Process Rules
📊 Business Logic Narrative
When the process 'Process as Standard AMS Bond Type' is invoked, and assuming that a cargo record with bond type of 'it' or 'ie' and bond number information, when the system formats the cargo information for reporting, the desired outcome is that the bond information is formatted as 'ams' followed by the bond type code and bond number.
💻 Technical Criteria
Given A cargo record with bond type of 'IT' or 'IE' and bond number information
When The system formats the cargo information for reporting
Then The bond information is formatted as 'AMS' followed by the bond type code and bond number
R-GCX003-cbl-00109 Container Found in Inquiry System?
Decision Rules
📊 Business Logic Narrative
When the process 'Container Found in Inquiry System?' is invoked, and assuming that a container processing request is being handled, when the system checks for container existence in inquiry system, the desired outcome is that if container is found in inquiry system, proceed to retrieve from inquiry database, otherwise check primary system.
💻 Technical Criteria
Given A container processing request is being handled
When The system checks for container existence in inquiry system
Then If container is found in inquiry system, proceed to retrieve from inquiry database, otherwise check primary system
R-GCX003-cbl-00110 Retrieve Container from Inquiry Database
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Container from Inquiry Database' is invoked, and assuming that container is confirmed to exist in inquiry system, when system attempts to retrieve container from inquiry database, the desired outcome is that container information is fetched from fwiqroot and fwiqbotl databases using container cross-reference.
💻 Technical Criteria
Given Container is confirmed to exist in inquiry system
When System attempts to retrieve container from inquiry database
Then Container information is fetched from FWIQROOT and FWIQBOTL databases using container cross-reference
R-GCX003-cbl-01253 Cross-Reference Entry Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cross-Reference Entry Found?' is invoked, and assuming that the system has retrieved data from inquiry bottom line database, when the first 8 characters of the inquiry bottom line are evaluated, the desired outcome is that if the first 8 characters equal 't/c xref', a cross-reference entry is found and container data is extracted, otherwise continue scanning for more entries.
💻 Technical Criteria
Given The system has retrieved data from inquiry bottom line database
When The first 8 characters of the inquiry bottom line are evaluated
Then If the first 8 characters equal 'T/C XREF', a cross-reference entry is found and container data is extracted, otherwise continue scanning for more entries
R-GCX003-cbl-01254 Extract Container ID from Cross-Reference
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Container ID from Cross-Reference' is invoked, and assuming that a valid cross-reference entry with 't/c xref' identifier is found, when the system extracts container information from the cross-reference entry, the desired outcome is that the container id is extracted from positions 28-39 of the inquiry bottom line.
💻 Technical Criteria
Given A valid cross-reference entry with 'T/C XREF' identifier is found
When The system extracts container information from the cross-reference entry
Then The container ID is extracted from positions 28-39 of the inquiry bottom line
R-GCX003-cbl-01257 Set Container Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Container Found Status' is invoked, and assuming that container cross-reference data has been successfully stored, when the system updates the container status, the desired outcome is that the container status is set to found and the container is marked as an inquiry container for subsequent processing.
💻 Technical Criteria
Given Container cross-reference data has been successfully stored
When The system updates the container status
Then The container status is set to found and the container is marked as an inquiry container for subsequent processing
R-GCX003-cbl-01551 Initialize Container Table and Counters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Container Table and Counters' is invoked, and assuming that container cross-reference scanning process is starting, when system begins processing inquiry bottom line records, the desired outcome is that container table is cleared, container counter is set to 1, and container cross-reference table is initialized to spaces.
💻 Technical Criteria
Given Container cross-reference scanning process is starting
When System begins processing inquiry bottom line records
Then Container table is cleared, container counter is set to 1, and container cross-reference table is initialized to spaces
R-GCX003-cbl-01552 Position to First FWIQBOTL Record
Process Rules
📊 Business Logic Narrative
When the process 'Position to First FWIQBOTL Record' is invoked, and assuming that container processing has been initialized, when system needs to start reading inquiry bottom line records, the desired outcome is that system positions to first fwiqbotl record with segment type 'fwiqbotl', clears key field, and sets function to gnp.
💻 Technical Criteria
Given Container processing has been initialized
When System needs to start reading inquiry bottom line records
Then System positions to first FWIQBOTL record with segment type 'FWIQBOTL', clears key field, and sets function to GNP
R-GCX003-cbl-01553 More FWIQBOTL Records Available?
Decision Rules
📊 Business Logic Narrative
When the process 'More FWIQBOTL Records Available?' is invoked, and assuming that system is processing inquiry bottom line records, when system checks for additional records to process, the desired outcome is that processing continues if status code is spaces and container counter is 30 or less, otherwise processing stops.
💻 Technical Criteria
Given System is processing inquiry bottom line records
When System checks for additional records to process
Then Processing continues if status code is spaces AND container counter is 30 or less, otherwise processing stops
R-GCX003-cbl-01555 Is Record Type 'T/C XREF'?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Record Type 'T/C XREF'?' is invoked, and assuming that an inquiry bottom line record has been retrieved, when system examines the record content, the desired outcome is that record is processed as container cross-reference if positions 1-8 contain 't/c xref', otherwise record is skipped.
💻 Technical Criteria
Given An inquiry bottom line record has been retrieved
When System examines the record content
Then Record is processed as container cross-reference if positions 1-8 contain 'T/C XREF', otherwise record is skipped
R-GCX003-cbl-01556 Extract Container ID from Position 28-39
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Container ID from Position 28-39' is invoked, and assuming that record is confirmed as container cross-reference type, when system processes the container information, the desired outcome is that container id is extracted from positions 28-39 of the inquiry bottom line record.
💻 Technical Criteria
Given Record is confirmed as container cross-reference type
When System processes the container information
Then Container ID is extracted from positions 28-39 of the inquiry bottom line record
R-GCX003-cbl-01562 Increment Container Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Container Counter' is invoked, and assuming that container cross-reference data has been stored, when system prepares for next container record, the desired outcome is that container counter is incremented by 1.
💻 Technical Criteria
Given Container cross-reference data has been stored
When System prepares for next container record
Then Container counter is incremented by 1
R-GCX003-cbl-01563 Container Counter > 30?
Policy Rules
📊 Business Logic Narrative
When the process 'Container Counter > 30?' is invoked, and assuming that container counter has been incremented, when system checks processing limits, the desired outcome is that processing stops if container counter exceeds 30, otherwise processing continues with next record.
💻 Technical Criteria
Given Container counter has been incremented
When System checks processing limits
Then Processing stops if container counter exceeds 30, otherwise processing continues with next record
R-GCX003-cbl-01564 Skip Non-Container Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Non-Container Record', assuming that record does not contain 't/c xref' in positions 1-8, when system processes the non-container record, the desired outcome is that record is skipped and system continues to next available record.
💻 Technical Criteria
EXCLUDING Record does not contain 'T/C XREF' in positions 1-8
When System processes the non-container record
Then Record is skipped and system continues to next available record
R-GCX003-cbl-01565 Any Containers Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Any Containers Found?' is invoked, and assuming that all available inquiry records have been processed, when system evaluates processing results, the desired outcome is that container processing is successful if first container id is not spaces or low-values, otherwise no containers are found.
💻 Technical Criteria
Given All available inquiry records have been processed
When System evaluates processing results
Then Container processing is successful if first container ID is not spaces or low-values, otherwise no containers are found
R-GCX003-cbl-01566 Set First Container as Current Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Set First Container as Current Equipment' is invoked, and assuming that at least one valid container cross-reference was found, when system initializes equipment processing, the desired outcome is that first container id from the cross-reference table is set as current equipment id.
💻 Technical Criteria
Given At least one valid container cross-reference was found
When System initializes equipment processing
Then First container ID from the cross-reference table is set as current equipment ID
R-GCX003-cbl-01567 Mark Container Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Mark Container Found Status' is invoked, and assuming that first container has been set as current equipment, when system updates processing status, the desired outcome is that container found status and container iq found status are both set to true.
💻 Technical Criteria
Given First container has been set as current equipment
When System updates processing status
Then Container found status and container IQ found status are both set to true
R-GCX003-cbl-01568 Mark No Containers Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Mark No Containers Found Status' is invoked, and assuming that no valid container cross-references were found, when system updates processing status, the desired outcome is that container not found status and container iq not found status are both set to true.
💻 Technical Criteria
Given No valid container cross-references were found
When System updates processing status
Then Container not found status and container IQ not found status are both set to true
R-GCX003-cbl-01680 Is Record Type 'T/C XREF'?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Record Type 'T/C XREF'?' is invoked, and assuming that an inquiry bottom line record is being processed, when the system checks the record type in the first 8 positions of the inquiry record, the desired outcome is that the system should identify if the record contains container cross-reference data by matching 't/c xref' pattern.
💻 Technical Criteria
Given An inquiry bottom line record is being processed
When The system checks the record type in the first 8 positions of the inquiry record
Then The system should identify if the record contains container cross-reference data by matching 'T/C XREF' pattern
R-GCX003-cbl-01681 Extract Container ID from Position 28-39
Process Rules
📊 Business Logic Narrative
When the process 'Extract Container ID from Position 28-39' is invoked, and assuming that a valid 't/c xref' record is being processed, when the system extracts data from positions 28 through 39 of the inquiry record, the desired outcome is that the system should capture the 12-character container id and store it in the container table.
💻 Technical Criteria
Given A valid 'T/C XREF' record is being processed
When The system extracts data from positions 28 through 39 of the inquiry record
Then The system should capture the 12-character container ID and store it in the container table
R-GCX003-cbl-01687 Increment Container Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Container Counter' is invoked, and assuming that a container cross-reference record has been successfully processed and stored, when the system completes the storage of container cross-reference data, the desired outcome is that the system should increment the container counter by one to prepare for processing the next container record.
💻 Technical Criteria
Given A container cross-reference record has been successfully processed and stored
When The system completes the storage of container cross-reference data
Then The system should increment the container counter by one to prepare for processing the next container record
R-GCX003-cbl-01817 Check Record Type at Position 1-8
Validation Rules
📊 Business Logic Narrative
When the process 'Check Record Type at Position 1-8' is invoked, and assuming that a database record from the freight inquiry system is being processed, when the system reads positions 1-8 of the record, the desired outcome is that if the record type equals 't/c xref' then process as container cross-reference record, otherwise skip to next record.
💻 Technical Criteria
Given A database record from the freight inquiry system is being processed
When The system reads positions 1-8 of the record
Then If the record type equals 'T/C XREF' then process as container cross-reference record, otherwise skip to next record
R-GCX003-cbl-01818 Extract Container ID from Position 28-39
Process Rules
📊 Business Logic Narrative
When the process 'Extract Container ID from Position 28-39' is invoked, and assuming that a valid container cross-reference record has been identified, when the system processes the record for container information, the desired outcome is that extract the container id from positions 28-39 of the record and store it in the container work table.
💻 Technical Criteria
Given A valid container cross-reference record has been identified
When The system processes the record for container information
Then Extract the container ID from positions 28-39 of the record and store it in the container work table
R-GCX003-cbl-01821 Increment Container Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Container Counter' is invoked, and assuming that a container has been successfully processed and stored, when the system updates the container tracking counter, the desired outcome is that increment the container counter by 1 and ensure it does not exceed the maximum limit of 30 containers.
💻 Technical Criteria
Given A container has been successfully processed and stored
When The system updates the container tracking counter
Then Increment the container counter by 1 and ensure it does not exceed the maximum limit of 30 containers
R-GCX003-cbl-01822 Mark Container as Invalid
Decision Rules
📊 Business Logic Narrative
When the process 'Mark Container as Invalid' is invoked, and assuming that container processing has been completed for all available records, when the system evaluates the container processing results, the desired outcome is that if no valid containers were found or the first container id is spaces or low-values, then set container status to not found, otherwise set container status to found and mark as iq container type.
💻 Technical Criteria
Given Container processing has been completed for all available records
When The system evaluates the container processing results
Then If no valid containers were found or the first container ID is spaces or low-values, then set container status to not found, otherwise set container status to found and mark as IQ container type
R-GCX003-cbl-01273 Access Inquiry System FWCIROOT
Action Rules
📊 Business Logic Narrative
When the process 'Access Inquiry System FWCIROOT' is invoked, and assuming that equipment id is available for lookup, when system accesses fwciroot with equipment car id, the desired outcome is that retrieve container inquiry root record or return not found status.
💻 Technical Criteria
Given Equipment ID is available for lookup
When System accesses FWCIROOT with equipment car ID
Then Retrieve container inquiry root record or return not found status
R-GCX003-cbl-00131 Initialize Cargo Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Cargo Search Parameters' is invoked, and assuming that equipment processing is starting for a specific equipment piece, when the system initializes cargo search parameters, the desired outcome is that all cargo record structures are cleared and ready for new cargo data retrieval.
💻 Technical Criteria
Given Equipment processing is starting for a specific equipment piece
When The system initializes cargo search parameters
Then All cargo record structures are cleared and ready for new cargo data retrieval
R-GCX003-cbl-00133 Set Equipment ID for Search
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment ID for Search' is invoked, and assuming that equipment id is available from current equipment processing, when the system prepares cargo search criteria, the desired outcome is that equipment id is assigned to the cargo search index for precise cargo matching.
💻 Technical Criteria
Given Equipment ID is available from current equipment processing
When The system prepares cargo search criteria
Then Equipment ID is assigned to the cargo search index for precise cargo matching
R-GCX003-cbl-00135 Execute First Cargo Record Query
Action Rules
📊 Business Logic Narrative
When the process 'Execute First Cargo Record Query' is invoked, and assuming that cargo database index key is properly constructed, when the system executes the first cargo record query, the desired outcome is that database query is performed using the cargo index key and cargo record status is returned.
💻 Technical Criteria
Given Cargo database index key is properly constructed
When The system executes the first cargo record query
Then Database query is performed using the cargo index key and cargo record status is returned
R-GCX003-cbl-00136 Cargo Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Record Found?' is invoked, and assuming that cargo record query has been executed, when the system evaluates the query results, the desired outcome is that cargo found status is determined based on database query return status.
💻 Technical Criteria
Given Cargo record query has been executed
When The system evaluates the query results
Then Cargo found status is determined based on database query return status
R-GCX003-cbl-00139 Set Cargo Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Found Status' is invoked, and assuming that cargo record has been retrieved and validated as belonging to current equipment, when the system sets cargo processing status, the desired outcome is that cargo found indicator is set to true and cargo data is available for processing.
💻 Technical Criteria
Given Cargo record has been retrieved and validated as belonging to current equipment
When The system sets cargo processing status
Then Cargo found indicator is set to true and cargo data is available for processing
R-GCX003-cbl-00140 Set No Cargo Found Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set No Cargo Found Status', assuming that cargo record query returned no results or retrieved cargo does not match current equipment, when the system sets cargo processing status, the desired outcome is that no cargo found indicator is set to true indicating no valid cargo exists for this equipment.
💻 Technical Criteria
EXCLUDING Cargo record query returned no results OR retrieved cargo does not match current equipment
When The system sets cargo processing status
Then No cargo found indicator is set to true indicating no valid cargo exists for this equipment
R-GCX003-cbl-00141 Get Next Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Cargo Record' is invoked, and assuming that initial cargo record has been processed and more cargo records may exist, when the system attempts to retrieve next cargo record, the desired outcome is that database query is executed to get the next cargo record using the same search criteria.
💻 Technical Criteria
Given Initial cargo record has been processed and more cargo records may exist
When The system attempts to retrieve next cargo record
Then Database query is executed to get the next cargo record using the same search criteria
R-GCX003-cbl-00142 More Cargo Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More Cargo Records?' is invoked, and assuming that next cargo record query has been executed, when the system evaluates query results for additional records, the desired outcome is that more cargo records status is determined based on successful retrieval of next cargo record.
💻 Technical Criteria
Given Next cargo record query has been executed
When The system evaluates query results for additional records
Then More cargo records status is determined based on successful retrieval of next cargo record
R-GCX003-cbl-00146 Set No More Cargo Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set No More Cargo Status', assuming that no more cargo records are available or next cargo record does not match current equipment, when the system completes cargo record processing, the desired outcome is that no more cargo indicator is set to true indicating all cargo records for this equipment have been processed.
💻 Technical Criteria
EXCLUDING No more cargo records are available OR next cargo record does not match current equipment
When The system completes cargo record processing
Then No more cargo indicator is set to true indicating all cargo records for this equipment have been processed
R-GCX003-cbl-00147 Return Cargo Record Data
Process Rules
📊 Business Logic Narrative
When the process 'Return Cargo Record Data' is invoked, and assuming that cargo record retrieval and validation process is complete, when the system returns cargo data to equipment processing, the desired outcome is that cargo record data and cargo found status are made available for subsequent equipment processing steps.
💻 Technical Criteria
Given Cargo record retrieval and validation process is complete
When The system returns cargo data to equipment processing
Then Cargo record data and cargo found status are made available for subsequent equipment processing steps
R-GCX003-cbl-00148 Is Request Action SEND?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Request Action SEND?', assuming that a cargo attachment process is initiated, when the request action is not send, the desired outcome is that skip the cargo attachment process and exit.
💻 Technical Criteria
EXCLUDING A cargo attachment process is initiated
When The request action is not SEND
Then Skip the cargo attachment process and exit
R-GCX003-cbl-00149 Are There Processing Errors?
Decision Rules
📊 Business Logic Narrative
When the process 'Are There Processing Errors?' is invoked, and assuming that a send request is being processed for cargo attachment, when there are processing errors present, the desired outcome is that skip the cargo attachment process and exit.
💻 Technical Criteria
Given A SEND request is being processed for cargo attachment
When There are processing errors present
Then Skip the cargo attachment process and exit
R-GCX003-cbl-00150 Is Spawn Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Spawn Required?' is invoked, and assuming that a send request with no processing errors is being processed, when spawn processing is required, the desired outcome is that skip the cargo attachment process and exit.
💻 Technical Criteria
Given A SEND request with no processing errors is being processed
When Spawn processing is required
Then Skip the cargo attachment process and exit
R-GCX003-cbl-00151 Is Cargo Empty Residue?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Empty Residue?' is invoked, and assuming that a send request with no errors or spawn requirements is being processed, when the cargo is classified as empty residue, the desired outcome is that skip the cargo attachment process and exit.
💻 Technical Criteria
Given A SEND request with no errors or spawn requirements is being processed
When The cargo is classified as empty residue
Then Skip the cargo attachment process and exit
R-GCX003-cbl-00152 IT Bond - Immediate Transport?
Decision Rules
📊 Business Logic Narrative
When the process 'IT Bond - Immediate Transport?' is invoked, and assuming that a cargo record is being evaluated for attachment to train manifest, when the cargo has immediate transport bond type (it bond), the desired outcome is that skip cargo attachment and add to special processing queue.
💻 Technical Criteria
Given A cargo record is being evaluated for attachment to train manifest
When The cargo has immediate transport bond type (IT bond)
Then Skip cargo attachment and add to special processing queue
R-GCX003-cbl-00153 TR Created for IT Bond?
Decision Rules
📊 Business Logic Narrative
When the process 'TR Created for IT Bond?' is invoked, and assuming that a cargo record without immediate transport bond is being evaluated, when the cargo has tr bond already created for it processing, the desired outcome is that skip cargo attachment and add to special processing queue.
💻 Technical Criteria
Given A cargo record without immediate transport bond is being evaluated
When The cargo has TR bond already created for IT processing
Then Skip cargo attachment and add to special processing queue
R-GCX003-cbl-00154 US-Canada-US Movement with Release Status?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'US-Canada-US Movement with Release Status?', assuming that a cargo record without it bond or existing tr bond is being evaluated, when the cargo is us-canada-us movement type and tr bond is not created for it and cargo has release status, the desired outcome is that skip cargo attachment and add to special processing queue.
💻 Technical Criteria
EXCLUDING A cargo record without IT bond or existing TR bond is being evaluated
When The cargo is US-Canada-US movement type AND TR bond is not created for IT AND cargo has release status
Then Skip cargo attachment and add to special processing queue
R-GCX003-cbl-00155 Default Bond with Release Status?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Default Bond with Release Status?', assuming that a cargo record that doesn't meet previous exclusion criteria is being evaluated, when the cargo has default bond type and tr bond is not created for it and cargo has release status, the desired outcome is that skip cargo attachment and add to special processing queue.
💻 Technical Criteria
EXCLUDING A cargo record that doesn't meet previous exclusion criteria is being evaluated
When The cargo has default bond type AND TR bond is not created for IT AND cargo has release status
Then Skip cargo attachment and add to special processing queue
R-GCX003-cbl-00156 Empty Equipment Bond?
Decision Rules
📊 Business Logic Narrative
When the process 'Empty Equipment Bond?' is invoked, and assuming that a cargo record that doesn't meet previous exclusion criteria is being evaluated, when the cargo is classified as empty equipment bond, the desired outcome is that skip cargo attachment and add to special processing queue.
💻 Technical Criteria
Given A cargo record that doesn't meet previous exclusion criteria is being evaluated
When The cargo is classified as empty equipment bond
Then Skip cargo attachment and add to special processing queue
R-GCX003-cbl-00157 Special Manifest Original at Woburn-PQ?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Manifest Original at Woburn-PQ?' is invoked, and assuming that a cargo record that doesn't meet previous exclusion criteria is being evaluated, when the cargo has special manifest original designation and the crossing port is woburn-pq station, the desired outcome is that skip cargo attachment and add to special processing queue.
💻 Technical Criteria
Given A cargo record that doesn't meet previous exclusion criteria is being evaluated
When The cargo has special manifest original designation AND the crossing port is Woburn-PQ station
Then Skip cargo attachment and add to special processing queue
R-GCX003-cbl-00158 Special Manifest Special 'Not Woburn-PQ'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Special Manifest Special 'Not Woburn-PQ'?', assuming that a cargo record that doesn't meet previous exclusion criteria is being evaluated, when the cargo has special manifest special designation and the crossing port is not woburn-pq station, the desired outcome is that skip cargo attachment and add to special processing queue.
💻 Technical Criteria
EXCLUDING A cargo record that doesn't meet previous exclusion criteria is being evaluated
When The cargo has special manifest special designation AND the crossing port is NOT Woburn-PQ station
Then Skip cargo attachment and add to special processing queue
R-GCX003-cbl-00159 Export Bond US-Mexico 'Not Laredo'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Export Bond US-Mexico 'Not Laredo'?', assuming that a cargo record that doesn't meet previous exclusion criteria is being evaluated, when the cargo has export bond type and origin-destination country codes are us-mexico and the crossing port is not laredo-tx station, the desired outcome is that skip cargo attachment and add to special processing queue.
💻 Technical Criteria
EXCLUDING A cargo record that doesn't meet previous exclusion criteria is being evaluated
When The cargo has export bond type AND origin-destination country codes are US-Mexico AND the crossing port is NOT Laredo-TX station
Then Skip cargo attachment and add to special processing queue
R-GCX003-cbl-00160 Attach Cargo to Train for Customs Report
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Attach Cargo to Train for Customs Report', assuming that a cargo record has been evaluated against all exclusion criteria, when the cargo does not meet any of the exclusion criteria, the desired outcome is that attach the cargo to the train manifest for customs reporting.
💻 Technical Criteria
EXCLUDING A cargo record has been evaluated against all exclusion criteria
When The cargo does not meet any of the exclusion criteria
Then Attach the cargo to the train manifest for customs reporting
R-GCX003-cbl-01288 Is Cargo Immediate Transport Bond?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Immediate Transport Bond?' is invoked, and assuming that a cargo record exists with bond type classification, when the cargo bond type is classified as immediate transport (m1201), the desired outcome is that skip cargo attachment and mark for special processing.
💻 Technical Criteria
Given A cargo record exists with bond type classification
When The cargo bond type is classified as immediate transport (M1201)
Then Skip cargo attachment and mark for special processing
R-GCX003-cbl-01289 Is TR Bond Created for IT?
Decision Rules
📊 Business Logic Narrative
When the process 'Is TR Bond Created for IT?' is invoked, and assuming that a cargo record with tr bond status indicator, when the tr created for it flag equals 'y', the desired outcome is that skip cargo attachment and mark for special processing.
💻 Technical Criteria
Given A cargo record with TR bond status indicator
When The TR created for IT flag equals 'Y'
Then Skip cargo attachment and mark for special processing
R-GCX003-cbl-01290 Is Bond Type US-CAN-US? AND Is TR Created for IT Empty? AND Is Cargo Status Release?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Bond Type US-CAN-US? AND Is TR Created for IT Empty? AND Is Cargo Status Release?' is invoked, and assuming that a cargo record with us-canada-us bond type, empty tr created for it status, and cargo status information, when the bond type is us-can-us and tr created for it is empty and cargo short description equals release status, the desired outcome is that skip cargo attachment and mark for special processing.
💻 Technical Criteria
Given A cargo record with US-Canada-US bond type, empty TR created for IT status, and cargo status information
When The bond type is US-CAN-US AND TR created for IT is empty AND cargo short description equals release status
Then Skip cargo attachment and mark for special processing
R-GCX003-cbl-01291 Is Bond Type Default? AND Is TR Created for IT Empty? AND Is Cargo Status Release?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Bond Type Default? AND Is TR Created for IT Empty? AND Is Cargo Status Release?' is invoked, and assuming that a cargo record with default bond type, empty tr created for it status, and cargo status information, when the bond type is default (m1109) and tr created for it is empty and cargo short description equals release status, the desired outcome is that skip cargo attachment and mark for special processing.
💻 Technical Criteria
Given A cargo record with default bond type, empty TR created for IT status, and cargo status information
When The bond type is default (M1109) AND TR created for IT is empty AND cargo short description equals release status
Then Skip cargo attachment and mark for special processing
R-GCX003-cbl-01292 Is Bond Type Empty Equipment?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Bond Type Empty Equipment?' is invoked, and assuming that a cargo record with bond type classification, when the cargo bond type is classified as empty equipment (m1109), the desired outcome is that skip cargo attachment and mark for special processing.
💻 Technical Criteria
Given A cargo record with bond type classification
When The cargo bond type is classified as empty equipment (M1109)
Then Skip cargo attachment and mark for special processing
R-GCX003-cbl-01293 Is Special Manifest Original? AND Is Station Woburn PQ?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Special Manifest Original? AND Is Station Woburn PQ?' is invoked, and assuming that a cargo record with special manifest status and current station information, when the cargo has special manifest original status and the current station is woburn pq, the desired outcome is that skip cargo attachment and mark for special processing.
💻 Technical Criteria
Given A cargo record with special manifest status and current station information
When The cargo has special manifest original status AND the current station is Woburn PQ
Then Skip cargo attachment and mark for special processing
R-GCX003-cbl-01294 Is Special Manifest Special? AND Is Station NOT Woburn PQ?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Special Manifest Special? AND Is Station NOT Woburn PQ?', assuming that a cargo record with special manifest status and current station information, when the cargo has special manifest special status and the current station is not woburn pq, the desired outcome is that skip cargo attachment and mark for special processing.
💻 Technical Criteria
EXCLUDING A cargo record with special manifest status and current station information
When The cargo has special manifest special status AND the current station is NOT Woburn PQ
Then Skip cargo attachment and mark for special processing
R-GCX003-cbl-01295 Is Bond Type Export? AND Is Origin-Destination US-MX? AND Is Station NOT Laredo TX?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Bond Type Export? AND Is Origin-Destination US-MX? AND Is Station NOT Laredo TX?', assuming that a cargo record with export bond type, origin-destination country codes, and current station information, when the bond type is export (m1109) and origin-destination codes equal 'usmx' and the current station is not laredo tx, the desired outcome is that skip cargo attachment and mark for special processing.
💻 Technical Criteria
EXCLUDING A cargo record with export bond type, origin-destination country codes, and current station information
When The bond type is export (M1109) AND origin-destination codes equal 'USMX' AND the current station is NOT Laredo TX
Then Skip cargo attachment and mark for special processing
R-GCX003-cbl-01296 Attach Cargo to Train
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Attach Cargo to Train', assuming that a cargo record that has been evaluated against all skip criteria, when the cargo does not meet any of the skip conditions for special processing, the desired outcome is that attach the cargo to the train for standard manifest processing.
💻 Technical Criteria
EXCLUDING A cargo record that has been evaluated against all skip criteria
When The cargo does not meet any of the skip conditions for special processing
Then Attach the cargo to the train for standard manifest processing
R-GCX003-cbl-00161 Initialize Report Line
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Report Line' is invoked, and assuming that a new equipment item needs to be processed for reporting, when the system begins building the equipment detail line, the desired outcome is that the report line is cleared and initialized with default values.
💻 Technical Criteria
Given A new equipment item needs to be processed for reporting
When The system begins building the equipment detail line
Then The report line is cleared and initialized with default values
R-GCX003-cbl-00163 Process Container Information
Process Rules
📊 Business Logic Narrative
When the process 'Process Container Information' is invoked, and assuming that equipment is classified as a container, when the system processes container information, the desired outcome is that container id is set from equipment id, load/empty indicator is set from shipment root, and container flag is set for validation.
💻 Technical Criteria
Given Equipment is classified as a container
When The system processes container information
Then Container ID is set from equipment ID, load/empty indicator is set from shipment root, and container flag is set for validation
R-GCX003-cbl-00164 Process Car Information
Process Rules
📊 Business Logic Narrative
When the process 'Process Car Information' is invoked, and assuming that equipment is classified as a car, when the system processes car information, the desired outcome is that car id is set from request equipment id, load/empty indicator is set from request, car flag is set for validation, and equipment id is formatted for new report.
💻 Technical Criteria
Given Equipment is classified as a car
When The system processes car information
Then Car ID is set from request equipment ID, load/empty indicator is set from request, car flag is set for validation, and equipment ID is formatted for new report
R-GCX003-cbl-00165 Call Equipment Type Validation
Action Rules
📊 Business Logic Narrative
When the process 'Call Equipment Type Validation' is invoked, and assuming that equipment information has been formatted with car or container details, when the system calls equipment type validation service, the desired outcome is that equipment type code is validated and equipment details are retrieved from the equipment type master.
💻 Technical Criteria
Given Equipment information has been formatted with car or container details
When The system calls equipment type validation service
Then Equipment type code is validated and equipment details are retrieved from the equipment type master
R-GCX003-cbl-00166 Equipment Type Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Equipment Type Valid?', assuming that equipment type validation has been performed, when the equipment type validation call is not successful, the desired outcome is that equipment error flag is set and appropriate error message is added to the report.
💻 Technical Criteria
EXCLUDING Equipment type validation has been performed
When The equipment type validation call is not successful
Then Equipment error flag is set and appropriate error message is added to the report
R-GCX003-cbl-00167 Set Equipment Error Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment Error Flag' is invoked, and assuming that equipment type validation has failed, when the system processes the validation failure, the desired outcome is that equipment error flag is set to indicate processing should not continue.
💻 Technical Criteria
Given Equipment type validation has failed
When The system processes the validation failure
Then Equipment error flag is set to indicate processing should not continue
R-GCX003-cbl-00168 Add Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Add Error Message' is invoked, and assuming that equipment has failed validation and error flag is set, when the system adds error messages to the report, the desired outcome is that message 35 is added for container validation failure or message 36 for car validation failure.
💻 Technical Criteria
Given Equipment has failed validation and error flag is set
When The system adds error messages to the report
Then Message 35 is added for container validation failure or message 36 for car validation failure
R-GCX003-cbl-00171 Retrieve Equipment Type Description
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Equipment Type Description' is invoked, and assuming that equipment type code has been validated successfully, when the system retrieves equipment type description from the vehicle information table, the desired outcome is that equipment type description is retrieved and stored for report display.
💻 Technical Criteria
Given Equipment type code has been validated successfully
When The system retrieves equipment type description from the vehicle information table
Then Equipment type description is retrieved and stored for report display
R-GCX003-cbl-00172 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that equipment information has been processed, when the system checks for associated cargo records, the desired outcome is that processing branches to cargo handling if cargo found, otherwise proceeds to information field formatting.
💻 Technical Criteria
Given Equipment information has been processed
When The system checks for associated cargo records
Then Processing branches to cargo handling if cargo found, otherwise proceeds to information field formatting
R-GCX003-cbl-00174 Equipment Category?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Category?' is invoked, and assuming that equipment information has been formatted, when the system categorizes equipment for counting purposes, the desired outcome is that equipment is classified as locomotive, container, or car based on equipment type code.
💻 Technical Criteria
Given Equipment information has been formatted
When The system categorizes equipment for counting purposes
Then Equipment is classified as locomotive, container, or car based on equipment type code
R-GCX003-cbl-00175 Count Locomotives
Computation Rules
📊 Business Logic Narrative
When the process 'Count Locomotives' is invoked, and assuming that equipment type code is 'lo' or 'et', when the system processes locomotive equipment, the desired outcome is that total locomotive count is incremented by 1.
💻 Technical Criteria
Given Equipment type code is 'LO' or 'ET'
When The system processes locomotive equipment
Then Total locomotive count is incremented by 1
R-GCX003-cbl-00176 Count Containers by Load/Empty
Computation Rules
📊 Business Logic Narrative
When the process 'Count Containers by Load/Empty' is invoked, and assuming that equipment type code is 'cn' (container), when the system processes container load status, the desired outcome is that total loaded container count is incremented if load indicator is 'l', otherwise total empty container count is incremented.
💻 Technical Criteria
Given Equipment type code is 'CN' (container)
When The system processes container load status
Then Total loaded container count is incremented if load indicator is 'L', otherwise total empty container count is incremented
R-GCX003-cbl-00177 Count Cars by Load/Empty
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Count Cars by Load/Empty', assuming that equipment type code is not locomotive or container, when the system processes car load status, the desired outcome is that total loaded car count is incremented if load indicator is 'l', otherwise total empty car count is incremented.
💻 Technical Criteria
EXCLUDING Equipment type code is not locomotive or container
When The system processes car load status
Then Total loaded car count is incremented if load indicator is 'L', otherwise total empty car count is incremented
R-GCX003-cbl-00178 Special Equipment?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Equipment?' is invoked, and assuming that equipment has been categorized and counted, when the system checks for special equipment characteristics, the desired outcome is that equipment is identified as sbu van, conveying car, or regular equipment for appropriate information formatting.
💻 Technical Criteria
Given Equipment has been categorized and counted
When The system checks for special equipment characteristics
Then Equipment is identified as SBU van, conveying car, or regular equipment for appropriate information formatting
R-GCX003-cbl-00179 Process International Service Unit
Process Rules
📊 Business Logic Narrative
When the process 'Process International Service Unit' is invoked, and assuming that equipment is identified as sbu van unit, when the load/empty indicator is 'e' (empty), the desired outcome is that information field is set to 'international service' and processing exits.
💻 Technical Criteria
Given Equipment is identified as SBU van unit
When The load/empty indicator is 'E' (empty)
Then Information field is set to 'INTERNATIONAL SERVICE' and processing exits
R-GCX003-cbl-00180 Process Conveying Flat Car
Process Rules
📊 Business Logic Narrative
When the process 'Process Conveying Flat Car' is invoked, and assuming that equipment is identified as conveying car and no cargo found, when the system processes conveying car information, the desired outcome is that information field is set to 'conveying flat car' and processing exits.
💻 Technical Criteria
Given Equipment is identified as conveying car and no cargo found
When The system processes conveying car information
Then Information field is set to 'CONVEYING FLAT CAR' and processing exits
R-GCX003-cbl-00181 Cargo Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Status?' is invoked, and assuming that equipment and cargo information has been processed, when the system determines cargo processing requirements, the desired outcome is that cargo is classified as empty equipment, loaded with bond information, or regular cargo for information field formatting.
💻 Technical Criteria
Given Equipment and cargo information has been processed
When The system determines cargo processing requirements
Then Cargo is classified as empty equipment, loaded with bond information, or regular cargo for information field formatting
R-GCX003-cbl-00182 Process Empty Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Process Empty Equipment' is invoked, and assuming that cargo is classified as empty equipment or empty residue, when the system processes empty equipment status, the desired outcome is that container or car counts are adjusted from loaded to empty, information field is set to 'empty', and load/empty indicator is set to 'e'.
💻 Technical Criteria
Given Cargo is classified as empty equipment or empty residue
When The system processes empty equipment status
Then Container or car counts are adjusted from loaded to empty, information field is set to 'EMPTY', and load/empty indicator is set to 'E'
R-GCX003-cbl-00183 Format AMS Bond Display
Process Rules
📊 Business Logic Narrative
When the process 'Format AMS Bond Display' is invoked, and assuming that cargo has bond information that needs display formatting, when the system formats bond information for display, the desired outcome is that bond information is formatted as 'ppr 7512 15 us-ca-us' for type 15, 'ams [type] [number]' for it/ie types, or 'ams 7512 [type] [number]' for te/tr/mt types.
💻 Technical Criteria
Given Cargo has bond information that needs display formatting
When The system formats bond information for display
Then Bond information is formatted as 'PPR 7512 15 US-CA-US' for type 15, 'AMS [type] [number]' for IT/IE types, or 'AMS 7512 [type] [number]' for TE/TR/MT types
R-GCX003-cbl-00184 Process Segment 07 Data
Process Rules
📊 Business Logic Narrative
When the process 'Process Segment 07 Data' is invoked, and assuming that cargo information exists and segment 07 data is available, when the system processes segment 07 cargo descriptions, the desired outcome is that cargo descriptions are extracted from segment 07 data, formatted for display, and multiple descriptions create separate report lines.
💻 Technical Criteria
Given Cargo information exists and segment 07 data is available
When The system processes segment 07 cargo descriptions
Then Cargo descriptions are extracted from segment 07 data, formatted for display, and multiple descriptions create separate report lines
R-GCX003-cbl-00185 Add Equipment Line to Report
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Equipment Line to Report', assuming that equipment information has been completely formatted, when the equipment line is not blank and not marked for special processing, the desired outcome is that equipment count is incremented, report line is added to email text, and report index is advanced.
💻 Technical Criteria
EXCLUDING Equipment information has been completely formatted
When The equipment line is not blank and not marked for special processing
Then Equipment count is incremented, report line is added to email text, and report index is advanced
R-GCX003-cbl-01297 Equipment Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Type?' is invoked, and assuming that an equipment item is being processed, when the system evaluates equipment characteristics, the desired outcome is that equipment is classified as either container or car type for appropriate processing.
💻 Technical Criteria
Given An equipment item is being processed
When The system evaluates equipment characteristics
Then Equipment is classified as either container or car type for appropriate processing
R-GCX003-cbl-01298 Process Container Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Process Container Equipment' is invoked, and assuming that equipment is classified as a container, when container processing is initiated, the desired outcome is that container id is set from equipment id, load/empty indicator is set from shipment root, and container flag is activated with trailer flag if applicable.
💻 Technical Criteria
Given Equipment is classified as a container
When Container processing is initiated
Then Container ID is set from equipment ID, load/empty indicator is set from shipment root, and container flag is activated with trailer flag if applicable
R-GCX003-cbl-01299 Process Car Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Process Car Equipment' is invoked, and assuming that equipment is classified as a car, when car processing is initiated, the desired outcome is that car id is set from request equipment id, load/empty indicator is set from request, car flag is activated, and equipment id components are parsed.
💻 Technical Criteria
Given Equipment is classified as a car
When Car processing is initiated
Then Car ID is set from request equipment ID, load/empty indicator is set from request, car flag is activated, and equipment ID components are parsed
R-GCX003-cbl-01300 Call Equipment Type Validation Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Equipment Type Validation Service' is invoked, and assuming that equipment id and type flags are set, when equipment type validation is required, the desired outcome is that gcccartp service is called with equipment parameters to validate and retrieve equipment type information.
💻 Technical Criteria
Given Equipment ID and type flags are set
When Equipment type validation is required
Then GCCCARTP service is called with equipment parameters to validate and retrieve equipment type information
R-GCX003-cbl-01301 Generate Equipment Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Equipment Error Message' is invoked, and assuming that equipment type validation service call fails, when validation failure is detected, the desired outcome is that error message 35 is generated for container validation failure or error message 36 for car validation failure, equipment error flag is set, and processing continues to next equipment.
💻 Technical Criteria
Given Equipment type validation service call fails
When Validation failure is detected
Then Error message 35 is generated for container validation failure or error message 36 for car validation failure, equipment error flag is set, and processing continues to next equipment
R-GCX003-cbl-01302 Retrieve Equipment Type Description
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Equipment Type Description' is invoked, and assuming that equipment validation is successful, when equipment type information is needed, the desired outcome is that equipment car code is retrieved from validation service, station table is queried for equipment type description, and description is stored in report fields.
💻 Technical Criteria
Given Equipment validation is successful
When Equipment type information is needed
Then Equipment car code is retrieved from validation service, station table is queried for equipment type description, and description is stored in report fields
R-GCX003-cbl-01304 Count by Traffic Type - CPRS/CSXT/NS/HAUL
Computation Rules
📊 Business Logic Narrative
When the process 'Count by Traffic Type - CPRS/CSXT/NS/HAUL' is invoked, and assuming that equipment is classified as double stack container, when double stack counting service is called, the desired outcome is that container count is added to appropriate traffic type counter (cprs, csxt, ns, or haul) based on traffic classification.
💻 Technical Criteria
Given Equipment is classified as double stack container
When Double stack counting service is called
Then Container count is added to appropriate traffic type counter (CPRS, CSXT, NS, or HAUL) based on traffic classification
R-GCX003-cbl-01308 Equipment Category?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Category?' is invoked, and assuming that equipment type information is available, when equipment categorization is needed, the desired outcome is that equipment is classified as locomotive, container, or car based on car type code.
💻 Technical Criteria
Given Equipment type information is available
When Equipment categorization is needed
Then Equipment is classified as locomotive, container, or car based on car type code
R-GCX003-cbl-01309 Count Locomotives
Computation Rules
📊 Business Logic Narrative
When the process 'Count Locomotives' is invoked, and assuming that equipment car type is 'lo' or 'et', when equipment counting is performed, the desired outcome is that total locomotive count is incremented by 1.
💻 Technical Criteria
Given Equipment car type is 'LO' or 'ET'
When Equipment counting is performed
Then Total locomotive count is incremented by 1
R-GCX003-cbl-01310 Count Loaded/Empty Containers
Computation Rules
📊 Business Logic Narrative
When the process 'Count Loaded/Empty Containers' is invoked, and assuming that equipment car type is 'cn' (container), when container counting is performed, the desired outcome is that if load indicator is 'l' then loaded container count is incremented, otherwise if load indicator is 'e' then empty container count is incremented.
💻 Technical Criteria
Given Equipment car type is 'CN' (container)
When Container counting is performed
Then If load indicator is 'L' then loaded container count is incremented, otherwise if load indicator is 'E' then empty container count is incremented
R-GCX003-cbl-01311 Count Loaded/Empty Cars
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Count Loaded/Empty Cars', assuming that equipment car type is not locomotive or container, when car counting is performed, the desired outcome is that if load indicator is 'l' then loaded car count is incremented, otherwise if load indicator is 'e' then empty car count is incremented.
💻 Technical Criteria
EXCLUDING Equipment car type is not locomotive or container
When Car counting is performed
Then If load indicator is 'L' then loaded car count is incremented, otherwise if load indicator is 'E' then empty car count is incremented
R-GCX003-cbl-01312 Special Equipment Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Equipment Type?' is invoked, and assuming that equipment information is assembled, when special equipment evaluation is performed, the desired outcome is that equipment is classified as sbu van, conveying car, or regular equipment for appropriate processing.
💻 Technical Criteria
Given Equipment information is assembled
When Special equipment evaluation is performed
Then Equipment is classified as SBU van, conveying car, or regular equipment for appropriate processing
R-GCX003-cbl-01313 Process International Service Unit
Process Rules
📊 Business Logic Narrative
When the process 'Process International Service Unit' is invoked, and assuming that equipment is classified as sbu van unit, when load indicator is 'e' (empty), the desired outcome is that equipment description is set to 'international service' and processing is completed.
💻 Technical Criteria
Given Equipment is classified as SBU van unit
When Load indicator is 'E' (empty)
Then Equipment description is set to 'INTERNATIONAL SERVICE' and processing is completed
R-GCX003-cbl-01314 Process Conveying Flat Car
Process Rules
📊 Business Logic Narrative
When the process 'Process Conveying Flat Car' is invoked, and assuming that equipment is classified as conveying car, when conveying car processing is initiated, the desired outcome is that equipment description is set to 'conveying flat car' and load indicator is set to 'e'.
💻 Technical Criteria
Given Equipment is classified as conveying car
When Conveying car processing is initiated
Then Equipment description is set to 'CONVEYING FLAT CAR' and load indicator is set to 'E'
R-GCX003-cbl-01315 Set Equipment Load/Empty Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment Load/Empty Status' is invoked, and assuming that equipment processing is complete and cargo information is available, when final load status determination is needed, the desired outcome is that load indicator is set based on cargo presence, equipment type, and special conditions with appropriate status adjustments for empty residue and empty equipment cargo.
💻 Technical Criteria
Given Equipment processing is complete and cargo information is available
When Final load status determination is needed
Then Load indicator is set based on cargo presence, equipment type, and special conditions with appropriate status adjustments for empty residue and empty equipment cargo
R-GCX003-cbl-01591 Initialize Routing Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Routing Variables' is invoked, and assuming that equipment routing analysis is starting, when the system initializes routing variables, the desired outcome is that the route status is set to not found as the default state.
💻 Technical Criteria
Given Equipment routing analysis is starting
When The system initializes routing variables
Then The route status is set to not found as the default state
R-GCX003-cbl-01593 Validate Routing Entry Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Routing Entry Format' is invoked, and assuming that a routing entry exists in the routing information array, when the routing entry is spaces, low values, or empty, the desired outcome is that the routing validation loop is terminated and processing moves to the next step.
💻 Technical Criteria
Given A routing entry exists in the routing information array
When The routing entry is spaces, low values, or empty
Then The routing validation loop is terminated and processing moves to the next step
R-GCX003-cbl-01595 Set CSXT Routing Classification
Decision Rules
📊 Business Logic Narrative
When the process 'Set CSXT Routing Classification' is invoked, and assuming that routing shows first scac as csxt or ns, second scac as cprs, and junction as det, when the first scac is specifically csxt, the desired outcome is that the equipment empty indicator is set to 3 for csxt routing classification and route found flag is set to true.
💻 Technical Criteria
Given Routing shows first SCAC as CSXT or NS, second SCAC as CPRS, and junction as DET
When The first SCAC is specifically CSXT
Then The equipment empty indicator is set to 3 for CSXT routing classification and route found flag is set to true
R-GCX003-cbl-01596 Set NS Routing Classification
Decision Rules
📊 Business Logic Narrative
When the process 'Set NS Routing Classification' is invoked, and assuming that routing shows first scac as csxt or ns, second scac as cprs, and junction as det, when the first scac is specifically ns, the desired outcome is that the equipment empty indicator is set to 4 for ns routing classification and route found flag is set to true.
💻 Technical Criteria
Given Routing shows first SCAC as CSXT or NS, second SCAC as CPRS, and junction as DET
When The first SCAC is specifically NS
Then The equipment empty indicator is set to 4 for NS routing classification and route found flag is set to true
R-GCX003-cbl-01704 Set Route Type = 3 - CSXT to CPRS via DET
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Route Type = 3 - CSXT to CPRS via DET' is invoked, and assuming that a valid csxt to cprs via det routing pattern is identified, when the first scac code is csxt, the desired outcome is that route type is set to 3 and empty indicator is set to 3 to represent csxt to cprs via detroit routing.
💻 Technical Criteria
Given A valid CSXT to CPRS via DET routing pattern is identified
When The first SCAC code is CSXT
Then Route type is set to 3 and empty indicator is set to 3 to represent CSXT to CPRS via Detroit routing
R-GCX003-cbl-01705 Set Route Type = 4 - NS to CPRS via DET
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Route Type = 4 - NS to CPRS via DET' is invoked, and assuming that a valid ns to cprs via det routing pattern is identified, when the first scac code is ns, the desired outcome is that route type is set to 4 and empty indicator is set to 4 to represent ns to cprs via detroit routing.
💻 Technical Criteria
Given A valid NS to CPRS via DET routing pattern is identified
When The first SCAC code is NS
Then Route type is set to 4 and empty indicator is set to 4 to represent NS to CPRS via Detroit routing
R-GCX003-cbl-01707 Set Route Not Found Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Route Not Found Flag' is invoked, and assuming that route search has completed all iterations without finding valid patterns, when no hazmat code exists and no csxt/ns to cprs via det patterns are found, the desired outcome is that route not found flag remains true and empty indicator is set to 1 to indicate no recognized routing pattern.
💻 Technical Criteria
Given Route search has completed all iterations without finding valid patterns
When No hazmat code exists AND no CSXT/NS to CPRS via DET patterns are found
Then Route not found flag remains true and empty indicator is set to 1 to indicate no recognized routing pattern
R-GCX003-cbl-01841 CSXT/NS to CPRS via DET?
Decision Rules
📊 Business Logic Narrative
When the process 'CSXT/NS to CPRS via DET?' is invoked, and assuming that route information contains scac codes and junction information, when the first route scac is csxt or ns, the second route scac is cprs, and the junction code is det, the desired outcome is that the system sets equipment routing classification to 3 for csxt or 4 for ns and marks the route as found.
💻 Technical Criteria
Given Route information contains SCAC codes and junction information
When The first route SCAC is CSXT or NS, the second route SCAC is CPRS, and the junction code is DET
Then The system sets equipment routing classification to 3 for CSXT or 4 for NS and marks the route as found
R-GCX003-cbl-01842 Haulage Mark 'HM' Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Mark 'HM' Found?' is invoked, and assuming that a shipment has an ima code field, when the ima code equals 'hm', the desired outcome is that the system sets the equipment routing classification to 2 and marks the route as found.
💻 Technical Criteria
Given A shipment has an IMA code field
When The IMA code equals 'HM'
Then The system sets the equipment routing classification to 2 and marks the route as found
R-GCX003-cbl-01843 Set Empty Equipment Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Set Empty Equipment Indicator' is invoked, and assuming that route processing has completed for an equipment item, when no valid routing pattern has been found, the desired outcome is that the system sets the empty equipment indicator to 1 to classify the equipment as having no defined route.
💻 Technical Criteria
Given Route processing has completed for an equipment item
When No valid routing pattern has been found
Then The system sets the empty equipment indicator to 1 to classify the equipment as having no defined route
R-GCX003-cbl-01316 Bond Type Classification
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type Classification' is invoked, and assuming that a cargo record with bond type code is being processed, when the system evaluates the bond type code from the cargo record, the desired outcome is that the system should classify the bond as it (immediate transport), te (transport export), tr (transit), ie (immediate export), or mt (marine transport) and apply corresponding processing rules.
💻 Technical Criteria
Given A cargo record with bond type code is being processed
When The system evaluates the bond type code from the cargo record
Then The system should classify the bond as IT (Immediate Transport), TE (Transport Export), TR (Transit), IE (Immediate Export), or MT (Marine Transport) and apply corresponding processing rules
R-GCX003-cbl-01317 Extract Entry Number for Bond Display
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entry Number for Bond Display' is invoked, and assuming that a cargo record is being processed for bond information, when the system checks for entry number or in-bond control number availability, the desired outcome is that the system should extract the entry number if available, otherwise use the in-bond control number, or set to spaces if neither is available.
💻 Technical Criteria
Given A cargo record is being processed for bond information
When The system checks for entry number or in-bond control number availability
Then The system should extract the entry number if available, otherwise use the in-bond control number, or set to spaces if neither is available
R-GCX003-cbl-01318 Process Load/Empty Status Code
Validation Rules
📊 Business Logic Narrative
When the process 'Process Load/Empty Status Code' is invoked, and assuming that a cargo record with load/empty status code is being processed, when the system extracts the vid10 load/empty code from the cargo record, the desired outcome is that the system should set the equipment load/empty indicator and apply corresponding validation rules based on the status.
💻 Technical Criteria
Given A cargo record with load/empty status code is being processed
When The system extracts the VID10 load/empty code from the cargo record
Then The system should set the equipment load/empty indicator and apply corresponding validation rules based on the status
R-GCX003-cbl-01319 Process Empty Residue Handling
Decision Rules
📊 Business Logic Narrative
When the process 'Process Empty Residue Handling' is invoked, and assuming that a cargo record is being evaluated for empty equipment status, when the cargo has bol type code indicating empty equipment or empty residue, the desired outcome is that the system should classify the cargo as empty, update load/empty indicators, adjust equipment counts, and set appropriate display information.
💻 Technical Criteria
Given A cargo record is being evaluated for empty equipment status
When The cargo has BOL type code indicating empty equipment or empty residue
Then The system should classify the cargo as empty, update load/empty indicators, adjust equipment counts, and set appropriate display information
R-GCX003-cbl-01320 Set Special Manifest Flags
Decision Rules
📊 Business Logic Narrative
When the process 'Set Special Manifest Flags' is invoked, and assuming that a cargo record is being evaluated for special manifest requirements, when the cargo has special manifest origin flag or special manifest special flag set, the desired outcome is that the system should set corresponding special manifest processing flags (it found, te found, tr found, or usmx 88 found) based on cargo type and routing.
💻 Technical Criteria
Given A cargo record is being evaluated for special manifest requirements
When The cargo has special manifest origin flag or special manifest special flag set
Then The system should set corresponding special manifest processing flags (IT found, TE found, TR found, or USMX 88 found) based on cargo type and routing
R-GCX003-cbl-01321 Process AMS Bond Information
Process Rules
📊 Business Logic Narrative
When the process 'Process AMS Bond Information' is invoked, and assuming that a cargo record with bond type and control numbers is being processed, when the system formats cargo information for display, the desired outcome is that the system should format bond information as 'ams [bond_type] [bond_number]' for it/ie types or 'ams 7512 [bond_type] [bond_number]' for te/tr/mt types, or 'ppr 7512 15 us-ca-us' for bol type 15.
💻 Technical Criteria
Given A cargo record with bond type and control numbers is being processed
When The system formats cargo information for display
Then The system should format bond information as 'AMS [bond_type] [bond_number]' for IT/IE types or 'AMS 7512 [bond_type] [bond_number]' for TE/TR/MT types, or 'PPR 7512 15 US-CA-US' for BOL type 15
R-GCX003-cbl-01322 Validate Cargo Status Codes
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Cargo Status Codes' is invoked, and assuming that a cargo record with status indicators is being processed, when the system checks cargo status codes for pending, deleted, or error conditions, the desired outcome is that the system should generate appropriate error messages (message 16) if cargo is in pending, deleted, or error status.
💻 Technical Criteria
Given A cargo record with status indicators is being processed
When The system checks cargo status codes for pending, deleted, or error conditions
Then The system should generate appropriate error messages (message 16) if cargo is in pending, deleted, or error status
R-GCX003-cbl-01323 Process FEN Reference Numbers
Validation Rules
📊 Business Logic Narrative
When the process 'Process FEN Reference Numbers' is invoked, and assuming that a cargo record is being processed at laredo tx station with segment 02 data, when the system searches for fen and kcm reference number qualifiers in the segment data, the desired outcome is that the system should set fen found flag if fen qualifier exists with non-blank reference number, and kcm found flag if kcm qualifier exists with non-blank reference number.
💻 Technical Criteria
Given A cargo record is being processed at Laredo TX station with segment 02 data
When The system searches for FEN and KCM reference number qualifiers in the segment data
Then The system should set FEN found flag if FEN qualifier exists with non-blank reference number, and KCM found flag if KCM qualifier exists with non-blank reference number
R-GCX003-cbl-01324 Set Haulage Automation Flags
Process Rules
📊 Business Logic Narrative
When the process 'Set Haulage Automation Flags' is invoked, and assuming that a cargo record with haulage information is being processed for send action, when the system determines port type (automated or paper) and current haulage automation status, the desired outcome is that the system should update haulage automation flag to 'n' if automated haulage at paper port, or to 'y' if manual haulage at automated port.
💻 Technical Criteria
Given A cargo record with haulage information is being processed for send action
When The system determines port type (automated or paper) and current haulage automation status
Then The system should update haulage automation flag to 'N' if automated haulage at paper port, or to 'Y' if manual haulage at automated port
R-GCX003-cbl-01325 Extract Cargo Condition Response Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Cargo Condition Response Code' is invoked, and assuming that a cargo record is being processed for condition information, when the system extracts the m1011 condition response code from the cargo record, the desired outcome is that the system should store the condition response code in the report working storage for equipment tracking.
💻 Technical Criteria
Given A cargo record is being processed for condition information
When The system extracts the M1011 condition response code from the cargo record
Then The system should store the condition response code in the report working storage for equipment tracking
R-GCX003-cbl-01598 Check Equipment Load/Empty Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Equipment Load/Empty Status' is invoked, and assuming that equipment has empty status and contains residue weight greater than zero, when system processes equipment for special handling codes, the desired outcome is that system initiates empty residue code scanning and weight threshold evaluation.
💻 Technical Criteria
Given Equipment has empty status and contains residue weight greater than zero
When System processes equipment for special handling codes
Then System initiates empty residue code scanning and weight threshold evaluation
R-GCX003-cbl-01599 Scan Special Handling Codes Array
Validation Rules
📊 Business Logic Narrative
When the process 'Scan Special Handling Codes Array' is invoked, and assuming that equipment has residue weight and special handling codes exist, when system scans through special handling codes array up to 8 positions, the desired outcome is that system identifies if empty residue threshold code is present and sets appropriate flag.
💻 Technical Criteria
Given Equipment has residue weight and special handling codes exist
When System scans through special handling codes array up to 8 positions
Then System identifies if empty residue threshold code is present and sets appropriate flag
R-GCX003-cbl-01600 Evaluate Residue Weight Against Threshold
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Residue Weight Against Threshold' is invoked, and assuming that equipment contains residue weight, when system evaluates residue weight against threshold of 7000 pounds, the desired outcome is that system sets high residue weight flag if weight exceeds 7000 pounds, otherwise sets low residue weight flag.
💻 Technical Criteria
Given Equipment contains residue weight
When System evaluates residue weight against threshold of 7000 pounds
Then System sets high residue weight flag if weight exceeds 7000 pounds, otherwise sets low residue weight flag
R-GCX003-cbl-01601 Check Segment 08 Data for Hazmat
Validation Rules
📊 Business Logic Narrative
When the process 'Check Segment 08 Data for Hazmat' is invoked, and assuming that equipment cargo data is being processed, when system checks for segment 08 data availability, the desired outcome is that system sets hazmat flag to yes if segment 08 data is found, otherwise sets hazmat flag to no.
💻 Technical Criteria
Given Equipment cargo data is being processed
When System checks for Segment 08 data availability
Then System sets hazmat flag to Yes if Segment 08 data is found, otherwise sets hazmat flag to No
R-GCX003-cbl-01602 Process Empty Residue Business Rules
Process Rules
📊 Business Logic Narrative
When the process 'Process Empty Residue Business Rules' is invoked, and assuming that equipment has been evaluated for empty residue and weight thresholds, when system processes empty residue business rules with cargo found status and weight classifications, the desired outcome is that system determines appropriate processing path based on empty residue presence, weight threshold, and cargo availability.
💻 Technical Criteria
Given Equipment has been evaluated for empty residue and weight thresholds
When System processes empty residue business rules with cargo found status and weight classifications
Then System determines appropriate processing path based on empty residue presence, weight threshold, and cargo availability
R-GCX003-cbl-01708 Is Equipment Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Equipment Empty?' is invoked, and assuming that an equipment item is being processed for residue weight evaluation, when the equipment load/empty indicator is checked, the desired outcome is that if equipment is empty, proceed to retrieve shipment comments for residue weight analysis, otherwise skip residue weight processing.
💻 Technical Criteria
Given An equipment item is being processed for residue weight evaluation
When The equipment load/empty indicator is checked
Then If equipment is empty, proceed to retrieve shipment comments for residue weight analysis, otherwise skip residue weight processing
R-GCX003-cbl-01712 Residue Weight > 0?
Decision Rules
📊 Business Logic Narrative
When the process 'Residue Weight > 0?' is invoked, and assuming that shipcomm data is available for processing, when residue weight value is evaluated, the desired outcome is that if residue weight is greater than zero, proceed with special handling code analysis and threshold evaluation.
💻 Technical Criteria
Given SHIPCOMM data is available for processing
When Residue weight value is evaluated
Then If residue weight is greater than zero, proceed with special handling code analysis and threshold evaluation
R-GCX003-cbl-01713 Check Special Handling Codes
Process Rules
📊 Business Logic Narrative
When the process 'Check Special Handling Codes' is invoked, and assuming that equipment has residue weight greater than zero, when special handling codes array is scanned for er threshold code, the desired outcome is that iterate through up to 8 special handling code positions to locate er threshold code indicator.
💻 Technical Criteria
Given Equipment has residue weight greater than zero
When Special handling codes array is scanned for ER threshold code
Then Iterate through up to 8 special handling code positions to locate ER threshold code indicator
R-GCX003-cbl-01715 Set ER Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set ER Found Flag' is invoked, and assuming that er threshold code has been located in special handling codes, when system needs to record er code presence for threshold evaluation, the desired outcome is that set er found indicator to true for subsequent weight threshold processing.
💻 Technical Criteria
Given ER threshold code has been located in special handling codes
When System needs to record ER code presence for threshold evaluation
Then Set ER found indicator to true for subsequent weight threshold processing
R-GCX003-cbl-01716 Set ER Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set ER Not Found Flag', assuming that er threshold code has not been found in special handling codes after complete scan, when system needs to record er code absence for threshold evaluation, the desired outcome is that set er found indicator to false for subsequent weight threshold processing.
💻 Technical Criteria
EXCLUDING ER threshold code has not been found in special handling codes after complete scan
When System needs to record ER code absence for threshold evaluation
Then Set ER found indicator to false for subsequent weight threshold processing
R-GCX003-cbl-01717 Residue Weight > 7000 lbs?
Decision Rules
📊 Business Logic Narrative
When the process 'Residue Weight > 7000 lbs?' is invoked, and assuming that equipment has measurable residue weight and er code status is determined, when residue weight value is compared against 7000 pound threshold, the desired outcome is that if weight exceeds 7000 pounds, set weight threshold gt7 flag; otherwise set weight threshold le7 flag.
💻 Technical Criteria
Given Equipment has measurable residue weight and ER code status is determined
When Residue weight value is compared against 7000 pound threshold
Then If weight exceeds 7000 pounds, set weight threshold GT7 flag; otherwise set weight threshold LE7 flag
R-GCX003-cbl-01718 Set ER Weight Threshold GT7
Process Rules
📊 Business Logic Narrative
When the process 'Set ER Weight Threshold GT7' is invoked, and assuming that residue weight has been determined to exceed 7000 pounds, when system needs to classify weight threshold status, the desired outcome is that set weight threshold greater than 7000 indicator for subsequent compliance processing.
💻 Technical Criteria
Given Residue weight has been determined to exceed 7000 pounds
When System needs to classify weight threshold status
Then Set weight threshold greater than 7000 indicator for subsequent compliance processing
R-GCX003-cbl-01719 Set ER Weight Threshold LE7
Process Rules
📊 Business Logic Narrative
When the process 'Set ER Weight Threshold LE7' is invoked, and assuming that residue weight has been determined to be 7000 pounds or less, when system needs to classify weight threshold status, the desired outcome is that set weight threshold less than or equal to 7000 indicator for subsequent compliance processing.
💻 Technical Criteria
Given Residue weight has been determined to be 7000 pounds or less
When System needs to classify weight threshold status
Then Set weight threshold less than or equal to 7000 indicator for subsequent compliance processing
R-GCX003-cbl-01720 Continue Processing - Within Threshold
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing - Within Threshold' is invoked, and assuming that equipment has either er code present with weight at or below 7000 pounds, or er code absent with weight exceeding 7000 pounds, when residue weight compliance status is evaluated, the desired outcome is that continue normal equipment processing without generating threshold violation errors.
💻 Technical Criteria
Given Equipment has either ER code present with weight at or below 7000 pounds, or ER code absent with weight exceeding 7000 pounds
When Residue weight compliance status is evaluated
Then Continue normal equipment processing without generating threshold violation errors
R-GCX003-cbl-01721 Generate Error Message - Threshold Exceeded
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error Message - Threshold Exceeded' is invoked, and assuming that equipment has either er code present with weight exceeding 7000 pounds, or er code absent with weight at or below 7000 pounds, when residue weight compliance status indicates threshold violation, the desired outcome is that generate appropriate error message for residue weight threshold non-compliance.
💻 Technical Criteria
Given Equipment has either ER code present with weight exceeding 7000 pounds, or ER code absent with weight at or below 7000 pounds
When Residue weight compliance status indicates threshold violation
Then Generate appropriate error message for residue weight threshold non-compliance
R-GCX003-cbl-00188 Set Car Parameters
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Car Parameters', assuming that equipment processing is initiated, when the equipment is not identified as container equipment, the desired outcome is that equipment type is set to car and car-specific processing parameters are established.
💻 Technical Criteria
EXCLUDING Equipment processing is initiated
When The equipment is not identified as container equipment
Then Equipment type is set to car and car-specific processing parameters are established
R-GCX003-cbl-00189 Call Equipment Type Validation Service GCCCARTP
Action Rules
📊 Business Logic Narrative
When the process 'Call Equipment Type Validation Service GCCCARTP' is invoked, and assuming that equipment type parameters are set and equipment id is available, when equipment type validation is required, the desired outcome is that external equipment validation service gcccartp is called with equipment parameters.
💻 Technical Criteria
Given Equipment type parameters are set and equipment ID is available
When Equipment type validation is required
Then External equipment validation service GCCCARTP is called with equipment parameters
R-GCX003-cbl-00190 Validation Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Validation Successful?' is invoked, and assuming that equipment validation service has been called, when the validation service returns a response, the desired outcome is that system checks if validation was successful and routes processing accordingly.
💻 Technical Criteria
Given Equipment validation service has been called
When The validation service returns a response
Then System checks if validation was successful and routes processing accordingly
R-GCX003-cbl-00191 Retrieve Equipment Type Description
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Equipment Type Description' is invoked, and assuming that equipment validation was successful and equipment code is available, when equipment type description is needed for reporting, the desired outcome is that system retrieves equipment type description from vehicle information reference table.
💻 Technical Criteria
Given Equipment validation was successful and equipment code is available
When Equipment type description is needed for reporting
Then System retrieves equipment type description from vehicle information reference table
R-GCX003-cbl-00195 Generate Container Type Error Message MSG-35
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Container Type Error Message MSG-35' is invoked, and assuming that equipment is classified as container type, when equipment type validation service call fails, the desired outcome is that error message msg-35 is generated indicating container type validation failure.
💻 Technical Criteria
Given Equipment is classified as container type
When Equipment type validation service call fails
Then Error message MSG-35 is generated indicating container type validation failure
R-GCX003-cbl-00196 Generate Car Type Error Message MSG-36
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Car Type Error Message MSG-36' is invoked, and assuming that equipment is classified as car type, when equipment type validation service call fails, the desired outcome is that error message msg-36 is generated indicating car type validation failure.
💻 Technical Criteria
Given Equipment is classified as car type
When Equipment type validation service call fails
Then Error message MSG-36 is generated indicating car type validation failure
R-GCX003-cbl-00197 Set Equipment Error Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment Error Flag' is invoked, and assuming that equipment type validation has failed, when error messages have been generated, the desired outcome is that equipment error flag is set to prevent continued processing of invalid equipment.
💻 Technical Criteria
Given Equipment type validation has failed
When Error messages have been generated
Then Equipment error flag is set to prevent continued processing of invalid equipment
R-GCX003-cbl-00198 Bond Type = TR?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Bond Type = TR?', assuming that a cargo record with bond type classification criteria, when the cargo has us-canada-us bond type code and the cargo was not created for it processing and the cargo is not designated as special usmx tr cargo, the desired outcome is that set the tr bond found flag to true.
💻 Technical Criteria
EXCLUDING A cargo record with bond type classification criteria
When The cargo has US-Canada-US bond type code AND the cargo was not created for IT processing AND the cargo is not designated as special USMX TR cargo
Then Set the TR bond found flag to true
R-GCX003-cbl-00199 Bond Type = TE?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Bond Type = TE?', assuming that a cargo record with bond type classification criteria, when the cargo has transportation export bond type code and the cargo was not created for it processing, the desired outcome is that set the te bond found flag to true.
💻 Technical Criteria
EXCLUDING A cargo record with bond type classification criteria
When The cargo has transportation export bond type code AND the cargo was not created for IT processing
Then Set the TE bond found flag to true
R-GCX003-cbl-00200 Special Manifest Original?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Manifest Original?' is invoked, and assuming that a cargo record with special manifest indicators, when the cargo is designated as special manifest original, the desired outcome is that set the special it found flag to true.
💻 Technical Criteria
Given A cargo record with special manifest indicators
When The cargo is designated as special manifest original
Then Set the special IT found flag to true
R-GCX003-cbl-00201 Bond Type = TE AND Special Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = TE AND Special Manifest?' is invoked, and assuming that a cargo record with te bond type and special manifest indicators, when the cargo has transportation export bond type code and the cargo is designated as special manifest, the desired outcome is that set the special te found flag to true.
💻 Technical Criteria
Given A cargo record with TE bond type and special manifest indicators
When The cargo has transportation export bond type code AND the cargo is designated as special manifest
Then Set the special TE found flag to true
R-GCX003-cbl-00202 Bond Type = Export AND Special 88?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = Export AND Special 88?' is invoked, and assuming that a cargo record with export bond type and special indicators, when the cargo has export bond type code and the cargo has usmx special 88 designation, the desired outcome is that set the us-mx 88 found flag to true.
💻 Technical Criteria
Given A cargo record with export bond type and special indicators
When The cargo has export bond type code AND the cargo has USMX special 88 designation
Then Set the US-MX 88 found flag to true
R-GCX003-cbl-00203 Bond Type = US-CAN-US AND Special TR?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = US-CAN-US AND Special TR?' is invoked, and assuming that a cargo record with us-canada-us bond type and special tr indicators, when the cargo has us-canada-us bond type code and the cargo has usmx special tr designation, the desired outcome is that set the special tr found flag to true.
💻 Technical Criteria
Given A cargo record with US-Canada-US bond type and special TR indicators
When The cargo has US-Canada-US bond type code AND the cargo has USMX special TR designation
Then Set the special TR found flag to true
R-GCX003-cbl-00204 Entry Number Available?
Data Extraction Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entry Number Available?', assuming that a cargo record with potential bond number sources, when the cargo entry number field is not blank or spaces, the desired outcome is that use the entry number as the bond number for processing.
💻 Technical Criteria
EXCLUDING A cargo record with potential bond number sources
When The cargo entry number field is not blank or spaces
Then Use the entry number as the bond number for processing
R-GCX003-cbl-00205 In-Bond Control Number Available?
Data Extraction Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'In-Bond Control Number Available?', assuming that a cargo record where entry number is not available, when the in-bond control number field is not blank or spaces, the desired outcome is that use the in-bond control number as the bond number for processing.
💻 Technical Criteria
EXCLUDING A cargo record where entry number is not available
When The in-bond control number field is not blank or spaces
Then Use the in-bond control number as the bond number for processing
R-GCX003-cbl-00206 Process Empty Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Process Empty Equipment' is invoked, and assuming that a cargo record with empty equipment designation, when the cargo is classified as empty equipment or empty residue, the desired outcome is that set cargo information to 'empty', update load/empty indicator to 'e', and adjust equipment counters from loaded to empty.
💻 Technical Criteria
Given A cargo record with empty equipment designation
When The cargo is classified as empty equipment or empty residue
Then Set cargo information to 'EMPTY', update load/empty indicator to 'E', and adjust equipment counters from loaded to empty
R-GCX003-cbl-00207 Process Paper 7512 Movement
Process Rules
📊 Business Logic Narrative
When the process 'Process Paper 7512 Movement' is invoked, and assuming that a cargo record with specific bond type code, when the cargo bond type code equals '15', the desired outcome is that set cargo information to 'ppr 7512 15 us-ca-us'.
💻 Technical Criteria
Given A cargo record with specific bond type code
When The cargo bond type code equals '15'
Then Set cargo information to 'PPR 7512 15 US-CA-US'
R-GCX003-cbl-00208 Process AMS IT/IE Bond
Process Rules
📊 Business Logic Narrative
When the process 'Process AMS IT/IE Bond' is invoked, and assuming that a cargo record with it or ie bond type and extracted bond number, when the cargo in-bond type code equals 'it' or 'ie', the desired outcome is that format cargo information as 'ams' followed by bond type code and bond number.
💻 Technical Criteria
Given A cargo record with IT or IE bond type and extracted bond number
When The cargo in-bond type code equals 'IT' or 'IE'
Then Format cargo information as 'AMS' followed by bond type code and bond number
R-GCX003-cbl-00209 Process AMS 7512 TE/TR/MT Bond
Process Rules
📊 Business Logic Narrative
When the process 'Process AMS 7512 TE/TR/MT Bond' is invoked, and assuming that a cargo record with te, tr, or mt bond type and extracted bond number, when the cargo in-bond type code equals 'te' or 'tr' or 'mt', the desired outcome is that format cargo information as 'ams 7512' followed by bond type code and bond number.
💻 Technical Criteria
Given A cargo record with TE, TR, or MT bond type and extracted bond number
When The cargo in-bond type code equals 'TE' or 'TR' or 'MT'
Then Format cargo information as 'AMS 7512' followed by bond type code and bond number
R-GCX003-cbl-00210 Segment 07 Data Available?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Segment 07 Data Available?', assuming that a cargo record with potential segment 07 data, when segment 07 data exists and is not blank or low-values, the desired outcome is that process the segment 07 data for cargo description extraction.
💻 Technical Criteria
EXCLUDING A cargo record with potential segment 07 data
When Segment 07 data exists and is not blank or low-values
Then Process the segment 07 data for cargo description extraction
R-GCX003-cbl-00211 Extract Equipment Description
Data Extraction Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Description' is invoked, and assuming that a cargo record with valid segment 07 data, when segment 07 contains cargo description information, the desired outcome is that extract the cargo description and use it as the cargo information field.
💻 Technical Criteria
Given A cargo record with valid segment 07 data
When Segment 07 contains cargo description information
Then Extract the cargo description and use it as the cargo information field
R-GCX003-cbl-00212 Residue Weight > Threshold?
Validation Rules
📊 Business Logic Narrative
When the process 'Residue Weight > Threshold?' is invoked, and assuming that an empty equipment record with residue weight information, when the residue weight is greater than zero and special handling code contains er threshold code, the desired outcome is that apply empty residue processing rules.
💻 Technical Criteria
Given An empty equipment record with residue weight information
When The residue weight is greater than zero AND special handling code contains ER threshold code
Then Apply empty residue processing rules
R-GCX003-cbl-00213 Update Load/Empty Status Counters
Computation Rules
📊 Business Logic Narrative
When the process 'Update Load/Empty Status Counters' is invoked, and assuming that equipment with determined load/empty status and equipment type, when processing equipment counters for containers or cars, the desired outcome is that increment appropriate counter (container loaded/empty or car loaded/empty) based on equipment type and load status.
💻 Technical Criteria
Given Equipment with determined load/empty status and equipment type
When Processing equipment counters for containers or cars
Then Increment appropriate counter (container loaded/empty or car loaded/empty) based on equipment type and load status
R-GCX003-cbl-00214 Extract Bond Type from Cargo Record
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Bond Type from Cargo Record' is invoked, and assuming that a cargo record exists for the equipment, when the system processes the cargo information, the desired outcome is that the in-bond type code is extracted from the cargo record field m1201-in-bond-typ-cde.
💻 Technical Criteria
Given A cargo record exists for the equipment
When The system processes the cargo information
Then The in-bond type code is extracted from the cargo record field M1201-IN-BOND-TYP-CDE
R-GCX003-cbl-00215 Set Special Manifest Flags
Decision Rules
📊 Business Logic Narrative
When the process 'Set Special Manifest Flags' is invoked, and assuming that cargo has it bond type, when the system processes the bond type classification, the desired outcome is that the special manifest origin flag is set to indicate special processing is required.
💻 Technical Criteria
Given Cargo has IT bond type
When The system processes the bond type classification
Then The special manifest origin flag is set to indicate special processing is required
R-GCX003-cbl-00216 Set Special Manifest Flags
Decision Rules
📊 Business Logic Narrative
When the process 'Set Special Manifest Flags' is invoked, and assuming that cargo has te bond type and special manifest processing is required, when the system processes the bond type classification, the desired outcome is that the special manifest special flag is set to indicate te special processing.
💻 Technical Criteria
Given Cargo has TE bond type and special manifest processing is required
When The system processes the bond type classification
Then The special manifest special flag is set to indicate TE special processing
R-GCX003-cbl-00217 Set TR Bond Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set TR Bond Found Flag', assuming that cargo has us-canada-us bond type and tr is not already created and does not have special tr processing, when the system processes tr bond type, the desired outcome is that the tr bond found flag is set to true.
💻 Technical Criteria
EXCLUDING Cargo has US-Canada-US bond type and TR is not already created and does not have special TR processing
When The system processes TR bond type
Then The TR bond found flag is set to true
R-GCX003-cbl-00218 Set TE Bond Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set TE Bond Found Flag', assuming that cargo has transport export bond type and te is not already created, when the system processes te bond type, the desired outcome is that the te bond found flag is set to true.
💻 Technical Criteria
EXCLUDING Cargo has transport export bond type and TE is not already created
When The system processes TE bond type
Then The TE bond found flag is set to true
R-GCX003-cbl-00219 Set Special Manifest Flags
Decision Rules
📊 Business Logic Narrative
When the process 'Set Special Manifest Flags' is invoked, and assuming that cargo has export bond type and has usmx special 88 processing, when the system processes export bond classification, the desired outcome is that the usmx 88 found flag is set to indicate special export processing.
💻 Technical Criteria
Given Cargo has export bond type and has USMX special 88 processing
When The system processes export bond classification
Then The USMX 88 found flag is set to indicate special export processing
R-GCX003-cbl-00220 Set Special Manifest Flags
Decision Rules
📊 Business Logic Narrative
When the process 'Set Special Manifest Flags' is invoked, and assuming that cargo has us-canada-us bond type and has usmx special tr processing, when the system processes bond type classification, the desired outcome is that the splc tr found flag is set to indicate special tr processing.
💻 Technical Criteria
Given Cargo has US-Canada-US bond type and has USMX special TR processing
When The system processes bond type classification
Then The SPLC TR found flag is set to indicate special TR processing
R-GCX003-cbl-00222 Extract from Entry Number
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract from Entry Number', assuming that cargo entry number field is not spaces, when the system extracts bond number information, the desired outcome is that the entry number is saved as the bond number for display formatting.
💻 Technical Criteria
EXCLUDING Cargo entry number field is not spaces
When The system extracts bond number information
Then The entry number is saved as the bond number for display formatting
R-GCX003-cbl-00223 Extract from In-Bond Control Number
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract from In-Bond Control Number', assuming that cargo entry number is spaces and in-bond control number is not spaces, when the system extracts bond number information, the desired outcome is that the in-bond control number is saved as the bond number for display formatting.
💻 Technical Criteria
EXCLUDING Cargo entry number is spaces and in-bond control number is not spaces
When The system extracts bond number information
Then The in-bond control number is saved as the bond number for display formatting
R-GCX003-cbl-00224 Format Bond Information Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Bond Information Display' is invoked, and assuming that cargo is empty equipment type or empty residue type, when the system formats bond information for display, the desired outcome is that the report info shows 'empty', load/empty indicator is set to 'e', and equipment counters are updated from loaded to empty.
💻 Technical Criteria
Given Cargo is empty equipment type or empty residue type
When The system formats bond information for display
Then The report info shows 'EMPTY', load/empty indicator is set to 'E', and equipment counters are updated from loaded to empty
R-GCX003-cbl-00225 Format Bond Information Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Bond Information Display' is invoked, and assuming that cargo bond type code is '15', when the system formats bond information for display, the desired outcome is that the report info displays 'ppr 7512 15 us-ca-us'.
💻 Technical Criteria
Given Cargo bond type code is '15'
When The system formats bond information for display
Then The report info displays 'PPR 7512 15 US-CA-US'
R-GCX003-cbl-00226 Format Bond Information Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Bond Information Display' is invoked, and assuming that cargo in-bond type code is 'it' or 'ie', when the system formats bond information for display, the desired outcome is that the report info displays 'ams ' concatenated with bond type and bond number.
💻 Technical Criteria
Given Cargo in-bond type code is 'IT' or 'IE'
When The system formats bond information for display
Then The report info displays 'AMS ' concatenated with bond type and bond number
R-GCX003-cbl-00227 Format Bond Information Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Bond Information Display' is invoked, and assuming that cargo in-bond type code is 'te' or 'tr' or 'mt', when the system formats bond information for display, the desired outcome is that the report info displays 'ams 7512 ' concatenated with bond type and bond number.
💻 Technical Criteria
Given Cargo in-bond type code is 'TE' or 'TR' or 'MT'
When The system formats bond information for display
Then The report info displays 'AMS 7512 ' concatenated with bond type and bond number
R-GCX003-cbl-00228 Check if Special Manifest Required
Authorization Rules
📊 Business Logic Narrative
When the process 'Check if Special Manifest Required' is invoked, and assuming that it cargo requires special manifest processing and action is send, when the system checks user authorization for special manifests, the desired outcome is that if user is not authorized for special manifests, generate authorization error message 43, otherwise proceed with it export manifest creation.
💻 Technical Criteria
Given IT cargo requires special manifest processing and action is send
When The system checks user authorization for special manifests
Then If user is not authorized for special manifests, generate authorization error message 43, otherwise proceed with IT export manifest creation
R-GCX003-cbl-00229 Check Port Change Requirements
Authorization Rules
📊 Business Logic Narrative
When the process 'Check Port Change Requirements' is invoked, and assuming that te cargo requires port change processing and action is send, when the system checks user authorization for port change manifests, the desired outcome is that if user is not authorized for special manifests, generate authorization error message 43, otherwise proceed with port change manifest creation.
💻 Technical Criteria
Given TE cargo requires port change processing and action is send
When The system checks user authorization for port change manifests
Then If user is not authorized for special manifests, generate authorization error message 43, otherwise proceed with port change manifest creation
R-GCX003-cbl-00230 Check Diversion Requirements
Authorization Rules
📊 Business Logic Narrative
When the process 'Check Diversion Requirements' is invoked, and assuming that tr cargo requires diversion processing and action is send, when the system checks user authorization for diversion manifests, the desired outcome is that if user is not authorized for special manifests, generate authorization error message 43, otherwise proceed with diversion manifest creation.
💻 Technical Criteria
Given TR cargo requires diversion processing and action is send
When The system checks user authorization for diversion manifests
Then If user is not authorized for special manifests, generate authorization error message 43, otherwise proceed with diversion manifest creation
R-GCX003-cbl-00231 Create IT Export Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create IT Export Special Manifest', assuming that it cargo is not already created and user is authorized for special manifests and action is send, when the system processes it export requirements, the desired outcome is that generate message 23, set it export spawn flag, and invoke special manifest creation process.
💻 Technical Criteria
EXCLUDING IT cargo is not already created and user is authorized for special manifests and action is send
When The system processes IT export requirements
Then Generate message 23, set IT export spawn flag, and invoke special manifest creation process
R-GCX003-cbl-00232 Create TE Port Change Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create TE Port Change Manifest', assuming that te cargo location does not match crossing port and user is authorized and action is send, when the system processes te port change requirements, the desired outcome is that generate message 20, set port change spawn flag, and invoke special manifest creation process.
💻 Technical Criteria
EXCLUDING TE cargo location does not match crossing port and user is authorized and action is send
When The system processes TE port change requirements
Then Generate message 20, set port change spawn flag, and invoke special manifest creation process
R-GCX003-cbl-00233 Create TR Diversion Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create TR Diversion Manifest' is invoked, and assuming that tr cargo requires diversion processing and user is authorized and action is send, when the system processes tr diversion requirements, the desired outcome is that generate message 23, set detour spawn flag, and invoke special manifest creation process.
💻 Technical Criteria
Given TR cargo requires diversion processing and user is authorized and action is send
When The system processes TR diversion requirements
Then Generate message 23, set detour spawn flag, and invoke special manifest creation process
R-GCX003-cbl-00234 Validate Vessel Name
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Vessel Name', assuming that cargo has mt bond type and vessel name is not 'train' and not spaces and crossing port matches cargo location, when the system validates mt bond requirements, the desired outcome is that generate error message 25 for invalid mt bond vessel configuration.
💻 Technical Criteria
EXCLUDING Cargo has MT bond type and vessel name is not 'TRAIN' and not spaces and crossing port matches cargo location
When The system validates MT bond requirements
Then Generate error message 25 for invalid MT bond vessel configuration
R-GCX003-cbl-00235 Validate Vessel Name
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Vessel Name' is invoked, and assuming that cargo has te bond type and vessel name character 23 is 't', when the system validates te bond requirements, the desired outcome is that generate error message 17 for invalid te bond vessel name.
💻 Technical Criteria
Given Cargo has TE bond type and vessel name character 23 is 'T'
When The system validates TE bond requirements
Then Generate error message 17 for invalid TE bond vessel name
R-GCX003-cbl-00236 Validate Vessel Name
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Vessel Name', assuming that cargo bond type is not 'te' and not 'mt' and vessel name is not 'train', when the system validates bond vessel requirements, the desired outcome is that generate error message 17 for invalid vessel name configuration.
💻 Technical Criteria
EXCLUDING Cargo bond type is not 'TE' and not 'MT' and vessel name is not 'TRAIN'
When The system validates bond vessel requirements
Then Generate error message 17 for invalid vessel name configuration
R-GCX003-cbl-01326 IT Bond Already Created for Train?
Decision Rules
📊 Business Logic Narrative
When the process 'IT Bond Already Created for Train?' is invoked, and assuming that an it bond cargo is detected for processing, when the system checks if tr (transport record) has already been created for it bond (gcusrt-tr-created-for-it equals 'y'), the desired outcome is that skip it bond processing and continue with next equipment item.
💻 Technical Criteria
Given An IT bond cargo is detected for processing
When The system checks if TR (Transport Record) has already been created for IT bond (GCUSRT-TR-CREATED-FOR-IT equals 'Y')
Then Skip IT bond processing and continue with next equipment item
R-GCX003-cbl-01327 Request Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Request Action Type?' is invoked, and assuming that an it bond cargo requires processing and no tr has been created yet, when the request action is evaluated (req-action-send vs req-action-report), the desired outcome is that route to either authorization check for send actions or generate report-only message for report actions.
💻 Technical Criteria
Given An IT bond cargo requires processing and no TR has been created yet
When The request action is evaluated (REQ-ACTION-SEND vs REQ-ACTION-REPORT)
Then Route to either authorization check for SEND actions or generate report-only message for REPORT actions
R-GCX003-cbl-01330 Generate Report-Only Message
Process Rules
📊 Business Logic Narrative
When the process 'Generate Report-Only Message' is invoked, and assuming that it bond cargo requires processing and no tr has been created, when the request action is report (not send), the desired outcome is that generate message 24 (report-only notification) and add equipment line to report.
💻 Technical Criteria
Given IT bond cargo requires processing and no TR has been created
When The request action is REPORT (not SEND)
Then Generate message 24 (report-only notification) and add equipment line to report
R-GCX003-cbl-01331 Generate Authorization Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Authorization Error Message', assuming that a send action is requested for it bond processing, when user is not authorized for special manifests (ws-user-not-auth-4-spcl-manif is true), the desired outcome is that generate message 43 (authorization error) and add equipment line to report without creating special manifest.
💻 Technical Criteria
EXCLUDING A SEND action is requested for IT bond processing
When User is not authorized for special manifests (WS-USER-NOT-AUTH-4-SPCL-MANIF is true)
Then Generate message 43 (authorization error) and add equipment line to report without creating special manifest
R-GCX003-cbl-01611 Special Manifest Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Manifest Required?' is invoked, and assuming that user authorization status has been determined, when the system evaluates if the current cargo or train processing requires special manifest creation, the desired outcome is that the system determines whether special manifest authorization check is needed for the current operation.
💻 Technical Criteria
Given User authorization status has been determined
When The system evaluates if the current cargo or train processing requires special manifest creation
Then The system determines whether special manifest authorization check is needed for the current operation
R-GCX003-cbl-01332 Cargo Found with TE Bond Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found with TE Bond Type?' is invoked, and assuming that a cargo record is being processed for port change validation, when the system checks if cargo exists and has transport export (te) bond type, the desired outcome is that processing continues only if cargo is found and bond type is te, otherwise port change processing is skipped.
💻 Technical Criteria
Given A cargo record is being processed for port change validation
When The system checks if cargo exists and has Transport Export (TE) bond type
Then Processing continues only if cargo is found and bond type is TE, otherwise port change processing is skipped
R-GCX003-cbl-01333 TR Created for IT = Spaces?
Validation Rules
📊 Business Logic Narrative
When the process 'TR Created for IT = Spaces?' is invoked, and assuming that a te bond cargo is being evaluated for port change, when the system checks the tr created for it field, the desired outcome is that port change processing continues only if tr created for it field is empty (spaces), otherwise processing is skipped.
💻 Technical Criteria
Given A TE bond cargo is being evaluated for port change
When The system checks the TR Created for IT field
Then Port change processing continues only if TR Created for IT field is empty (spaces), otherwise processing is skipped
R-GCX003-cbl-01334 Cargo Status ≠ Export Status?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Status ≠ Export Status?' is invoked, and assuming that a te bond cargo with empty tr created for it field is being processed, when the system compares cargo short description with export status value, the desired outcome is that port change processing continues only if cargo status does not equal export status, otherwise processing is skipped.
💻 Technical Criteria
Given A TE bond cargo with empty TR Created for IT field is being processed
When The system compares cargo short description with export status value
Then Port change processing continues only if cargo status does not equal export status, otherwise processing is skipped
R-GCX003-cbl-01335 Cargo Billed as CPRS?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Billed as CPRS?' is invoked, and assuming that a te bond cargo that meets previous validation criteria is being processed, when the system checks if cargo is billed as cprs, the desired outcome is that port change processing continues only if cargo is billed as cprs, otherwise processing is skipped.
💻 Technical Criteria
Given A TE bond cargo that meets previous validation criteria is being processed
When The system checks if cargo is billed as CPRS
Then Port change processing continues only if cargo is billed as CPRS, otherwise processing is skipped
R-GCX003-cbl-01336 Location ID1 ≠ Current Station?
Decision Rules
📊 Business Logic Narrative
When the process 'Location ID1 ≠ Current Station?' is invoked, and assuming that a te bond cargo that is billed as cprs is being processed, when the system compares cargo location id1 with current station code, the desired outcome is that port change processing is triggered only if location id1 does not match current station code, otherwise processing is skipped.
💻 Technical Criteria
Given A TE bond cargo that is billed as CPRS is being processed
When The system compares cargo Location ID1 with current station code
Then Port change processing is triggered only if Location ID1 does not match current station code, otherwise processing is skipped
R-GCX003-cbl-01337 Request Action = REPORT?
Process Rules
📊 Business Logic Narrative
When the process 'Request Action = REPORT?' is invoked, and assuming that a te bond cargo requires port change processing due to location mismatch, when the request action is report, the desired outcome is that generate port change warning message (message 19) with station information and add to report without creating special manifest.
💻 Technical Criteria
Given A TE bond cargo requires port change processing due to location mismatch
When The request action is REPORT
Then Generate port change warning message (Message 19) with station information and add to report without creating special manifest
R-GCX003-cbl-01338 Request Action = SEND?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Request Action = SEND?', assuming that a te bond cargo requires port change processing and request action is not report, when the system checks if request action is send, the desired outcome is that proceed to authorization validation if action is send, otherwise skip port change processing.
💻 Technical Criteria
EXCLUDING A TE bond cargo requires port change processing and request action is not REPORT
When The system checks if request action is SEND
Then Proceed to authorization validation if action is SEND, otherwise skip port change processing
R-GCX003-cbl-01339 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifests?' is invoked, and assuming that a te bond cargo requires port change processing and request action is send, when the system checks user authorization for special manifests, the desired outcome is that if user is not authorized, generate authorization error message (message 43) and add to report; if authorized, proceed with port change notification.
💻 Technical Criteria
Given A TE bond cargo requires port change processing and request action is SEND
When The system checks user authorization for special manifests
Then If user is not authorized, generate authorization error message (Message 43) and add to report; if authorized, proceed with port change notification
R-GCX003-cbl-01340 Generate Port Change Notification Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Port Change Notification Message' is invoked, and assuming that a te bond cargo requires port change and user is authorized for special manifests, when the system generates port change notification, the desired outcome is that create port change notification message (message 20) and add to report.
💻 Technical Criteria
Given A TE bond cargo requires port change and user is authorized for special manifests
When The system generates port change notification
Then Create port change notification message (Message 20) and add to report
R-GCX003-cbl-01342 Create Special Manifest Request
Action Rules
📊 Business Logic Narrative
When the process 'Create Special Manifest Request' is invoked, and assuming that port change spawn flag has been set for te bond cargo, when the system creates special manifest request, the desired outcome is that execute special manifest creation process (z870-create-special-manifest) to generate required documentation for port change.
💻 Technical Criteria
Given Port change spawn flag has been set for TE bond cargo
When The system creates special manifest request
Then Execute special manifest creation process (Z870-CREATE-SPECIAL-MANIFEST) to generate required documentation for port change
R-GCX003-cbl-01343 Cargo Found with TR Bond Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found with TR Bond Type?' is invoked, and assuming that a cargo record is being processed for tr bond diversion, when the system checks if cargo exists and has tr bond type, the desired outcome is that processing continues only if cargo is found and bond type is tr, otherwise diversion processing is skipped.
💻 Technical Criteria
Given A cargo record is being processed for TR bond diversion
When The system checks if cargo exists and has TR bond type
Then Processing continues only if cargo is found and bond type is TR, otherwise diversion processing is skipped
R-GCX003-cbl-01344 TR Created for IT = Spaces?
Validation Rules
📊 Business Logic Narrative
When the process 'TR Created for IT = Spaces?' is invoked, and assuming that cargo with tr bond type exists, when the system checks the tr created for it field, the desired outcome is that diversion processing continues only if tr created for it field is spaces (not already created), otherwise processing is skipped.
💻 Technical Criteria
Given Cargo with TR bond type exists
When The system checks the TR created for IT field
Then Diversion processing continues only if TR created for IT field is spaces (not already created), otherwise processing is skipped
R-GCX003-cbl-01345 Cargo Status = Release?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Status = Release?', assuming that cargo with tr bond type exists and tr has not been created for it, when the system checks the cargo short description status, the desired outcome is that diversion processing continues only if cargo status equals release status, otherwise processing is skipped.
💻 Technical Criteria
EXCLUDING Cargo with TR bond type exists and TR has not been created for IT
When The system checks the cargo short description status
Then Diversion processing continues only if cargo status equals release status, otherwise processing is skipped
R-GCX003-cbl-01346 Request Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Request Action Type?' is invoked, and assuming that cargo qualifies for tr bond diversion processing, when the system evaluates the request action type, the desired outcome is that if action is report, generate report message; if action is send, proceed to authorization check.
💻 Technical Criteria
Given Cargo qualifies for TR bond diversion processing
When The system evaluates the request action type
Then If action is REPORT, generate report message; if action is SEND, proceed to authorization check
R-GCX003-cbl-01347 Generate Message 18 - TR Bond Diversion Report
Action Rules
📊 Business Logic Narrative
When the process 'Generate Message 18 - TR Bond Diversion Report' is invoked, and assuming that cargo qualifies for tr bond diversion and request action is report, when the system processes the diversion for reporting, the desired outcome is that message 18 is generated indicating tr bond diversion detected and added to report lines.
💻 Technical Criteria
Given Cargo qualifies for TR bond diversion and request action is REPORT
When The system processes the diversion for reporting
Then Message 18 is generated indicating TR bond diversion detected and added to report lines
R-GCX003-cbl-01348 User Authorized for Special Manifest?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifest?' is invoked, and assuming that cargo qualifies for tr bond diversion and request action is send, when the system checks user authorization for special manifest creation, the desired outcome is that if user is not authorized, generate error message 43; if authorized, proceed with manifest creation.
💻 Technical Criteria
Given Cargo qualifies for TR bond diversion and request action is SEND
When The system checks user authorization for special manifest creation
Then If user is not authorized, generate error message 43; if authorized, proceed with manifest creation
R-GCX003-cbl-01352 Create Special Manifest for TR Diversion
Action Rules
📊 Business Logic Narrative
When the process 'Create Special Manifest for TR Diversion' is invoked, and assuming that detour spawn flag is set for tr bond diversion, when the system initiates special manifest creation, the desired outcome is that special manifest creation process is invoked to handle the tr bond diversion with appropriate cargo and equipment details.
💻 Technical Criteria
Given Detour spawn flag is set for TR bond diversion
When The system initiates special manifest creation
Then Special manifest creation process is invoked to handle the TR bond diversion with appropriate cargo and equipment details
R-GCX003-cbl-00237 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'User Authorized for Special Manifests?', assuming that a user is processing it bond cargo that requires special manifest creation, when the system checks if the user is authorized for special manifests and the request is not an aei train send, the desired outcome is that if user is not authorized for special manifests, generate authorization error message 43.
💻 Technical Criteria
EXCLUDING A user is processing IT bond cargo that requires special manifest creation
When The system checks if the user is authorized for special manifests AND the request is not an AEI train send
Then If user is not authorized for special manifests, generate authorization error message 43
R-GCX003-cbl-00238 Create IT Export Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create IT Export Special Manifest', assuming that it bond cargo exists with tr-created-for-it not equal to 'y' and special manifest original flag is not set and user is authorized for special manifests, when the request action is send, the desired outcome is that set it export spawn flag to true, generate message 23, and perform special manifest creation process.
💻 Technical Criteria
EXCLUDING IT bond cargo exists with TR-CREATED-FOR-IT not equal to 'Y' AND special manifest original flag is not set AND user is authorized for special manifests
When The request action is SEND
Then Set IT export spawn flag to TRUE, generate message 23, and perform special manifest creation process
R-GCX003-cbl-00239 Generate IT Export Report Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate IT Export Report Message', assuming that it bond cargo exists with tr-created-for-it not equal to 'y' and special manifest original flag is not set, when the request action is report, the desired outcome is that generate message 24 for it export reporting.
💻 Technical Criteria
EXCLUDING IT bond cargo exists with TR-CREATED-FOR-IT not equal to 'Y' AND special manifest original flag is not set
When The request action is REPORT
Then Generate message 24 for IT export reporting
R-GCX003-cbl-00240 Create TR Diversion Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create TR Diversion Special Manifest', assuming that cargo is found with tr bond type and cargo location id does not match train crossing port, when the request action is send and user is authorized for special manifests, the desired outcome is that set diversion spawn flag to true, generate message 20, and perform special manifest creation process.
💻 Technical Criteria
EXCLUDING Cargo is found with TR bond type AND cargo location ID does not match train crossing port
When The request action is SEND AND user is authorized for special manifests
Then Set diversion spawn flag to TRUE, generate message 20, and perform special manifest creation process
R-GCX003-cbl-00241 Generate TR Diversion Report Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate TR Diversion Report Message', assuming that cargo is found with tr bond type and cargo location id does not match train crossing port, when the request action is report, the desired outcome is that generate message 19 with station code information for tr bond diversion reporting.
💻 Technical Criteria
EXCLUDING Cargo is found with TR bond type AND cargo location ID does not match train crossing port
When The request action is REPORT
Then Generate message 19 with station code information for TR bond diversion reporting
R-GCX003-cbl-00242 Create TE Port Change Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create TE Port Change Special Manifest', assuming that cargo is found with te bond type and tr-created-for-it is spaces and cargo status is not export and cargo is billed as cprs and cargo location id1 does not match train crossing port, when the request action is send and user is authorized for special manifests, the desired outcome is that set port change spawn flag to true, generate message 20, and perform special manifest creation process.
💻 Technical Criteria
EXCLUDING Cargo is found with TE bond type AND TR-CREATED-FOR-IT is SPACES AND cargo status is not export AND cargo is billed as CPRS AND cargo location ID1 does not match train crossing port
When The request action is SEND AND user is authorized for special manifests
Then Set port change spawn flag to TRUE, generate message 20, and perform special manifest creation process
R-GCX003-cbl-00243 Generate TE Port Change Report Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate TE Port Change Report Message', assuming that cargo is found with te bond type and tr-created-for-it is spaces and cargo status is not export and cargo is billed as cprs and cargo location id1 does not match train crossing port, when the request action is report, the desired outcome is that generate message 19 with station code information for te bond port change reporting.
💻 Technical Criteria
EXCLUDING Cargo is found with TE bond type AND TR-CREATED-FOR-IT is SPACES AND cargo status is not export AND cargo is billed as CPRS AND cargo location ID1 does not match train crossing port
When The request action is REPORT
Then Generate message 19 with station code information for TE bond port change reporting
R-GCX003-cbl-00246 Create US-Mexico Export Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create US-Mexico Export Special Manifest', assuming that cargo is found with export type and origin-destination country codes are 'usmx' and special manifest flag is spaces and not at laredo tx station, when the request action is send and user is authorized for special manifests, the desired outcome is that set 88-tr detour spawn flag to true, generate message 23, and perform special manifest creation process.
💻 Technical Criteria
EXCLUDING Cargo is found with export type AND origin-destination country codes are 'USMX' AND special manifest flag is SPACES AND not at Laredo TX station
When The request action is SEND AND user is authorized for special manifests
Then Set 88-TR detour spawn flag to TRUE, generate message 23, and perform special manifest creation process
R-GCX003-cbl-00247 Generate US-Mexico Export Report Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate US-Mexico Export Report Message', assuming that cargo is found with export type and origin-destination country codes are 'usmx' and special manifest flag is spaces and not at laredo tx station, when the request action is report, the desired outcome is that generate message 50 for us-mexico export reporting.
💻 Technical Criteria
EXCLUDING Cargo is found with export type AND origin-destination country codes are 'USMX' AND special manifest flag is SPACES AND not at Laredo TX station
When The request action is REPORT
Then Generate message 50 for US-Mexico export reporting
R-GCX003-cbl-00248 Create Border Clearance Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create Border Clearance Special Manifest', assuming that cargo is found with default type and tr-created-for-it is spaces and special manifest original flag is not set, when cargo status equals release status and request action is send and user is authorized for special manifests, the desired outcome is that set detour spawn flag to true, generate message 23, and perform special manifest creation process.
💻 Technical Criteria
EXCLUDING Cargo is found with default type AND TR-CREATED-FOR-IT is SPACES AND special manifest original flag is not set
When Cargo status equals release status AND request action is SEND AND user is authorized for special manifests
Then Set detour spawn flag to TRUE, generate message 23, and perform special manifest creation process
R-GCX003-cbl-00249 Generate Invalid Status Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Invalid Status Message', assuming that cargo is found with default type and tr-created-for-it is spaces and special manifest original flag is not set, when cargo status does not equal release status, the desired outcome is that generate message 31 for invalid cargo status.
💻 Technical Criteria
EXCLUDING Cargo is found with default type AND TR-CREATED-FOR-IT is SPACES AND special manifest original flag is not set
When Cargo status does not equal release status
Then Generate message 31 for invalid cargo status
R-GCX003-cbl-01354 Generate Authorization Error Message
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Authorization Error Message', assuming that a user is not authorized for special manifests and the action type is send and there are no existing errors, when the system processes it bond cargo that requires special manifest creation or processes te bond cargo requiring port change or processes tr/default bond cargo requiring detour processing, the desired outcome is that generate error message 43 indicating user is not authorized for special manifest operations and add the message to the report.
💻 Technical Criteria
EXCLUDING A user is not authorized for special manifests and the action type is SEND and there are no existing errors
When The system processes IT bond cargo that requires special manifest creation or processes TE bond cargo requiring port change or processes TR/default bond cargo requiring detour processing
Then Generate error message 43 indicating user is not authorized for special manifest operations and add the message to the report
R-GCX003-cbl-01356 Bond Type Requires Special Manifest?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Bond Type Requires Special Manifest?', assuming that cargo is found with it bond type and cargo is not already created for it and cargo does not have special manifest origin flag set, when the system processes the cargo for special manifest requirements, the desired outcome is that if user is authorized for special manifests or action is not send, then create special manifest and generate message 23 or 24, otherwise generate authorization error message 43.
💻 Technical Criteria
EXCLUDING Cargo is found with IT bond type and cargo is not already created for IT and cargo does not have special manifest origin flag set
When The system processes the cargo for special manifest requirements
Then If user is authorized for special manifests or action is not SEND, then create special manifest and generate message 23 or 24, otherwise generate authorization error message 43
R-GCX003-cbl-01357 Action Type is SEND?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Action Type is SEND?', assuming that cargo has te bond type and cargo is not created for it and cargo location does not match train crossing port and user is processing the cargo, when the action type is send and user is not authorized for special manifests, the desired outcome is that generate authorization error message 43 and do not create port change manifest, otherwise if action is send and user is authorized, generate message 20 and create port change spawn.
💻 Technical Criteria
EXCLUDING Cargo has TE bond type and cargo is not created for IT and cargo location does not match train crossing port and user is processing the cargo
When The action type is SEND and user is not authorized for special manifests
Then Generate authorization error message 43 and do not create port change manifest, otherwise if action is SEND and user is authorized, generate message 20 and create port change spawn
R-GCX003-cbl-01358 Allow Special Manifest Creation
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Allow Special Manifest Creation', assuming that cargo has us-canada-us bond type and cargo is not created for it and cargo has release status and cargo does not have special tr flag, when the action type is send and user is not authorized for special manifests, the desired outcome is that generate authorization error message 43 and do not create detour manifest, otherwise if action is send and user is authorized, generate message 23 and create detour spawn.
💻 Technical Criteria
EXCLUDING Cargo has US-Canada-US bond type and cargo is not created for IT and cargo has release status and cargo does not have special TR flag
When The action type is SEND and user is not authorized for special manifests
Then Generate authorization error message 43 and do not create detour manifest, otherwise if action is SEND and user is authorized, generate message 23 and create detour spawn
R-GCX003-cbl-01359 Continue Processing
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue Processing', assuming that cargo has default bond type and cargo is not created for it and cargo does not have special manifest origin flag, when cargo has release status and action type is send and user is not authorized for special manifests, the desired outcome is that generate authorization error message 43 and do not create detour manifest, otherwise if cargo has release status and action is send and user is authorized, generate message 23 and create detour spawn, or if cargo does not have release status, generate message 31.
💻 Technical Criteria
EXCLUDING Cargo has default bond type and cargo is not created for IT and cargo does not have special manifest origin flag
When Cargo has release status and action type is SEND and user is not authorized for special manifests
Then Generate authorization error message 43 and do not create detour manifest, otherwise if cargo has release status and action is SEND and user is authorized, generate message 23 and create detour spawn, or if cargo does not have release status, generate message 31
R-GCX003-cbl-01360 End Authorization Check
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'End Authorization Check', assuming that cargo has export bond type and cargo does not have special 88 flag and origin-destination country codes are us-mexico and train crossing port is not laredo texas station, when cargo does not have special manifest flag and action type is send and user is not authorized for special manifests, the desired outcome is that generate authorization error message 43 and do not create special manifest, otherwise if action is send and user is authorized, generate message 23 and create 88-tr detour spawn, or if cargo has special manifest flag, generate message 31.
💻 Technical Criteria
EXCLUDING Cargo has export bond type and cargo does not have special 88 flag and origin-destination country codes are US-Mexico and train crossing port is not Laredo Texas station
When Cargo does not have special manifest flag and action type is SEND and user is not authorized for special manifests
Then Generate authorization error message 43 and do not create special manifest, otherwise if action is SEND and user is authorized, generate message 23 and create 88-TR detour spawn, or if cargo has special manifest flag, generate message 31
R-GCX003-cbl-01361 IT Bond Type?
Decision Rules
📊 Business Logic Narrative
When the process 'IT Bond Type?' is invoked, and assuming that a cargo record exists with bond type and special manifest flags, when the cargo has it bond type and the special manifest original flag is set, the desired outcome is that set it export spawn flag and trigger special manifest creation.
💻 Technical Criteria
Given A cargo record exists with bond type and special manifest flags
When The cargo has IT bond type AND the special manifest original flag is set
Then Set IT export spawn flag and trigger special manifest creation
R-GCX003-cbl-01362 TE Bond Type?
Decision Rules
📊 Business Logic Narrative
When the process 'TE Bond Type?' is invoked, and assuming that a cargo record exists with bond type and special manifest flags, when the cargo has te bond type and the special manifest special flag is set, the desired outcome is that set te port change spawn flag and trigger special manifest creation.
💻 Technical Criteria
Given A cargo record exists with bond type and special manifest flags
When The cargo has TE bond type AND the special manifest special flag is set
Then Set TE port change spawn flag and trigger special manifest creation
R-GCX003-cbl-01363 Export Bond with USMX Route?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Bond with USMX Route?' is invoked, and assuming that a cargo record exists with export bond type and routing information, when the cargo is export type and has usmx country codes and has special 88 flag set, the desired outcome is that set 88 tr detour spawn flag and trigger special manifest creation.
💻 Technical Criteria
Given A cargo record exists with export bond type and routing information
When The cargo is export type AND has USMX country codes AND has special 88 flag set
Then Set 88 TR detour spawn flag and trigger special manifest creation
R-GCX003-cbl-01364 US-CAN-US Bond with Special TR Flag?
Decision Rules
📊 Business Logic Narrative
When the process 'US-CAN-US Bond with Special TR Flag?' is invoked, and assuming that a cargo record exists with bond type and special flags, when the cargo has us-canada-us bond type and has special tr flag set, the desired outcome is that set tr detour spawn flag and trigger special manifest creation.
💻 Technical Criteria
Given A cargo record exists with bond type and special flags
When The cargo has US-Canada-US bond type AND has special TR flag set
Then Set TR detour spawn flag and trigger special manifest creation
R-GCX003-cbl-01365 Default Bond Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Default Bond Type?' is invoked, and assuming that a cargo record exists with bond type classification, when the cargo has default bond type, the desired outcome is that set detour spawn flag and trigger special manifest creation.
💻 Technical Criteria
Given A cargo record exists with bond type classification
When The cargo has default bond type
Then Set detour spawn flag and trigger special manifest creation
R-GCX003-cbl-01369 Set Port Change Type in Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Set Port Change Type in Manifest' is invoked, and assuming that a special manifest record needs to be created for port change processing, when the manifest type is determined to be port change, the desired outcome is that set port change flag in manifest record and populate equipment id.
💻 Technical Criteria
Given A special manifest record needs to be created for port change processing
When The manifest type is determined to be port change
Then Set port change flag in manifest record and populate equipment ID
R-GCX003-cbl-00254 Is Cargo Empty Residue?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Empty Residue?' is invoked, and assuming that a cargo record exists and has been retrieved for processing, when the cargo is classified as empty residue type, the desired outcome is that skip all cargo status validations and proceed to completion.
💻 Technical Criteria
Given A cargo record exists and has been retrieved for processing
When The cargo is classified as empty residue type
Then Skip all cargo status validations and proceed to completion
R-GCX003-cbl-00255 Is Cargo Empty Equipment?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Cargo Empty Equipment?', assuming that a cargo record exists and is not empty residue type, when the cargo is classified as empty equipment type, the desired outcome is that skip all cargo status validations and proceed to completion.
💻 Technical Criteria
EXCLUDING A cargo record exists and is not empty residue type
When The cargo is classified as empty equipment type
Then Skip all cargo status validations and proceed to completion
R-GCX003-cbl-00256 Is Cargo Pending?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Cargo Pending?', assuming that a cargo record exists and is not empty residue or empty equipment, when the cargo status is pending, deleted, or in error state, the desired outcome is that generate cargo status error message and halt processing for this cargo.
💻 Technical Criteria
EXCLUDING A cargo record exists and is not empty residue or empty equipment
When The cargo status is pending, deleted, or in error state
Then Generate cargo status error message and halt processing for this cargo
R-GCX003-cbl-00257 Is TR Bond with Export Status?
Policy Rules
📊 Business Logic Narrative
When the process 'Is TR Bond with Export Status?' is invoked, and assuming that cargo has been found and passed initial status checks, when the cargo has tr bond type and the cargo status description indicates export status, the desired outcome is that generate tr bond export error message.
💻 Technical Criteria
Given Cargo has been found and passed initial status checks
When The cargo has TR bond type and the cargo status description indicates export status
Then Generate TR bond export error message
R-GCX003-cbl-00258 Is MT Bond at Wrong Location?
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is MT Bond at Wrong Location?', assuming that cargo has mt bond type and vessel name is not 'train' or spaces, when the train crossing port does not match the cargo location id, the desired outcome is that generate mt bond location error message.
💻 Technical Criteria
EXCLUDING Cargo has MT bond type and vessel name is not 'TRAIN' or spaces
When The train crossing port does not match the cargo location ID
Then Generate MT bond location error message
R-GCX003-cbl-00259 Is TE Bond with Wrong Vessel?
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is TE Bond with Wrong Vessel?', assuming that cargo has te bond type, when the vessel name does not have 't' in position 23, the desired outcome is that generate te bond vessel error message.
💻 Technical Criteria
EXCLUDING Cargo has TE bond type
When The vessel name does not have 'T' in position 23
Then Generate TE bond vessel error message
R-GCX003-cbl-00260 Is Non-TE/MT Bond with Wrong Vessel?
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Non-TE/MT Bond with Wrong Vessel?', assuming that cargo does not have te or mt bond type, when the vessel name is not 'train', the desired outcome is that generate vessel type error message.
💻 Technical Criteria
EXCLUDING Cargo does not have TE or MT bond type
When The vessel name is not 'TRAIN'
Then Generate vessel type error message
R-GCX003-cbl-00261 Is Cargo at Laredo Station?
Process Rules
📊 Business Logic Narrative
When the process 'Is Cargo at Laredo Station?' is invoked, and assuming that cargo has been found and passed bond validation checks, when the train crossing port is laredo tx station, the desired outcome is that perform dsp hold status checks and documentation validations.
💻 Technical Criteria
Given Cargo has been found and passed bond validation checks
When The train crossing port is Laredo TX station
Then Perform DSP hold status checks and documentation validations
R-GCX003-cbl-00262 Is Border Hold Status?
Policy Rules
📊 Business Logic Narrative
When the process 'Is Border Hold Status?' is invoked, and assuming that cargo is being processed at laredo station and cargo description indicates border hold status, when dsp hold is also applied to the cargo, the desired outcome is that generate dsp hold error message for border hold cargo.
💻 Technical Criteria
Given Cargo is being processed at Laredo station and cargo description indicates border hold status
When DSP hold is also applied to the cargo
Then Generate DSP hold error message for border hold cargo
R-GCX003-cbl-00263 Is DSP Hold Applied?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is DSP Hold Applied?', assuming that cargo is being processed at laredo station and does not have border hold status, when dsp hold is applied to the cargo, the desired outcome is that generate dsp hold warning message.
💻 Technical Criteria
EXCLUDING Cargo is being processed at Laredo station and does not have border hold status
When DSP hold is applied to the cargo
Then Generate DSP hold warning message
R-GCX003-cbl-00264 Is Border Hold Status?
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Border Hold Status?', assuming that cargo is being processed at laredo station and dsp hold is not applied, when the cargo description indicates border hold status, the desired outcome is that generate border hold error message.
💻 Technical Criteria
EXCLUDING Cargo is being processed at Laredo station and DSP hold is not applied
When The cargo description indicates border hold status
Then Generate border hold error message
R-GCX003-cbl-00265 Is FEN Documentation Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is FEN Documentation Missing?', assuming that cargo is being processed at laredo station and segment 02 data is available, when fen reference number qualifier is not found in the segment data, the desired outcome is that generate fen missing warning message.
💻 Technical Criteria
EXCLUDING Cargo is being processed at Laredo station and segment 02 data is available
When FEN reference number qualifier is not found in the segment data
Then Generate FEN missing warning message
R-GCX003-cbl-00266 Is KCM Documentation Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is KCM Documentation Missing?', assuming that cargo is being processed at laredo station and segment 02 data is available, when kcm reference number qualifier is not found in the segment data, the desired outcome is that generate kcm missing warning message.
💻 Technical Criteria
EXCLUDING Cargo is being processed at Laredo station and segment 02 data is available
When KCM reference number qualifier is not found in the segment data
Then Generate KCM missing warning message
R-GCX003-cbl-00267 Set Paper 7512 US-CA-US Message
Decision Rules
📊 Business Logic Narrative
When the process 'Set Paper 7512 US-CA-US Message' is invoked, and assuming that cargo is found and has valid bill type information, when the cargo bill type code equals '15', the desired outcome is that set the cargo information message to 'ppr 7512 15 us-ca-us'.
💻 Technical Criteria
Given Cargo is found and has valid bill type information
When The cargo bill type code equals '15'
Then Set the cargo information message to 'PPR 7512 15 US-CA-US'
R-GCX003-cbl-00268 Format AMS Bond Message with Bond Number
Decision Rules
📊 Business Logic Narrative
When the process 'Format AMS Bond Message with Bond Number' is invoked, and assuming that cargo is found with in-bond type code and bond number information available, when the in-bond type code is 'it' or 'ie', the desired outcome is that format cargo information as 'ams' followed by the in-bond type code and bond number.
💻 Technical Criteria
Given Cargo is found with in-bond type code and bond number information available
When The in-bond type code is 'IT' or 'IE'
Then Format cargo information as 'AMS' followed by the in-bond type code and bond number
R-GCX003-cbl-00269 Format AMS 7512 Bond Message with Bond Number
Decision Rules
📊 Business Logic Narrative
When the process 'Format AMS 7512 Bond Message with Bond Number' is invoked, and assuming that cargo is found with in-bond type code and bond number information available, when the in-bond type code is 'te', 'tr', or 'mt', the desired outcome is that format cargo information as 'ams 7512' followed by the in-bond type code and bond number.
💻 Technical Criteria
Given Cargo is found with in-bond type code and bond number information available
When The in-bond type code is 'TE', 'TR', or 'MT'
Then Format cargo information as 'AMS 7512' followed by the in-bond type code and bond number
R-GCX003-cbl-00270 Apply Default Bill Type Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Apply Default Bill Type Processing' is invoked, and assuming that cargo is found with bill type information, when the cargo is classified as empty equipment or empty residue, the desired outcome is that set cargo information to 'empty', set load/empty indicator to 'e', and adjust equipment counters from loaded to empty.
💻 Technical Criteria
Given Cargo is found with bill type information
When The cargo is classified as empty equipment or empty residue
Then Set cargo information to 'EMPTY', set load/empty indicator to 'E', and adjust equipment counters from loaded to empty
R-GCX003-cbl-00271 Accept Bill Type
Decision Rules
📊 Business Logic Narrative
When the process 'Accept Bill Type' is invoked, and assuming that cargo is found and segment 07 data is available and cargo information is currently blank, when no specific bill type formatting rules apply and segment data contains valid information, the desired outcome is that extract and format cargo description from segment data into the cargo information field.
💻 Technical Criteria
Given Cargo is found and segment 07 data is available and cargo information is currently blank
When No specific bill type formatting rules apply and segment data contains valid information
Then Extract and format cargo description from segment data into the cargo information field
R-GCX003-cbl-00274 Equipment Validation Passed
Process Rules
📊 Business Logic Narrative
When the process 'Equipment Validation Passed' is invoked, and assuming that an equipment item is being processed for cargo validation, when the equipment load/empty indicator shows the equipment is empty, the desired outcome is that skip cargo validation checks and mark equipment validation as passed.
💻 Technical Criteria
Given An equipment item is being processed for cargo validation
When The equipment load/empty indicator shows the equipment is empty
Then Skip cargo validation checks and mark equipment validation as passed
R-GCX003-cbl-00277 Is Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Cargo Found?' is invoked, and assuming that a cargo processing request is being evaluated, when the system checks for cargo existence, the desired outcome is that if no cargo is found, skip mexico customs documentation validation and continue with next processing step.
💻 Technical Criteria
Given A cargo processing request is being evaluated
When The system checks for cargo existence
Then If no cargo is found, skip Mexico customs documentation validation and continue with next processing step
R-GCX003-cbl-00278 Is Train Origin Laredo TX Station?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Train Origin Laredo TX Station?' is invoked, and assuming that cargo is found and being processed, when the system evaluates the train crossing station, the desired outcome is that if the crossing station is not laredo tx, skip mexico customs documentation validation.
💻 Technical Criteria
Given Cargo is found and being processed
When The system evaluates the train crossing station
Then If the crossing station is not Laredo TX, skip Mexico customs documentation validation
R-GCX003-cbl-00279 Is Segment 02 Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Segment 02 Data Found?' is invoked, and assuming that cargo is found and train origin is laredo tx station, when the system checks for segment 02 reference data availability, the desired outcome is that if segment 02 data is not found or empty, skip mexico customs documentation validation.
💻 Technical Criteria
Given Cargo is found and train origin is Laredo TX station
When The system checks for segment 02 reference data availability
Then If segment 02 data is not found or empty, skip Mexico customs documentation validation
R-GCX003-cbl-00281 Reference Number Qualifier = 'FEN'?
Decision Rules
📊 Business Logic Narrative
When the process 'Reference Number Qualifier = 'FEN'?' is invoked, and assuming that system is processing segment 02 reference numbers, when a reference number qualifier equals 'fen', the desired outcome is that check if the corresponding reference number value is not empty.
💻 Technical Criteria
Given System is processing segment 02 reference numbers
When A reference number qualifier equals 'FEN'
Then Check if the corresponding reference number value is not empty
R-GCX003-cbl-00282 Reference Number Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Reference Number Not Empty?' is invoked, and assuming that a reference number qualifier is identified as 'fen', when the system validates the reference number value, the desired outcome is that if the reference number is not empty or low-values, set fen found flag to true.
💻 Technical Criteria
Given A reference number qualifier is identified as 'FEN'
When The system validates the reference number value
Then If the reference number is not empty or low-values, set FEN found flag to true
R-GCX003-cbl-00284 Reference Number Qualifier = 'KCM'?
Decision Rules
📊 Business Logic Narrative
When the process 'Reference Number Qualifier = 'KCM'?' is invoked, and assuming that system is processing segment 02 reference numbers, when a reference number qualifier equals 'kcm', the desired outcome is that check if the corresponding reference number value is not empty.
💻 Technical Criteria
Given System is processing segment 02 reference numbers
When A reference number qualifier equals 'KCM'
Then Check if the corresponding reference number value is not empty
R-GCX003-cbl-00285 Reference Number Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Reference Number Not Empty?' is invoked, and assuming that a reference number qualifier is identified as 'kcm', when the system validates the reference number value, the desired outcome is that if the reference number is not empty or low-values, set kcm found flag to true.
💻 Technical Criteria
Given A reference number qualifier is identified as 'KCM'
When The system validates the reference number value
Then If the reference number is not empty or low-values, set KCM found flag to true
R-GCX003-cbl-00288 Is Cargo Hold at Border Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Hold at Border Status?' is invoked, and assuming that all reference numbers have been processed, when the system evaluates cargo status conditions, the desired outcome is that if cargo short description equals hold at border status, check for dsp hold application.
💻 Technical Criteria
Given All reference numbers have been processed
When The system evaluates cargo status conditions
Then If cargo short description equals hold at border status, check for DSP hold application
R-GCX003-cbl-00289 Is DSP Hold Applied?
Decision Rules
📊 Business Logic Narrative
When the process 'Is DSP Hold Applied?' is invoked, and assuming that cargo has hold at border status, when the system checks dsp hold application, the desired outcome is that if dsp hold is applied, generate message 52 for hold at border with dsp hold.
💻 Technical Criteria
Given Cargo has hold at border status
When The system checks DSP hold application
Then If DSP hold is applied, generate message 52 for hold at border with DSP hold
R-GCX003-cbl-00290 Generate Message 52: Hold at Border with DSP Hold
Action Rules
📊 Business Logic Narrative
When the process 'Generate Message 52: Hold at Border with DSP Hold' is invoked, and assuming that cargo has hold at border status and dsp hold is applied, when the system processes the combined hold conditions, the desired outcome is that generate message 52 indicating hold at border status with dsp hold applied.
💻 Technical Criteria
Given Cargo has hold at border status and DSP hold is applied
When The system processes the combined hold conditions
Then Generate message 52 indicating hold at border status with DSP hold applied
R-GCX003-cbl-00291 Is DSP Hold Applied Only?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is DSP Hold Applied Only?', assuming that cargo does not have hold at border status, when the system checks for dsp hold application, the desired outcome is that if dsp hold is applied, generate message 49 for dsp hold applied.
💻 Technical Criteria
EXCLUDING Cargo does not have hold at border status
When The system checks for DSP hold application
Then If DSP hold is applied, generate message 49 for DSP hold applied
R-GCX003-cbl-00292 Generate Message 49: DSP Hold Applied
Action Rules
📊 Business Logic Narrative
When the process 'Generate Message 49: DSP Hold Applied' is invoked, and assuming that cargo has dsp hold applied but no hold at border status, when the system processes the dsp hold condition, the desired outcome is that generate message 49 indicating dsp hold is applied.
💻 Technical Criteria
Given Cargo has DSP hold applied but no hold at border status
When The system processes the DSP hold condition
Then Generate message 49 indicating DSP hold is applied
R-GCX003-cbl-00293 Is Hold at Border Status Only?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Hold at Border Status Only?', assuming that cargo has hold at border status but dsp hold is not applied, when the system evaluates the hold at border condition, the desired outcome is that generate message 48 for hold at border status.
💻 Technical Criteria
EXCLUDING Cargo has hold at border status but DSP hold is not applied
When The system evaluates the hold at border condition
Then Generate message 48 for hold at border status
R-GCX003-cbl-00294 Generate Message 48: Hold at Border Status
Action Rules
📊 Business Logic Narrative
When the process 'Generate Message 48: Hold at Border Status' is invoked, and assuming that cargo has hold at border status but no dsp hold applied, when the system processes the hold at border condition, the desired outcome is that generate message 48 indicating hold at border status.
💻 Technical Criteria
Given Cargo has hold at border status but no DSP hold applied
When The system processes the hold at border condition
Then Generate message 48 indicating hold at border status
R-GCX003-cbl-00296 Generate Message 46: FEN Documentation Required
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Message 46: FEN Documentation Required', assuming that fen documentation is not found in cargo data, when the system validates mexico customs documentation requirements, the desired outcome is that generate message 46 indicating fen documentation is required.
💻 Technical Criteria
EXCLUDING FEN documentation is not found in cargo data
When The system validates Mexico customs documentation requirements
Then Generate message 46 indicating FEN documentation is required
R-GCX003-cbl-00298 Generate Message 47: KCM Documentation Required
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Message 47: KCM Documentation Required', assuming that kcm documentation is not found in cargo data, when the system validates mexico customs documentation requirements, the desired outcome is that generate message 47 indicating kcm documentation is required.
💻 Technical Criteria
EXCLUDING KCM documentation is not found in cargo data
When The system validates Mexico customs documentation requirements
Then Generate message 47 indicating KCM documentation is required
R-GCX003-cbl-00299 Continue Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing' is invoked, and assuming that all mexico customs documentation validation is complete, when the system has processed all required documentation checks, the desired outcome is that continue with normal cargo processing workflow.
💻 Technical Criteria
Given All Mexico customs documentation validation is complete
When The system has processed all required documentation checks
Then Continue with normal cargo processing workflow
R-GCX003-cbl-00300 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a detour processing request is initiated, when the system checks for cargo existence, the desired outcome is that if cargo is found, proceed to bond type evaluation, otherwise process as original us-us movement.
💻 Technical Criteria
Given A detour processing request is initiated
When The system checks for cargo existence
Then If cargo is found, proceed to bond type evaluation, otherwise process as original US-US movement
R-GCX003-cbl-00301 TE Bond Detour Processing
Process Rules
📊 Business Logic Narrative
When the process 'TE Bond Detour Processing' is invoked, and assuming that cargo is found and bond type is transport export (te), when the system processes te bond detour requirements, the desired outcome is that execute te bond specific detour processing logic including port change validation.
💻 Technical Criteria
Given Cargo is found and bond type is Transport Export (TE)
When The system processes TE bond detour requirements
Then Execute TE bond specific detour processing logic including port change validation
R-GCX003-cbl-00302 TR Bond Detour Processing
Process Rules
📊 Business Logic Narrative
When the process 'TR Bond Detour Processing' is invoked, and assuming that cargo is found and bond type is transit (tr), when the system processes tr bond detour requirements, the desired outcome is that execute tr bond specific detour processing logic including release status validation.
💻 Technical Criteria
Given Cargo is found and bond type is Transit (TR)
When The system processes TR bond detour requirements
Then Execute TR bond specific detour processing logic including release status validation
R-GCX003-cbl-00303 Border Clearance Detour Processing
Process Rules
📊 Business Logic Narrative
When the process 'Border Clearance Detour Processing' is invoked, and assuming that cargo is found and requires border clearance processing, when the system processes border clearance detour requirements, the desired outcome is that execute border clearance specific detour processing logic including release status validation.
💻 Technical Criteria
Given Cargo is found and requires border clearance processing
When The system processes border clearance detour requirements
Then Execute border clearance specific detour processing logic including release status validation
R-GCX003-cbl-00304 US-Mexico Export Detour Processing
Process Rules
📊 Business Logic Narrative
When the process 'US-Mexico Export Detour Processing' is invoked, and assuming that cargo is found and is us to mexico export type, when the system processes us-mexico export detour requirements, the desired outcome is that execute us-mexico export specific detour processing logic including special manifest validation.
💻 Technical Criteria
Given Cargo is found and is US to Mexico export type
When The system processes US-Mexico export detour requirements
Then Execute US-Mexico export specific detour processing logic including special manifest validation
R-GCX003-cbl-00305 Original US-US Movement Detour Processing
Process Rules
📊 Business Logic Narrative
When the process 'Original US-US Movement Detour Processing' is invoked, and assuming that no cargo is found or cargo requires us domestic movement processing, when the system processes us-us movement detour requirements, the desired outcome is that execute us domestic movement specific detour processing logic.
💻 Technical Criteria
Given No cargo is found or cargo requires US domestic movement processing
When The system processes US-US movement detour requirements
Then Execute US domestic movement specific detour processing logic
R-GCX003-cbl-00306 TE Bond: Port Change Required?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'TE Bond: Port Change Required?', assuming that transport export cargo is being processed and cargo is not created for it and cargo status is not export and cargo is billed as cprs, when the system checks if cargo location does not match the train crossing port, the desired outcome is that if locations do not match, require port change processing, otherwise skip port change.
💻 Technical Criteria
EXCLUDING Transport Export cargo is being processed and cargo is not created for IT and cargo status is not export and cargo is billed as CPRS
When The system checks if cargo location does not match the train crossing port
Then If locations do not match, require port change processing, otherwise skip port change
R-GCX003-cbl-00308 Create Port Change Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create Port Change Special Manifest' is invoked, and assuming that user is authorized and port change is required for te bond cargo and action is send, when the system creates a port change special manifest, the desired outcome is that generate message 20, set port change spawn flag, and invoke special manifest creation process.
💻 Technical Criteria
Given User is authorized and port change is required for TE bond cargo and action is SEND
When The system creates a port change special manifest
Then Generate message 20, set port change spawn flag, and invoke special manifest creation process
R-GCX003-cbl-00309 TR Bond: Release Status Check
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'TR Bond: Release Status Check', assuming that transit bond cargo is being processed and cargo is not created for it, when the system checks if cargo status equals release status, the desired outcome is that if status matches release, proceed with tr detour processing, otherwise skip.
💻 Technical Criteria
EXCLUDING Transit bond cargo is being processed and cargo is not created for IT
When The system checks if cargo status equals release status
Then If status matches release, proceed with TR detour processing, otherwise skip
R-GCX003-cbl-00311 Border Clearance: Release Status Check
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Border Clearance: Release Status Check', assuming that border clearance cargo is being processed and cargo is not created for it, when the system checks cargo release status, the desired outcome is that if status equals release, proceed with border clearance detour, if invalid status generate message 31, otherwise skip.
💻 Technical Criteria
EXCLUDING Border clearance cargo is being processed and cargo is not created for IT
When The system checks cargo release status
Then If status equals release, proceed with border clearance detour, if invalid status generate message 31, otherwise skip
R-GCX003-cbl-00313 US-MX Export: Special Manifest Check
Validation Rules
📊 Business Logic Narrative
When the process 'US-MX Export: Special Manifest Check' is invoked, and assuming that us-mexico export cargo is being processed, when the system checks if special manifest field is empty, the desired outcome is that if special manifest is empty, proceed with export detour processing, otherwise skip.
💻 Technical Criteria
Given US-Mexico export cargo is being processed
When The system checks if special manifest field is empty
Then If special manifest is empty, proceed with export detour processing, otherwise skip
R-GCX003-cbl-01374 Empty Equipment or Empty Residue?
Decision Rules
📊 Business Logic Narrative
When the process 'Empty Equipment or Empty Residue?' is invoked, and assuming that a cargo record exists for the equipment, when the cargo is classified as empty equipment (m1109 bol type) or empty residue, the desired outcome is that skip detour processing and continue with normal flow.
💻 Technical Criteria
Given A cargo record exists for the equipment
When The cargo is classified as empty equipment (M1109 BOL type) or empty residue
Then Skip detour processing and continue with normal flow
R-GCX003-cbl-01375 Special Manifest Original?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Manifest Original?' is invoked, and assuming that cargo has it bond type and cargo is found, when the cargo has special manifest original flag set, the desired outcome is that skip detour processing and continue with normal flow.
💻 Technical Criteria
Given Cargo has IT bond type and cargo is found
When The cargo has special manifest original flag set
Then Skip detour processing and continue with normal flow
R-GCX003-cbl-01376 Trigger TE Bond Port Change Processing
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Trigger TE Bond Port Change Processing', assuming that cargo has te (transport export) bond type and cargo is found, when the cargo does not have special manifest original flag or tr created for it flag is set, the desired outcome is that trigger te bond port change processing through detour mechanism.
💻 Technical Criteria
EXCLUDING Cargo has TE (Transport Export) bond type and cargo is found
When The cargo does not have special manifest original flag OR TR created for IT flag is set
Then Trigger TE bond port change processing through detour mechanism
R-GCX003-cbl-01377 Trigger TR Bond Diversion Processing
Action Rules
📊 Business Logic Narrative
When the process 'Trigger TR Bond Diversion Processing' is invoked, and assuming that cargo has us-canada-us bond type or default bond type and cargo is found, when tr created for it flag is spaces (not set) and cargo status equals release status, the desired outcome is that trigger tr bond diversion processing through detour mechanism.
💻 Technical Criteria
Given Cargo has US-Canada-US bond type or Default bond type and cargo is found
When TR created for IT flag is spaces (not set) AND cargo status equals release status
Then Trigger TR bond diversion processing through detour mechanism
R-GCX003-cbl-01378 Trigger US-MX Export Detour Processing
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Trigger US-MX Export Detour Processing', assuming that cargo has export bond type and cargo is found, when origin-destination country codes equal 'usmx' and current station is not laredo tx station, the desired outcome is that trigger us-mexico export detour processing through detour mechanism.
💻 Technical Criteria
EXCLUDING Cargo has Export bond type and cargo is found
When Origin-destination country codes equal 'USMX' AND current station is not Laredo TX station
Then Trigger US-Mexico export detour processing through detour mechanism
R-GCX003-cbl-01379 Trigger Original US-US Movement Detour Processing
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Trigger Original US-US Movement Detour Processing', assuming that no cargo is found for the equipment, when origin province state is us and destination province state is us and equipment is loaded and equipment is not a conveying car, the desired outcome is that trigger original us-us movement detour processing through detour mechanism.
💻 Technical Criteria
EXCLUDING No cargo is found for the equipment
When Origin province state is US AND destination province state is US AND equipment is loaded AND equipment is not a conveying car
Then Trigger original US-US movement detour processing through detour mechanism
R-GCX003-cbl-01380 No Detour Required
Decision Rules
📊 Business Logic Narrative
When the process 'No Detour Required' is invoked, and assuming that cargo and equipment information is available for processing, when none of the detour trigger conditions are met (empty cargo, special manifests, bond mismatches, or routing issues), the desired outcome is that continue with normal cargo processing without invoking detour procedures.
💻 Technical Criteria
Given Cargo and equipment information is available for processing
When None of the detour trigger conditions are met (empty cargo, special manifests, bond mismatches, or routing issues)
Then Continue with normal cargo processing without invoking detour procedures
R-GCX003-cbl-01615 Is Equipment Marked as Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Equipment Marked as Empty?' is invoked, and assuming that a cargo record exists for the equipment, when the cargo bol type code indicates empty equipment (m1109 empty equipment condition), the desired outcome is that the equipment should be processed as empty equipment cargo.
💻 Technical Criteria
Given A cargo record exists for the equipment
When The cargo BOL type code indicates empty equipment (M1109 empty equipment condition)
Then The equipment should be processed as empty equipment cargo
R-GCX003-cbl-01616 Check Equipment Load Indicator
Validation Rules
📊 Business Logic Narrative
When the process 'Check Equipment Load Indicator' is invoked, and assuming that a cargo record exists for the equipment, when the cargo bol type code indicates empty residue (m1109 empty residue condition), the desired outcome is that the equipment should be processed as empty residue cargo.
💻 Technical Criteria
Given A cargo record exists for the equipment
When The cargo BOL type code indicates empty residue (M1109 empty residue condition)
Then The equipment should be processed as empty residue cargo
R-GCX003-cbl-01617 Validate Residue Weight Threshold
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Residue Weight Threshold' is invoked, and assuming that an empty car has residue weight and special handling codes are present, when the residue weight is greater than 7000 pounds, the desired outcome is that the car should be flagged for special residue handling.
💻 Technical Criteria
Given An empty car has residue weight and special handling codes are present
When The residue weight is greater than 7000 pounds
Then The car should be flagged for special residue handling
R-GCX003-cbl-01618 Check Special Handling Codes
Validation Rules
📊 Business Logic Narrative
When the process 'Check Special Handling Codes' is invoked, and assuming that a shipment has special handling codes and residue weight greater than 0, when one of the special handling codes equals 'er' (empty residue threshold code), the desired outcome is that the empty residue condition should be flagged as found.
💻 Technical Criteria
Given A shipment has special handling codes and residue weight greater than 0
When One of the special handling codes equals 'ER' (Empty Residue threshold code)
Then The empty residue condition should be flagged as found
R-GCX003-cbl-01619 Route = CAMX or MXCA?
Policy Rules
📊 Business Logic Narrative
When the process 'Route = CAMX or MXCA?' is invoked, and assuming that equipment has empty equipment cargo and origin-destination country codes are available, when the origin-destination country codes equal 'camx' or 'mxca', the desired outcome is that empty equipment error message should be skipped and processing should continue.
💻 Technical Criteria
Given Equipment has empty equipment cargo and origin-destination country codes are available
When The origin-destination country codes equal 'CAMX' or 'MXCA'
Then Empty equipment error message should be skipped and processing should continue
R-GCX003-cbl-01620 Generate Empty Equipment Error Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Empty Equipment Error Message', assuming that equipment has empty equipment cargo and route is not canada-mexico or mexico-canada, when the cargo is found and marked as empty equipment, the desired outcome is that error message 27 (empty equipment message) should be generated.
💻 Technical Criteria
EXCLUDING Equipment has empty equipment cargo and route is not Canada-Mexico or Mexico-Canada
When The cargo is found and marked as empty equipment
Then Error message 27 (empty equipment message) should be generated
R-GCX003-cbl-01621 Set Equipment as Empty
Computation Rules
📊 Business Logic Narrative
When the process 'Set Equipment as Empty' is invoked, and assuming that equipment is determined to be empty (either empty equipment or empty residue), when the equipment type is container and current load indicator is 'l' (loaded), the desired outcome is that the load indicator should be changed to 'e' (empty), container loaded count should be decremented by 1, and container empty count should be incremented by 1.
💻 Technical Criteria
Given Equipment is determined to be empty (either empty equipment or empty residue)
When The equipment type is container and current load indicator is 'L' (loaded)
Then The load indicator should be changed to 'E' (empty), container loaded count should be decremented by 1, and container empty count should be incremented by 1
R-GCX003-cbl-01622 Update Load/Empty Counters
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Load/Empty Counters', assuming that equipment is determined to be empty and equipment type is not container, when the current load indicator is 'l' (loaded), the desired outcome is that the load indicator should be changed to 'e' (empty), car loaded count should be decremented by 1, and car empty count should be incremented by 1.
💻 Technical Criteria
EXCLUDING Equipment is determined to be empty and equipment type is not container
When The current load indicator is 'L' (loaded)
Then The load indicator should be changed to 'E' (empty), car loaded count should be decremented by 1, and car empty count should be incremented by 1
R-GCX003-cbl-01623 Format Equipment Info Field
Action Rules
📊 Business Logic Narrative
When the process 'Format Equipment Info Field' is invoked, and assuming that equipment is validated as empty equipment or empty residue, when the cargo type is empty equipment or empty residue, the desired outcome is that the equipment information field should be set to 'empty' and load/empty indicator should be set to 'e'.
💻 Technical Criteria
Given Equipment is validated as empty equipment or empty residue
When The cargo type is empty equipment or empty residue
Then The equipment information field should be set to 'EMPTY' and load/empty indicator should be set to 'E'
R-GCX003-cbl-01725 Initialize ER Indicator to 'N'
Process Rules
📊 Business Logic Narrative
When the process 'Initialize ER Indicator to 'N'' is invoked, and assuming that special handling code processing is starting, when the system begins to check for empty residue codes, the desired outcome is that the er indicator should be set to 'n' as the default value.
💻 Technical Criteria
Given Special handling code processing is starting
When The system begins to check for empty residue codes
Then The ER indicator should be set to 'N' as the default value
R-GCX003-cbl-01726 Check if Equipment is Empty AND Residue Weight > 0?
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Equipment is Empty AND Residue Weight > 0?' is invoked, and assuming that equipment has load/empty status and residue weight information, when the equipment load indicator is 'e' for empty and the residue weight is greater than 0, the desired outcome is that the system should proceed with special handling code array processing.
💻 Technical Criteria
Given Equipment has load/empty status and residue weight information
When The equipment load indicator is 'E' for empty AND the residue weight is greater than 0
Then The system should proceed with special handling code array processing
R-GCX003-cbl-01727 Start Loop Through Special Handling Codes Array
Process Rules
📊 Business Logic Narrative
When the process 'Start Loop Through Special Handling Codes Array' is invoked, and assuming that equipment qualifies for special handling code processing with empty status and residue weight, when the system starts processing the special handling codes array, the desired outcome is that the system should initialize array processing from position 1 and set loop control variables.
💻 Technical Criteria
Given Equipment qualifies for special handling code processing with empty status and residue weight
When The system starts processing the special handling codes array
Then The system should initialize array processing from position 1 and set loop control variables
R-GCX003-cbl-01730 Is Code = 'ER' Threshold Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Code = 'ER' Threshold Code?' is invoked, and assuming that a special handling code has been retrieved from the array, when the special handling code equals 'er', the desired outcome is that the system should identify this as an empty residue threshold code.
💻 Technical Criteria
Given A special handling code has been retrieved from the array
When The special handling code equals 'ER'
Then The system should identify this as an empty residue threshold code
R-GCX003-cbl-01731 Set ER Found Flag to TRUE
Process Rules
📊 Business Logic Narrative
When the process 'Set ER Found Flag to TRUE' is invoked, and assuming that the current special handling code equals 'er', when the empty residue threshold code is detected, the desired outcome is that the system should set the er found flag to true.
💻 Technical Criteria
Given The current special handling code equals 'ER'
When The empty residue threshold code is detected
Then The system should set the ER found flag to true
R-GCX003-cbl-01734 Set ER Indicator to 'Y'
Process Rules
📊 Business Logic Narrative
When the process 'Set ER Indicator to 'Y'' is invoked, and assuming that empty residue threshold code 'er' was found in the special handling codes array, when the er found flag is true, the desired outcome is that the system should set the er indicator to 'y'.
💻 Technical Criteria
Given Empty residue threshold code 'ER' was found in the special handling codes array
When The ER found flag is true
Then The system should set the ER indicator to 'Y'
R-GCX003-cbl-01735 ER Weight Threshold <= 7?
Decision Rules
📊 Business Logic Narrative
When the process 'ER Weight Threshold <= 7?' is invoked, and assuming that empty residue processing is active, when the empty residue weight threshold value is less than or equal to 7, the desired outcome is that the system should classify this as low-level empty residue threshold.
💻 Technical Criteria
Given Empty residue processing is active
When The empty residue weight threshold value is less than or equal to 7
Then The system should classify this as low-level empty residue threshold
R-GCX003-cbl-01736 Set ER Weight Threshold LE7 Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set ER Weight Threshold LE7 Flag' is invoked, and assuming that empty residue weight threshold is 7 or below, when the threshold level needs to be classified, the desired outcome is that the system should set the er weight threshold le7 flag.
💻 Technical Criteria
Given Empty residue weight threshold is 7 or below
When The threshold level needs to be classified
Then The system should set the ER weight threshold LE7 flag
R-GCX003-cbl-01737 ER Weight Threshold > 7?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'ER Weight Threshold > 7?', assuming that empty residue processing is active and threshold is not le7, when the empty residue weight threshold value is greater than 7, the desired outcome is that the system should classify this as high-level empty residue threshold.
💻 Technical Criteria
EXCLUDING Empty residue processing is active and threshold is not LE7
When The empty residue weight threshold value is greater than 7
Then The system should classify this as high-level empty residue threshold
R-GCX003-cbl-01738 Set ER Weight Threshold GT7 Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set ER Weight Threshold GT7 Flag' is invoked, and assuming that empty residue weight threshold is above 7, when the threshold level needs to be classified as high-level, the desired outcome is that the system should set the er weight threshold gt7 flag.
💻 Technical Criteria
Given Empty residue weight threshold is above 7
When The threshold level needs to be classified as high-level
Then The system should set the ER weight threshold GT7 flag
R-GCX003-cbl-01848 Get Next Special Handling Code from Array Position
Decision Rules
📊 Business Logic Narrative
When the process 'Get Next Special Handling Code from Array Position' is invoked, and assuming that a shipment has commodity data with special handling codes array and residue weight is greater than 0 and equipment is marked as empty, when the system processes each special handling code in the array up to position 8 and finds a code matching the er threshold code, the desired outcome is that the system sets the empty residue found flag to true and continues processing remaining codes in the array.
💻 Technical Criteria
Given A shipment has commodity data with special handling codes array and residue weight is greater than 0 and equipment is marked as empty
When The system processes each special handling code in the array up to position 8 and finds a code matching the ER threshold code
Then The system sets the empty residue found flag to true and continues processing remaining codes in the array
R-GCX003-cbl-01849 Get Next Special Handling Code from Array Position
Process Rules
📊 Business Logic Narrative
When the process 'Get Next Special Handling Code from Array Position' is invoked, and assuming that a shipment requires special handling code processing for empty residue detection, when the system begins processing special handling codes, the desired outcome is that the system sets empty residue indicator to 'n' and initializes array position counter sub1 to 1.
💻 Technical Criteria
Given A shipment requires special handling code processing for empty residue detection
When The system begins processing special handling codes
Then The system sets empty residue indicator to 'N' and initializes array position counter SUB1 to 1
R-GCX003-cbl-01381 Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a request for detour processing is initiated, when the system checks for cargo existence, the desired outcome is that if cargo is found, proceed to bond type classification; if no cargo is found, proceed to original us-us movement detour processing.
💻 Technical Criteria
Given A request for detour processing is initiated
When The system checks for cargo existence
Then If cargo is found, proceed to bond type classification; if no cargo is found, proceed to original US-US movement detour processing
R-GCX003-cbl-01382 Bond Type Classification
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type Classification' is invoked, and assuming that cargo exists and detour processing is required, when the system evaluates the cargo bond type, the desired outcome is that if bond type is te (transport export), route to te bond detour processing; if bond type is tr (transit), route to tr bond detour processing; if bond type is default, route to border clearance detour processing; if bond type is export, route to us-mx export detour processing.
💻 Technical Criteria
Given Cargo exists and detour processing is required
When The system evaluates the cargo bond type
Then If bond type is TE (Transport Export), route to TE bond detour processing; if bond type is TR (Transit), route to TR bond detour processing; if bond type is default, route to border clearance detour processing; if bond type is export, route to US-MX export detour processing
R-GCX003-cbl-01383 Port Change Required?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Port Change Required?', assuming that te bond cargo is being processed and cargo is not created for it and cargo status is not export and cargo is billable as cprs, when the system compares the cargo location id with the station code, the desired outcome is that if the cargo location id does not match the station code, proceed to release status check; otherwise, end detour processing.
💻 Technical Criteria
EXCLUDING TE bond cargo is being processed and cargo is not created for IT and cargo status is not export and cargo is billable as CPRS
When The system compares the cargo location ID with the station code
Then If the cargo location ID does not match the station code, proceed to release status check; otherwise, end detour processing
R-GCX003-cbl-01384 Release Status Check
Validation Rules
📊 Business Logic Narrative
When the process 'Release Status Check' is invoked, and assuming that cargo requires detour processing and port change conditions are met, when the system checks the cargo release status, the desired outcome is that if cargo status is not export status and meets release criteria, proceed to user authorization check; otherwise, continue with standard processing.
💻 Technical Criteria
Given Cargo requires detour processing and port change conditions are met
When The system checks the cargo release status
Then If cargo status is not export status and meets release criteria, proceed to user authorization check; otherwise, continue with standard processing
R-GCX003-cbl-01389 Generate Port Change Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Generate Port Change Manifest' is invoked, and assuming that te bond cargo requires port change and user is authorized, when the system generates a port change manifest, the desired outcome is that create gcx101 spawn with port change flag set and include cargo details for manifest processing.
💻 Technical Criteria
Given TE bond cargo requires port change and user is authorized
When The system generates a port change manifest
Then Create GCX101 spawn with port change flag set and include cargo details for manifest processing
R-GCX003-cbl-01390 Generate TR Bond Detour Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate TR Bond Detour Manifest', assuming that tr bond cargo is not created for it and has release status, when the system generates a tr bond detour manifest, the desired outcome is that create gcx101 spawn with detour flag set and include cargo and equipment details for manifest processing.
💻 Technical Criteria
EXCLUDING TR bond cargo is not created for IT and has release status
When The system generates a TR bond detour manifest
Then Create GCX101 spawn with detour flag set and include cargo and equipment details for manifest processing
R-GCX003-cbl-01391 Generate Border Clearance Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Border Clearance Manifest', assuming that default bond cargo is not created for it and has release status, when the system generates a border clearance manifest, the desired outcome is that create gcx101 spawn with detour flag set for border clearance processing.
💻 Technical Criteria
EXCLUDING Default bond cargo is not created for IT and has release status
When The system generates a border clearance manifest
Then Create GCX101 spawn with detour flag set for border clearance processing
R-GCX003-cbl-01392 Generate US-MX Export Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Generate US-MX Export Manifest' is invoked, and assuming that export cargo with us-mx country codes at non-laredo station and special manifest field is empty, when the system generates a us-mx export manifest, the desired outcome is that create gcx101 spawn with export tr flag set for special manifest processing.
💻 Technical Criteria
Given Export cargo with US-MX country codes at non-Laredo station and special manifest field is empty
When The system generates a US-MX export manifest
Then Create GCX101 spawn with export TR flag set for special manifest processing
R-GCX003-cbl-00316 Is TE Bond Cargo?
Validation Rules
📊 Business Logic Narrative
When the process 'Is TE Bond Cargo?' is invoked, and assuming that a cargo record is being processed for port change validation, when the system checks the cargo's in-bond type code, the desired outcome is that if the cargo is not te (transport export) bond type, skip port change processing and exit.
💻 Technical Criteria
Given A cargo record is being processed for port change validation
When The system checks the cargo's in-bond type code
Then If the cargo is not TE (Transport Export) bond type, skip port change processing and exit
R-GCX003-cbl-00317 TR Created for IT = Spaces?
Validation Rules
📊 Business Logic Narrative
When the process 'TR Created for IT = Spaces?' is invoked, and assuming that a te bond cargo is being processed for port change, when the system checks if a tr record was previously created for it purposes, the desired outcome is that if tr was already created for it (field is not spaces), skip port change processing and exit.
💻 Technical Criteria
Given A TE bond cargo is being processed for port change
When The system checks if a TR record was previously created for IT purposes
Then If TR was already created for IT (field is not spaces), skip port change processing and exit
R-GCX003-cbl-00318 Cargo Status ≠ Export?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Status ≠ Export?' is invoked, and assuming that a te bond cargo with no tr created for it is being processed, when the system checks the cargo's short description status, the desired outcome is that if the cargo status equals export status, skip port change processing and exit.
💻 Technical Criteria
Given A TE bond cargo with no TR created for IT is being processed
When The system checks the cargo's short description status
Then If the cargo status equals export status, skip port change processing and exit
R-GCX003-cbl-00319 Is CPRS Bill?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is CPRS Bill?', assuming that a te bond cargo that is not in export status and has no tr created for it, when the system checks if the cargo is billed as cprs, the desired outcome is that if the cargo is not billed as cprs, skip port change processing and exit.
💻 Technical Criteria
EXCLUDING A TE bond cargo that is not in export status and has no TR created for IT
When The system checks if the cargo is billed as CPRS
Then If the cargo is not billed as CPRS, skip port change processing and exit
R-GCX003-cbl-00320 Location ID1 ≠ Current Port?
Decision Rules
📊 Business Logic Narrative
When the process 'Location ID1 ≠ Current Port?' is invoked, and assuming that a te bond cargo that is cprs billed and meets all previous validation criteria, when the system compares the cargo's location id1 with the current station crossing port code, the desired outcome is that if the locations match, skip port change processing and exit; if they differ, proceed with port change handling.
💻 Technical Criteria
Given A TE bond cargo that is CPRS billed and meets all previous validation criteria
When The system compares the cargo's location ID1 with the current station crossing port code
Then If the locations match, skip port change processing and exit; if they differ, proceed with port change handling
R-GCX003-cbl-00321 Generate Port Change Warning Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Port Change Warning Message' is invoked, and assuming that a port location mismatch is detected for te bond cargo, when the request action is set to report, the desired outcome is that generate message nineteen with the current station crossing port code and add the report line to output.
💻 Technical Criteria
Given A port location mismatch is detected for TE bond cargo
When The request action is set to REPORT
Then Generate message nineteen with the current station crossing port code and add the report line to output
R-GCX003-cbl-00327 Cargo Found with TR Bond Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found with TR Bond Type?' is invoked, and assuming that a cargo record is being processed for detour evaluation, when the system checks the cargo bond type code, the desired outcome is that if cargo has bond type 'us-can-us' and is not flagged with special usmx tr processing, proceed with tr bond detour processing, otherwise skip tr bond processing.
💻 Technical Criteria
Given A cargo record is being processed for detour evaluation
When The system checks the cargo bond type code
Then If cargo has bond type 'US-CAN-US' and is not flagged with special USMX TR processing, proceed with TR bond detour processing, otherwise skip TR bond processing
R-GCX003-cbl-00328 TR Created for IT Flag = Spaces?
Validation Rules
📊 Business Logic Narrative
When the process 'TR Created for IT Flag = Spaces?' is invoked, and assuming that cargo with tr bond type is being evaluated for detour processing, when the system checks the tr created for it flag, the desired outcome is that if the tr created for it flag is blank (spaces), continue with tr bond detour processing, otherwise skip processing as tr already exists.
💻 Technical Criteria
Given Cargo with TR bond type is being evaluated for detour processing
When The system checks the TR created for IT flag
Then If the TR created for IT flag is blank (spaces), continue with TR bond detour processing, otherwise skip processing as TR already exists
R-GCX003-cbl-00329 Cargo Status = Release?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Status = Release?' is invoked, and assuming that tr bond cargo with blank tr created flag is being processed, when the system compares the cargo short description with the release status constant, the desired outcome is that if cargo short description equals the release status value, proceed with action-based processing, otherwise skip tr bond detour processing.
💻 Technical Criteria
Given TR bond cargo with blank TR created flag is being processed
When The system compares the cargo short description with the release status constant
Then If cargo short description equals the release status value, proceed with action-based processing, otherwise skip TR bond detour processing
R-GCX003-cbl-00330 Request Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Request Action Type?' is invoked, and assuming that tr bond cargo with release status is ready for detour processing, when the system evaluates the request action type, the desired outcome is that if action is report, generate warning message 18 for tr bond detour detection; if action is send, check user authorization for special manifests.
💻 Technical Criteria
Given TR bond cargo with release status is ready for detour processing
When The system evaluates the request action type
Then If action is REPORT, generate warning message 18 for TR bond detour detection; if action is SEND, check user authorization for special manifests
R-GCX003-cbl-00337 Check if TR Created for IT = SPACES
Validation Rules
📊 Business Logic Narrative
When the process 'Check if TR Created for IT = SPACES' is invoked, and assuming that a cargo record exists with default manifest type, when the system checks the tr created for it field, the desired outcome is that processing continues only if tr created for it field is empty (spaces).
💻 Technical Criteria
Given A cargo record exists with default manifest type
When The system checks the TR created for IT field
Then Processing continues only if TR created for IT field is empty (SPACES)
R-GCX003-cbl-00338 Check Cargo Status Description
Decision Rules
📊 Business Logic Narrative
When the process 'Check Cargo Status Description' is invoked, and assuming that a cargo record with tr created for it field as spaces, when the system evaluates the cargo short description status, the desired outcome is that if status equals release, proceed with detour processing, otherwise generate invalid cargo status message.
💻 Technical Criteria
Given A cargo record with TR created for IT field as SPACES
When The system evaluates the cargo short description status
Then If status equals RELEASE, proceed with detour processing, otherwise generate invalid cargo status message
R-GCX003-cbl-00339 Request Action Type?
Process Rules
📊 Business Logic Narrative
When the process 'Request Action Type?' is invoked, and assuming that a cargo record with release status for border clearance, when the system checks the request action type, the desired outcome is that if action is report, generate detour report message; if action is send, check user authorization.
💻 Technical Criteria
Given A cargo record with release status for border clearance
When The system checks the request action type
Then If action is REPORT, generate detour report message; if action is SEND, check user authorization
R-GCX003-cbl-00340 Generate Message 18 - Detour Report
Action Rules
📊 Business Logic Narrative
When the process 'Generate Message 18 - Detour Report' is invoked, and assuming that a request action type of report for border clearance cargo, when the system processes the detour requirement, the desired outcome is that generate message 18 indicating detour required and add to report output.
💻 Technical Criteria
Given A request action type of REPORT for border clearance cargo
When The system processes the detour requirement
Then Generate message 18 indicating detour required and add to report output
R-GCX003-cbl-00341 User Authorized for Special Manifest?
Authorization Rules
📊 Business Logic Narrative
When the process 'User Authorized for Special Manifest?' is invoked, and assuming that a send request for border clearance cargo requiring special manifest, when the system validates user special manifest authorization, the desired outcome is that if user is not authorized, generate authorization error message; if authorized, proceed with manifest creation.
💻 Technical Criteria
Given A SEND request for border clearance cargo requiring special manifest
When The system validates user special manifest authorization
Then If user is not authorized, generate authorization error message; if authorized, proceed with manifest creation
R-GCX003-cbl-00342 Generate Message 43 - Not Authorized
Authorization Rules
📊 Business Logic Narrative
When the process 'Generate Message 43 - Not Authorized' is invoked, and assuming that a user without special manifest authorization attempting to send border clearance cargo, when the system validates authorization permissions, the desired outcome is that generate message 43 indicating user not authorized for special manifest and add to report output.
💻 Technical Criteria
Given A user without special manifest authorization attempting to send border clearance cargo
When The system validates authorization permissions
Then Generate message 43 indicating user not authorized for special manifest and add to report output
R-GCX003-cbl-00343 Generate Message 23 - Special Manifest Created
Action Rules
📊 Business Logic Narrative
When the process 'Generate Message 23 - Special Manifest Created' is invoked, and assuming that an authorized user sending border clearance cargo requiring special manifest, when the system creates the special manifest, the desired outcome is that generate message 23 confirming special manifest creation and add to report output.
💻 Technical Criteria
Given An authorized user sending border clearance cargo requiring special manifest
When The system creates the special manifest
Then Generate message 23 confirming special manifest creation and add to report output
R-GCX003-cbl-00346 Generate Message 31 - Invalid Cargo Status
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Message 31 - Invalid Cargo Status', assuming that a cargo record with tr created for it as spaces but cargo status not equal to release, when the system validates cargo status for border clearance, the desired outcome is that generate message 31 indicating invalid cargo status and add to report output.
💻 Technical Criteria
EXCLUDING A cargo record with TR created for IT as SPACES but cargo status not equal to RELEASE
When The system validates cargo status for border clearance
Then Generate message 31 indicating invalid cargo status and add to report output
R-GCX003-cbl-00355 Check Export Bill Type 88?
Validation Rules
📊 Business Logic Narrative
When the process 'Check Export Bill Type 88?' is invoked, and assuming that a cargo record exists with bill type code, when processing us-mexico export detour and bill type code is checked, the desired outcome is that continue processing only if bill type code equals export type 88, otherwise skip processing.
💻 Technical Criteria
Given A cargo record exists with bill type code
When Processing US-Mexico export detour and bill type code is checked
Then Continue processing only if bill type code equals Export type 88, otherwise skip processing
R-GCX003-cbl-00357 Check Special 88 Manifest Flag?
Validation Rules
📊 Business Logic Narrative
When the process 'Check Special 88 Manifest Flag?' is invoked, and assuming that a cargo record with us-mexico export type 88, when checking special manifest requirements, the desired outcome is that continue processing if special 88 manifest flag is set, otherwise check if special manifest field is empty.
💻 Technical Criteria
Given A cargo record with US-Mexico export type 88
When Checking special manifest requirements
Then Continue processing if special 88 manifest flag is set, otherwise check if special manifest field is empty
R-GCX003-cbl-00359 Check Special Manifest Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Check Special Manifest Empty?' is invoked, and assuming that a cargo record for us-mexico export processing, when special manifest field is checked, the desired outcome is that continue with detour processing if special manifest field is empty (spaces), otherwise skip processing.
💻 Technical Criteria
Given A cargo record for US-Mexico export processing
When Special manifest field is checked
Then Continue with detour processing if special manifest field is empty (spaces), otherwise skip processing
R-GCX003-cbl-00360 Generate Report Message 50
Decision Rules
📊 Business Logic Narrative
When the process 'Generate Report Message 50' is invoked, and assuming that a valid us-mexico export detour scenario with empty special manifest, when request action type is 'report', the desired outcome is that generate message 50 and add to report without creating special manifest.
💻 Technical Criteria
Given A valid US-Mexico export detour scenario with empty special manifest
When Request action type is 'REPORT'
Then Generate message 50 and add to report without creating special manifest
R-GCX003-cbl-00363 Generate Error Message 31 - Invalid Status
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message 31 - Invalid Status', assuming that a cargo record that doesn't meet export type 88 criteria, when cargo status is invalid for us-mexico export processing, the desired outcome is that generate error message 31 indicating invalid cargo status.
💻 Technical Criteria
EXCLUDING A cargo record that doesn't meet export type 88 criteria
When Cargo status is invalid for US-Mexico export processing
Then Generate error message 31 indicating invalid cargo status
R-GCX003-cbl-00366 Container Found or Conveying Car with Load?
Decision Rules
📊 Business Logic Narrative
When the process 'Container Found or Conveying Car with Load?' is invoked, and assuming that an equipment item is being processed for a train manifest, when the system checks if the equipment has containers or is a conveying car with load status, the desired outcome is that container processing is initiated if container is found or if equipment is a conveying car with loaded status, otherwise container processing is skipped.
💻 Technical Criteria
Given An equipment item is being processed for a train manifest
When The system checks if the equipment has containers or is a conveying car with load status
Then Container processing is initiated if container is found OR if equipment is a conveying car with loaded status, otherwise container processing is skipped
R-GCX003-cbl-00369 Get Next Container Equipment Record
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Container Equipment Record' is invoked, and assuming that container segment is found in fwswrwr database, when the system retrieves the next container equipment record using gnp function, the desired outcome is that container equipment details are loaded for processing.
💻 Technical Criteria
Given Container segment is found in FWSWRWR database
When The system retrieves the next container equipment record using GNP function
Then Container equipment details are loaded for processing
R-GCX003-cbl-00370 Move Container ID to Equipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Move Container ID to Equipment ID' is invoked, and assuming that a valid container equipment record is retrieved, when the system processes the container information, the desired outcome is that the container id is assigned to the working equipment id variable for further processing.
💻 Technical Criteria
Given A valid container equipment record is retrieved
When The system processes the container information
Then The container ID is assigned to the working equipment ID variable for further processing
R-GCX003-cbl-00371 More Containers on This Car?
Decision Rules
📊 Business Logic Narrative
When the process 'More Containers on This Car?' is invoked, and assuming that a container has been processed for a rail car, when the system checks for additional containers using inquiry system data, the desired outcome is that processing continues with next container if more containers exist, otherwise container processing is marked complete.
💻 Technical Criteria
Given A container has been processed for a rail car
When The system checks for additional containers using inquiry system data
Then Processing continues with next container if more containers exist, otherwise container processing is marked complete
R-GCX003-cbl-00372 Increment Container Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Increment Container Sequence' is invoked, and assuming that multiple containers exist on the same rail car, when the system processes containers sequentially, the desired outcome is that the container sequence counter is incremented to process the next container.
💻 Technical Criteria
Given Multiple containers exist on the same rail car
When The system processes containers sequentially
Then The container sequence counter is incremented to process the next container
R-GCX003-cbl-00373 Valid Container ID?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Container ID?' is invoked, and assuming that a container id is retrieved from the sequence, when the system validates the container id, the desired outcome is that processing continues if container id is not spaces or low-values, otherwise container processing is marked complete.
💻 Technical Criteria
Given A container ID is retrieved from the sequence
When The system validates the container ID
Then Processing continues if container ID is not spaces or low-values, otherwise container processing is marked complete
R-GCX003-cbl-00376 Generate Container Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Container Not Found Error', assuming that container processing is required but container is not found in any database, when both fwswrwr and fwiq inquiry systems return no container information, the desired outcome is that error message 11 is generated indicating container not found.
💻 Technical Criteria
EXCLUDING Container processing is required but container is not found in any database
When Both FWSWRWR and FWIQ inquiry systems return no container information
Then Error message 11 is generated indicating container not found
R-GCX003-cbl-01407 Build Detail Headers
Process Rules
📊 Business Logic Narrative
When the process 'Build Detail Headers' is invoked, and assuming that a train manifest report structure is being finalized, when setting up the detail section headers, the desired outcome is that set detail header line 1 and detail header line 2 flags to create column headers for equipment and cargo details.
💻 Technical Criteria
Given A train manifest report structure is being finalized
When Setting up the detail section headers
Then Set detail header line 1 and detail header line 2 flags to create column headers for equipment and cargo details
R-GCX003-cbl-00408 Initialize Train Header Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Train Header Record' is invoked, and assuming that a train record creation process is initiated, when the system begins creating a new train database record, the desired outcome is that the train header record structure is initialized to empty values.
💻 Technical Criteria
Given A train record creation process is initiated
When The system begins creating a new train database record
Then The train header record structure is initialized to empty values
R-GCX003-cbl-00413 Initialize Equipment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Equipment Counter' is invoked, and assuming that aei send flag is configured, when the system initializes equipment processing, the desired outcome is that the equipment quantity counter is set to zero.
💻 Technical Criteria
Given AEI send flag is configured
When The system initializes equipment processing
Then The equipment quantity counter is set to zero
R-GCX003-cbl-00414 More Equipment to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Equipment to Process?' is invoked, and assuming that equipment processing is in progress with current report index position, when the system checks for more equipment to process, the desired outcome is that continue processing if report index is within the last line limit and equipment table is not full, otherwise stop processing.
💻 Technical Criteria
Given Equipment processing is in progress with current report index position
When The system checks for more equipment to process
Then Continue processing if report index is within the last line limit and equipment table is not full, otherwise stop processing
R-GCX003-cbl-00415 Extract Equipment Details
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Details' is invoked, and assuming that more equipment exists to process and current report line contains equipment data, when the system extracts equipment details, the desired outcome is that equipment id is extracted from either container id or car identification fields, and equipment type information is captured.
💻 Technical Criteria
Given More equipment exists to process and current report line contains equipment data
When The system extracts equipment details
Then Equipment ID is extracted from either container ID or car identification fields, and equipment type information is captured
R-GCX003-cbl-00416 Determine Equipment Type
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Equipment Type' is invoked, and assuming that equipment details are extracted from the report line, when the system determines equipment type, the desired outcome is that equipment is classified as container if container id exists, otherwise classified as railcar using car identification.
💻 Technical Criteria
Given Equipment details are extracted from the report line
When The system determines equipment type
Then Equipment is classified as container if container ID exists, otherwise classified as railcar using car identification
R-GCX003-cbl-00417 Set Load/Empty Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Load/Empty Status' is invoked, and assuming that equipment type is determined and cargo information is available, when the system sets load/empty status, the desired outcome is that status is set to 'e' (empty) if no cargo key exists, otherwise set to the load/empty indicator from the report line.
💻 Technical Criteria
Given Equipment type is determined and cargo information is available
When The system sets load/empty status
Then Status is set to 'E' (empty) if no cargo key exists, otherwise set to the load/empty indicator from the report line
R-GCX003-cbl-00418 Store Equipment Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Equipment Information' is invoked, and assuming that equipment type is determined and load/empty status is set, when the system stores equipment information, the desired outcome is that equipment id, equipment type, load/empty status, cargo key, and condition response code are stored in the equipment table at the current quantity position.
💻 Technical Criteria
Given Equipment type is determined and load/empty status is set
When The system stores equipment information
Then Equipment ID, equipment type, load/empty status, cargo key, and condition response code are stored in the equipment table at the current quantity position
R-GCX003-cbl-00419 Increment Equipment Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Equipment Counter' is invoked, and assuming that equipment information is stored in the equipment table, when the system increments the equipment counter, the desired outcome is that the equipment quantity counter is increased by one.
💻 Technical Criteria
Given Equipment information is stored in the equipment table
When The system increments the equipment counter
Then The equipment quantity counter is increased by one
R-GCX003-cbl-00420 Equipment Table Full?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Table Full?' is invoked, and assuming that equipment counter is incremented and current report index position is known, when the system checks equipment table capacity, the desired outcome is that if equipment quantity equals maximum capacity and more report lines exist, trigger system abend for table overflow, otherwise continue processing.
💻 Technical Criteria
Given Equipment counter is incremented and current report index position is known
When The system checks equipment table capacity
Then If equipment quantity equals maximum capacity and more report lines exist, trigger system abend for table overflow, otherwise continue processing
R-GCX003-cbl-00421 Insert Train Record to Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Train Record to Database' is invoked, and assuming that all equipment is processed and train header is complete, when the system inserts the train record to database, the desired outcome is that the train list record is inserted into the gcsutrt and gcsutdp database tables.
💻 Technical Criteria
Given All equipment is processed and train header is complete
When The system inserts the train record to database
Then The train list record is inserted into the GCSUTRT and GCSUTDP database tables
R-GCX003-cbl-00424 Database Insert Failed - Abend
Action Rules
📊 Business Logic Narrative
When the process 'Database Insert Failed - Abend' is invoked, and assuming that database insertion fails or equipment table overflow occurs, when the system handles database insert failure, the desired outcome is that system abend is triggered with appropriate error message.
💻 Technical Criteria
Given Database insertion fails or equipment table overflow occurs
When The system handles database insert failure
Then System abend is triggered with appropriate error message
R-GCX003-cbl-00426 Initialize Route Search Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Route Search Variables' is invoked, and assuming that equipment routing classification process is starting, when the system begins route pattern analysis, the desired outcome is that route search variables are initialized and route not found flag is set to true.
💻 Technical Criteria
Given Equipment routing classification process is starting
When The system begins route pattern analysis
Then Route search variables are initialized and route not found flag is set to true
R-GCX003-cbl-00427 Set Equipment Routing Flag = 3 for CSXT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Equipment Routing Flag = 3 for CSXT' is invoked, and assuming that equipment has routing information with csxt as first carrier, cprs as second carrier, and det as junction, when the system analyzes the route pattern, the desired outcome is that equipment routing indicator is set to 3 and route found flag is set to true.
💻 Technical Criteria
Given Equipment has routing information with CSXT as first carrier, CPRS as second carrier, and DET as junction
When The system analyzes the route pattern
Then Equipment routing indicator is set to 3 and route found flag is set to true
R-GCX003-cbl-00428 Set Equipment Routing Flag = 4 for NS
Decision Rules
📊 Business Logic Narrative
When the process 'Set Equipment Routing Flag = 4 for NS' is invoked, and assuming that equipment has routing information with ns as first carrier, cprs as second carrier, and det as junction, when the system analyzes the route pattern, the desired outcome is that equipment routing indicator is set to 4 and route found flag is set to true.
💻 Technical Criteria
Given Equipment has routing information with NS as first carrier, CPRS as second carrier, and DET as junction
When The system analyzes the route pattern
Then Equipment routing indicator is set to 4 and route found flag is set to true
R-GCX003-cbl-00429 Set Equipment Routing Flag = 2 for Haulage
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Equipment Routing Flag = 2 for Haulage', assuming that equipment does not match csxt-cprs-det or ns-cprs-det patterns and has hazardous materials indicator, when the system checks for hazmat classification, the desired outcome is that equipment routing indicator is set to 2 and route found flag is set to true.
💻 Technical Criteria
EXCLUDING Equipment does not match CSXT-CPRS-DET or NS-CPRS-DET patterns and has hazardous materials indicator
When The system checks for hazmat classification
Then Equipment routing indicator is set to 2 and route found flag is set to true
R-GCX003-cbl-00430 Set Equipment Routing Flag = 1 for Empty/No Route
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Equipment Routing Flag = 1 for Empty/No Route', assuming that equipment does not match any specific routing patterns or no routing information is found, when the system completes route pattern analysis without finding a match, the desired outcome is that equipment routing indicator is set to 1 as the default classification.
💻 Technical Criteria
EXCLUDING Equipment does not match any specific routing patterns or no routing information is found
When The system completes route pattern analysis without finding a match
Then Equipment routing indicator is set to 1 as the default classification
R-GCX003-cbl-00432 Call GCCU358T Module for EDI Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCU358T Module for EDI Transmission' is invoked, and assuming that a validated train list exists with all required equipment and cargo information, when the edi transmission is executed through gccu358t module, the desired outcome is that the train list data must be transmitted to us customs edi system.
💻 Technical Criteria
Given A validated train list exists with all required equipment and cargo information
When The EDI transmission is executed through GCCU358T module
Then The train list data must be transmitted to US Customs EDI system
R-GCX003-cbl-00439 Add Equipment Total Count to Status Line
Computation Rules
📊 Business Logic Narrative
When the process 'Add Equipment Total Count to Status Line' is invoked, and assuming that equipment processing has been completed for a train manifest, when the system prepares the status line for customs transmission, the desired outcome is that the total equipment count must be moved to the status line and the status line must be assigned to email text line 5.
💻 Technical Criteria
Given Equipment processing has been completed for a train manifest
When The system prepares the status line for customs transmission
Then The total equipment count must be moved to the status line and the status line must be assigned to email text line 5
R-GCX003-cbl-01429 Format Status Line with Equipment Totals
Computation Rules
📊 Business Logic Narrative
When the process 'Format Status Line with Equipment Totals' is invoked, and assuming that header lines have been copied to email format, when the system formats the status line, the desired outcome is that total equipment count is populated in status line and status line is copied to email text line 5.
💻 Technical Criteria
Given Header lines have been copied to email format
When The system formats the status line
Then Total equipment count is populated in status line and status line is copied to email text line 5
R-GCX003-cbl-01442 More Report Lines to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Report Lines to Process?' is invoked, and assuming that report lines are being processed for email transmission, when the system checks for remaining lines to process, the desired outcome is that the system shall continue processing if the current line is not empty or low-values and the maximum email line limit has not been exceeded.
💻 Technical Criteria
Given Report lines are being processed for email transmission
When The system checks for remaining lines to process
Then The system shall continue processing if the current line is not empty or low-values and the maximum email line limit has not been exceeded
R-GCX003-cbl-00452 More Report Lines to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Report Lines to Process?' is invoked, and assuming that email processing is in progress with a current mail subscription counter, when the system checks for more lines to process, the desired outcome is that continue processing if the current line is not empty or low-values and the mail subscription counter has not exceeded the maximum email line limit.
💻 Technical Criteria
Given Email processing is in progress with a current mail subscription counter
When The system checks for more lines to process
Then Continue processing if the current line is not empty or low-values AND the mail subscription counter has not exceeded the maximum email line limit
R-GCX003-cbl-00474 Has Warnings?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Warnings?' is invoked, and assuming that a selective report display mode is active, when the system checks for warning conditions in the report, the desired outcome is that only header lines are sent if no warnings exist, otherwise header and warning lines from the equipment section are included.
💻 Technical Criteria
Given A selective report display mode is active
When The system checks for warning conditions in the report
Then Only header lines are sent if no warnings exist, otherwise header and warning lines from the equipment section are included
R-GCX003-cbl-00513 Build Header Line 1 - Train ID and Car Counts
Process Rules
📊 Business Logic Narrative
When the process 'Build Header Line 1 - Train ID and Car Counts' is invoked, and assuming that enhanced report generation is active for laredo tx station, when the system builds the first header line, the desired outcome is that the header includes us customer train id, total loaded cars count, and total empty cars count.
💻 Technical Criteria
Given Enhanced report generation is active for Laredo TX station
When The system builds the first header line
Then The header includes US customer train ID, total loaded cars count, and total empty cars count
R-GCX003-cbl-00514 Build Header Line 2 - ETA Date/Time and Container Counts
Process Rules
📊 Business Logic Narrative
When the process 'Build Header Line 2 - ETA Date/Time and Container Counts' is invoked, and assuming that enhanced report generation is active and first header is complete, when the system builds the second header line, the desired outcome is that the header includes eta century (19 for years >94, 20 otherwise), eta year/month/day/hour/minute, total loaded containers count, and total empty containers count.
💻 Technical Criteria
Given Enhanced report generation is active and first header is complete
When The system builds the second header line
Then The header includes ETA century (19 for years >94, 20 otherwise), ETA year/month/day/hour/minute, total loaded containers count, and total empty containers count
R-GCX003-cbl-00515 Build Header Line 3 - Port Code/Name and Locomotive Count
Process Rules
📊 Business Logic Narrative
When the process 'Build Header Line 3 - Port Code/Name and Locomotive Count' is invoked, and assuming that enhanced report generation is active and previous headers are complete, when the system builds the third header line, the desired outcome is that the header includes us station code, us station name, total locomotives count, and calculated total equipment count (cars + containers + locomotives).
💻 Technical Criteria
Given Enhanced report generation is active and previous headers are complete
When The system builds the third header line
Then The header includes US station code, US station name, total locomotives count, and calculated total equipment count (cars + containers + locomotives)
R-GCX003-cbl-00516 Calculate Total Equipment Count
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Total Equipment Count' is invoked, and assuming that individual equipment counts are available (loaded cars, empty cars, loaded containers, empty containers, locomotives), when the system calculates total equipment, the desired outcome is that total equals the sum of loaded cars + empty cars + loaded containers + empty containers + locomotives.
💻 Technical Criteria
Given Individual equipment counts are available (loaded cars, empty cars, loaded containers, empty containers, locomotives)
When The system calculates total equipment
Then Total equals the sum of loaded cars + empty cars + loaded containers + empty containers + locomotives
R-GCX003-cbl-00527 Check Equipment Type
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Equipment Type', assuming that a cargo is found and classified as empty equipment, when the origin-destination country codes are not 'camx' or 'mxca', the desired outcome is that generate message twenty-seven indicating empty equipment issue.
💻 Technical Criteria
EXCLUDING A cargo is found and classified as empty equipment
When The origin-destination country codes are not 'CAMX' or 'MXCA'
Then Generate message twenty-seven indicating empty equipment issue
R-GCX003-cbl-00528 Check Bond Type
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Bond Type', assuming that cargo is found with it bond type and special manifest origin is not set, when the cargo requires it bond processing, the desired outcome is that execute crowley process for it bond handling.
💻 Technical Criteria
EXCLUDING Cargo is found with IT bond type and special manifest origin is not set
When The cargo requires IT bond processing
Then Execute Crowley process for IT bond handling
R-GCX003-cbl-00541 Generate Cargo Status Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Cargo Status Error' is invoked, and assuming that cargo is found with cp cargo status, when status is pending, deleted, or error, the desired outcome is that generate message sixteen indicating invalid cargo status.
💻 Technical Criteria
Given Cargo is found with CP cargo status
When Status is pending, deleted, or error
Then Generate message sixteen indicating invalid cargo status
R-GCX003-cbl-00542 Generate Bond Type Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Bond Type Error' is invoked, and assuming that cargo is found with tr bond type, when cargo status description equals export status, the desired outcome is that generate message twelve indicating tr bond export issue.
💻 Technical Criteria
Given Cargo is found with TR bond type
When Cargo status description equals export status
Then Generate message twelve indicating TR bond export issue
R-GCX003-cbl-00543 Generate Bond Type Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Bond Type Error', assuming that cargo is found with mt bond type and vessel name is not 'train' and not spaces, when station code matches cargo location id, the desired outcome is that generate message twenty-five indicating mt bond location issue.
💻 Technical Criteria
EXCLUDING Cargo is found with MT bond type and vessel name is not 'TRAIN' and not spaces
When Station code matches cargo location ID
Then Generate message twenty-five indicating MT bond location issue
R-GCX003-cbl-00544 Generate Bond Type Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Bond Type Error' is invoked, and assuming that cargo is found with te bond type, when vessel name character at position 23 is 't', the desired outcome is that generate message seventeen indicating invalid vessel name.
💻 Technical Criteria
Given Cargo is found with TE bond type
When Vessel name character at position 23 is 'T'
Then Generate message seventeen indicating invalid vessel name
R-GCX003-cbl-00545 Generate Bond Type Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Bond Type Error', assuming that cargo is found with bond type not te and not mt, when vessel name is not 'train', the desired outcome is that generate message seventeen indicating invalid vessel name.
💻 Technical Criteria
EXCLUDING Cargo is found with bond type not TE and not MT
When Vessel name is not 'TRAIN'
Then Generate message seventeen indicating invalid vessel name
R-GCX003-cbl-00546 Generate Port Requirement Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Port Requirement Error' is invoked, and assuming that cargo is found at laredo tx station with cargo status description equal to hold border, when dsp hold status is yes, the desired outcome is that generate message fifty-two indicating hold border with dsp hold.
💻 Technical Criteria
Given Cargo is found at Laredo TX station with cargo status description equal to hold border
When DSP hold status is yes
Then Generate message fifty-two indicating hold border with DSP hold
R-GCX003-cbl-00547 Generate Port Requirement Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Port Requirement Error' is invoked, and assuming that cargo is found at laredo tx station, when dsp hold status is yes, the desired outcome is that generate message forty-nine indicating dsp hold.
💻 Technical Criteria
Given Cargo is found at Laredo TX station
When DSP hold status is yes
Then Generate message forty-nine indicating DSP hold
R-GCX003-cbl-00548 Generate Port Requirement Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Port Requirement Error' is invoked, and assuming that cargo is found at laredo tx station, when cargo status description equals hold border, the desired outcome is that generate message forty-eight indicating hold border without dsp.
💻 Technical Criteria
Given Cargo is found at Laredo TX station
When Cargo status description equals hold border
Then Generate message forty-eight indicating hold border without DSP
R-GCX003-cbl-00549 Generate Documentation Warning
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Documentation Warning', assuming that cargo is found at laredo tx station and segment 02 is found, when fen reference number is not found in segment data, the desired outcome is that generate message forty-six indicating missing fen reference.
💻 Technical Criteria
EXCLUDING Cargo is found at Laredo TX station and segment 02 is found
When FEN reference number is not found in segment data
Then Generate message forty-six indicating missing FEN reference
R-GCX003-cbl-00550 Generate Documentation Warning
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Documentation Warning', assuming that cargo is found at laredo tx station and segment 02 is found, when kcm reference number is not found in segment data, the desired outcome is that generate message forty-seven indicating missing kcm reference.
💻 Technical Criteria
EXCLUDING Cargo is found at Laredo TX station and segment 02 is found
When KCM reference number is not found in segment data
Then Generate message forty-seven indicating missing KCM reference
R-GCX003-cbl-00551 Check Special Conditions
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Special Conditions', assuming that cargo is found with transport export type and not created for it and not export status and bills as cprs, when cargo location id does not match station code, the desired outcome is that execute detour process for te bond.
💻 Technical Criteria
EXCLUDING Cargo is found with transport export type and not created for IT and not export status and bills as CPRS
When Cargo location ID does not match station code
Then Execute detour process for TE bond
R-GCX003-cbl-00553 Remove duplicate car entries from reports while preserving messages
Process Rules
📊 Business Logic Narrative
When the process 'Remove duplicate car entries from reports while preserving messages' is invoked, and assuming that a report contains multiple lines with equipment information and message lines, when the system scans through report lines up to position 700 and encounters equipment entries with car ids, the desired outcome is that the system should remove duplicate car id entries while preserving all message lines (error, warning, information) and maintain the first occurrence of each unique car id.
💻 Technical Criteria
Given A report contains multiple lines with equipment information and message lines
When The system scans through report lines up to position 700 and encounters equipment entries with car IDs
Then The system should remove duplicate car ID entries while preserving all message lines (error, warning, information) and maintain the first occurrence of each unique car ID
R-GCX003-cbl-00554 Get Current Report Line
Decision Rules
📊 Business Logic Narrative
When the process 'Get Current Report Line' is invoked, and assuming that the system is processing report lines for duplicate removal, when a report line contains an empty car id or represents a message line with prefixes 'err>', 'wrn>', or 'inf>', the desired outcome is that the system should skip processing this line and continue to the next report line without any duplicate checking.
💻 Technical Criteria
Given The system is processing report lines for duplicate removal
When A report line contains an empty car ID or represents a message line with prefixes 'ERR>', 'WRN>', or 'INF>'
Then The system should skip processing this line and continue to the next report line without any duplicate checking
R-GCX003-cbl-00555 Store Car ID as Previous
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store Car ID as Previous', assuming that the system encounters a valid car id that is different from the previously stored car id, when the car id is not empty and not a message line, the desired outcome is that the system should store this car id as the new reference for subsequent duplicate comparisons.
💻 Technical Criteria
EXCLUDING The system encounters a valid car ID that is different from the previously stored car ID
When The car ID is not empty and not a message line
Then The system should store this car ID as the new reference for subsequent duplicate comparisons
R-GCX003-cbl-00556 Clear Duplicate Car ID from Report
Action Rules
📊 Business Logic Narrative
When the process 'Clear Duplicate Car ID from Report' is invoked, and assuming that the system finds a car id that matches the previously stored car id reference, when the current car id is identical to the held car id from previous processing, the desired outcome is that the system should clear the car id from the current report line by setting it to spaces, effectively removing the duplicate entry.
💻 Technical Criteria
Given The system finds a car ID that matches the previously stored car ID reference
When The current car ID is identical to the held car ID from previous processing
Then The system should clear the car ID from the current report line by setting it to spaces, effectively removing the duplicate entry
R-GCX003-cbl-00558 Initialize Audit Log Entry
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Audit Log Entry' is invoked, and assuming that a valid cargo record needs to be logged, when the system prepares to create an audit log entry, the desired outcome is that the gcx105 input structure is initialized to clear any previous data.
💻 Technical Criteria
Given A valid cargo record needs to be logged
When The system prepares to create an audit log entry
Then The GCX105 input structure is initialized to clear any previous data
R-GCX003-cbl-00560 Set Record Type to US Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type to US Cargo' is invoked, and assuming that an audit log entry is being created for cargo operations, when the system sets the record type classification, the desired outcome is that the record type is set to 'us-cargo' to identify this as a cargo-related audit entry.
💻 Technical Criteria
Given An audit log entry is being created for cargo operations
When The system sets the record type classification
Then The record type is set to 'US-CARGO' to identify this as a cargo-related audit entry
R-GCX003-cbl-00567 Set Log Message Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Log Message Type' is invoked, and assuming that an audit log entry is being created, when the system categorizes the type of audit message, the desired outcome is that the message type is set to the predefined 'car-added-log-message' to indicate cargo addition activity.
💻 Technical Criteria
Given An audit log entry is being created
When The system categorizes the type of audit message
Then The message type is set to the predefined 'CAR-ADDED-LOG-MESSAGE' to indicate cargo addition activity
R-GCX003-cbl-00578 CPRS SCAC and Origin ≠ 9089?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'CPRS SCAC and Origin ≠ 9089?', assuming that a cargo record with scac code and train origin station, when the cargo scac is 'cprs' and the train origin is not '9089', the desired outcome is that the port is classified as automated for processing.
💻 Technical Criteria
EXCLUDING A cargo record with SCAC code and train origin station
When The cargo SCAC is 'CPRS' and the train origin is not '9089'
Then The port is classified as automated for processing
R-GCX003-cbl-00579 UPRR SCAC and Origin = 9089?
Decision Rules
📊 Business Logic Narrative
When the process 'UPRR SCAC and Origin = 9089?' is invoked, and assuming that a cargo record with scac code and train origin station, when the cargo scac is 'uprr' and the train origin is '9089', the desired outcome is that the port is classified as automated for processing.
💻 Technical Criteria
Given A cargo record with SCAC code and train origin station
When The cargo SCAC is 'UPRR' and the train origin is '9089'
Then The port is classified as automated for processing
R-GCX003-cbl-00580 Lookup Port in Reference Table
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup Port in Reference Table', assuming that a cargo that does not meet cprs or uprr automated port criteria, when the system needs to determine port automation status, the desired outcome is that look up the port configuration in gcstbrt ss segment using cargo scac and station code.
💻 Technical Criteria
EXCLUDING A cargo that does not meet CPRS or UPRR automated port criteria
When The system needs to determine port automation status
Then Look up the port configuration in GCSTBRT SS segment using cargo SCAC and station code
R-GCX003-cbl-00582 Update Haulage Flag to Manual 'N'
Process Rules
📊 Business Logic Narrative
When the process 'Update Haulage Flag to Manual 'N'' is invoked, and assuming that a cargo record with automated haulage flag and a paper-based port classification, when the request action is send and the cargo has haulage processing, the desired outcome is that update the cargo haulage automated flag to 'n' for manual processing.
💻 Technical Criteria
Given A cargo record with automated haulage flag and a paper-based port classification
When The request action is SEND and the cargo has haulage processing
Then Update the cargo haulage automated flag to 'N' for manual processing
R-GCX003-cbl-00583 Update Haulage Flag to Automated 'Y'
Process Rules
📊 Business Logic Narrative
When the process 'Update Haulage Flag to Automated 'Y'' is invoked, and assuming that a cargo record with manual haulage flag and an automated port classification, when the request action is send and the cargo has haulage processing, the desired outcome is that update the cargo haulage automated flag to 'y' for automated processing.
💻 Technical Criteria
Given A cargo record with manual haulage flag and an automated port classification
When The request action is SEND and the cargo has haulage processing
Then Update the cargo haulage automated flag to 'Y' for automated processing
R-GCX003-cbl-00585 First Equipment Entry Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'First Equipment Entry Empty?' is invoked, and assuming that a train manifest request is being processed and no errors have occurred so far, when the first equipment entry in the request is empty (req-no-more-eqp(1) is true), the desired outcome is that the system sets error message msg-five and adds it to the report index to indicate no equipment was provided.
💻 Technical Criteria
Given A train manifest request is being processed and no errors have occurred so far
When The first equipment entry in the request is empty (REQ-NO-MORE-EQP(1) is true)
Then The system sets error message MSG-FIVE and adds it to the report index to indicate no equipment was provided
R-GCX003-cbl-00586 Equipment Count > 499?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Count > 499?' is invoked, and assuming that a train manifest request is being processed and no errors have occurred so far, when the equipment list contains more than 499 items (not req-no-more-eqp(500) is true), the desired outcome is that the system sets error message msg-five and adds it to the report index to indicate too many equipment items were provided.
💻 Technical Criteria
Given A train manifest request is being processed and no errors have occurred so far
When The equipment list contains more than 499 items (NOT REQ-NO-MORE-EQP(500) is true)
Then The system sets error message MSG-FIVE and adds it to the report index to indicate too many equipment items were provided
R-GCX003-cbl-00587 Check if No Errors So Far
Process Rules
📊 Business Logic Narrative
When the process 'Check if No Errors So Far' is invoked, and assuming that a train manifest request is being processed, when previous validation steps have resulted in errors (rpt-no-error is false), the desired outcome is that the system skips equipment limit validation and continues with subsequent processing.
💻 Technical Criteria
Given A train manifest request is being processed
When Previous validation steps have resulted in errors (RPT-NO-ERROR is false)
Then The system skips equipment limit validation and continues with subsequent processing
R-GCX003-cbl-00590 Increment CPRS Double Stack Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment CPRS Double Stack Count' is invoked, and assuming that double stack container information is retrieved and traffic type is determined, when the traffic type is cprs double stack traffic, the desired outcome is that add the double stack count to the cprs double stack counter in the train list.
💻 Technical Criteria
Given Double stack container information is retrieved and traffic type is determined
When The traffic type is CPRS double stack traffic
Then Add the double stack count to the CPRS double stack counter in the train list
R-GCX003-cbl-00591 Increment CSXT Double Stack Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment CSXT Double Stack Count' is invoked, and assuming that double stack container information is retrieved and traffic type is determined, when the traffic type is csxt double stack traffic, the desired outcome is that add the double stack count to the csxt double stack counter in the train list.
💻 Technical Criteria
Given Double stack container information is retrieved and traffic type is determined
When The traffic type is CSXT double stack traffic
Then Add the double stack count to the CSXT double stack counter in the train list
R-GCX003-cbl-00592 Increment NS Double Stack Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment NS Double Stack Count' is invoked, and assuming that double stack container information is retrieved and traffic type is determined, when the traffic type is ns double stack traffic, the desired outcome is that add the double stack count to the ns double stack counter in the train list.
💻 Technical Criteria
Given Double stack container information is retrieved and traffic type is determined
When The traffic type is NS double stack traffic
Then Add the double stack count to the NS double stack counter in the train list
R-GCX003-cbl-00593 Increment HAUL Double Stack Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment HAUL Double Stack Count' is invoked, and assuming that double stack container information is retrieved and traffic type is determined, when the traffic type is haul double stack traffic, the desired outcome is that add the double stack count to the haul double stack counter in the train list.
💻 Technical Criteria
Given Double stack container information is retrieved and traffic type is determined
When The traffic type is HAUL double stack traffic
Then Add the double stack count to the HAUL double stack counter in the train list
R-GCX003-cbl-00597 Set Equipment Type 3 - CSXT Haulage
Decision Rules
📊 Business Logic Narrative
When the process 'Set Equipment Type 3 - CSXT Haulage' is invoked, and assuming that route entry contains scac codes and junction information, when first route scac is csxt and second route scac is cprs and junction is det, the desired outcome is that equipment is classified as type 3 for csxt haulage and marked for report inclusion with route found status.
💻 Technical Criteria
Given Route entry contains SCAC codes and junction information
When First route SCAC is CSXT and second route SCAC is CPRS and junction is DET
Then Equipment is classified as type 3 for CSXT haulage and marked for report inclusion with route found status
R-GCX003-cbl-00598 Set Equipment Type 4 - NS Haulage
Decision Rules
📊 Business Logic Narrative
When the process 'Set Equipment Type 4 - NS Haulage' is invoked, and assuming that route entry contains scac codes and junction information, when first route scac is ns and second route scac is cprs and junction is det, the desired outcome is that equipment is classified as type 4 for ns haulage and marked for report inclusion with route found status.
💻 Technical Criteria
Given Route entry contains SCAC codes and junction information
When First route SCAC is NS and second route SCAC is CPRS and junction is DET
Then Equipment is classified as type 4 for NS haulage and marked for report inclusion with route found status
R-GCX003-cbl-00599 Set Equipment Type 2 - Hazmat
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Equipment Type 2 - Hazmat', assuming that equipment routing does not match csxt or ns to cprs patterns, when equipment ima code equals 'hm' indicating hazardous materials, the desired outcome is that equipment is classified as type 2 for hazmat and marked for report inclusion with route found status.
💻 Technical Criteria
EXCLUDING Equipment routing does not match CSXT or NS to CPRS patterns
When Equipment IMA code equals 'HM' indicating hazardous materials
Then Equipment is classified as type 2 for hazmat and marked for report inclusion with route found status
R-GCX003-cbl-00600 Mark Equipment as Empty - Exclude from Report
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark Equipment as Empty - Exclude from Report', assuming that equipment has been analyzed for routing patterns and hazmat status, when equipment does not match csxt haulage, ns haulage, or hazmat criteria and no route is found after checking all positions, the desired outcome is that equipment empty indicator is set to 1 to exclude from detailed manifest reporting.
💻 Technical Criteria
EXCLUDING Equipment has been analyzed for routing patterns and hazmat status
When Equipment does not match CSXT haulage, NS haulage, or hazmat criteria and no route is found after checking all positions
Then Equipment empty indicator is set to 1 to exclude from detailed manifest reporting
R-GCX003-cbl-00602 Special Handling Code = ER Threshold Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Handling Code = ER Threshold Code?' is invoked, and assuming that equipment is empty with residue weight greater than 0 and special handling codes are available in shipment commodity, when any special handling code (positions 1-8) equals the er threshold code, the desired outcome is that set er found flag to true to indicate empty residue threshold validation is required.
💻 Technical Criteria
Given Equipment is empty with residue weight greater than 0 AND special handling codes are available in shipment commodity
When Any special handling code (positions 1-8) equals the ER threshold code
Then Set ER found flag to true to indicate empty residue threshold validation is required
R-GCX003-cbl-00603 ER Weight Threshold > 7?
Validation Rules
📊 Business Logic Narrative
When the process 'ER Weight Threshold > 7?' is invoked, and assuming that equipment is empty with residue weight and er threshold code is found in special handling codes, when the residue weight is greater than 7 units, the desired outcome is that set er weight threshold greater than 7 flag for subsequent error message generation.
💻 Technical Criteria
Given Equipment is empty with residue weight AND ER threshold code is found in special handling codes
When The residue weight is greater than 7 units
Then Set ER weight threshold greater than 7 flag for subsequent error message generation
R-GCX003-cbl-00605 Skip Equipment from Report
Process Rules
📊 Business Logic Narrative
When the process 'Skip Equipment from Report' is invoked, and assuming that equipment has residue weight greater than 0 and er threshold code is found in special handling codes, when the equipment meets empty residue criteria for special processing, the desired outcome is that skip the equipment from standard cargo attachment and report generation processes.
💻 Technical Criteria
Given Equipment has residue weight greater than 0 AND ER threshold code is found in special handling codes
When The equipment meets empty residue criteria for special processing
Then Skip the equipment from standard cargo attachment and report generation processes
R-GCX003-cbl-00606 Continue Normal Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue Normal Processing' is invoked, and assuming that cargo is found and cargo type is empty residue, when the cargo qualifies as empty residue type in the cargo classification, the desired outcome is that continue with normal cargo processing and report generation without applying empty residue restrictions.
💻 Technical Criteria
Given Cargo is found AND cargo type is empty residue
When The cargo qualifies as empty residue type in the cargo classification
Then Continue with normal cargo processing and report generation without applying empty residue restrictions
R-GCX003-cbl-00608 Set Equipment ID for Car
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment ID for Car' is invoked, and assuming that a car equipment is being processed from the request, when the system processes the car equipment, the desired outcome is that the equipment id should be constructed from the request car id and assigned to the car type validation input parameter.
💻 Technical Criteria
Given A car equipment is being processed from the request
When The system processes the car equipment
Then The equipment ID should be constructed from the request car ID and assigned to the car type validation input parameter
R-GCX003-cbl-00609 Set Equipment Type Flag - Container
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Type Flag - Container' is invoked, and assuming that container equipment is being processed, when the system prepares for equipment type validation, the desired outcome is that the equipment type flag should be set to container type.
💻 Technical Criteria
Given Container equipment is being processed
When The system prepares for equipment type validation
Then The equipment type flag should be set to container type
R-GCX003-cbl-00610 Set Equipment Type Flag - Car
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Type Flag - Car' is invoked, and assuming that car equipment is being processed, when the system prepares for equipment type validation, the desired outcome is that the equipment type flag should be set to car type.
💻 Technical Criteria
Given Car equipment is being processed
When The system prepares for equipment type validation
Then The equipment type flag should be set to car type
R-GCX003-cbl-00611 Set Trailer Flag for Container
Decision Rules
📊 Business Logic Narrative
When the process 'Set Trailer Flag for Container' is invoked, and assuming that a container equipment is being processed and the shipment record indicates trailer type, when the system checks for special equipment characteristics, the desired outcome is that the trailer flag should be set in addition to the container flag.
💻 Technical Criteria
Given A container equipment is being processed and the shipment record indicates trailer type
When The system checks for special equipment characteristics
Then The trailer flag should be set in addition to the container flag
R-GCX003-cbl-00612 Call Equipment Type Validation Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Equipment Type Validation Service' is invoked, and assuming that equipment id and type flags have been set, when the system needs to validate equipment type, the desired outcome is that the gcccartp service should be called with the equipment parameters.
💻 Technical Criteria
Given Equipment ID and type flags have been set
When The system needs to validate equipment type
Then The GCCCARTP service should be called with the equipment parameters
R-GCX003-cbl-00613 Equipment Type Call Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Type Call Successful?' is invoked, and assuming that the equipment type validation service has been called, when the system checks the service response, the desired outcome is that if the call was not successful, an equipment error should be generated, otherwise processing should continue with type code retrieval.
💻 Technical Criteria
Given The equipment type validation service has been called
When The system checks the service response
Then If the call was not successful, an equipment error should be generated, otherwise processing should continue with type code retrieval
R-GCX003-cbl-00614 Generate Equipment Error Message
Decision Rules
📊 Business Logic Narrative
When the process 'Generate Equipment Error Message' is invoked, and assuming that the equipment type validation service call has failed, when the system processes the validation failure, the desired outcome is that if the equipment is a container, message 35 should be generated, otherwise message 36 should be generated, and the equipment error flag should be set.
💻 Technical Criteria
Given The equipment type validation service call has failed
When The system processes the validation failure
Then If the equipment is a container, message 35 should be generated, otherwise message 36 should be generated, and the equipment error flag should be set
R-GCX003-cbl-00615 Retrieve Equipment Type Code
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Equipment Type Code' is invoked, and assuming that the equipment type validation service call was successful, when the system processes the validation response, the desired outcome is that the equipment type code should be retrieved from the service response.
💻 Technical Criteria
Given The equipment type validation service call was successful
When The system processes the validation response
Then The equipment type code should be retrieved from the service response
R-GCX003-cbl-00616 Look Up Equipment Type Description in Reference Table
Action Rules
📊 Business Logic Narrative
When the process 'Look Up Equipment Type Description in Reference Table' is invoked, and assuming that an equipment type code has been retrieved from the validation service, when the system needs to get the equipment type description, the desired outcome is that the gcstbrt-vi reference table should be queried using the equipment type code.
💻 Technical Criteria
Given An equipment type code has been retrieved from the validation service
When The system needs to get the equipment type description
Then The GCSTBRT-VI reference table should be queried using the equipment type code
R-GCX003-cbl-00618 Set Default Description as Spaces
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Description as Spaces', assuming that the equipment type description lookup was not successful, when the system processes the lookup failure, the desired outcome is that the equipment type description should be set to spaces as default.
💻 Technical Criteria
EXCLUDING The equipment type description lookup was not successful
When The system processes the lookup failure
Then The equipment type description should be set to spaces as default
R-GCX003-cbl-00619 Count as Locomotive
Decision Rules
📊 Business Logic Narrative
When the process 'Count as Locomotive' is invoked, and assuming that an equipment item with a car type code, when the car type code is 'lo' or 'et', the desired outcome is that the equipment is classified as a locomotive and added to the locomotive count.
💻 Technical Criteria
Given An equipment item with a car type code
When The car type code is 'LO' or 'ET'
Then The equipment is classified as a locomotive and added to the locomotive count
R-GCX003-cbl-00620 Container Equipment?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Container Equipment?', assuming that an equipment item with a car type code that is not a locomotive, when the car type code is 'cn', the desired outcome is that the equipment is classified as container equipment for container-specific counting.
💻 Technical Criteria
EXCLUDING An equipment item with a car type code that is not a locomotive
When The car type code is 'CN'
Then The equipment is classified as container equipment for container-specific counting
R-GCX003-cbl-00621 Count Loaded Container
Computation Rules
📊 Business Logic Narrative
When the process 'Count Loaded Container' is invoked, and assuming that an equipment item classified as container equipment, when the load/empty indicator is 'l' (loaded), the desired outcome is that add 1 to the total loaded container count.
💻 Technical Criteria
Given An equipment item classified as container equipment
When The load/empty indicator is 'L' (loaded)
Then Add 1 to the total loaded container count
R-GCX003-cbl-00622 Count Empty Container
Computation Rules
📊 Business Logic Narrative
When the process 'Count Empty Container' is invoked, and assuming that an equipment item classified as container equipment, when the load/empty indicator is 'e' (empty), the desired outcome is that add 1 to the total empty container count.
💻 Technical Criteria
Given An equipment item classified as container equipment
When The load/empty indicator is 'E' (empty)
Then Add 1 to the total empty container count
R-GCX003-cbl-00623 Count Loaded Car
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Count Loaded Car', assuming that an equipment item that is not a locomotive or container, when the load/empty indicator is 'l' (loaded), the desired outcome is that add 1 to the total loaded car count.
💻 Technical Criteria
EXCLUDING An equipment item that is not a locomotive or container
When The load/empty indicator is 'L' (loaded)
Then Add 1 to the total loaded car count
R-GCX003-cbl-00624 Count Empty Car
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Count Empty Car', assuming that an equipment item that is not a locomotive or container, when the load/empty indicator is 'e' (empty), the desired outcome is that add 1 to the total empty car count.
💻 Technical Criteria
EXCLUDING An equipment item that is not a locomotive or container
When The load/empty indicator is 'E' (empty)
Then Add 1 to the total empty car count
R-GCX003-cbl-00625 Empty Residue Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Empty Residue Found?' is invoked, and assuming that an equipment item with associated cargo information, when the cargo is classified as empty residue or empty equipment type, the desired outcome is that the equipment requires adjustment from loaded to empty status in counts.
💻 Technical Criteria
Given An equipment item with associated cargo information
When The cargo is classified as empty residue or empty equipment type
Then The equipment requires adjustment from loaded to empty status in counts
R-GCX003-cbl-00626 Adjust Container Counts
Computation Rules
📊 Business Logic Narrative
When the process 'Adjust Container Counts' is invoked, and assuming that a container equipment with empty residue cargo and current loaded status, when the load/empty indicator was 'l' but cargo indicates empty residue, the desired outcome is that subtract 1 from loaded container count and add 1 to empty container count.
💻 Technical Criteria
Given A container equipment with empty residue cargo and current loaded status
When The load/empty indicator was 'L' but cargo indicates empty residue
Then Subtract 1 from loaded container count and add 1 to empty container count
R-GCX003-cbl-00627 Adjust Car Counts
Computation Rules
📊 Business Logic Narrative
When the process 'Adjust Car Counts' is invoked, and assuming that a car equipment with empty residue cargo and current loaded status, when the load/empty indicator was 'l' but cargo indicates empty residue, the desired outcome is that subtract 1 from loaded car count and add 1 to empty car count.
💻 Technical Criteria
Given A car equipment with empty residue cargo and current loaded status
When The load/empty indicator was 'L' but cargo indicates empty residue
Then Subtract 1 from loaded car count and add 1 to empty car count
R-GCX003-cbl-00628 Update Equipment Status to Empty
Action Rules
📊 Business Logic Narrative
When the process 'Update Equipment Status to Empty' is invoked, and assuming that an equipment item with empty residue cargo, when the cargo type indicates empty residue or empty equipment, the desired outcome is that update the equipment load/empty indicator to 'e' (empty) for both report and new report formats.
💻 Technical Criteria
Given An equipment item with empty residue cargo
When The cargo type indicates empty residue or empty equipment
Then Update the equipment load/empty indicator to 'E' (empty) for both report and new report formats
R-GCX003-cbl-00629 Is Equipment SBU Van?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Equipment SBU Van?' is invoked, and assuming that an equipment item is being processed in the train manifest, when the system checks the equipment type classification, the desired outcome is that the equipment is identified as either sbu van type or regular equipment type.
💻 Technical Criteria
Given An equipment item is being processed in the train manifest
When The system checks the equipment type classification
Then The equipment is identified as either SBU van type or regular equipment type
R-GCX003-cbl-00630 Set Load/Empty to 'E' - Empty
Process Rules
📊 Business Logic Narrative
When the process 'Set Load/Empty to 'E' - Empty' is invoked, and assuming that an equipment item is identified as sbu van type, when the system processes the load/empty indicator, the desired outcome is that the load/empty indicator is set to 'e' for empty status.
💻 Technical Criteria
Given An equipment item is identified as SBU van type
When The system processes the load/empty indicator
Then The load/empty indicator is set to 'E' for Empty status
R-GCX003-cbl-00631 Set Equipment Info to 'INTERNATIONAL SERVICE'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Info to 'INTERNATIONAL SERVICE'' is invoked, and assuming that an equipment item is sbu van type and has empty load status, when the system assigns equipment information description, the desired outcome is that the equipment information field is set to 'international service'.
💻 Technical Criteria
Given An equipment item is SBU van type and has empty load status
When The system assigns equipment information description
Then The equipment information field is set to 'INTERNATIONAL SERVICE'
R-GCX003-cbl-00632 Is Load/Empty Indicator 'E'?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Load/Empty Indicator 'E'?' is invoked, and assuming that an equipment item is identified as sbu van type, when the system checks the current load/empty indicator value, the desired outcome is that the system determines if the indicator is already set to 'e' for empty.
💻 Technical Criteria
Given An equipment item is identified as SBU van type
When The system checks the current load/empty indicator value
Then The system determines if the indicator is already set to 'E' for Empty
R-GCX003-cbl-00634 Set Info Field to 'CONVEYING FLAT CAR'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Info Field to 'CONVEYING FLAT CAR'' is invoked, and assuming that the equipment is identified as a conveying car and no cargo is found, when the system processes the equipment information field, the desired outcome is that the information field is set to 'conveying flat car'.
💻 Technical Criteria
Given The equipment is identified as a conveying car and no cargo is found
When The system processes the equipment information field
Then The information field is set to 'CONVEYING FLAT CAR'
R-GCX003-cbl-00635 Skip Cargo Processing for Empty Conveying Car
Process Rules
📊 Business Logic Narrative
When the process 'Skip Cargo Processing for Empty Conveying Car' is invoked, and assuming that the equipment is a conveying flat car and the load/empty indicator is 'e' (empty), when the system determines cargo processing requirements, the desired outcome is that normal cargo processing is bypassed and the system proceeds to format equipment information.
💻 Technical Criteria
Given The equipment is a conveying flat car and the load/empty indicator is 'E' (empty)
When The system determines cargo processing requirements
Then Normal cargo processing is bypassed and the system proceeds to format equipment information
R-GCX003-cbl-00636 Continue Normal Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue Normal Processing', assuming that the equipment is either not a conveying car or is a conveying car with containers loaded, when the system determines the processing path, the desired outcome is that standard equipment and cargo processing procedures are executed.
💻 Technical Criteria
EXCLUDING The equipment is either not a conveying car or is a conveying car with containers loaded
When The system determines the processing path
Then Standard equipment and cargo processing procedures are executed
R-GCX003-cbl-00637 Retrieve Container Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Container Information' is invoked, and assuming that a conveying flat car has containers loaded on it, when the system processes the equipment, the desired outcome is that container information is retrieved and processed through the container handling procedures.
💻 Technical Criteria
Given A conveying flat car has containers loaded on it
When The system processes the equipment
Then Container information is retrieved and processed through the container handling procedures
R-GCX003-cbl-00638 Extract Bond Number from Entry Number
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Bond Number from Entry Number' is invoked, and assuming that a cargo record is being processed for bond information display, when the entry number field contains a valid non-space value, the desired outcome is that the entry number should be extracted and stored as the bond number for formatting.
💻 Technical Criteria
Given A cargo record is being processed for bond information display
When The entry number field contains a valid non-space value
Then The entry number should be extracted and stored as the bond number for formatting
R-GCX003-cbl-00639 Extract Bond Number from In-Bond Control Number
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Bond Number from In-Bond Control Number', assuming that a cargo record is being processed for bond information display and the entry number is not available, when the in-bond control number field contains a valid non-space value, the desired outcome is that the in-bond control number should be extracted and stored as the bond number for formatting.
💻 Technical Criteria
EXCLUDING A cargo record is being processed for bond information display and the entry number is not available
When The in-bond control number field contains a valid non-space value
Then The in-bond control number should be extracted and stored as the bond number for formatting
R-GCX003-cbl-00640 Set Bond Number to Spaces
Decision Rules
📊 Business Logic Narrative
When the process 'Set Bond Number to Spaces' is invoked, and assuming that a cargo record is being processed for bond information display, when both the entry number and in-bond control number fields are empty or contain spaces, the desired outcome is that the bond number should be set to spaces.
💻 Technical Criteria
Given A cargo record is being processed for bond information display
When Both the entry number and in-bond control number fields are empty or contain spaces
Then The bond number should be set to spaces
R-GCX003-cbl-00641 Format as 'AMS IT [Bond Number]'
Computation Rules
📊 Business Logic Narrative
When the process 'Format as 'AMS IT [Bond Number]'' is invoked, and assuming that a cargo record has bond information to be formatted for display, when the in-bond type code is 'it', the desired outcome is that the bond information should be formatted as 'ams it [bond number]' in the report info field.
💻 Technical Criteria
Given A cargo record has bond information to be formatted for display
When The in-bond type code is 'IT'
Then The bond information should be formatted as 'AMS IT [bond number]' in the report info field
R-GCX003-cbl-00642 Format as 'AMS IE [Bond Number]'
Computation Rules
📊 Business Logic Narrative
When the process 'Format as 'AMS IE [Bond Number]'' is invoked, and assuming that a cargo record has bond information to be formatted for display, when the in-bond type code is 'ie', the desired outcome is that the bond information should be formatted as 'ams ie [bond number]' in the report info field.
💻 Technical Criteria
Given A cargo record has bond information to be formatted for display
When The in-bond type code is 'IE'
Then The bond information should be formatted as 'AMS IE [bond number]' in the report info field
R-GCX003-cbl-00643 Format as 'AMS 7512 TE [Bond Number]'
Computation Rules
📊 Business Logic Narrative
When the process 'Format as 'AMS 7512 TE [Bond Number]'' is invoked, and assuming that a cargo record has bond information to be formatted for display, when the in-bond type code is 'te', the desired outcome is that the bond information should be formatted as 'ams 7512 te [bond number]' in the report info field.
💻 Technical Criteria
Given A cargo record has bond information to be formatted for display
When The in-bond type code is 'TE'
Then The bond information should be formatted as 'AMS 7512 TE [bond number]' in the report info field
R-GCX003-cbl-00644 Format as 'AMS 7512 TR [Bond Number]'
Computation Rules
📊 Business Logic Narrative
When the process 'Format as 'AMS 7512 TR [Bond Number]'' is invoked, and assuming that a cargo record has bond information to be formatted for display, when the in-bond type code is 'tr', the desired outcome is that the bond information should be formatted as 'ams 7512 tr [bond number]' in the report info field.
💻 Technical Criteria
Given A cargo record has bond information to be formatted for display
When The in-bond type code is 'TR'
Then The bond information should be formatted as 'AMS 7512 TR [bond number]' in the report info field
R-GCX003-cbl-00645 Format as 'AMS 7512 MT [Bond Number]'
Computation Rules
📊 Business Logic Narrative
When the process 'Format as 'AMS 7512 MT [Bond Number]'' is invoked, and assuming that a cargo record has bond information to be formatted for display, when the in-bond type code is 'mt', the desired outcome is that the bond information should be formatted as 'ams 7512 mt [bond number]' in the report info field.
💻 Technical Criteria
Given A cargo record has bond information to be formatted for display
When The in-bond type code is 'MT'
Then The bond information should be formatted as 'AMS 7512 MT [bond number]' in the report info field
R-GCX003-cbl-00646 Check Bill Type Code
Decision Rules
📊 Business Logic Narrative
When the process 'Check Bill Type Code' is invoked, and assuming that a cargo record is being processed for report formatting, when the cargo bill type code equals '15', the desired outcome is that the system sets the cargo information field to 'ppr 7512 15 us-ca-us' to indicate paper port 7512 processing for us-canada-us movement.
💻 Technical Criteria
Given A cargo record is being processed for report formatting
When The cargo bill type code equals '15'
Then The system sets the cargo information field to 'PPR 7512 15 US-CA-US' to indicate paper port 7512 processing for US-Canada-US movement
R-GCX003-cbl-00647 Process International Service Unit
Decision Rules
📊 Business Logic Narrative
When the process 'Process International Service Unit' is invoked, and assuming that an equipment item is classified as sbu van unit and has empty load indicator, when the system processes the equipment description, the desired outcome is that the equipment description is set to 'international service' and processing completes.
💻 Technical Criteria
Given An equipment item is classified as SBU Van unit and has empty load indicator
When The system processes the equipment description
Then The equipment description is set to 'INTERNATIONAL SERVICE' and processing completes
R-GCX003-cbl-00648 Process Empty Equipment
Decision Rules
📊 Business Logic Narrative
When the process 'Process Empty Equipment' is invoked, and assuming that no cargo is found for the equipment or cargo is classified as empty equipment type, when the system determines the equipment description, the desired outcome is that the equipment description is set to 'empty' and load indicator is set to 'e'.
💻 Technical Criteria
Given No cargo is found for the equipment or cargo is classified as empty equipment type
When The system determines the equipment description
Then The equipment description is set to 'EMPTY' and load indicator is set to 'E'
R-GCX003-cbl-00649 Process Conveying Flat Car
Decision Rules
📊 Business Logic Narrative
When the process 'Process Conveying Flat Car' is invoked, and assuming that equipment is classified as conveying car and no cargo is found, when the system processes the equipment description, the desired outcome is that the equipment description is set to 'conveying flat car'.
💻 Technical Criteria
Given Equipment is classified as conveying car and no cargo is found
When The system processes the equipment description
Then The equipment description is set to 'CONVEYING FLAT CAR'
R-GCX003-cbl-00650 Extract Bond Number from Entry Number
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Bond Number from Entry Number' is invoked, and assuming that cargo has a valid entry number in m1202 field, when the system processes bond information, the desired outcome is that the entry number is saved as the bond number for description formatting.
💻 Technical Criteria
Given Cargo has a valid entry number in M1202 field
When The system processes bond information
Then The entry number is saved as the bond number for description formatting
R-GCX003-cbl-00651 Extract Bond Number from In-Bond Control Number
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Bond Number from In-Bond Control Number' is invoked, and assuming that cargo entry number is blank and in-bond control number m1206 field contains data, when the system processes bond information, the desired outcome is that the in-bond control number is saved as the bond number for description formatting.
💻 Technical Criteria
Given Cargo entry number is blank and in-bond control number M1206 field contains data
When The system processes bond information
Then The in-bond control number is saved as the bond number for description formatting
R-GCX003-cbl-00653 Format AMS IT/IE Bond Description
Decision Rules
📊 Business Logic Narrative
When the process 'Format AMS IT/IE Bond Description' is invoked, and assuming that cargo has in-bond type code of 'it' or 'ie', when the system formats the equipment description, the desired outcome is that the description is formatted as 'ams' followed by the bond type and bond number.
💻 Technical Criteria
Given Cargo has in-bond type code of 'IT' or 'IE'
When The system formats the equipment description
Then The description is formatted as 'AMS' followed by the bond type and bond number
R-GCX003-cbl-00654 Format AMS 7512 TE/TR/MT Bond Description
Decision Rules
📊 Business Logic Narrative
When the process 'Format AMS 7512 TE/TR/MT Bond Description' is invoked, and assuming that cargo has in-bond type code of 'te', 'tr', or 'mt', when the system formats the equipment description, the desired outcome is that the description is formatted as 'ams 7512' followed by the bond type and bond number.
💻 Technical Criteria
Given Cargo has in-bond type code of 'TE', 'TR', or 'MT'
When The system formats the equipment description
Then The description is formatted as 'AMS 7512' followed by the bond type and bond number
R-GCX003-cbl-00655 Process Segment 07 Equipment Descriptions
Process Rules
📊 Business Logic Narrative
When the process 'Process Segment 07 Equipment Descriptions' is invoked, and assuming that equipment description is blank and segment 07 data contains valid equipment descriptions, when the system processes segment 07 entries, the desired outcome is that each valid segment 07 description is formatted as a separate report line with equipment totals incremented.
💻 Technical Criteria
Given Equipment description is blank and segment 07 data contains valid equipment descriptions
When The system processes segment 07 entries
Then Each valid segment 07 description is formatted as a separate report line with equipment totals incremented
R-GCX003-cbl-00656 Process Special Handling Type Entries
Decision Rules
📊 Business Logic Narrative
When the process 'Process Special Handling Type Entries' is invoked, and assuming that station table contains special handling type entries for the cargo and type code is 'sfe' for us country, when the system processes special handling entries, the desired outcome is that the special handling description replaces the current equipment description as a new report line.
💻 Technical Criteria
Given Station table contains special handling type entries for the cargo and type code is 'SFE' for US country
When The system processes special handling entries
Then The special handling description replaces the current equipment description as a new report line
R-GCX003-cbl-00657 Format Empty Equipment Description
Computation Rules
📊 Business Logic Narrative
When the process 'Format Empty Equipment Description' is invoked, and assuming that cargo is classified as empty equipment or empty residue and equipment was previously counted as loaded, when the system reclassifies the equipment as empty, the desired outcome is that the loaded equipment count is decremented and empty equipment count is incremented for the appropriate equipment type.
💻 Technical Criteria
Given Cargo is classified as empty equipment or empty residue and equipment was previously counted as loaded
When The system reclassifies the equipment as empty
Then The loaded equipment count is decremented and empty equipment count is incremented for the appropriate equipment type
R-GCX003-cbl-00658 Initialize Segment Retrieval Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Segment Retrieval Parameters' is invoked, and assuming that a cargo record needs segment data retrieval, when the system begins segment data processing, the desired outcome is that the system sets accept status to 'ge', clears working storage areas, enables underscore processing, sets function to get unqualified, disables index usage, and enables retrieval of segments 07, 02, and 08.
💻 Technical Criteria
Given A cargo record needs segment data retrieval
When The system begins segment data processing
Then The system sets accept status to 'GE', clears working storage areas, enables underscore processing, sets function to Get Unqualified, disables index usage, and enables retrieval of segments 07, 02, and 08
R-GCX003-cbl-00659 Call Cargo Segment Retrieval Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Cargo Segment Retrieval Service' is invoked, and assuming that segment retrieval parameters are initialized, when the system calls the cargo segment retrieval service gccusio2, the desired outcome is that the system retrieves all requested segments (07, 02, 08) and their associated data arrays in one service call.
💻 Technical Criteria
Given Segment retrieval parameters are initialized
When The system calls the cargo segment retrieval service GCCUSIO2
Then The system retrieves all requested segments (07, 02, 08) and their associated data arrays in one service call
R-GCX003-cbl-00660 Move Retrieved Segment 07 Data to Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Move Retrieved Segment 07 Data to Working Storage' is invoked, and assuming that cargo segment retrieval service returns successfully with no error number, when the system processes the retrieved segment data, the desired outcome is that the system moves the first occurrence of segment 03, 06, 07, 08, 09, and 12 data from arrays into individual working storage variables.
💻 Technical Criteria
Given Cargo segment retrieval service returns successfully with no error number
When The system processes the retrieved segment data
Then The system moves the first occurrence of segment 03, 06, 07, 08, 09, and 12 data from arrays into individual working storage variables
R-GCX003-cbl-00661 Set Segment 02 Found Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Segment 02 Found Flag' is invoked, and assuming that segment 02 data has been retrieved from the cargo system, when the system checks if segment 02 data contains spaces or low-values, the desired outcome is that if segment 02 data is spaces or low-values, set segment 02 not found flag, otherwise set segment 02 found flag.
💻 Technical Criteria
Given Segment 02 data has been retrieved from the cargo system
When The system checks if segment 02 data contains spaces or low-values
Then If segment 02 data is spaces or low-values, set segment 02 not found flag, otherwise set segment 02 found flag
R-GCX003-cbl-00662 Set Segment 07 Found Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Segment 07 Found Flag' is invoked, and assuming that segment 07 data has been retrieved from the cargo system, when the system checks if segment 07 data contains spaces or low-values, the desired outcome is that if segment 07 data is spaces or low-values, set segment 07 not found flag, otherwise set segment 07 found flag.
💻 Technical Criteria
Given Segment 07 data has been retrieved from the cargo system
When The system checks if segment 07 data contains spaces or low-values
Then If segment 07 data is spaces or low-values, set segment 07 not found flag, otherwise set segment 07 found flag
R-GCX003-cbl-00663 Set Segment 08 Found Flag - Hazmat Indicator
Validation Rules
📊 Business Logic Narrative
When the process 'Set Segment 08 Found Flag - Hazmat Indicator' is invoked, and assuming that segment 08 data has been retrieved from the cargo system, when the system checks if segment 08 data contains spaces or low-values, the desired outcome is that if segment 08 data is spaces or low-values, set segment 08 not found flag indicating no hazmat, otherwise set segment 08 found flag indicating hazmat present.
💻 Technical Criteria
Given Segment 08 data has been retrieved from the cargo system
When The system checks if segment 08 data contains spaces or low-values
Then If segment 08 data is spaces or low-values, set segment 08 not found flag indicating no hazmat, otherwise set segment 08 found flag indicating hazmat present
R-GCX003-cbl-00667 Check for Special Freight Equipment Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check for Special Freight Equipment Type' is invoked, and assuming that station table data is available with type code entries, when the system processes station type entries from 1 to 3 and finds type code 'sfe' with country 'us' or spaces, the desired outcome is that if report info is not spaces, add current report line to output and increment report index, then move station type description to report info and set segment indicator to n.
💻 Technical Criteria
Given Station table data is available with type code entries
When The system processes station type entries from 1 to 3 and finds type code 'SFE' with country 'US' or spaces
Then If report info is not spaces, add current report line to output and increment report index, then move station type description to report info and set segment indicator to N
R-GCX003-cbl-00668 Is Equipment Type 'SK' Double Stack?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Equipment Type 'SK' Double Stack?' is invoked, and assuming that equipment processing has retrieved car type code from equipment validation, when the car type code equals 'sk', the desired outcome is that the equipment is classified as double stack container and double stack counting process is initiated.
💻 Technical Criteria
Given Equipment processing has retrieved car type code from equipment validation
When The car type code equals 'SK'
Then The equipment is classified as double stack container and double stack counting process is initiated
R-GCX003-cbl-00670 Add Count to CPRS Traffic Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Add Count to CPRS Traffic Counter' is invoked, and assuming that double stack container count is retrieved and traffic type is determined as cprs, when gccdbl module indicates cprs double stack traffic, the desired outcome is that the container count is added to the cprs double stack counter in train header.
💻 Technical Criteria
Given Double stack container count is retrieved and traffic type is determined as CPRS
When GCCDBL module indicates CPRS double stack traffic
Then The container count is added to the CPRS double stack counter in train header
R-GCX003-cbl-00671 Add Count to CSXT Traffic Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Add Count to CSXT Traffic Counter' is invoked, and assuming that double stack container count is retrieved and traffic type is determined as csxt, when gccdbl module indicates csxt double stack traffic, the desired outcome is that the container count is added to the csxt double stack counter in train header.
💻 Technical Criteria
Given Double stack container count is retrieved and traffic type is determined as CSXT
When GCCDBL module indicates CSXT double stack traffic
Then The container count is added to the CSXT double stack counter in train header
R-GCX003-cbl-00672 Add Count to NS Traffic Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Add Count to NS Traffic Counter' is invoked, and assuming that double stack container count is retrieved and traffic type is determined as ns, when gccdbl module indicates ns double stack traffic, the desired outcome is that the container count is added to the ns double stack counter in train header.
💻 Technical Criteria
Given Double stack container count is retrieved and traffic type is determined as NS
When GCCDBL module indicates NS double stack traffic
Then The container count is added to the NS double stack counter in train header
R-GCX003-cbl-00673 Add Count to HAUL Traffic Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Add Count to HAUL Traffic Counter' is invoked, and assuming that double stack container count is retrieved and traffic type is determined as haul, when gccdbl module indicates haul double stack traffic, the desired outcome is that the container count is added to the haul traffic counter in train header.
💻 Technical Criteria
Given Double stack container count is retrieved and traffic type is determined as HAUL
When GCCDBL module indicates HAUL double stack traffic
Then The container count is added to the HAUL traffic counter in train header
R-GCX003-cbl-00674 Store Counts in Train Header Record
Validation Rules
📊 Business Logic Narrative
When the process 'Store Counts in Train Header Record' is invoked, and assuming that double stack counters in train header contain spaces or low values, when counter initialization is performed for cprs, csxt, ns, or haul traffic types, the desired outcome is that each counter is set to zero before accumulating double stack container counts.
💻 Technical Criteria
Given Double stack counters in train header contain spaces or low values
When Counter initialization is performed for CPRS, CSXT, NS, or HAUL traffic types
Then Each counter is set to zero before accumulating double stack container counts
R-GCX003-cbl-00675 Equipment Type = Locomotive?
Definitional Rules
📊 Business Logic Narrative
When the process 'Equipment Type = Locomotive?' is invoked, and assuming that an equipment item with a car type code, when the car type code is 'lo' or 'et', the desired outcome is that the equipment is classified as a locomotive and added to the locomotive count.
💻 Technical Criteria
Given An equipment item with a car type code
When The car type code is 'LO' or 'ET'
Then The equipment is classified as a locomotive and added to the locomotive count
R-GCX003-cbl-00676 Equipment Type = Container?
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Equipment Type = Container?', assuming that an equipment item with a car type code that is not a locomotive, when the car type code is 'cn', the desired outcome is that the equipment is classified as a container for load/empty status counting.
💻 Technical Criteria
EXCLUDING An equipment item with a car type code that is not a locomotive
When The car type code is 'CN'
Then The equipment is classified as a container for load/empty status counting
R-GCX003-cbl-00677 Add 1 to Total Locomotives Count
Computation Rules
📊 Business Logic Narrative
When the process 'Add 1 to Total Locomotives Count' is invoked, and assuming that an equipment item classified as a locomotive, when the equipment type is locomotive (lo or et), the desired outcome is that add 1 to the total locomotives counter.
💻 Technical Criteria
Given An equipment item classified as a locomotive
When The equipment type is locomotive (LO or ET)
Then Add 1 to the total locomotives counter
R-GCX003-cbl-00678 Load/Empty Indicator = Loaded?
Decision Rules
📊 Business Logic Narrative
When the process 'Load/Empty Indicator = Loaded?' is invoked, and assuming that an equipment item classified as a container, when the load/empty indicator is evaluated, the desired outcome is that route to loaded container count if indicator is 'l', otherwise route to empty container count.
💻 Technical Criteria
Given An equipment item classified as a container
When The load/empty indicator is evaluated
Then Route to loaded container count if indicator is 'L', otherwise route to empty container count
R-GCX003-cbl-00679 Add 1 to Total Loaded Containers
Computation Rules
📊 Business Logic Narrative
When the process 'Add 1 to Total Loaded Containers' is invoked, and assuming that a container equipment with load/empty indicator, when the load/empty indicator is 'l' (loaded), the desired outcome is that add 1 to the total loaded containers counter.
💻 Technical Criteria
Given A container equipment with load/empty indicator
When The load/empty indicator is 'L' (loaded)
Then Add 1 to the total loaded containers counter
R-GCX003-cbl-00680 Add 1 to Total Empty Containers
Computation Rules
📊 Business Logic Narrative
When the process 'Add 1 to Total Empty Containers' is invoked, and assuming that a container equipment with load/empty indicator, when the load/empty indicator is 'e' (empty), the desired outcome is that add 1 to the total empty containers counter.
💻 Technical Criteria
Given A container equipment with load/empty indicator
When The load/empty indicator is 'E' (empty)
Then Add 1 to the total empty containers counter
R-GCX003-cbl-00681 Load/Empty Indicator = Loaded?
Decision Rules
📊 Business Logic Narrative
When the process 'Load/Empty Indicator = Loaded?' is invoked, and assuming that an equipment item classified as a regular car (not locomotive or container), when the load/empty indicator is evaluated, the desired outcome is that route to loaded car count if indicator is 'l', otherwise route to empty car count.
💻 Technical Criteria
Given An equipment item classified as a regular car (not locomotive or container)
When The load/empty indicator is evaluated
Then Route to loaded car count if indicator is 'L', otherwise route to empty car count
R-GCX003-cbl-00682 Add 1 to Total Loaded Cars
Computation Rules
📊 Business Logic Narrative
When the process 'Add 1 to Total Loaded Cars' is invoked, and assuming that a regular car equipment with load/empty indicator, when the load/empty indicator is 'l' (loaded), the desired outcome is that add 1 to the total loaded cars counter.
💻 Technical Criteria
Given A regular car equipment with load/empty indicator
When The load/empty indicator is 'L' (loaded)
Then Add 1 to the total loaded cars counter
R-GCX003-cbl-00683 Add 1 to Total Empty Cars
Computation Rules
📊 Business Logic Narrative
When the process 'Add 1 to Total Empty Cars' is invoked, and assuming that a regular car equipment with load/empty indicator, when the load/empty indicator is 'e' (empty), the desired outcome is that add 1 to the total empty cars counter.
💻 Technical Criteria
Given A regular car equipment with load/empty indicator
When The load/empty indicator is 'E' (empty)
Then Add 1 to the total empty cars counter
R-GCX003-cbl-00684 Update Equipment Summary Counters
Process Rules
📊 Business Logic Narrative
When the process 'Update Equipment Summary Counters' is invoked, and assuming that an equipment item has been classified and its specific counter incremented, when the equipment counting process is complete for the item, the desired outcome is that all equipment summary counters are updated to reflect the current totals.
💻 Technical Criteria
Given An equipment item has been classified and its specific counter incremented
When The equipment counting process is complete for the item
Then All equipment summary counters are updated to reflect the current totals
R-GCX003-cbl-00685 Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a cargo processing request is initiated, when the system checks for cargo existence, the desired outcome is that if no cargo is found, skip bond type processing and end the process.
💻 Technical Criteria
Given A cargo processing request is initiated
When The system checks for cargo existence
Then If no cargo is found, skip bond type processing and end the process
R-GCX003-cbl-00686 Bond Type = IT or IE?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = IT or IE?' is invoked, and assuming that cargo is found and bond type code is available, when the bond type code equals 'it' or 'ie', the desired outcome is that process as it/ie bond, validate entry number or in-bond control number, extract bond number, and format as 'ams [bond_type] [bond_number]' display.
💻 Technical Criteria
Given Cargo is found and bond type code is available
When The bond type code equals 'IT' or 'IE'
Then Process as IT/IE bond, validate entry number or in-bond control number, extract bond number, and format as 'AMS [bond_type] [bond_number]' display
R-GCX003-cbl-00687 Bond Type = TE?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = TE?' is invoked, and assuming that cargo is found and bond type code is available, when the bond type code equals 'te', the desired outcome is that process as te bond, validate transport export requirements, check if port change is required, and format as 'ams 7512 te [bond_number]' display.
💻 Technical Criteria
Given Cargo is found and bond type code is available
When The bond type code equals 'TE'
Then Process as TE bond, validate transport export requirements, check if port change is required, and format as 'AMS 7512 TE [bond_number]' display
R-GCX003-cbl-00688 Bond Type = TR?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = TR?' is invoked, and assuming that cargo is found and bond type code is available, when the bond type code equals 'tr', the desired outcome is that process as tr bond, validate transit bond requirements, check if diversion is required, and format as 'ams 7512 tr [bond_number]' display.
💻 Technical Criteria
Given Cargo is found and bond type code is available
When The bond type code equals 'TR'
Then Process as TR bond, validate transit bond requirements, check if diversion is required, and format as 'AMS 7512 TR [bond_number]' display
R-GCX003-cbl-00689 Bond Type = MT?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = MT?' is invoked, and assuming that cargo is found and bond type code is available, when the bond type code equals 'mt', the desired outcome is that process as mt bond, validate marine terminal requirements, check vessel name compliance, and format as 'ams 7512 mt [bond_number]' display.
💻 Technical Criteria
Given Cargo is found and bond type code is available
When The bond type code equals 'MT'
Then Process as MT bond, validate marine terminal requirements, check vessel name compliance, and format as 'AMS 7512 MT [bond_number]' display
R-GCX003-cbl-00691 Check Special Manifest Original
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Special Manifest Original', assuming that cargo has it bond type and is not already created for it, when special manifest original flag is not set, the desired outcome is that if action is send and user is not authorized for special manifest, generate error message 43, otherwise generate message 23 and set it export spawn flag for special manifest creation.
💻 Technical Criteria
EXCLUDING Cargo has IT bond type and is not already created for IT
When Special manifest original flag is not set
Then If action is SEND and user is not authorized for special manifest, generate error message 43, otherwise generate message 23 and set IT export spawn flag for special manifest creation
R-GCX003-cbl-00692 Check Port Change Conditions
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Port Change Conditions', assuming that cargo has te bond type and is not created for it and cargo status is not export and cargo is billed as cprs, when location id1 does not match the station crossing port code, the desired outcome is that if action is report, generate message 19 with station code, otherwise if action is send and user is not authorized for special manifest, generate error message 43, otherwise generate message 20 and set port change spawn flag.
💻 Technical Criteria
EXCLUDING Cargo has TE bond type and is not created for IT and cargo status is not export and cargo is billed as CPRS
When Location ID1 does not match the station crossing port code
Then If action is REPORT, generate message 19 with station code, otherwise if action is SEND and user is not authorized for special manifest, generate error message 43, otherwise generate message 20 and set port change spawn flag
R-GCX003-cbl-00693 Check Release Status
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Release Status', assuming that cargo has tr bond type and is not created for it, when cargo short description equals release status, the desired outcome is that if action is report, generate message 18, otherwise if action is send and user is not authorized for special manifest, generate error message 43, otherwise generate message 23 and set detour spawn flag.
💻 Technical Criteria
EXCLUDING Cargo has TR bond type and is not created for IT
When Cargo short description equals release status
Then If action is REPORT, generate message 18, otherwise if action is SEND and user is not authorized for special manifest, generate error message 43, otherwise generate message 23 and set detour spawn flag
R-GCX003-cbl-00694 Check Vessel Name = TRAIN
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Vessel Name = TRAIN', assuming that cargo has mt bond type, when vessel name is not 'train' and not spaces and station crossing port code equals cargo location id, the desired outcome is that generate error message 25 for invalid vessel name and location combination.
💻 Technical Criteria
EXCLUDING Cargo has MT bond type
When Vessel name is not 'TRAIN' and not spaces and station crossing port code equals cargo location ID
Then Generate error message 25 for invalid vessel name and location combination
R-GCX003-cbl-00695 Check Vessel Name
Validation Rules
📊 Business Logic Narrative
When the process 'Check Vessel Name' is invoked, and assuming that cargo has te bond type, when vessel name character at position 23 is 't', the desired outcome is that generate error message 17 for invalid te vessel name format.
💻 Technical Criteria
Given Cargo has TE bond type
When Vessel name character at position 23 is 'T'
Then Generate error message 17 for invalid TE vessel name format
R-GCX003-cbl-00696 Check Vessel Name
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Vessel Name', assuming that cargo bond type is not te and not mt, when vessel name is not 'train', the desired outcome is that generate error message 17 for invalid vessel name.
💻 Technical Criteria
EXCLUDING Cargo bond type is not TE and not MT
When Vessel name is not 'TRAIN'
Then Generate error message 17 for invalid vessel name
R-GCX003-cbl-00697 Default Bond Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Default Bond Processing' is invoked, and assuming that cargo is found with empty equipment or export bond type, when bond type code is spaces or cargo is empty equipment or export type, the desired outcome is that skip bond number processing and continue with default cargo information display.
💻 Technical Criteria
Given Cargo is found with empty equipment or export bond type
When Bond type code is spaces or cargo is empty equipment or export type
Then Skip bond number processing and continue with default cargo information display
R-GCX003-cbl-00698 Default Bond Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Default Bond Processing' is invoked, and assuming that cargo is found with specific bond type, when bol type code equals '15', the desired outcome is that format display as 'ppr 7512 15 us-ca-us' for the cargo information.
💻 Technical Criteria
Given Cargo is found with specific bond type
When BOL type code equals '15'
Then Format display as 'PPR 7512 15 US-CA-US' for the cargo information
R-GCX003-cbl-00699 Check Special Manifest Requirements
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Special Manifest Requirements', assuming that cargo has default bond type and is not created for it, when cargo short description equals release status, the desired outcome is that if action is report, generate message 18, otherwise if action is send and user is not authorized for special manifest, generate error message 43, otherwise generate message 23 and set detour spawn flag.
💻 Technical Criteria
EXCLUDING Cargo has default bond type and is not created for IT
When Cargo short description equals release status
Then If action is REPORT, generate message 18, otherwise if action is SEND and user is not authorized for special manifest, generate error message 43, otherwise generate message 23 and set detour spawn flag
R-GCX003-cbl-00700 Check Special Manifest Requirements
Policy Rules
📊 Business Logic Narrative
When the process 'Check Special Manifest Requirements' is invoked, and assuming that cargo has export bond type and special manifest flag is spaces and origin-destination country codes equal 'usmx', when action is report, the desired outcome is that generate message 50, otherwise if action is send and user is not authorized for special manifest, generate error message 43, otherwise generate message 23 and set 88 tr detour spawn flag.
💻 Technical Criteria
Given Cargo has export bond type and special manifest flag is spaces and origin-destination country codes equal 'USMX'
When Action is REPORT
Then Generate message 50, otherwise if action is SEND and user is not authorized for special manifest, generate error message 43, otherwise generate message 23 and set 88 TR detour spawn flag
R-GCX003-cbl-00701 Create IT Export Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create IT Export Special Manifest' is invoked, and assuming that cargo is found and has it bond type (m1201-in-bond-typ-cde = 'it'), when special manifest original flag is set (gcusrt-special-mfst-orig is true) and user is authorized for special manifests, the desired outcome is that create it export special manifest, generate message 23, and spawn gcx101 process with it export flag.
💻 Technical Criteria
Given Cargo is found and has IT bond type (M1201-IN-BOND-TYP-CDE = 'IT')
When Special manifest original flag is set (GCUSRT-SPECIAL-MFST-ORIG is true) and user is authorized for special manifests
Then Create IT export special manifest, generate message 23, and spawn GCX101 process with IT export flag
R-GCX003-cbl-00702 Create TE Bond Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create TE Bond Special Manifest', assuming that cargo is found and has te bond type (88-gcusrt-m1201-transp-export is true), when tr was not created for it (gcusrt-tr-created-for-it not = 'y') and cargo status is not export and cargo is billed as cprs and port location differs from manifest location, the desired outcome is that create port change special manifest, generate message 20, and spawn gcx101 process with port change flag.
💻 Technical Criteria
EXCLUDING Cargo is found and has TE bond type (88-GCUSRT-M1201-TRANSP-EXPORT is true)
When TR was not created for IT (GCUSRT-TR-CREATED-FOR-IT not = 'Y') and cargo status is not export and cargo is billed as CPRS and port location differs from manifest location
Then Create port change special manifest, generate message 20, and spawn GCX101 process with port change flag
R-GCX003-cbl-00703 Create TR Bond Diversion Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create TR Bond Diversion Special Manifest', assuming that cargo is found and has us-can-us bond type (88-gcusrt-m1201-us-can-us is true) and does not have special tr flag, when tr was not created for it (gcusrt-tr-created-for-it = spaces) and cargo status equals release status (gcusrt-rt21-uscargo-short-desc = ws-gcusrt-rt21-uscargo-release), the desired outcome is that create detour special manifest, generate message 23, and spawn gcx101 process with detour flag.
💻 Technical Criteria
EXCLUDING Cargo is found and has US-CAN-US bond type (88-GCUSRT-M1201-US-CAN-US is true) and does not have special TR flag
When TR was not created for IT (GCUSRT-TR-CREATED-FOR-IT = SPACES) and cargo status equals release status (GCUSRT-RT21-USCARGO-SHORT-DESC = WS-GCUSRT-RT21-USCARGO-RELEASE)
Then Create detour special manifest, generate message 23, and spawn GCX101 process with detour flag
R-GCX003-cbl-00704 Create Border Clearance Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create Border Clearance Special Manifest', assuming that cargo is found and has default bond type (88-gcusrt-m1109-default is true), when tr was not created for it (gcusrt-tr-created-for-it = spaces) and cargo status equals release status and special manifest original flag is not set, the desired outcome is that create detour special manifest, generate message 23, and spawn gcx101 process with detour flag.
💻 Technical Criteria
EXCLUDING Cargo is found and has default bond type (88-GCUSRT-M1109-DEFAULT is true)
When TR was not created for IT (GCUSRT-TR-CREATED-FOR-IT = SPACES) and cargo status equals release status and special manifest original flag is not set
Then Create detour special manifest, generate message 23, and spawn GCX101 process with detour flag
R-GCX003-cbl-00705 Create US-MX Export Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create US-MX Export Special Manifest', assuming that cargo is found and has export bond type (88-gcusrt-m1109-export is true) and country codes equal 'usmx' and station is not laredo, when special manifest flag is spaces (gcusrt-usmx-special-mfst = spaces) and does not have special 88 flag, the desired outcome is that create 88 tr detour special manifest, generate message 23, and spawn gcx101 process with 88 tr detour flag.
💻 Technical Criteria
EXCLUDING Cargo is found and has export bond type (88-GCUSRT-M1109-EXPORT is true) and country codes equal 'USMX' and station is not Laredo
When Special manifest flag is spaces (GCUSRT-USMX-SPECIAL-MFST = SPACES) and does not have special 88 flag
Then Create 88 TR detour special manifest, generate message 23, and spawn GCX101 process with 88 TR detour flag
R-GCX003-cbl-00707 Create Port Change Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create Port Change Special Manifest', assuming that cargo has te bond type and tr was not created for it and cargo status is not export and cargo is billed as cprs, when cargo location (gcusrt-m1203-location-id1) differs from train crossing port (gcstbrt-sc-us-stat-code-x) and action is send and user is authorized for special manifests, the desired outcome is that create port change special manifest, generate message 20, and spawn gcx101 process with port change flag.
💻 Technical Criteria
EXCLUDING Cargo has TE bond type and TR was not created for IT and cargo status is not export and cargo is billed as CPRS
When Cargo location (GCUSRT-M1203-LOCATION-ID1) differs from train crossing port (GCSTBRT-SC-US-STAT-CODE-X) and action is send and user is authorized for special manifests
Then Create port change special manifest, generate message 20, and spawn GCX101 process with port change flag
R-GCX003-cbl-00708 Create TR Diversion Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create TR Diversion Special Manifest', assuming that cargo has tr bond type and bol type is not '15' and train origin is not spaces, when train crossing port (gcstbrt-sc-us-stat-code-x) differs from cargo location (gcusrt-p401-location-id) and action is send, the desired outcome is that create diversion special manifest, generate message 20, and spawn gcx101 process with diversion flag.
💻 Technical Criteria
EXCLUDING Cargo has TR bond type and BOL type is not '15' and train origin is not spaces
When Train crossing port (GCSTBRT-SC-US-STAT-CODE-X) differs from cargo location (GCUSRT-P401-LOCATION-ID) and action is send
Then Create diversion special manifest, generate message 20, and spawn GCX101 process with diversion flag
R-GCX003-cbl-00709 No Special Manifest Required
Decision Rules
📊 Business Logic Narrative
When the process 'No Special Manifest Required' is invoked, and assuming that cargo processing is complete, when none of the special manifest trigger conditions are satisfied (it export, te bond changes, tr diversions, border clearance, us-mx export, or us-us movements), the desired outcome is that continue with normal cargo processing without creating special manifests.
💻 Technical Criteria
Given Cargo processing is complete
When None of the special manifest trigger conditions are satisfied (IT export, TE bond changes, TR diversions, border clearance, US-MX export, or US-US movements)
Then Continue with normal cargo processing without creating special manifests
R-GCX003-cbl-00710 Count Locomotives - LO/ET Types
Computation Rules
📊 Business Logic Narrative
When the process 'Count Locomotives - LO/ET Types' is invoked, and assuming that equipment information is being processed for reporting, when equipment type is lo (locomotive) or et (end of train), the desired outcome is that add 1 to total locomotive counter.
💻 Technical Criteria
Given Equipment information is being processed for reporting
When Equipment type is LO (Locomotive) or ET (End of Train)
Then Add 1 to total locomotive counter
R-GCX003-cbl-00711 Count Containers - CN Type
Computation Rules
📊 Business Logic Narrative
When the process 'Count Containers - CN Type' is invoked, and assuming that equipment type is cn (container), when load/empty indicator is l (loaded), the desired outcome is that add 1 to total loaded container counter.
💻 Technical Criteria
Given Equipment type is CN (Container)
When Load/empty indicator is L (Loaded)
Then Add 1 to total loaded container counter
R-GCX003-cbl-00712 Count Containers - CN Type
Computation Rules
📊 Business Logic Narrative
When the process 'Count Containers - CN Type' is invoked, and assuming that equipment type is cn (container), when load/empty indicator is e (empty), the desired outcome is that add 1 to total empty container counter.
💻 Technical Criteria
Given Equipment type is CN (Container)
When Load/empty indicator is E (Empty)
Then Add 1 to total empty container counter
R-GCX003-cbl-00713 Count Cars - Other Types
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Count Cars - Other Types', assuming that equipment type is not lo, et, or cn, when load/empty indicator is l (loaded), the desired outcome is that add 1 to total loaded car counter.
💻 Technical Criteria
EXCLUDING Equipment type is not LO, ET, or CN
When Load/empty indicator is L (Loaded)
Then Add 1 to total loaded car counter
R-GCX003-cbl-00714 Count Cars - Other Types
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Count Cars - Other Types', assuming that equipment type is not lo, et, or cn, when load/empty indicator is e (empty), the desired outcome is that add 1 to total empty car counter.
💻 Technical Criteria
EXCLUDING Equipment type is not LO, ET, or CN
When Load/empty indicator is E (Empty)
Then Add 1 to total empty car counter
R-GCX003-cbl-00715 Format International Service Unit Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Format International Service Unit Description' is invoked, and assuming that equipment is an sbu van unit, when load/empty indicator is e (empty), the desired outcome is that set equipment information description to 'international service'.
💻 Technical Criteria
Given Equipment is an SBU van unit
When Load/empty indicator is E (Empty)
Then Set equipment information description to 'INTERNATIONAL SERVICE'
R-GCX003-cbl-00716 Format Conveying Flat Car Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Format Conveying Flat Car Description' is invoked, and assuming that no cargo data is available for equipment, when equipment is classified as a conveying car, the desired outcome is that set equipment information description to 'conveying flat car'.
💻 Technical Criteria
Given No cargo data is available for equipment
When Equipment is classified as a conveying car
Then Set equipment information description to 'CONVEYING FLAT CAR'
R-GCX003-cbl-00717 Format Empty Equipment Description
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Format Empty Equipment Description', assuming that no cargo data is available for equipment and equipment is not a conveying car, when load/empty indicator is e (empty), the desired outcome is that set equipment information description to 'empty'.
💻 Technical Criteria
EXCLUDING No cargo data is available for equipment and equipment is not a conveying car
When Load/empty indicator is E (Empty)
Then Set equipment information description to 'EMPTY'
R-GCX003-cbl-00718 Extract from Entry Number
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract from Entry Number', assuming that cargo data is available for equipment, when entry number field is not spaces, the desired outcome is that use entry number as the saved bond number.
💻 Technical Criteria
EXCLUDING Cargo data is available for equipment
When Entry number field is not spaces
Then Use entry number as the saved bond number
R-GCX003-cbl-00719 Extract from In-Bond Control Number
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract from In-Bond Control Number', assuming that cargo data is available and entry number is spaces, when in-bond control number field is not spaces, the desired outcome is that use in-bond control number as the saved bond number.
💻 Technical Criteria
EXCLUDING Cargo data is available and entry number is spaces
When In-bond control number field is not spaces
Then Use in-bond control number as the saved bond number
R-GCX003-cbl-00720 Format Empty Equipment Info
Definitional Rules
📊 Business Logic Narrative
When the process 'Format Empty Equipment Info' is invoked, and assuming that cargo type is empty equipment, when equipment information is being formatted, the desired outcome is that set equipment information to 'empty' and set load/empty indicator to 'e'.
💻 Technical Criteria
Given Cargo type is empty equipment
When Equipment information is being formatted
Then Set equipment information to 'EMPTY' and set load/empty indicator to 'E'
R-GCX003-cbl-00721 Format Empty Residue Info
Computation Rules
📊 Business Logic Narrative
When the process 'Format Empty Residue Info' is invoked, and assuming that cargo type is empty residue, when equipment was previously counted as loaded container, the desired outcome is that subtract 1 from loaded container counter and add 1 to empty container counter.
💻 Technical Criteria
Given Cargo type is empty residue
When Equipment was previously counted as loaded container
Then Subtract 1 from loaded container counter and add 1 to empty container counter
R-GCX003-cbl-00722 Format Empty Residue Info
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Format Empty Residue Info', assuming that cargo type is empty residue and equipment type is not cn, when equipment was previously counted as loaded car, the desired outcome is that subtract 1 from loaded car counter and add 1 to empty car counter.
💻 Technical Criteria
EXCLUDING Cargo type is empty residue and equipment type is not CN
When Equipment was previously counted as loaded car
Then Subtract 1 from loaded car counter and add 1 to empty car counter
R-GCX003-cbl-00723 Format Paper Port 7512 Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Format Paper Port 7512 Description' is invoked, and assuming that cargo bol type code is '15', when equipment information is being formatted, the desired outcome is that set equipment information to 'ppr 7512 15 us-ca-us'.
💻 Technical Criteria
Given Cargo BOL type code is '15'
When Equipment information is being formatted
Then Set equipment information to 'PPR 7512 15 US-CA-US'
R-GCX003-cbl-00724 Format AMS IT/IE Bond Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Format AMS IT/IE Bond Description' is invoked, and assuming that in-bond type code is 'it' or 'ie', when equipment information is being formatted, the desired outcome is that concatenate 'ams ', bond type code, space, and saved bond number into equipment information.
💻 Technical Criteria
Given In-bond type code is 'IT' or 'IE'
When Equipment information is being formatted
Then Concatenate 'AMS ', bond type code, space, and saved bond number into equipment information
R-GCX003-cbl-00725 Format AMS 7512 TE/TR/MT Bond Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Format AMS 7512 TE/TR/MT Bond Description' is invoked, and assuming that in-bond type code is 'te', 'tr', or 'mt', when equipment information is being formatted, the desired outcome is that concatenate 'ams 7512 ', bond type code, space, and saved bond number into equipment information.
💻 Technical Criteria
Given In-bond type code is 'TE', 'TR', or 'MT'
When Equipment information is being formatted
Then Concatenate 'AMS 7512 ', bond type code, space, and saved bond number into equipment information
R-GCX003-cbl-00726 Format Equipment Description from Segment 07
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Format Equipment Description from Segment 07', assuming that equipment information is spaces and segment 07 data is available, when segment 07 data entry is not spaces or low-values, the desired outcome is that use segment 07 sed field as equipment information description.
💻 Technical Criteria
EXCLUDING Equipment information is spaces and segment 07 data is available
When Segment 07 data entry is not spaces or low-values
Then Use segment 07 SED field as equipment information description
R-GCX003-cbl-00727 Process Multiple Description Lines
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process Multiple Description Lines', assuming that multiple segment 07 data entries exist, when processing each segment 07 entry that is not spaces or low-values, the desired outcome is that create separate report line for each description and increment equipment counter only for first description.
💻 Technical Criteria
EXCLUDING Multiple segment 07 data entries exist
When Processing each segment 07 entry that is not spaces or low-values
Then Create separate report line for each description and increment equipment counter only for first description
R-GCX003-cbl-00728 Format Special Facility Equipment Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Format Special Facility Equipment Description' is invoked, and assuming that station table entry type is 'sfe' and country is 'us' or spaces, when equipment information is being processed, the desired outcome is that use station table type description as equipment information and create additional report line if equipment information already exists.
💻 Technical Criteria
Given Station table entry type is 'SFE' and country is 'US' or spaces
When Equipment information is being processed
Then Use station table type description as equipment information and create additional report line if equipment information already exists
R-GCX003-cbl-00729 B250-RETRIEVE-SEG07: Initialize Segment Retrieval
Process Rules
📊 Business Logic Narrative
When the process 'B250-RETRIEVE-SEG07: Initialize Segment Retrieval' is invoked, and assuming that a cargo record exists for processing, when the system begins segment data retrieval, the desired outcome is that the system should initialize cargo segment retrieval parameters and set function to get unique operation.
💻 Technical Criteria
Given A cargo record exists for processing
When The system begins segment data retrieval
Then The system should initialize cargo segment retrieval parameters and set function to Get Unique operation
R-GCX003-cbl-00730 Set Segment Types: SEG07, SEG02, SEG08
Process Rules
📊 Business Logic Narrative
When the process 'Set Segment Types: SEG07, SEG02, SEG08' is invoked, and assuming that segment retrieval is being initialized, when the system configures segment types for retrieval, the desired outcome is that the system should set flags to retrieve seg07 equipment descriptions, seg02 reference numbers, and seg08 hazmat data.
💻 Technical Criteria
Given Segment retrieval is being initialized
When The system configures segment types for retrieval
Then The system should set flags to retrieve SEG07 equipment descriptions, SEG02 reference numbers, and SEG08 hazmat data
R-GCX003-cbl-00731 Call GCCUSIO2 to Retrieve Segments
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO2 to Retrieve Segments' is invoked, and assuming that segment retrieval parameters are configured, when the system calls the cargo i/o module to retrieve segment data, the desired outcome is that the system should execute the database call to fetch seg07, seg02, and seg08 segment information.
💻 Technical Criteria
Given Segment retrieval parameters are configured
When The system calls the cargo I/O module to retrieve segment data
Then The system should execute the database call to fetch SEG07, SEG02, and SEG08 segment information
R-GCX003-cbl-00732 Segment Retrieval Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Segment Retrieval Successful?' is invoked, and assuming that cargo segment data retrieval has been attempted, when the system checks the retrieval operation result, the desired outcome is that the system should determine if segment data was successfully retrieved based on error status being empty.
💻 Technical Criteria
Given Cargo segment data retrieval has been attempted
When The system checks the retrieval operation result
Then The system should determine if segment data was successfully retrieved based on error status being empty
R-GCX003-cbl-00737 Initialize SEG07 Processing Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize SEG07 Processing Counter' is invoked, and assuming that equipment description field is empty and seg07 data processing is required, when the system initializes seg07 processing, the desired outcome is that the system should set seg07 written counter to zero and prepare for iterating through seg07 data array.
💻 Technical Criteria
Given Equipment description field is empty and SEG07 data processing is required
When The system initializes SEG07 processing
Then The system should set SEG07 written counter to zero and prepare for iterating through SEG07 data array
R-GCX003-cbl-00739 Move SEG07 Description to Report Info Field
Process Rules
📊 Business Logic Narrative
When the process 'Move SEG07 Description to Report Info Field' is invoked, and assuming that a valid seg07 entry with equipment description exists, when the system processes the equipment description, the desired outcome is that the system should move the seg07 description to both report info field and new report info field, and set seg07 processing flag to yes.
💻 Technical Criteria
Given A valid SEG07 entry with equipment description exists
When The system processes the equipment description
Then The system should move the SEG07 description to both report info field and new report info field, and set SEG07 processing flag to yes
R-GCX003-cbl-00740 First SEG07 Entry?
Decision Rules
📊 Business Logic Narrative
When the process 'First SEG07 Entry?' is invoked, and assuming that a seg07 entry has been processed and added to the report, when the system checks if this is the first seg07 entry written, the desired outcome is that the system should increment the total equipment count only if the seg07 written counter equals 1.
💻 Technical Criteria
Given A SEG07 entry has been processed and added to the report
When The system checks if this is the first SEG07 entry written
Then The system should increment the total equipment count only if the SEG07 written counter equals 1
R-GCX003-cbl-00744 Set Container Found Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Container Found Status' is invoked, and assuming that container data is successfully retrieved from shiproot database, when container information is available in primary system, the desired outcome is that container found status is set to true.
💻 Technical Criteria
Given Container data is successfully retrieved from SHIPROOT database
When Container information is available in primary system
Then Container found status is set to true
R-GCX003-cbl-00748 Retrieve Container Cross-Reference Data
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Container Cross-Reference Data' is invoked, and assuming that fwiqroot database access is successful, when system processes inquiry bottom line records, the desired outcome is that container cross-reference data is extracted from fwiqbotl records up to maximum of 30 entries.
💻 Technical Criteria
Given FWIQROOT database access is successful
When System processes inquiry bottom line records
Then Container cross-reference data is extracted from FWIQBOTL records up to maximum of 30 entries
R-GCX003-cbl-00750 Set Container Found from Inquiry System
Action Rules
📊 Business Logic Narrative
When the process 'Set Container Found from Inquiry System' is invoked, and assuming that container information is successfully parsed from inquiry system, when at least one valid container id is extracted from cross-reference data, the desired outcome is that container found status is set to true and container iq found status is set to true with first container id assigned as equipment id.
💻 Technical Criteria
Given Container information is successfully parsed from inquiry system
When At least one valid container ID is extracted from cross-reference data
Then Container found status is set to true and container IQ found status is set to true with first container ID assigned as equipment ID
R-GCX003-cbl-00752 Continue with Next Container Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue with Next Container Processing', assuming that container retrieval process is completed for current container, when container status is determined (found or not found), the desired outcome is that system proceeds to next container in the processing sequence.
💻 Technical Criteria
EXCLUDING Container retrieval process is completed for current container
When Container status is determined (found or not found)
Then System proceeds to next container in the processing sequence
R-GCX003-cbl-00758 Initialize Equipment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Equipment Counter' is invoked, and assuming that aei send flag has been set, when beginning equipment processing, the desired outcome is that equipment quantity counter is initialized to zero.
💻 Technical Criteria
Given AEI send flag has been set
When Beginning equipment processing
Then Equipment quantity counter is initialized to zero
R-GCX003-cbl-00759 More Equipment to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Equipment to Process?' is invoked, and assuming that equipment processing is in progress, when checking for more equipment items, the desired outcome is that continue processing if report index is within bounds, equipment table is not full, and current line contains valid equipment data (not message, end report, or blank line).
💻 Technical Criteria
Given Equipment processing is in progress
When Checking for more equipment items
Then Continue processing if report index is within bounds, equipment table is not full, and current line contains valid equipment data (not message, end report, or blank line)
R-GCX003-cbl-00760 Extract Equipment Details
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Details' is invoked, and assuming that a valid equipment line has been identified for processing, when extracting equipment details, the desired outcome is that equipment counter is incremented and equipment identification data is prepared for type-specific processing.
💻 Technical Criteria
Given A valid equipment line has been identified for processing
When Extracting equipment details
Then Equipment counter is incremented and equipment identification data is prepared for type-specific processing
R-GCX003-cbl-00761 Equipment Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Type?' is invoked, and assuming that equipment details are being extracted, when determining equipment type, the desired outcome is that if container id exists, process as container; otherwise process as railcar.
💻 Technical Criteria
Given Equipment details are being extracted
When Determining equipment type
Then If container ID exists, process as container; otherwise process as railcar
R-GCX003-cbl-00762 Store Container Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Container Information' is invoked, and assuming that equipment has been identified as a container, when storing container information, the desired outcome is that container id is stored as equipment id and container flag is set to true.
💻 Technical Criteria
Given Equipment has been identified as a container
When Storing container information
Then Container ID is stored as equipment ID and container flag is set to true
R-GCX003-cbl-00763 Store Car Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Car Information' is invoked, and assuming that equipment has been identified as a railcar, when storing car information, the desired outcome is that car initials and number are combined to form complete equipment id for storage.
💻 Technical Criteria
Given Equipment has been identified as a railcar
When Storing car information
Then Car initials and number are combined to form complete equipment ID for storage
R-GCX003-cbl-00764 Set Equipment Type Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Type Code' is invoked, and assuming that equipment id has been stored, when setting equipment type code, the desired outcome is that equipment type code from the report working storage is stored in the train list equipment record.
💻 Technical Criteria
Given Equipment ID has been stored
When Setting equipment type code
Then Equipment type code from the report working storage is stored in the train list equipment record
R-GCX003-cbl-00768 Store Empty Car Indicator
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Empty Car Indicator' is invoked, and assuming that condition response code has been stored, when storing empty car indicator, the desired outcome is that empty car routing indicator from the report working storage is stored in the equipment record.
💻 Technical Criteria
Given Condition response code has been stored
When Storing empty car indicator
Then Empty car routing indicator from the report working storage is stored in the equipment record
R-GCX003-cbl-00769 Increment Equipment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Equipment Counter' is invoked, and assuming that all equipment details have been stored for current item, when completing equipment storage, the desired outcome is that equipment quantity counter is incremented by one.
💻 Technical Criteria
Given All equipment details have been stored for current item
When Completing equipment storage
Then Equipment quantity counter is incremented by one
R-GCX003-cbl-00770 Equipment Table Full?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Table Full?' is invoked, and assuming that equipment counter has been incremented, when checking table capacity, the desired outcome is that if equipment quantity equals maximum capacity and more report lines exist, abort with table overflow error; otherwise continue processing.
💻 Technical Criteria
Given Equipment counter has been incremented
When Checking table capacity
Then If equipment quantity equals maximum capacity and more report lines exist, abort with table overflow error; otherwise continue processing
R-GCX003-cbl-00771 Insert Train Record to Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Train Record to Database' is invoked, and assuming that all equipment has been processed and stored in the train list structure, when inserting train record to database, the desired outcome is that complete train list with header and equipment details is inserted into gcsutrt database.
💻 Technical Criteria
Given All equipment has been processed and stored in the train list structure
When Inserting train record to database
Then Complete train list with header and equipment details is inserted into GCSUTRT database
R-GCX003-cbl-00774 Abort - Table Overflow
Validation Rules
📊 Business Logic Narrative
When the process 'Abort - Table Overflow' is invoked, and assuming that equipment table has reached maximum capacity with more items to process, when table overflow condition is detected, the desired outcome is that system aborts with train list table overflow error message.
💻 Technical Criteria
Given Equipment table has reached maximum capacity with more items to process
When Table overflow condition is detected
Then System aborts with train list table overflow error message
R-GCX003-cbl-00792 Finalize Report Headers and Summary
Process Rules
📊 Business Logic Narrative
When the process 'Finalize Report Headers and Summary' is invoked, and assuming that a train processing request has been completed with equipment processed and report lines generated, when the system finalizes the report for transmission, the desired outcome is that the system sets the end report marker if the last line is blank, records the last line index, creates header lines with train id and origin station, adds user id and terminal information with current date and time, and formats the result status based on the request action type.
💻 Technical Criteria
Given A train processing request has been completed with equipment processed and report lines generated
When The system finalizes the report for transmission
Then The system sets the end report marker if the last line is blank, records the last line index, creates header lines with train ID and origin station, adds user ID and terminal information with current date and time, and formats the result status based on the request action type
R-GCX003-cbl-00794 Store Train List in Database
Action Rules
📊 Business Logic Narrative
When the process 'Store Train List in Database' is invoked, and assuming that a send request has been validated successfully with no errors and no spawns required, when the system processes the train list for storage, the desired outcome is that the system saves the train header information including train number, day, origin, consist number, crossing port, station details, eta date and time, aei send flag, and all equipment details with their load/empty status and cargo information to the database.
💻 Technical Criteria
Given A SEND request has been validated successfully with no errors and no spawns required
When The system processes the train list for storage
Then The system saves the train header information including train number, day, origin, consist number, crossing port, station details, ETA date and time, AEI send flag, and all equipment details with their load/empty status and cargo information to the database
R-GCX003-cbl-00796 Remove Duplicate Equipment Entries
Process Rules
📊 Business Logic Narrative
When the process 'Remove Duplicate Equipment Entries' is invoked, and assuming that a report has been generated with potential duplicate equipment entries, when the system scans for duplicates, the desired outcome is that for each equipment entry, if the car id matches the previously held car id, clear the current car id to spaces; otherwise update the held car id with the current car id, excluding error, warning, and information message lines from duplicate checking.
💻 Technical Criteria
Given A report has been generated with potential duplicate equipment entries
When The system scans for duplicates
Then For each equipment entry, if the car ID matches the previously held car ID, clear the current car ID to spaces; otherwise update the held car ID with the current car ID, excluding error, warning, and information message lines from duplicate checking
R-GCX003-cbl-00797 Send Report to Customs MERLIN System
Action Rules
📊 Business Logic Narrative
When the process 'Send Report to Customs MERLIN System' is invoked, and assuming that a train report has been finalized and duplicates removed, when the system sends the report to customs, the desired outcome is that the system formats the report with equipment totals in the status line, sets the sender and recipient to om01247, uses the first report line as the subject, sets item width to 080, and transmits up to 699 lines per email with continuation handling for larger reports.
💻 Technical Criteria
Given A train report has been finalized and duplicates removed
When The system sends the report to customs
Then The system formats the report with equipment totals in the status line, sets the sender and recipient to OM01247, uses the first report line as the subject, sets item width to 080, and transmits up to 699 lines per email with continuation handling for larger reports
R-GCX003-cbl-00800 Generate Enhanced Format Report
Process Rules
📊 Business Logic Narrative
When the process 'Generate Enhanced Format Report' is invoked, and assuming that the processing station is laredo tx, when the system generates the enhanced report, the desired outcome is that the system creates header lines with train id, car and container counts by load/empty status, eta date and time, port code and name, locomotive count, and total equipment count, formats detail lines for each equipment item, and prepares the report for pdf generation.
💻 Technical Criteria
Given The processing station is Laredo TX
When The system generates the enhanced report
Then The system creates header lines with train ID, car and container counts by load/empty status, ETA date and time, port code and name, locomotive count, and total equipment count, formats detail lines for each equipment item, and prepares the report for PDF generation
R-GCX003-cbl-01484 Store Train List in Database
Action Rules
📊 Business Logic Narrative
When the process 'Store Train List in Database' is invoked, and assuming that a validated train manifest with send action and no errors, when the system processes the successful request, the desired outcome is that store the train list data in the gcsutrt database table with all equipment and cargo details.
💻 Technical Criteria
Given A validated train manifest with SEND action and no errors
When The system processes the successful request
Then Store the train list data in the GCSUTRT database table with all equipment and cargo details
R-GCX003-cbl-01486 Remove Duplicate Equipment Entries
Process Rules
📊 Business Logic Narrative
When the process 'Remove Duplicate Equipment Entries' is invoked, and assuming that a processed train manifest report with potential duplicate equipment entries, when the system performs duplicate checking, the desired outcome is that scan through report lines and remove duplicate car ids while preserving the first occurrence.
💻 Technical Criteria
Given A processed train manifest report with potential duplicate equipment entries
When The system performs duplicate checking
Then Scan through report lines and remove duplicate car IDs while preserving the first occurrence
R-GCX003-cbl-01487 Send Report to Customs MERLIN System
Action Rules
📊 Business Logic Narrative
When the process 'Send Report to Customs MERLIN System' is invoked, and assuming that a processed train manifest with complete report data, when the system sends the report to customs, the desired outcome is that format and send the report via emcsend3 to usercode om01247 with train details, equipment counts, and cargo information.
💻 Technical Criteria
Given A processed train manifest with complete report data
When The system sends the report to customs
Then Format and send the report via EMCSEND3 to usercode OM01247 with train details, equipment counts, and cargo information
R-GCX003-cbl-01490 Generate Enhanced Format Report
Process Rules
📊 Business Logic Narrative
When the process 'Generate Enhanced Format Report' is invoked, and assuming that a train manifest crossing at laredo tx station, when the system processes laredo-specific reporting, the desired outcome is that generate new format report with detailed equipment counts, port information, and enhanced layout.
💻 Technical Criteria
Given A train manifest crossing at Laredo TX station
When The system processes Laredo-specific reporting
Then Generate new format report with detailed equipment counts, port information, and enhanced layout
R-GCX003-cbl-01769 Check RPT-NO-SPAWN Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Check RPT-NO-SPAWN Flag' is invoked, and assuming that train manifest processing has completed and error status has been evaluated, when the system checks the spawn activity status using the rpt-no-spawn flag, the desired outcome is that the system determines whether any special manifest creation processes were initiated during cargo processing.
💻 Technical Criteria
Given Train manifest processing has completed and error status has been evaluated
When The system checks the spawn activity status using the RPT-NO-SPAWN flag
Then The system determines whether any special manifest creation processes were initiated during cargo processing
R-GCX003-cbl-01501 Store Train List in Database
Action Rules
📊 Business Logic Narrative
When the process 'Store Train List in Database' is invoked, and assuming that a validated train list with equipment details and no processing errors, when the system stores the train list in the database, the desired outcome is that the train header information including train number, day, origin, consist number, crossing port, eta details, and all equipment records with their cargo information must be inserted into the database.
💻 Technical Criteria
Given A validated train list with equipment details and no processing errors
When The system stores the train list in the database
Then The train header information including train number, day, origin, consist number, crossing port, ETA details, and all equipment records with their cargo information must be inserted into the database
R-GCX003-cbl-01503 Remove Duplicate Equipment Entries
Validation Rules
📊 Business Logic Narrative
When the process 'Remove Duplicate Equipment Entries' is invoked, and assuming that a completed report with potential duplicate equipment entries, when the system scans for duplicate equipment, the desired outcome is that if the same car id appears multiple times consecutively, all subsequent occurrences must be blanked out while preserving the first occurrence.
💻 Technical Criteria
Given A completed report with potential duplicate equipment entries
When The system scans for duplicate equipment
Then If the same car ID appears multiple times consecutively, all subsequent occurrences must be blanked out while preserving the first occurrence
R-GCX003-cbl-01505 Generate Canadian Export Reports
Process Rules
📊 Business Logic Narrative
When the process 'Generate Canadian Export Reports' is invoked, and assuming that a processed train manifest for laredo tx station crossing, when the system generates canadian export reports, the desired outcome is that a new format report must be created with train id, equipment counts by type (cars loaded/empty, containers loaded/empty, locomotives), eta details, port information, and total equipment count.
💻 Technical Criteria
Given A processed train manifest for Laredo TX station crossing
When The system generates Canadian export reports
Then A new format report must be created with train ID, equipment counts by type (cars loaded/empty, containers loaded/empty, locomotives), ETA details, port information, and total equipment count
R-GCX003-cbl-00807 Initialize Train Header Information
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Train Header Information' is invoked, and assuming that a train transmission has been successfully processed, when the system begins train list storage process, the desired outcome is that the train header information structure is initialized to empty values.
💻 Technical Criteria
Given A train transmission has been successfully processed
When The system begins train list storage process
Then The train header information structure is initialized to empty values
R-GCX003-cbl-00812 Initialize Equipment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Equipment Counter' is invoked, and assuming that aei send flag has been set, when initializing equipment processing, the desired outcome is that equipment quantity counter is initialized to zero.
💻 Technical Criteria
Given AEI send flag has been set
When Initializing equipment processing
Then Equipment quantity counter is initialized to zero
R-GCX003-cbl-00813 More Equipment to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Equipment to Process?' is invoked, and assuming that equipment counter has been initialized and report processing is in progress, when checking for more equipment to process, the desired outcome is that if report index is less than or equal to report last line and report index is less than or equal to maximum report line and equipment quantity is less than equipment maximum, then continue processing, otherwise stop processing.
💻 Technical Criteria
Given Equipment counter has been initialized and report processing is in progress
When Checking for more equipment to process
Then If report index is less than or equal to report last line AND report index is less than or equal to maximum report line AND equipment quantity is less than equipment maximum, then continue processing, otherwise stop processing
R-GCX003-cbl-00814 Extract Equipment Details
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Details' is invoked, and assuming that more equipment exists to process, when extracting equipment details from report, the desired outcome is that if report line is not a message line and not an end report line and not a blank line, then increment equipment quantity and extract equipment information.
💻 Technical Criteria
Given More equipment exists to process
When Extracting equipment details from report
Then If report line is not a message line AND not an end report line AND not a blank line, then increment equipment quantity and extract equipment information
R-GCX003-cbl-00815 Equipment Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Type?' is invoked, and assuming that equipment details have been extracted from report, when determining equipment type, the desired outcome is that if report shows container information, then process as container, otherwise process as car.
💻 Technical Criteria
Given Equipment details have been extracted from report
When Determining equipment type
Then If report shows container information, then process as container, otherwise process as car
R-GCX003-cbl-00816 Store Container Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Container Information' is invoked, and assuming that equipment type is determined to be container, when storing container information, the desired outcome is that container id is stored as equipment id and container flag is set to true.
💻 Technical Criteria
Given Equipment type is determined to be container
When Storing container information
Then Container ID is stored as equipment ID and container flag is set to TRUE
R-GCX003-cbl-00817 Store Car Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Car Information' is invoked, and assuming that equipment type is determined to be car, when storing car information, the desired outcome is that car initials are moved to equipment initials, zeros are moved to equipment number prefix, car number is moved to equipment number, and constructed equipment id is stored.
💻 Technical Criteria
Given Equipment type is determined to be car
When Storing car information
Then Car initials are moved to equipment initials, zeros are moved to equipment number prefix, car number is moved to equipment number, and constructed equipment ID is stored
R-GCX003-cbl-00818 Set Equipment Type Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Type Code' is invoked, and assuming that equipment information has been stored (container or car), when setting equipment type code, the desired outcome is that equipment type code from report working storage is stored in train equipment record.
💻 Technical Criteria
Given Equipment information has been stored (container or car)
When Setting equipment type code
Then Equipment type code from report working storage is stored in train equipment record
R-GCX003-cbl-00822 Store Empty Car Indicator
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Empty Car Indicator' is invoked, and assuming that condition response code has been stored, when storing empty car indicator, the desired outcome is that empty car indicator from report working storage is stored in train equipment empty car indicator field.
💻 Technical Criteria
Given Condition response code has been stored
When Storing empty car indicator
Then Empty car indicator from report working storage is stored in train equipment empty car indicator field
R-GCX003-cbl-00823 Increment Equipment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Equipment Counter' is invoked, and assuming that equipment details have been fully stored, when incrementing equipment counter, the desired outcome is that equipment quantity counter is incremented by 1.
💻 Technical Criteria
Given Equipment details have been fully stored
When Incrementing equipment counter
Then Equipment quantity counter is incremented by 1
R-GCX003-cbl-00824 Equipment Table Full?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Table Full?' is invoked, and assuming that equipment counter has been incremented, when checking equipment table capacity, the desired outcome is that if equipment quantity equals equipment maximum and report index is not greater than report last line, then table overflow error occurs, otherwise continue processing.
💻 Technical Criteria
Given Equipment counter has been incremented
When Checking equipment table capacity
Then If equipment quantity equals equipment maximum AND report index is not greater than report last line, then table overflow error occurs, otherwise continue processing
R-GCX003-cbl-00825 Insert Train Record to Database
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Insert Train Record to Database', assuming that all equipment has been processed and table capacity is not exceeded, when inserting train record to database, the desired outcome is that train list record with all equipment details is inserted into the database using gccutrio module.
💻 Technical Criteria
EXCLUDING All equipment has been processed and table capacity is not exceeded
When Inserting train record to database
Then Train list record with all equipment details is inserted into the database using GCCUTRIO module
R-GCX003-cbl-00828 Call GCCU358T Module for EDI Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCU358T Module for EDI Transmission' is invoked, and assuming that a validated train list with all equipment and cargo details and the system is configured for background processing, when the edi transmission is executed, the desired outcome is that the gccu358t module must be called with the complete train list data for transmission to us customs.
💻 Technical Criteria
Given A validated train list with all equipment and cargo details AND the system is configured for background processing
When The EDI transmission is executed
Then The GCCU358T module must be called with the complete train list data for transmission to US Customs
R-GCX003-cbl-00862 Alternate Terminal Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Alternate Terminal Available?', assuming that a report needs to be sent to an originator terminal, when the system checks if an alternate terminal is configured and not empty, the desired outcome is that the system uses the alternate terminal if available, otherwise uses the original terminal from the request.
💻 Technical Criteria
EXCLUDING A report needs to be sent to an originator terminal
When The system checks if an alternate terminal is configured and not empty
Then The system uses the alternate terminal if available, otherwise uses the original terminal from the request
R-GCX003-cbl-00903 Build Header Line 1 - Train ID and Car Counts
Process Rules
📊 Business Logic Narrative
When the process 'Build Header Line 1 - Train ID and Car Counts' is invoked, and assuming that enhanced report generation is active for laredo tx station, when the system builds the first header line, the desired outcome is that the header includes the us customer train id, total loaded cars count, and total empty cars count.
💻 Technical Criteria
Given Enhanced report generation is active for Laredo TX station
When The system builds the first header line
Then The header includes the US customer train ID, total loaded cars count, and total empty cars count
R-GCX003-cbl-00904 Build Header Line 2 - ETA Date/Time and Container Counts
Process Rules
📊 Business Logic Narrative
When the process 'Build Header Line 2 - ETA Date/Time and Container Counts' is invoked, and assuming that enhanced report generation is active, when the system builds the second header line, the desired outcome is that the header includes eta date with century calculation (19xx for years >94, 20xx otherwise), eta time, loaded container count, and empty container count.
💻 Technical Criteria
Given Enhanced report generation is active
When The system builds the second header line
Then The header includes ETA date with century calculation (19xx for years >94, 20xx otherwise), ETA time, loaded container count, and empty container count
R-GCX003-cbl-00905 Build Header Line 3 - Port Information and Totals
Computation Rules
📊 Business Logic Narrative
When the process 'Build Header Line 3 - Port Information and Totals' is invoked, and assuming that enhanced report generation is active, when the system builds the third header line, the desired outcome is that the header includes port code, port name, locomotive count, and total equipment count (sum of cars, containers, and locomotives).
💻 Technical Criteria
Given Enhanced report generation is active
When The system builds the third header line
Then The header includes port code, port name, locomotive count, and total equipment count (sum of cars, containers, and locomotives)
R-GCX003-cbl-00913 CPRS Carrier AND Origin ≠ 9089?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'CPRS Carrier AND Origin ≠ 9089?', assuming that a cargo record with scac code and a train request with origin station, when the cargo scac is 'cprs' and the train origin is not '9089', the desired outcome is that the port is classified as automated.
💻 Technical Criteria
EXCLUDING A cargo record with SCAC code and a train request with origin station
When The cargo SCAC is 'CPRS' AND the train origin is not '9089'
Then The port is classified as AUTOMATED
R-GCX003-cbl-00914 UPRR Carrier AND Origin = 9089?
Decision Rules
📊 Business Logic Narrative
When the process 'UPRR Carrier AND Origin = 9089?' is invoked, and assuming that a cargo record with scac code and a train request with origin station, when the cargo scac is 'uprr' and the train origin is '9089', the desired outcome is that the port is classified as automated.
💻 Technical Criteria
Given A cargo record with SCAC code and a train request with origin station
When The cargo SCAC is 'UPRR' AND the train origin is '9089'
Then The port is classified as AUTOMATED
R-GCX003-cbl-00915 Look Up Port in Reference Table
Action Rules
📊 Business Logic Narrative
When the process 'Look Up Port in Reference Table' is invoked, and assuming that a cargo scac code and a crossing port station code, when the port automation status needs to be determined from reference data, the desired outcome is that look up the port in gcstbrt table using scac and station code combination.
💻 Technical Criteria
Given A cargo SCAC code and a crossing port station code
When The port automation status needs to be determined from reference data
Then Look up the port in GCSTBRT table using SCAC and station code combination
R-GCX003-cbl-00918 Current Haulage Status vs Port Type Mismatch?
Validation Rules
📊 Business Logic Narrative
When the process 'Current Haulage Status vs Port Type Mismatch?' is invoked, and assuming that a cargo with haulage automation flag and a classified port type, when the request action is send and cargo is haulage type, the desired outcome is that check if automated haulage with paper port or manual haulage with automated port creates a mismatch.
💻 Technical Criteria
Given A cargo with haulage automation flag and a classified port type
When The request action is SEND AND cargo is haulage type
Then Check if automated haulage with paper port OR manual haulage with automated port creates a mismatch
R-GCX003-cbl-00919 Update Haulage Automation Flag
Action Rules
📊 Business Logic Narrative
When the process 'Update Haulage Automation Flag' is invoked, and assuming that a haulage cargo with automation status that conflicts with port classification, when a mismatch is detected between haulage status and port type, the desired outcome is that update haulage automation flag to 'n' for paper ports or 'y' for automated ports.
💻 Technical Criteria
Given A haulage cargo with automation status that conflicts with port classification
When A mismatch is detected between haulage status and port type
Then Update haulage automation flag to 'N' for paper ports or 'Y' for automated ports
R-GCX003-cbl-00920 Set Route Type 2 - Hazmat Routing
Decision Rules
📊 Business Logic Narrative
When the process 'Set Route Type 2 - Hazmat Routing' is invoked, and assuming that equipment routing information is being processed, when the equipment ima code equals 'hm' indicating hazmat material, the desired outcome is that set route classification to type 2 (hazmat routing) and mark route as found.
💻 Technical Criteria
Given Equipment routing information is being processed
When The equipment IMA code equals 'HM' indicating hazmat material
Then Set route classification to type 2 (hazmat routing) and mark route as found
R-GCX003-cbl-00922 Set Route Type 3 - CSXT to CPRS via DET
Decision Rules
📊 Business Logic Narrative
When the process 'Set Route Type 3 - CSXT to CPRS via DET' is invoked, and assuming that equipment has valid routing information with scac codes and junction points, when first scac is csxt or ns, second scac is cprs, and junction point is det, and first scac is specifically csxt, the desired outcome is that set route classification to type 3 and mark route as found.
💻 Technical Criteria
Given Equipment has valid routing information with SCAC codes and junction points
When First SCAC is CSXT or NS, second SCAC is CPRS, and junction point is DET, and first SCAC is specifically CSXT
Then Set route classification to type 3 and mark route as found
R-GCX003-cbl-00923 Set Route Type 4 - NS to CPRS via DET
Decision Rules
📊 Business Logic Narrative
When the process 'Set Route Type 4 - NS to CPRS via DET' is invoked, and assuming that equipment has valid routing information with scac codes and junction points, when first scac is csxt or ns, second scac is cprs, and junction point is det, and first scac is ns, the desired outcome is that set route classification to type 4 and mark route as found.
💻 Technical Criteria
Given Equipment has valid routing information with SCAC codes and junction points
When First SCAC is CSXT or NS, second SCAC is CPRS, and junction point is DET, and first SCAC is NS
Then Set route classification to type 4 and mark route as found
R-GCX003-cbl-00924 Set Route Type 1 - No Special Routing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Route Type 1 - No Special Routing', assuming that equipment routing information is being processed, when equipment is not hazmat and routing pattern doesn't match csxt/ns to cprs via detroit, the desired outcome is that set route classification to type 1 indicating no special routing requirements.
💻 Technical Criteria
EXCLUDING Equipment routing information is being processed
When Equipment is not hazmat and routing pattern doesn't match CSXT/NS to CPRS via Detroit
Then Set route classification to type 1 indicating no special routing requirements
R-GCX003-cbl-00926 Determine Port Automation Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Determine Port Automation Status', assuming that a cargo record with scac code and train origin location, when the system evaluates port automation status and ((scac is cprs and train origin is not 9089) or (scac is uprr and train origin is 9089)), the desired outcome is that set port as automated, otherwise set port as paper mode.
💻 Technical Criteria
EXCLUDING A cargo record with SCAC code and train origin location
When The system evaluates port automation status AND ((SCAC is CPRS and train origin is not 9089) OR (SCAC is UPRR and train origin is 9089))
Then Set port as automated, otherwise set port as paper mode
R-GCX003-cbl-00927 Determine Port Automation Status
Validation Rules
📊 Business Logic Narrative
When the process 'Determine Port Automation Status' is invoked, and assuming that a cargo record that doesn't meet standard automated port criteria and station table contains port configuration data, when the system looks up the scac and port combination in the station table, the desired outcome is that set port automation status based on the automated carrier flag from station table (y for automated, otherwise paper).
💻 Technical Criteria
Given A cargo record that doesn't meet standard automated port criteria AND station table contains port configuration data
When The system looks up the SCAC and port combination in the station table
Then Set port automation status based on the automated carrier flag from station table (Y for automated, otherwise paper)
R-GCX003-cbl-00928 Update Haulage Flag to Manual - Set 'N'
Action Rules
📊 Business Logic Narrative
When the process 'Update Haulage Flag to Manual - Set 'N'' is invoked, and assuming that a cargo record with haulage indicator and cargo has automated haulage flag and port is determined to be paper mode and request action is send, when the system detects mismatch between automated haulage and paper port, the desired outcome is that update the haulage automation flag to 'n' (manual) and replace the cargo record.
💻 Technical Criteria
Given A cargo record with haulage indicator AND cargo has automated haulage flag AND port is determined to be paper mode AND request action is SEND
When The system detects mismatch between automated haulage and paper port
Then Update the haulage automation flag to 'N' (manual) and replace the cargo record
R-GCX003-cbl-00929 Update Haulage Flag to Automated - Set 'Y'
Action Rules
📊 Business Logic Narrative
When the process 'Update Haulage Flag to Automated - Set 'Y'' is invoked, and assuming that a cargo record with haulage indicator and cargo has manual haulage flag and port is determined to be automated mode and request action is send, when the system detects mismatch between manual haulage and automated port, the desired outcome is that update the haulage automation flag to 'y' (automated) and replace the cargo record.
💻 Technical Criteria
Given A cargo record with haulage indicator AND cargo has manual haulage flag AND port is determined to be automated mode AND request action is SEND
When The system detects mismatch between manual haulage and automated port
Then Update the haulage automation flag to 'Y' (automated) and replace the cargo record
R-GCX003-cbl-00930 Is Cargo Haulage?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Cargo Haulage?', assuming that a cargo record being processed for haulage automation flags, when the cargo does not have haulage indicator set, the desired outcome is that skip all haulage automation flag processing and continue with next processing step.
💻 Technical Criteria
EXCLUDING A cargo record being processed for haulage automation flags
When The cargo does not have haulage indicator set
Then Skip all haulage automation flag processing and continue with next processing step
R-GCX003-cbl-00956 Initialize AELWRKTB Database Access
Process Rules
📊 Business Logic Narrative
When the process 'Initialize AELWRKTB Database Access' is invoked, and assuming that email distribution list retrieval is required, when system begins email distribution setup process, the desired outcome is that database access structure aelwrktb is initialized to empty state.
💻 Technical Criteria
Given Email distribution list retrieval is required
When System begins email distribution setup process
Then Database access structure AELWRKTB is initialized to empty state
R-GCX003-cbl-00978 Insert Train List Record
Action Rules
📊 Business Logic Narrative
When the process 'Insert Train List Record' is invoked, and assuming that train request has been validated successfully with no errors and train list data is prepared with equipment details, when the system performs insert operation for new train record, the desired outcome is that the system should create new train record with all equipment details in the database.
💻 Technical Criteria
Given Train request has been validated successfully with no errors and train list data is prepared with equipment details
When The system performs insert operation for new train record
Then The system should create new train record with all equipment details in the database
R-GCX003-cbl-00982 Operation Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Operation Successful?' is invoked, and assuming that database operation has been executed through gccutrio interface, when the system checks operation success status, the desired outcome is that the system should validate return code is successful and no invalid parameters, equipment limits, or other error conditions exist.
💻 Technical Criteria
Given Database operation has been executed through GCCUTRIO interface
When The system checks operation success status
Then The system should validate return code is successful and no invalid parameters, equipment limits, or other error conditions exist
R-GCX003-cbl-00983 Handle Database Error
Action Rules
📊 Business Logic Narrative
When the process 'Handle Database Error' is invoked, and assuming that database operation failed with invalid parameters, equipment limit exceeded, or other error conditions, when the system handles database error, the desired outcome is that the system should create detailed error message including operation type and train identifier, then terminate processing with abend.
💻 Technical Criteria
Given Database operation failed with invalid parameters, equipment limit exceeded, or other error conditions
When The system handles database error
Then The system should create detailed error message including operation type and train identifier, then terminate processing with abend
R-GCX003-cbl-00985 Initialize Database Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Database Parameters' is invoked, and assuming that a cargo record database operation is requested, when the system begins the database operation process, the desired outcome is that database parameters are initialized and accept status is set to allow database operations.
💻 Technical Criteria
Given A cargo record database operation is requested
When The system begins the database operation process
Then Database parameters are initialized and accept status is set to allow database operations
R-GCX003-cbl-00986 Set Cargo Segment Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Segment Type' is invoked, and assuming that database parameters are initialized, when the system prepares for cargo record access, the desired outcome is that the cargo segment type is set to target cargo records in the database.
💻 Technical Criteria
Given Database parameters are initialized
When The system prepares for cargo record access
Then The cargo segment type is set to target cargo records in the database
R-GCX003-cbl-00987 Set Database Function Code
Decision Rules
📊 Business Logic Narrative
When the process 'Set Database Function Code' is invoked, and assuming that the cargo segment type is set, when the system determines the type of database operation needed, the desired outcome is that the appropriate function code is set for get first (gu), get next (gn), or replace (repl) operations.
💻 Technical Criteria
Given The cargo segment type is set
When The system determines the type of database operation needed
Then The appropriate function code is set for get first (GU), get next (GN), or replace (REPL) operations
R-GCX003-cbl-00988 Set GU Function - Get First Record
Action Rules
📊 Business Logic Narrative
When the process 'Set GU Function - Get First Record' is invoked, and assuming that the operation type is determined to be get first record, when the system needs to retrieve the initial cargo record for an equipment, the desired outcome is that the database function is set to gu (get unique) to fetch the first matching cargo record.
💻 Technical Criteria
Given The operation type is determined to be get first record
When The system needs to retrieve the initial cargo record for an equipment
Then The database function is set to GU (Get Unique) to fetch the first matching cargo record
R-GCX003-cbl-00989 Set GN Function - Get Next Record
Action Rules
📊 Business Logic Narrative
When the process 'Set GN Function - Get Next Record' is invoked, and assuming that the operation type is determined to be get next record, when the system needs to retrieve additional cargo records for the same equipment, the desired outcome is that the database function is set to gn (get next) to fetch the next sequential cargo record.
💻 Technical Criteria
Given The operation type is determined to be get next record
When The system needs to retrieve additional cargo records for the same equipment
Then The database function is set to GN (Get Next) to fetch the next sequential cargo record
R-GCX003-cbl-00990 Set REPL Function - Replace Record
Action Rules
📊 Business Logic Narrative
When the process 'Set REPL Function - Replace Record' is invoked, and assuming that the operation type is determined to be replace record, when the system needs to update cargo record information, the desired outcome is that the database function is set to repl (replace) to modify the existing cargo record.
💻 Technical Criteria
Given The operation type is determined to be replace record
When The system needs to update cargo record information
Then The database function is set to REPL (Replace) to modify the existing cargo record
R-GCX003-cbl-00993 Call Database I/O Module GCCUSIO
Action Rules
📊 Business Logic Narrative
When the process 'Call Database I/O Module GCCUSIO' is invoked, and assuming that all database operation parameters are configured, when the system is ready to perform the cargo record database operation, the desired outcome is that the gccusio database i/o module is called to execute the configured operation.
💻 Technical Criteria
Given All database operation parameters are configured
When The system is ready to perform the cargo record database operation
Then The GCCUSIO database I/O module is called to execute the configured operation
R-GCX003-cbl-00995 Check Equipment ID Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Equipment ID Match' is invoked, and assuming that a cargo record is successfully retrieved from the database, when the system needs to verify the cargo belongs to the correct equipment, the desired outcome is that the equipment id from the cargo record is compared with the expected equipment id to ensure they match.
💻 Technical Criteria
Given A cargo record is successfully retrieved from the database
When The system needs to verify the cargo belongs to the correct equipment
Then The equipment ID from the cargo record is compared with the expected equipment ID to ensure they match
R-GCX003-cbl-01000 Handle Database Error
Process Rules
📊 Business Logic Narrative
When the process 'Handle Database Error' is invoked, and assuming that the database operation fails or returns an error, when the system detects a database operation failure, the desired outcome is that error handling procedures are executed and appropriate error status is set for the cargo operation.
💻 Technical Criteria
Given The database operation fails or returns an error
When The system detects a database operation failure
Then Error handling procedures are executed and appropriate error status is set for the cargo operation
R-GCX003-cbl-01001 Update Cargo Status Code
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Cargo Status Code', assuming that the cargo record processing is completed (found, not found, or error), when the system needs to record the final status of the cargo operation, the desired outcome is that the cargo status code is updated to reflect the outcome of the database operation.
💻 Technical Criteria
EXCLUDING The cargo record processing is completed (found, not found, or error)
When The system needs to record the final status of the cargo operation
Then The cargo status code is updated to reflect the outcome of the database operation
R-GCX003-cbl-01007 Container Cross-Reference Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Container Cross-Reference Found?' is invoked, and assuming that container cross-reference data has been extracted from fwiqbotl, when the system validates the extracted cross-reference information, the desired outcome is that if valid container cross-reference is found, get multiple container ids, otherwise proceed to map inquiry data to standard format.
💻 Technical Criteria
Given Container cross-reference data has been extracted from FWIQBOTL
When The system validates the extracted cross-reference information
Then If valid container cross-reference is found, get multiple container IDs, otherwise proceed to map inquiry data to standard format
R-GCX003-cbl-01012 Set Container Not Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Container Not Found Status' is invoked, and assuming that container information cannot be found in any available system, when all retrieval attempts have been exhausted, the desired outcome is that set container not found status and container inquiry not found status to indicate unsuccessful retrieval.
💻 Technical Criteria
Given Container information cannot be found in any available system
When All retrieval attempts have been exhausted
Then Set container not found status and container inquiry not found status to indicate unsuccessful retrieval
R-GCX003-cbl-01036 Move Routing Group to Shiproot
Process Rules
📊 Business Logic Narrative
When the process 'Move Routing Group to Shiproot' is invoked, and assuming that routing information fields have been successfully extracted and processed, when system completes routing field processing, the desired outcome is that complete routing information group is moved to the equipment shiproot record for further processing.
💻 Technical Criteria
Given Routing information fields have been successfully extracted and processed
When System completes routing field processing
Then Complete routing information group is moved to the equipment shiproot record for further processing
R-GCX003-cbl-01037 Container Already Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Container Already Found?' is invoked, and assuming that a container retrieval process is initiated, when the system checks the container found status, the desired outcome is that if container is already found, skip to next container processing, otherwise proceed with container database retrieval.
💻 Technical Criteria
Given A container retrieval process is initiated
When The system checks the container found status
Then If container is already found, skip to next container processing, otherwise proceed with container database retrieval
R-GCX003-cbl-01039 Container Found in FWSWRWR?
Validation Rules
📊 Business Logic Narrative
When the process 'Container Found in FWSWRWR?' is invoked, and assuming that fwswrwr database lookup has been performed, when system evaluates the database response status, the desired outcome is that if container found, proceed to retrieve equipment details, otherwise access fwiq inquiry database.
💻 Technical Criteria
Given FWSWRWR database lookup has been performed
When System evaluates the database response status
Then If container found, proceed to retrieve equipment details, otherwise access FWIQ inquiry database
R-GCX003-cbl-01040 Retrieve Next Container Equipment Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Next Container Equipment Record' is invoked, and assuming that container record exists in fwswrwr database, when system accesses fwswreq database for equipment details, the desired outcome is that container equipment record is retrieved with detailed information.
💻 Technical Criteria
Given Container record exists in FWSWRWR database
When System accesses FWSWREQ database for equipment details
Then Container equipment record is retrieved with detailed information
R-GCX003-cbl-01041 Container Equipment Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Container Equipment Record Found?' is invoked, and assuming that fwswreq database lookup has been performed, when system evaluates the equipment record retrieval status, the desired outcome is that if equipment record found, set container found status, otherwise generate container not found error.
💻 Technical Criteria
Given FWSWREQ database lookup has been performed
When System evaluates the equipment record retrieval status
Then If equipment record found, set container found status, otherwise generate container not found error
R-GCX003-cbl-01043 Container Found in FWIQ?
Validation Rules
📊 Business Logic Narrative
When the process 'Container Found in FWIQ?' is invoked, and assuming that fwiq inquiry database lookup has been performed, when system evaluates the inquiry database response, the desired outcome is that if container found, proceed to scan bottom line records, otherwise generate container not found error.
💻 Technical Criteria
Given FWIQ inquiry database lookup has been performed
When System evaluates the inquiry database response
Then If container found, proceed to scan bottom line records, otherwise generate container not found error
R-GCX003-cbl-01044 Scan FWIQ Bottom Line Records
Process Rules
📊 Business Logic Narrative
When the process 'Scan FWIQ Bottom Line Records' is invoked, and assuming that container exists in fwiq inquiry database, when system scans fwiqbotl bottom line records, the desired outcome is that each bottom line record is examined for container cross-reference data.
💻 Technical Criteria
Given Container exists in FWIQ inquiry database
When System scans FWIQBOTL bottom line records
Then Each bottom line record is examined for container cross-reference data
R-GCX003-cbl-01045 T/C XREF Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'T/C XREF Record Found?' is invoked, and assuming that bottom line records are being scanned, when system examines each record for 't/c xref' identifier in positions 1-8, the desired outcome is that if t/c xref record found, extract container information, otherwise continue scanning records.
💻 Technical Criteria
Given Bottom line records are being scanned
When System examines each record for 'T/C XREF' identifier in positions 1-8
Then If T/C XREF record found, extract container information, otherwise continue scanning records
R-GCX003-cbl-01047 Set Container Found Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Container Found Status' is invoked, and assuming that container information has been successfully extracted or retrieved, when system updates container processing status, the desired outcome is that container found flag is set to true and container id is stored for processing.
💻 Technical Criteria
Given Container information has been successfully extracted or retrieved
When System updates container processing status
Then Container found flag is set to true and container ID is stored for processing
R-GCX003-cbl-01048 Generate Container Not Found Error
Action Rules
📊 Business Logic Narrative
When the process 'Generate Container Not Found Error' is invoked, and assuming that container lookup has failed in all available databases, when system determines container cannot be found, the desired outcome is that error message 11 is generated indicating container not found.
💻 Technical Criteria
Given Container lookup has failed in all available databases
When System determines container cannot be found
Then Error message 11 is generated indicating container not found
R-GCX003-cbl-01049 Move to Next Container in Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Container in Sequence' is invoked, and assuming that current container processing is complete (found or error generated), when system advances container processing sequence, the desired outcome is that container sequence index is incremented to process next container.
💻 Technical Criteria
Given Current container processing is complete (found or error generated)
When System advances container processing sequence
Then Container sequence index is incremented to process next container
R-GCX003-cbl-01050 More Containers to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Containers to Process?' is invoked, and assuming that container sequence has been advanced, when system checks for remaining containers in the sequence, the desired outcome is that if more containers exist and sequence index is within limits (≤30), continue processing, otherwise set no more containers flag.
💻 Technical Criteria
Given Container sequence has been advanced
When System checks for remaining containers in the sequence
Then If more containers exist and sequence index is within limits (≤30), continue processing, otherwise set no more containers flag
R-GCX003-cbl-01051 Set No More Containers Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set No More Containers Flag' is invoked, and assuming that no more containers remain in the processing sequence, when system completes container sequence processing, the desired outcome is that no more containers flag is set to terminate container retrieval process.
💻 Technical Criteria
Given No more containers remain in the processing sequence
When System completes container sequence processing
Then No more containers flag is set to terminate container retrieval process
R-GCX003-cbl-01057 Extract Car ID and Load Status
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Car ID and Load Status' is invoked, and assuming that inquiry system returned equipment data with billing code, when determining equipment load status, the desired outcome is that if billing code equals 'ze' then set equipment status to empty, otherwise set equipment status to loaded.
💻 Technical Criteria
Given Inquiry system returned equipment data with billing code
When Determining equipment load status
Then If billing code equals 'ZE' then set equipment status to empty, otherwise set equipment status to loaded
R-GCX003-cbl-01063 Container Cross-Reference Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Container Cross-Reference Found?' is invoked, and assuming that inquiry system returned bottom line data, when checking for container cross-reference information, the desired outcome is that if inquiry bottom line starts with 't/c xref' then container cross-reference record is found, otherwise continue searching.
💻 Technical Criteria
Given Inquiry system returned bottom line data
When Checking for container cross-reference information
Then If inquiry bottom line starts with 'T/C XREF' then container cross-reference record is found, otherwise continue searching
R-GCX003-cbl-01067 Set Equipment Not Found Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Not Found Status' is invoked, and assuming that inquiry system failed to retrieve equipment information or returned errors, when setting final equipment status, the desired outcome is that set container not found status and container inquiry not found status to indicate equipment information is unavailable.
💻 Technical Criteria
Given Inquiry system failed to retrieve equipment information or returned errors
When Setting final equipment status
Then Set container not found status and container inquiry not found status to indicate equipment information is unavailable
R-GCX003-cbl-01068 Equipment Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Type Check' is invoked, and assuming that an equipment item needs to be processed, when the system checks if container information exists in the equipment record, the desired outcome is that route to container processing if container found, otherwise route to car processing.
💻 Technical Criteria
Given An equipment item needs to be processed
When The system checks if container information exists in the equipment record
Then Route to container processing if container found, otherwise route to car processing
R-GCX003-cbl-01075 Move Inquiry Data to Shiproot Format
Process Rules
📊 Business Logic Narrative
When the process 'Move Inquiry Data to Shiproot Format' is invoked, and assuming that equipment data has been retrieved from inquiry systems, when system processes the inquiry data format, the desired outcome is that convert and map inquiry fields to shiproot structure including load/empty status, dates, and identifiers.
💻 Technical Criteria
Given Equipment data has been retrieved from inquiry systems
When System processes the inquiry data format
Then Convert and map inquiry fields to shiproot structure including load/empty status, dates, and identifiers
R-GCX003-cbl-01076 Extract Routing Information from FWIQINFO
Action Rules
📊 Business Logic Narrative
When the process 'Extract Routing Information from FWIQINFO' is invoked, and assuming that equipment data has been successfully retrieved and converted, when system accesses fwiqinfo database for routing details, the desired outcome is that extract routing information and prepare for field parsing.
💻 Technical Criteria
Given Equipment data has been successfully retrieved and converted
When System accesses FWIQINFO database for routing details
Then Extract routing information and prepare for field parsing
R-GCX003-cbl-01078 Consolidate Equipment Details
Process Rules
📊 Business Logic Narrative
When the process 'Consolidate Equipment Details' is invoked, and assuming that equipment data has been retrieved from one or more data sources, when system consolidates all available equipment information, the desired outcome is that create unified equipment record with all available details from primary and inquiry sources.
💻 Technical Criteria
Given Equipment data has been retrieved from one or more data sources
When System consolidates all available equipment information
Then Create unified equipment record with all available details from primary and inquiry sources
R-GCX003-cbl-01079 Validate Equipment Type and Description
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Equipment Type and Description' is invoked, and assuming that consolidated equipment record contains equipment type code, when system validates the equipment type against reference tables, the desired outcome is that retrieve equipment type description and validate type code exists in system tables.
💻 Technical Criteria
Given Consolidated equipment record contains equipment type code
When System validates the equipment type against reference tables
Then Retrieve equipment type description and validate type code exists in system tables
R-GCX003-cbl-01080 Set Load/Empty Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Load/Empty Status' is invoked, and assuming that equipment record has been consolidated with cargo information, when system evaluates cargo presence and equipment characteristics, the desired outcome is that set load/empty indicator based on cargo data, with special handling for conveying cars and international service units.
💻 Technical Criteria
Given Equipment record has been consolidated with cargo information
When System evaluates cargo presence and equipment characteristics
Then Set load/empty indicator based on cargo data, with special handling for conveying cars and international service units
R-GCX003-cbl-01081 Apply Business Rules for Equipment Classification
Policy Rules
📊 Business Logic Narrative
When the process 'Apply Business Rules for Equipment Classification' is invoked, and assuming that equipment has been validated and status determined, when system applies classification business rules, the desired outcome is that apply double-stack container counting for sk car types, validate routing information, and set empty indicators based on routing patterns.
💻 Technical Criteria
Given Equipment has been validated and status determined
When System applies classification business rules
Then Apply double-stack container counting for SK car types, validate routing information, and set empty indicators based on routing patterns
R-GCX003-cbl-01082 Create Unified Equipment Record
Process Rules
📊 Business Logic Narrative
When the process 'Create Unified Equipment Record' is invoked, and assuming that all equipment information has been consolidated and business rules applied, when system creates the final equipment record, the desired outcome is that generate unified record with equipment id, type, status, routing, and all relevant business attributes.
💻 Technical Criteria
Given All equipment information has been consolidated and business rules applied
When System creates the final equipment record
Then Generate unified record with equipment ID, type, status, routing, and all relevant business attributes
R-GCX003-cbl-01084 Process Multiple Container Sources
Process Rules
📊 Business Logic Narrative
When the process 'Process Multiple Container Sources' is invoked, and assuming that equipment may have multiple container associations, when system processes all container source references, the desired outcome is that handle up to 30 container cross-references and manage container sequence processing.
💻 Technical Criteria
Given Equipment may have multiple container associations
When System processes all container source references
Then Handle up to 30 container cross-references and manage container sequence processing
R-GCX003-cbl-01101 Initialize Container Cross-Reference Table
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Container Cross-Reference Table' is invoked, and assuming that container cross-reference processing is starting, when the system begins container cross-reference extraction, the desired outcome is that the container cross-reference table is cleared and the processing counter is set to position 1.
💻 Technical Criteria
Given Container cross-reference processing is starting
When The system begins container cross-reference extraction
Then The container cross-reference table is cleared and the processing counter is set to position 1
R-GCX003-cbl-01102 Line Contains 'T/C XREF'?
Validation Rules
📊 Business Logic Narrative
When the process 'Line Contains 'T/C XREF'?' is invoked, and assuming that an inquiry bottom line is being processed, when the system checks if the line contains 't/c xref' in positions 1-8, the desired outcome is that if the line contains 't/c xref', it is identified as a container cross-reference line for further processing, otherwise it is skipped.
💻 Technical Criteria
Given An inquiry bottom line is being processed
When The system checks if the line contains 'T/C XREF' in positions 1-8
Then If the line contains 'T/C XREF', it is identified as a container cross-reference line for further processing, otherwise it is skipped
R-GCX003-cbl-01103 Extract Container ID from Position 28-39
Process Rules
📊 Business Logic Narrative
When the process 'Extract Container ID from Position 28-39' is invoked, and assuming that a valid container cross-reference line containing 't/c xref', when the system processes the container cross-reference information, the desired outcome is that the container id is extracted from positions 28-39 of the inquiry bottom line and stored in the container cross-reference table.
💻 Technical Criteria
Given A valid container cross-reference line containing 'T/C XREF'
When The system processes the container cross-reference information
Then The container ID is extracted from positions 28-39 of the inquiry bottom line and stored in the container cross-reference table
R-GCX003-cbl-01109 Increment Cross-Reference Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Cross-Reference Counter' is invoked, and assuming that a container cross-reference entry has been successfully stored, when the system completes processing of a container cross-reference line, the desired outcome is that the cross-reference counter is incremented by 1 to prepare for the next container entry.
💻 Technical Criteria
Given A container cross-reference entry has been successfully stored
When The system completes processing of a container cross-reference line
Then The cross-reference counter is incremented by 1 to prepare for the next container entry
R-GCX003-cbl-01110 Counter Exceeds 30 Containers?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter Exceeds 30 Containers?' is invoked, and assuming that container cross-reference entries are being processed and stored, when the system checks the current cross-reference counter, the desired outcome is that if the counter exceeds 30 containers, processing stops to prevent system overload, otherwise processing continues.
💻 Technical Criteria
Given Container cross-reference entries are being processed and stored
When The system checks the current cross-reference counter
Then If the counter exceeds 30 containers, processing stops to prevent system overload, otherwise processing continues
R-GCX003-cbl-01111 Any Container Cross-References Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Container Cross-References Found?' is invoked, and assuming that all inquiry bottom lines have been processed for container cross-references, when the system evaluates the results of the container cross-reference extraction, the desired outcome is that if the first container id entry is not spaces or low-values, container cross-references are considered found, otherwise none were found.
💻 Technical Criteria
Given All inquiry bottom lines have been processed for container cross-references
When The system evaluates the results of the container cross-reference extraction
Then If the first container ID entry is not spaces or low-values, container cross-references are considered found, otherwise none were found
R-GCX003-cbl-01112 Set First Container as Active Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Set First Container as Active Equipment' is invoked, and assuming that container cross-references have been found in the inquiry system, when the system needs to establish the active equipment for processing, the desired outcome is that the first container id from the cross-reference table is assigned as the active equipment id and the container cross-reference status is set to found.
💻 Technical Criteria
Given Container cross-references have been found in the inquiry system
When The system needs to establish the active equipment for processing
Then The first container ID from the cross-reference table is assigned as the active equipment ID and the container cross-reference status is set to found
R-GCX003-cbl-01113 Mark Container Cross-Reference as Found
Process Rules
📊 Business Logic Narrative
When the process 'Mark Container Cross-Reference as Found' is invoked, and assuming that valid container cross-references have been extracted and the first container has been set as active equipment, when the system completes successful container cross-reference processing, the desired outcome is that the container cross-reference status is marked as found and the container status is set to found.
💻 Technical Criteria
Given Valid container cross-references have been extracted and the first container has been set as active equipment
When The system completes successful container cross-reference processing
Then The container cross-reference status is marked as found and the container status is set to found
R-GCX003-cbl-01115 Bond Type = IT?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = IT?' is invoked, and assuming that a cargo record exists with bond type and special manifest flags, when the cargo bond type is it and the special manifest original flag is set, the desired outcome is that the system should set it special manifest found flag to true.
💻 Technical Criteria
Given A cargo record exists with bond type and special manifest flags
When The cargo bond type is IT and the special manifest original flag is set
Then The system should set IT special manifest found flag to true
R-GCX003-cbl-01116 Bond Type = TE?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = TE?' is invoked, and assuming that a cargo record exists with bond type and special manifest flags, when the cargo bond type is te and the special manifest special flag is set, the desired outcome is that the system should set te special manifest found flag to true.
💻 Technical Criteria
Given A cargo record exists with bond type and special manifest flags
When The cargo bond type is TE and the special manifest special flag is set
Then The system should set TE special manifest found flag to true
R-GCX003-cbl-01117 Bond Type = US-CAN-US?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = US-CAN-US?' is invoked, and assuming that a cargo record exists with bond type and special manifest flags, when the cargo bond type is us-canada-us and the special tr flag is set, the desired outcome is that the system should set tr special manifest found flag to true.
💻 Technical Criteria
Given A cargo record exists with bond type and special manifest flags
When The cargo bond type is US-Canada-US and the special TR flag is set
Then The system should set TR special manifest found flag to true
R-GCX003-cbl-01118 Bond Type = Export?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = Export?' is invoked, and assuming that a cargo record exists with bond type and special manifest flags, when the cargo bond type is export and the special 88 flag is set, the desired outcome is that the system should set us-mx 88 special manifest found flag to true.
💻 Technical Criteria
Given A cargo record exists with bond type and special manifest flags
When The cargo bond type is Export and the special 88 flag is set
Then The system should set US-MX 88 special manifest found flag to true
R-GCX003-cbl-01119 User Authorized for Special Manifests?
Authorization Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'User Authorized for Special Manifests?', assuming that a request action is send and it cargo requires special manifest processing, when the user is not authorized for special manifests, the desired outcome is that the system should generate authorization error message 43 instead of creating the special manifest.
💻 Technical Criteria
EXCLUDING A request action is SEND and IT cargo requires special manifest processing
When The user is not authorized for special manifests
Then The system should generate authorization error message 43 instead of creating the special manifest
R-GCX003-cbl-01120 Create IT Export Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create IT Export Special Manifest' is invoked, and assuming that it cargo requires special manifest processing and user is authorized, when the request action is send, the desired outcome is that the system should generate message 23, create report line, and set it export spawn flag for gcx101 processing.
💻 Technical Criteria
Given IT cargo requires special manifest processing and user is authorized
When The request action is SEND
Then The system should generate message 23, create report line, and set IT export spawn flag for GCX101 processing
R-GCX003-cbl-01121 Create TE Port Change Special Manifest
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create TE Port Change Special Manifest', assuming that te cargo has location mismatch and user is authorized for special manifests, when the request action is send and cargo location does not match crossing port, the desired outcome is that the system should generate message 20, create report line, and set port change spawn flag for gcx101 processing.
💻 Technical Criteria
EXCLUDING TE cargo has location mismatch and user is authorized for special manifests
When The request action is SEND and cargo location does not match crossing port
Then The system should generate message 20, create report line, and set port change spawn flag for GCX101 processing
R-GCX003-cbl-01122 Create TR Detour Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create TR Detour Special Manifest' is invoked, and assuming that tr cargo requires detour processing and user is authorized for special manifests, when the request action is send and cargo has release status, the desired outcome is that the system should generate message 23, create report line, and set detour spawn flag for gcx101 processing.
💻 Technical Criteria
Given TR cargo requires detour processing and user is authorized for special manifests
When The request action is SEND and cargo has release status
Then The system should generate message 23, create report line, and set detour spawn flag for GCX101 processing
R-GCX003-cbl-01124 Create 88-TR Export Special Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Create 88-TR Export Special Manifest' is invoked, and assuming that export cargo for us-mexico route without existing special manifest and user is authorized, when the request action is send and cargo is export type with no special manifest flag, the desired outcome is that the system should generate message 23, create report line, and set 88-tr detour spawn flag for gcx101 processing.
💻 Technical Criteria
Given Export cargo for US-Mexico route without existing special manifest and user is authorized
When The request action is SEND and cargo is export type with no special manifest flag
Then The system should generate message 23, create report line, and set 88-TR detour spawn flag for GCX101 processing
R-GCX003-cbl-01129 Set Record Type to US Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type to US Cargo' is invoked, and assuming that the security byte is configured, when the system sets the record type for the log message, the desired outcome is that the gcx105-us-cargo flag is set to true to indicate us cargo logging.
💻 Technical Criteria
Given The security byte is configured
When The system sets the record type for the log message
Then The GCX105-US-CARGO flag is set to TRUE to indicate US cargo logging
R-GCX003-cbl-01130 Set Action Code to ZZZ
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to ZZZ' is invoked, and assuming that the record type is set to us cargo, when the system assigns an action code to the log message, the desired outcome is that the gcx105-action-code is set to 'zzz'.
💻 Technical Criteria
Given The record type is set to US cargo
When The system assigns an action code to the log message
Then The GCX105-ACTION-CODE is set to 'ZZZ'
R-GCX003-cbl-01141 Start Duplicate Equipment Detection
Process Rules
📊 Business Logic Narrative
When the process 'Start Duplicate Equipment Detection' is invoked, and assuming that a report contains equipment entries that need to be scanned for duplicates, when the duplicate detection process is initiated, the desired outcome is that the scan counter is set to 1 and the scanning process begins for up to 700 report entries.
💻 Technical Criteria
Given A report contains equipment entries that need to be scanned for duplicates
When The duplicate detection process is initiated
Then The scan counter is set to 1 and the scanning process begins for up to 700 report entries
R-GCX003-cbl-01143 Get Equipment Entry at Current Position
Process Rules
📊 Business Logic Narrative
When the process 'Get Equipment Entry at Current Position' is invoked, and assuming that a valid scan counter position within the report range, when the system needs to examine an equipment entry, the desired outcome is that the equipment entry at the current scan position is retrieved for analysis.
💻 Technical Criteria
Given A valid scan counter position within the report range
When The system needs to examine an equipment entry
Then The equipment entry at the current scan position is retrieved for analysis
R-GCX003-cbl-01144 Equipment ID is Blank or Error/Warning/Info Message?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment ID is Blank or Error/Warning/Info Message?' is invoked, and assuming that an equipment entry is being examined for duplicate detection, when the equipment id is blank or the entry contains error messages (err>), warning messages (wrn>), or info messages (inf>), the desired outcome is that skip this entry and move to the next scan position without duplicate processing.
💻 Technical Criteria
Given An equipment entry is being examined for duplicate detection
When The equipment ID is blank or the entry contains error messages (ERR>), warning messages (WRN>), or info messages (INF>)
Then Skip this entry and move to the next scan position without duplicate processing
R-GCX003-cbl-01145 Equipment ID Different from Previously Held ID?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID Different from Previously Held ID?' is invoked, and assuming that a valid equipment entry with a non-blank equipment id, when the current equipment id is compared with the previously held equipment id, the desired outcome is that if the ids are different, update the held id; if the ids are the same, mark as duplicate.
💻 Technical Criteria
Given A valid equipment entry with a non-blank equipment ID
When The current equipment ID is compared with the previously held equipment ID
Then If the IDs are different, update the held ID; if the IDs are the same, mark as duplicate
R-GCX003-cbl-01146 Update Held Equipment ID with Current ID
Process Rules
📊 Business Logic Narrative
When the process 'Update Held Equipment ID with Current ID' is invoked, and assuming that the current equipment id is different from the previously held equipment id, when a new unique equipment id is encountered, the desired outcome is that update the held equipment id with the current equipment id for future duplicate comparisons.
💻 Technical Criteria
Given The current equipment ID is different from the previously held equipment ID
When A new unique equipment ID is encountered
Then Update the held equipment ID with the current equipment ID for future duplicate comparisons
R-GCX003-cbl-01147 Mark Current Equipment Entry as Duplicate by Clearing ID
Process Rules
📊 Business Logic Narrative
When the process 'Mark Current Equipment Entry as Duplicate by Clearing ID' is invoked, and assuming that the current equipment id matches the previously held equipment id, when a duplicate equipment entry is detected, the desired outcome is that clear the equipment id field to mark the entry as a duplicate while keeping the entry in the report.
💻 Technical Criteria
Given The current equipment ID matches the previously held equipment ID
When A duplicate equipment entry is detected
Then Clear the equipment ID field to mark the entry as a duplicate while keeping the entry in the report
R-GCX003-cbl-01148 Increment Scan Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Scan Counter' is invoked, and assuming that an equipment entry has been processed for duplicate detection, when the current entry processing is complete, the desired outcome is that increment the scan counter by 1 to move to the next equipment entry position.
💻 Technical Criteria
Given An equipment entry has been processed for duplicate detection
When The current entry processing is complete
Then Increment the scan counter by 1 to move to the next equipment entry position
R-GCX003-cbl-01149 End Duplicate Detection Process
Process Rules
📊 Business Logic Narrative
When the process 'End Duplicate Detection Process' is invoked, and assuming that all equipment entries up to position 700 have been scanned for duplicates, when the scan counter exceeds 700 or all entries have been processed, the desired outcome is that complete the duplicate detection process and return control to the calling procedure.
💻 Technical Criteria
Given All equipment entries up to position 700 have been scanned for duplicates
When The scan counter exceeds 700 or all entries have been processed
Then Complete the duplicate detection process and return control to the calling procedure
R-GCX003-cbl-01160 US Station Code Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'US Station Code Valid?' is invoked, and assuming that a us station code has been extracted from the station record, when the system validates the station code content, the desired outcome is that the us station code must not be spaces or empty to be considered valid.
💻 Technical Criteria
Given A US station code has been extracted from the station record
When The system validates the station code content
Then The US station code must not be spaces or empty to be considered valid
R-GCX003-cbl-01163 Set Invalid US Station Code Error
Validation Rules
📊 Business Logic Narrative
When the process 'Set Invalid US Station Code Error' is invoked, and assuming that a station record has been found but the us station code is spaces or empty, when the system validates the us station code content, the desired outcome is that an invalid us station code error is set with message code 2.
💻 Technical Criteria
Given A station record has been found but the US station code is spaces or empty
When The system validates the US station code content
Then An invalid US station code error is set with message code 2