Creating EDI Data – JS

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~

     

    in EDI Lightweight Document – JS
    Did this article answer your question?