Thursday, October 29, 2009

Wanna check your EDI knowledge????

Answer these Questions :

  • What are the various protocols in use?
  • Why should you use EDI?
  • What is the structure of EDI message
  • What is EDI envelope?
  • Which part of the EDI message constitutes the envelope?
  • What is the message format before translation
  • What is the message format after translation
  • Who does the translation
  • What do you mean by control number
  • How many control numbers are there in an EDI message and what are they
  • Why do you need so many control numbers for one edi message
  • How are various segments are distinguished in an edi message
  • How do I get to know number of segments (segment count) in an EDI message?
  • What are delimiters
  • Are there any default delimiters?
  • If there are default delimiters, can it be over written
  • What is the format of delimiter (a. ASCII b. Hex)
  • What do you mean by functional acknowledgment
  • How different is it from acknowledgement in B2B world
  • What is internal properties
  • Can I put multiple messages into one and send to trading partner?
  • What is batching?
  • When and why is batching required?
  • Which are all the various verticals use batching?
  • Can I use batching to send one document to multiple TPs? If Yes, how different is this from broadcast feature? If No, how can I achieve this usecase
  • Can I send multiple docs to more than one TP using batching technique?
  • Does validation of payload validates the envelope?

Sunday, October 11, 2009

EDI Batching

Batching of messages are an important feature for mostly in transport, logistics, retail world. Batching is a processing of a bunch of messages of similar types. These bunc of messages may belong to one or more trading partners. There would be multiple messages being exchange in a transport, logistics, retail world between two partners, and batching of messages of same document type and revision makes the process easier for both the parties. For example, if all the purchase orders are batced together, it is easy to process all the orders at once and there by avoid multiple exchange of messages and easier for shipping andother purposes.

Since EDIFACT or X12 are the widely used documents in retail industry, batching of EDI document becomes very helpful.

Multiple questions comes to mind... :)

1. How will/should the batch message behave if one of the document is with error?
2. How do we handle if the batching has to periodical and for ever?
3. Can we batch all the PO's for multiple trading partners?

... and so on...

Answer is Yes. It depends on the business logic behind.

-- We can have an option to exclude the error message and batch rest of them Or... we can error out all the messages that is part of that batch!!
-- It is possible batch all the POs of different trading partners. The native payload would have different envelops for different trading partners.

Also, we can have another option of count based batching!!!! Yes... we can have a count being set on the number of messages to be batched.. along with repetitive batching. Depending on either of the criteria, the batch can be triggered!!!


One of the products that provides all these options is .. .Oracle AS B2B ...!!!

Monday, June 29, 2009

Adding a special instruction/ Note to an EDI document

EDI document provides a place holder to provide special instruction or a Note as part of EDI document. This enables the trading partners to add special instructions as part of the actual document. This particular element has been reformed from V3010 to V4010.

In the case of V 3010, it is available as part of NTE element

NTE01     363     Note Reference Code
NTE02     3     Free Form Message


In the case of V 4010, it has been moved as part of Advertising Demographic Information.

MTX01     363     Note Reference Code
MTX02     1551     Message Text



Sample list of qualifiers are :
PUR Purchasing
ADD Additional Information
CAI General Business Description
....

Tuesday, April 14, 2009

A Retail Usecase using X12



1. The Seller expects the buyer/customer to sent a Request for Quotation (840) for the product.

a. Send the Functional Acknowledgement (997) (optional)

2. The seller replies with a Response to Request for Quotation (843), providing prices and shipping details for the item(s) requested.

Alternatively, user can also send the Inventory Inquiry/Advice (846) instead of the above 2 steps

a. Send the Functional Acknowledgement (997) (optional)

3. Upon the satisfaction of response, the buyer/customer sends a Purchase Order (850)

a. Send the Functional Acknowledgement (997) (optional)

4. Also, receives either a Purchase Order Acknowledgment (855)

a. Send the Functional Acknowledgement (997) (optional)

Optionally,

5. Buyer/Customer sends Purchase Order Change Request (860) - Seller Initiated message in response.

a. Send the Functional Acknowledgement (997) (optional)

6. Seller initiates a Purchase Order Change Acknowledgment/Request (865)

a. Send the Functional Acknowledgement (997) (optional)

7. Once the goods are delivered, seller initiates the Invoice (810)

a. Send the Functional Acknowledgement (997) (optional)


8. Finally, there would be a Payment Order/Remittance Advice (820) from the buyer/customer to the seller.

a. Send the Functional Acknowledgement (997) (optional)

Tuesday, March 31, 2009

Significance of ISA11 from V4020 onwards in X12

There has been numerous changes happened between 4010 and 4020 revision of x12 standard. One such change is in the segment ISA 11.

In 4010 version, ISA 11 used to hold the "Interchange Control Standards Identifier", which means, the Code to identify the agency responsible for the control standard used by the message that is enclosed by the interchange header and trailer

e.g :
ISA*00*          *00*          *ZZ*GlobalChips    *ZZ*Acme           *080630*0350*U*00401*110000001*0*P*\~GS*PO*GlobalChips*Acme*20080630*0350*1101*X*004010

Here ISA 11 holds the value "U", indicating "U.S. EDI Community of ASC X12, TDCC, and UCS"

After 4020 Onwards, ISA11 is used as the repetition separator. This is a delimiter and not a data element.
This field provides the delimiter used to separate repeated occurrences of a simple data element or a composite data structure. The value has to be different from any of the data element separator or component element separator or the segment terminator

e.g:

ISA*00*          *00*          *ZZ*Acme           *ZZ*GlobalChips    *081217*0634*^*00404*100000001*0*P*\~GS*PR*Acme*GlobalChips*20081217*0634*1001*X*004040~ST*855*1001

In the above example the ISA11 holds ^ as delimiter

Repetition seperator : ^ (ISA 11)
Data Element Separator = “*” (Character no.4 of ISA)

Note: keeping "U" as a value at ISA11 (repetition separator) as like in 4010, might not be a good option as the character "U" will be used at many places in a payload.
For example: currenecy holds the value as "CUR" in the payload and by using "U" as a repetition separator, the message will not process as expected.

Wednesday, February 18, 2009

Date time field in an EDI Message

An EDI message has 3 parts, i.e Interchange, group and transactionset, to which the message comply to. Each of these sections has a date time field.

Why does an EDI message has Date and time field in Interchange, group as well as the transaction set?

All the three date/time elements are having specific purpose in an EDI message and are used to intepret at various levels

1. The Interchange date is the date of envelop creation date. Ideally this would be the latest date among all.

2. Group is optional element, it is used to group various transaction sets depending on the business requirement.

3. The Transactionset date is the date in which the particular EDI message was created. In the case of batching, the messages might get created at varied intervals and the transaction set date/time will hold this value.

Friday, January 30, 2009

APERAK Vs CONTRL in EDIFACT

APERAK stands for application error and acknowledgement message. Along with acknowledging the sender about the receipt of the message, it also indicates the sender about the rejection due to errors encountered during the processing of message in an application.

CONTRL message used to indicate the syntactical correctness of the message. Along with acknowledging the sende about the receipt of the message, it also acknowledges on the acceptance or the rejection of the message based on the syntactical check done