Index
Creating EDI Data
Creating an EDI document is easy with the EDILightWeightDocument component. Simply create an instance, set its loops, and call its generateEDIData() method. The EDILightWeightDocument structure is based on a loop hierarchy. Loops contain segments and other loops. Segments contain elements. Elements contains data and composite elements.
Example
This example creates an EDILightWeightDocument instance, set its formation and call its generateEDIData() method. We will create a simple X12 document with the following loop structure:
Implementation
//Delimiters constants
const STAR = 42; //’*’
const COLON = 58 //’:’
const TILDA = 126 //’~’
const edi = require(‘rdpcrystal-edi-library‘);
//Create a new instance
let doc = new edi.EDILightWeightDocument();
//Set its delimiters
doc.Delimiters.ElementTerminatorCharacter = STAR;
doc.Delimiters.CompositeTerminatorCharacter = COLON;
doc.Delimiters.SegmentTerminatorCharacter = TILDA;
//Automatically set current segment count in SE01
doc.AutoPlaceCorrectNumOfSegments = true;
//Write each segment in a new line
doc.EachSegmentInNewLine = true;
let interchangeLoop = doc.createLoop(“Interchange header”);
let isa = interchangeLoop.createSegment(“ISA”);
isa.addElement(“00”);
isa.addElement(” “);
isa.addElement(“00”);
isa.addElement(” “);
isa.addElement(“ZZ”);
isa.addElement(“InterchangeSenderID”);
isa.addElement(“ZZ”);
isa.addElement(“InterchangeReceiverID”);
isa.addElement(“070303”);
isa.addElement(“1804”);
isa.addElement(“U”);
isa.addElement(“00401”);
isa.addElement(“1”);
isa.addElement(“1”);
isa.addElement(“T”);
isa.addElement(“:”);
let functionalGroup = interchangeLoop.createLoop(“FunctionalGroup”);
let gs = functionalGroup.createSegment(“GS”);
gs.addElement(“T”);
gs.addElement(“SH”);
gs.addElement(“ApplicationSenderCode”);
gs.addElement(“ApplicationReceiverCode”);
gs.addElement(“2005”);
gs.addElement(“132334”);
gs.addElement(“1”);
gs.addElement(“X”);
gs.addElement(“004010”);
let transaction = functionalGroup.createLoop(“Transaction Header”);
let st = transaction.createSegment(“ST”);
st.addElement(“837”);
st.addElement(“123”);
st.addElement(“005010X222A1”);
let se = transaction.createSegment(“SE”);
se.addElement(“0”);
se.addElement(“123”);
let endfunctionalGroup = functionalGroup.createLoop(“EndFunctionalGroup”);
let ge = endfunctionalGroup.createSegment(“GE”);
ge.addElement(“0”);
ge.addElement(“1”);
let endInterchange = interchangeLoop.createLoop(“EndInterchange”);
let iea = endInterchange.createSegment(“IEA”);
iea.addElement(“0”);
iea.addElement(“1”);
//Display the new EDI document
console.log(doc.generateEDIData());
Output
ISA*00* *00* *ZZ*InterchangeSenderID*ZZ*InterchangeReceiverID*070303*1804*U*00401*1*1*T*:~
GS*T*SH*ApplicationSenderCode*ApplicationReceiverCode*2005*132334*1*X*004010~
ST*837*123*005010X222A1~
SE*2*123~
GE*0*1~
IEA*0*1~