Difference between revisions of "Sponsored Development: EDI Import/Export"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
m (Project Team)
m (Requirements)
Line 19: Line 19:
  
 
===Requirements===
 
===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
 +
 +
+07) Outbound Processing
 +
From the document (Invoice (Customer) ), hit the "Submit EDI" button.
 +
Runs process that:
 +
1) Look up the DocumentType to see what "Doc Type" to use.
 +
2) Look up the BPartner
 +
3) Look up right "EDI Format", "EDI Processor" for BPartner and DocType.
 +
 +
4) 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.
 +
 +
5) Using the info from C_EDIProcessor submit the  EDI document.
 +
 +
 +
-08) 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.

Revision as of 08:15, 8 July 2007

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

+07) Outbound Processing From the document (Invoice (Customer) ), hit the "Submit EDI" button. Runs process that: 1) Look up the DocumentType to see what "Doc Type" to use. 2) Look up the BPartner

	3) Look up right "EDI Format", "EDI Processor" for BPartner and DocType.
	 

4) 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.

	5) Using the info from C_EDIProcessor submit the  EDI document.


-08) 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.