Sponsored Development: EDI Fact Import/Export
From ADempiere ERP WikiJump to navigationJump to search
- 1 License
- 2 Project Team
- 3 Requirements Steps
- 3.1 Outbound Processing
- 3.2 Inbound Processing
- 3.3 Create new windows
- 3.4 Add Table: "C_EDI_DocType"
- 3.5 Add to "Document Type" window
- 3.6 Add Table: "C_EDIFormat"
- 3.7 Add Table: "C_EDIFormat_Line"
- 3.8 Add Table: "C_EDIFormat_LineElement"
- 3.9 Add Table: "C_EDIProcessorType"
- 3.10 Add Table: "C_EDIProcessor"
- 3.11 Add Table: "C_BPartner_EDI"
- 4 Links
GPL v2 - the same as Adempiere.
- In Production
- Press the Submit EDI button which is active only after document is Completed.
Successful EDI Submission
- Runs process that:
- Look up the DocumentType to see what "Doc Type" to use.
- Look up the BPartner
- Look up right "EDI Format", "EDI Processor" for BPartner and DocType.
- Read the EDI Format and the document lines to construct the EDI document.
- Get the data strings using ColumnID, and use Type to decide which separator to use.
- Order them by position.
- Truncate lengths, validate usage.
- Using the info from C_EDIProcessor submit the EDI document.
- Use the scheduler to schedule a process that will poll according to the rules configured on C_EDIProcessor
- Look up the Business Partner and EDI_DocType to determine which format to use to parse the file and which document type to create.
- EDI element ST01 stores EDI code. Read this code and look it up in C_EDI_DocType.EDI_Code to return C_EDI_DocType_ID
- EDI element ISA06 stores Interchange Sender ID. This represents a Business Partner. Read this code and look it up in C_Bpartner.C_EDI_Sender to return C_BPartner_ID.
- Use C_EDI_DocType_ID and C_BPartner_ID to find the right C_BPartner_EDI record. This will tell you which doctype (AD_DocType_ID) to create, and which format (C_EDI_Format_ID) to use to translate the file.
- As an alternative, C_EDIProcessor could define a JMS queue to post to.
Then we could manage the movement of the data with ServiceMix.
Create new windows
Add Table: "C_EDI_DocType"
- FIELDS: C_EDI_DocType_ID; Value, Name, Description, Help, C_EDI_DocCode (String, used to match with EDI element ST01)
- Samples: (850 PO, 810 Invoice)
Add to "Document Type" window
- FIELD: C_EDIFormat_ID
Add Table: "C_EDIFormat"
- FIELDS: C_EDIFormat_ID, EDI Format Name, Value, C_EDI_DocType_ID, AD_Table_ID, SegmentSeparator, FieldSeparator
Add Table: "C_EDIFormat_Line"
- FIELDS: C_EDIFormat_ID, Position, Value, Name, Comments, Type(Element, Segment)
Add Table: "C_EDIFormat_LineElement"
- FIELDS: C_EDIFormat_LineElement_ID, Position, Value, Name, IsMandatory, ElementType(Constant, Field), ConstValue, MinFieldLength
Add Table: "C_EDIProcessorType"
- FIELDS: Value(http, ftp, svn, cvs), JavaClass (this is class which is responsible to handle upload of EDI document)
Add Table: "C_EDIProcessor"
- FIELDS: Host, Account, Password Info, C_EDIProcessorType_ID
Add Table: "C_BPartner_EDI"
- FIELDS: C_BPartner_ID, C_EDIFormat_ID, Inbound(Y,N), C_EDIProcessor_ID, C_DocType_ID
- sf.net post - OpenBravo weak side: Import EDI File is developed only for a concrete import order case.