🔍
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 & RulesModule 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