Before You Begin
- You must have a basic understanding of webMethods.io B2B and its related components like the user interface.
- You must have a basic understanding of webMethods.io Integration FlowServices and knowledge of creating integrations using various applications.
- You must have a fully functional webMethods.io B2B product instance with the required B2B assets such as channels, partner profiles, business documents, and processing rules.
- You must have an inbound document coming in from a trading partner to submit to the webMethods.io B2B product instance.
- You must access the latest webMethods.io Integration and webMethods.io B2B product instances.
- You must create an account for the webMethods.io B2B application on webMethods.io Integration so you can connect to the webMethods.io B2B product instance.
- For the successful completion of the use case, ensure that all the B2B assets you create on the webMethods.io Integration and webMethods.io B2B product instances are in enabled state.
What is a Control Number?
Control Number is used in the EDI standards ANSI X12, UN/EDIFACT, and VDA. It refers to a number in the header of an EDI document that is used for validation and for the ordering of documents exchanged between trading partners. If you use the TRADACOMS EDI standard, the term control number is equivalent to the transmission reference numbers specified in the STX and BAT segments of your TRADACOMS documents. Whether your EDI standard includes control numbers or transmission reference numbers, you define them in webMethods.io B2B in the same way; the only difference is in the terminology.
Control number is a sequential number which is used in EDI messages. It is not necessarily a unique number. You can define a window in which you accept this number and use this window range to detect duplicates or out of sequence messages. This is called a control number window.
What Can I Do with Control Numbers in webMethods.io B2B ?
webMethods.io B2B allows you to define control numbers for outbound EDI messages with your partners.
Where Do I Define Control Numbers?
From Partners menu:
Go to Partners > Partner profiles > Choose a specific partner > Control numbers > Add Control number
You can define the control number with the chosen partner as a sender or receiver and configure the rest of the parameters and control number window settings.
Go to Settings > Control numbers > Add Control number
You can define the control number with the necessary parameters and control number window settings.
How are Control Numbers Applied in an EDI Message?
Control numbers in an EDI message are applicable for Envelope, Group and Transactions. It varies in different EDI standards though.
For eg, in the below X12 sample, 000000001 is the Envelope control number, 11464 is the group control number , 000511461 is the transaction control number.
ISA*00* *00* *01*100000007 *01*110000007 *031008*1040*U*00401*000000001*1*P*>~ GS*IN*100000007*110000007*20030627*1304*11464*X*004010~ ST*810*000511461~ -- -- -- SE*29*000511461~ GE*1*11464~ IEA*1*000000001~
Classification of Control Numbers in webMethods.io B2B
Control Numbers for Envelope and Group
You can define the control numbers for an Envelope and Group uniquely with a combination of sender, receiver, standard, version, group and mode. It makes sense to use these parameters as they are all part of Envelope and Group segments.
You can do this in the first section in the Control numbers page as shown below:
Control Numbers for Transactions
Since transaction segments (such as ST~850~114640004! ) do not have any parameters, it is defined globally by webMethods.io B2B. But you can change the control number window settings page as shown below:
Using the Control Numbers Definitions in a FlowService While Constructing Outbound EDI Messages
The flow service uses the predefined operations defined in the webMethods.io B2B application. The business flow service resides on webMethods.io Integration. The integration input pipeline for this recipe is pre-loaded with the input signature needed to interpret a transaction request payload coming from a webMethods.io B2B product instance, and the output pipeline is constructed with the signature that the webMethods.io B2B product instance understands.
The use case starts when an inbound document arrives from a specific sender in webMethods.io B2B and the corresponding integration is invoked through a processing rule. The use case ends when you see the control number being updated in the Content page of webMethods.io B2B product instance. In case an integration fails to execute successfully, the integration returns an appropriate error to the webMethods.io B2B product instance.
Interpreting Control Number Parameters
You can write a flow service in webMethods.io Integration and use the ‘getControlNumber’ operation from webMethods.io B2B Application. This operation retrieves the control number of an envelope, group, or transaction depending on the segment you construct in the FlowService.
To fetch the control number for a transaction segment in a FlowService:
Set the type parameter to ‘transaction’ in the getControlNumber operation in the FlowService of webMethods.io Integration.
To fetch control number for a Group/Envelope segment in a FlowService:
Set the following parameters in the getControlNumber operation in the FlowService of webMethods.io Integration.
|Input parameter of getControlNumber operation||Corresponding Field Name in webMethods.io B2B Control number definition|
|type|| The value can be group value set in the control number definition. Possible values are: envelope, all, or any custom group identifier.
For example, ANSI X12 4010 850 corresponds to a PO.
|scope/senderIdentityValue||External ID of the Sender which is configured in the control number definition.
For example, if for the sender Orange_sender, the identifier is 123456789, use this value for scope/senderIdentityValue
|scope/senderQualifier||External Id type of the Sender which is configured in the control number definition.
For example, if for the sender Orange_sender, the identifier type is DUNS (01), use this value(01) for scope/senderQualifier
|scope/receiverIdentityValue||External Id of the Sender which is configured in the control number definition.
For example, if for the sender Orange_receiver, the identifier is 987654321, use this value for scope/receiverIdentityValue
|scope/receiverQualifier||External Id type of the receiver which is configured in the control number definition.
For example, if for the receiver Orange_receiver, the identifier type is DUNS (01), use this value(01) for scope/receiverQualifier
Including Control Numbers in Outbound EDI Business Documents Using webMethods.io Integration FlowService Recipe
- On the webMethods.io Integration product instance, open your project, switch to the FlowServices tab.
- Type a name for your integration along with a description, and click Finish .
The following image shows you an example of how the flow service must be constructed:
Step 1: Accept and process the envelope of an X12 document and convert the envelope header to a document:
Step 2: Retrieve the control number of the document from webMethods.io B2B
Step 3: Convert the document to an EDI message
Step 4: Retrieve the control number for IN group type from the webMethods.io B2B product instance
Step 5: Add group header to the X12 EDI message
Step 6: Retrieve the control number of the envelope from the webMethods.io B2B product instance
Step 7: Add the envelope header to the X12 EDI message
Step 8: Submit the X12 document to the webMethods.io B2B product instance
Verify the control numbers in my outbound transactions
Go to Transactions in webMethods.io B2B > Choose the outbound transaction > Attributes > Check for the value in the attribute ‘Document ID’
This is the transaction control number which is present in the transaction segment of the EDI message illustrated above.
Similarly, the TRADACOMS FlowService can be constructed as the example shown below: