UNPKG

rdpcrystal-edi-library

Version:

ASCII X12 EDI Library, Create, Parse, Load, Validate, View, Edit, Split, Join And Scrub EDI Data

81 lines (66 loc) 2.4 kB
/// <reference path="../../lib/RDPCrystalEDILibrary.d.ts" /> const edi = require('../../lib/RDPCrystalEDILibrary').RDPCrystalEDILibrary; const STAR = 42; //'*' const COLON = 58 //':' const TILDA = 126 //'~' let doc = new edi.EDILightWeightDocument(); //Set the 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"); //Create a new sample composite element let compositeElement = new edi.LightWeightElement(); compositeElement.addCompositeElement("aa"); compositeElement.addCompositeElement("bb"); gs.elements.add(compositeElement); 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());