ediDocument oEdiDoc = null; ediDataSegment oSegment = null; ediAcknowledgment oAck = null; ediSchemas oSchemas = null; string sSegmentID; string sLoopSection; int nArea; string sPath = AppDomain.CurrentDomain.BaseDirectory; //edi file to be acknowledged string sEdiFile = "837_5010X222A1.X12"; // Cursor = Cursors.WaitCursor; //instantiat edi document object ediDocument.Set(ref oEdiDoc, new ediDocument()); // oEdiDoc = new ediDocument(); //By default, FREDI uses the universal coordinated time (UTC), however you can change it to local time oEdiDoc.set_Option(DocumentOptionIDConstants.OptDocument_UseLocalTime, 1); // Disabling the internal standard reference library to makes sure that // FREDI uses only the SEF file provided ediSchemas.Set(ref oSchemas, (ediSchemas)oEdiDoc.GetSchemas()); //oSchemas = (ediSchemas) oEdiDoc.GetSchemas(); oSchemas.EnableStandardReference = false; // This makes certain that the EDI file must use the same version SEF file, otherwise // the process will stop. oSchemas.set_Option(SchemasOptionIDConstants.OptSchemas_VersionRestrict, 1); // By setting the cursor type to ForwardOnly, FREDI does not load the entire file into memory, which // improves performance when processing larger EDI files. oEdiDoc.CursorType = DocumentCursorTypeConstants.Cursor_ForwardOnly; // If an acknowledgment file has to be generated, an acknowledgment object must be created, and its // property must be enabled before loading the EDI file. oAck = (ediAcknowledgment)oEdiDoc.GetAcknowledgment(); /*.........commented by atul because this method not present in 5.3 version of Edi dll*/ // oAck.EnableImplementationAcknowledgment = true; // Set the starting point of the control numbers in the acknowledgment oAck.set_Property(AcknowledgmentPropertyIDConstants.PropertyAck_StartInterchangeControlNum, 1001); oAck.set_Property(AcknowledgmentPropertyIDConstants.PropertyAck_StartGroupControlNum, 1); oAck.set_Property(AcknowledgmentPropertyIDConstants.PropertyAck_StartTransactionSetControlNum, 1); // Error codes that are not automatically mapped to an acknowlegment error number by FREDI can be set by // using the MapDataElementLevelError method. oAck.MapDataElementLevelError(13209, 5, "", "", "", ""); // All SEF files required for processing the EDI files must be provided by calling the LoadSchema. // The "LoadSchema" method does not actually load the SEF files at this time, but are actually // loaded during the LoadEdi method. oEdiDoc.LoadSchema(sPath + "999_005010X231A1.EVAL0.SEF", 0); // evaluation SEF file for Ack (999) file oEdiDoc.LoadSchema(sPath + "837_005010X222A1.SemRef.EVAL0.SEF", 0); // evaluation SEF file for EDI (837) file // Loads EDI file and the corresponding SEF file oEdiDoc.LoadEdi(sPath + sEdiFile);
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)