Control Numbers

Sterling B2B Integrator uses control numbers to help keep track of transmitted data and to guarantee that the control code is unique. Sterling B2B Integrator optionally checks for control number duplications, and uses incrementing control numbers that are mutually agreed upon by both sender and receiver to establish a verifiable sequence-checking process for transmitting and receiving EDI documents. If you attempt to use a duplicate control number, you are notified that the number already exists and must use another numeric value. Currently, two types of control numbers are supported, local control numbers and global control numbers.

Local control numbers are defined as a numeric value in the envelope definition. You assign the starting control number value when the envelope is created or edited. For inbound envelopes, if sequence checking is turned on, each time data comes in that uses the envelope, the control number in the data is compared against the control number in the envelope. If they don't match, an out-of-sequence error is generated. If they do match, the local control number is incremented and that becomes the next expected local control number. For outbound envelopes, the local control number is the current control number value to be used the next time data is enveloped. Each time a control number value is used, it is incremented and saved back to the envelope definition.

Global control numbers have the same functionality as local control numbers (increments after each use). The difference is that you can create you own global control numbers and that multiple envelopes can use the same global control number. For example, let's say you had two outbound envelopes for two different trading partners (PartnerA and PartnerB) using the same global control number called "abc", and the value you assigned initially to the control number was 1000. Then you envelope a document for PartnerA, that document will get control number 1000. Then you send a different document to PartnerB. That document will get control number 1001, using the same global control number of abc. Now you send an envelope to PartnerA doc again. This envelope is assigned a control number of 1002.

The EDI process uses a sequence check queue as a temporary storage area for inbound X12 and EDIFACT interchanges that have been processed by the respective deenveloping service, but still need to be sequence checked before being accepted. Services, such as the X12 Deenvelope service, perform all required compliance checks except for the sequence check, and puts the inbound interchange in a sequence check queue. After a service such as the X12 Deenvelope service completes, the EDI Post Processor service runs and picks up all interchanges from the sequence check queue. It performs the sequence check, generates any acknowledgements that are necessary, and invokes the specified business processes to handle each document.

Note: If EDI data is received with a control number that contains non-numeric characters, an exception will occur while processing the data. Non-numeric characters in EDI control numbers are not supported. The invalid control number causes a parsing exception.
Note: To preserve sequence checking in EDIFACT documents, you must use a different global control number for each envelope in a document. This allows multiple threads to process correctly without incrementing the global control number out of sequence. System generated global control numbers are not affected.