This document will discuss in detail about the BizTalk EDI impelmentation. BizTalk EDI currently supports upto 00502 versions of all the EDI messages which gives boundless opportunity to developers and consultants to implement the EDI solution. I would like to explain the steps involved to develop and BizTalk EDI application. I have written this article for the one who are new to EDI but they worked on BizTalk. This will take you through the basic steps involved in the development of EDI application.
In this application, inbound is EDI 940 message and outbound is one FlatFile to internal data processing system and EDI 997 to the partner.
1- What is EDI?
EDI or Electronic Data Interchange is the structured transmission of electronic documents between companies (trading partners). EDI has been in use since the 1960’s to transfer and automate the processing of business documents such as purchase orders, invoices, fund transfers, loan applications, claims, and shipment data.
Common types of EDI include:
ANSI X12 EDI: The US and Canada ANSI standard.
EDIFACT: The UN international standard.
TRADACOMS: Retail industry (older format still used in UK)
IATA: Air transportation industry.
HIPAA: Health care industry.
2- Understanding the EDI message
Below is the standard the EDI document structure.
*ISA Interchange Control Header
**GS Functional Group Header
***ST Transaction Set Header
**** Detail Segments
(Document data)
***SE Transaction Set Trailer
**GE Functional Group Trailer
*IEA Interchange Control Trailer
ISA and GS forms the header of the EDI message and ST is the Transaction set header which contains the transaction data. There could be multiple transactions and thus ST is a repeating record. Correspondingly you have the Trailers i.e. SE, GE and IEA.
Below is the sample EDI 204 message.
ISA*00* *00* *01*XXXXXXXXX *02*XXXX *090825*0903*U*00401*000007629*0*T*:~
GS*SM*XXXXXXXXX*XXXX*20090825*0903*7629*X*004010~
ST*204*7629~
B2**XXXX**159771**PP~
B2A*00*LT~
L11*5137*TN~
AT5***TEMP PROT REFRIG GOODS~
PLD*18~
NTE**FSC (TBD)~
N1*SH*XXXXXXX*1*XXXXXXX~
N3*200 WEST MONROE*SUITE 1000~
N4*CHICAGO*IL*60606*US~
G61*SH*XYZ XYZ*TE*XXX-267-4342~
N7**0*********RT****4000~
MEA**SD*479~
S5*1*LD*43920*L*900*CA*864*E~
G62*69*20090825*U*0900~
AT8*G*L*43920*900**E*864~
PLD*18*1~
NTE**Receiving Hours are 9 p.m. the day due to 6 a.m. the following day~
N1*SF*Country Fresh LLC*93*11945~
N3*31770 Enterprise Dr~
N4*Livonia*MI*48150*US~
G61*SH*ABZ*TE*XXXXXXXX~
OID**57535-c23**CA*900*L*43920*E*864~
S5*2*UL*43920*L*900*CA*864*E~
G62*70*20090826*X*0001~
AT8*G*L*43920*900**E*864~
PLD*18*1~
N1*ST*Sygma- Harrisburg, PA*93*8186~
N3*4000 Industrial Rd~
N4*Harrisburg*PA*17110*US~
G61*DC*PQRS*TE*XYZ~
OID**57535-c23**CA*900*L*43920*E*864~
L3*43920*G*825*FC*82500****864*E*900~
SE*34*7629~
GE*1*7629~
IEA*1*000007629~
At this point of time it is important to know few things about the ISA segment.
|
ISA segment ID
|
Element Name
|
Description
|
|
ISA01
|
Authorize Info Qualifier
|
Use "00"
|
|
ISA02
|
Authorize Info
|
Use ten spaces
|
|
ISA03
|
Security Info. Qualifier
|
Use "00" for no password
|
|
ISA04
|
Security Info.
|
Use ten spaces
|
|
ISA05
|
Interchange ID Qualifier - Sender
|
Use "01", "12", or "ZZ"
“01” is for DUNS ID and “02” is for SCAC Code and “ZZ” is for mutually defined.
We will discuss more about this once we will move to Trading partner configuration.
|
|
ISA06
|
Interchange Sender ID
|
Here goes the value according to the qualifier. If the qualifier is “01” then it should have 9 digit DUNS ID of the partner.
|
|
ISA07
|
Interchange ID Qualifier - Receiver
|
Please refer ISA05
|
|
ISA08
|
Interchange Receiver ID
|
Please refer ISA06
|
|
ISA09
|
Date
|
Date of creation (YYMMDD).
|
|
ISA10
|
Time
|
Time of creation (HHMM).
|
|
ISA11
|
Interchange Standards ID
|
Use "U" for USA.
|
|
ISA12
|
Interchange Version ID
|
This contains the version id, like 00401
|
|
ISA13
|
Interchange Control Number
|
Sequential number starting with 000000001 and incremented by 1 for each subsequent ISA between sender and receiver. The uniqueness behavior of the control number could be set by using the Trading partner configuration.
|
|
ISA14
|
Acknowledge
|
Use "0" for no Ack. Req.
|
|
ISA15
|
Test Indicator
|
Use "T" for test data and "P" for production data.
|
|
ISA16
|
Sub-element Separator
|
Use "*".
|
|
|
|
|
For Part 2 of this series please follow the below link.
http://geekswithblogs.net/VishnuTiwariBlog/archive/2009/10/21/develop-your-first-biztalk-edi-project---part-2.aspx