Sponsored Development: EDI Import/Export

From ADempiere
Revision as of 08:20, 8 July 2007 by Trifonnt (Talk) (Testers)

Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Project Team

Coordinator

Joel Stangeland

Functional Specs

Joel Stangeland


Developers

Testers

Sponsors

Requirements

  • Add Table: "C_EDI_DocType"
    • Fields: C_EDI_DocType_ID; Value, Name, Description, Help
    • Samples: (850 PO, 810 Invoice)
  • Add to "Document Type" window:
    • Field: C_EDIFormat_ID

Add Tables for doc definitions.

  • 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"; added as it makes flexible addition of new types in future.
    • 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
  • Outbound Processing

From the document (Invoice (Customer) ), hit the "Submit EDI" button. 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.


  • Inbound Processing

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. As an alternative, C_EDIProcessor could define a JMS queue to post to. Then we could manage the movement of the data with ServiceMix.