Difference between revisions of "Sponsored Development: EDI Import/Export"
From ADempiere
This Wiki is read-only for reference purposes to avoid broken links.
m (→Requirements) |
m (→Requirements) |
||
Line 21: | Line 21: | ||
*Outbound Processing | *Outbound Processing | ||
− | *From the document | + | *From the document Invoice (Customer) [[Image:8-Invoice (Customer).jpg]], hit the "Submit EDI" button. |
*Runs process that: | *Runs process that: | ||
*** Look up the DocumentType to see what "Doc Type" to use. | *** Look up the DocumentType to see what "Doc Type" to use. | ||
Line 42: | Line 42: | ||
− | * Add Table: "C_EDI_DocType"[[Image: | + | * Create new windows: [[Image:0-Menu.jpg]] |
+ | |||
+ | * Add Table: "C_EDI_DocType"[[Image:1-EDI Doc Type.jpg]] | ||
**Fields: C_EDI_DocType_ID; Value, Name, Description, Help | **Fields: C_EDI_DocType_ID; Value, Name, Description, Help | ||
**Samples: (850 PO, 810 Invoice) | **Samples: (850 PO, 810 Invoice) | ||
− | *Add to "Document Type" window: | + | *Add to "Document Type" window: [[Image:10-Document Type.jpg]] |
**Field: C_EDIFormat_ID | **Field: C_EDIFormat_ID | ||
Add Tables for doc definitions. | Add Tables for doc definitions. | ||
− | *Add Table: "C_EDIFormat" | + | *Add Table: "C_EDIFormat"[[Image:2-EDI Format.jpg]] |
**fields: C_EDIFormat_ID, EDI Format Name, Value, C_EDI_DocType_ID, AD_Table_ID, SegmentSeparator, FieldSeparator | **fields: C_EDIFormat_ID, EDI Format Name, Value, C_EDI_DocType_ID, AD_Table_ID, SegmentSeparator, FieldSeparator | ||
− | *Add Table: "C_EDIFormat_Line" | + | *Add Table: "C_EDIFormat_Line"[[Image:3-EDI Format Line.jpg]] |
**fields: C_EDIFormat_ID, Position, Value, Name, Comments, Type(Element, Segment) | **fields: C_EDIFormat_ID, Position, Value, Name, Comments, Type(Element, Segment) | ||
− | *Add Table: "C_EDIFormat_LineElement" | + | *Add Table: "C_EDIFormat_LineElement"[[Image:4-EDI Format Line Element_field.jpg]] |
**fields: C_EDIFormat_LineElement_ID, Position, Value, Name, IsMandatory, ElementType(Constant, Field), ConstValue, MinFieldLength | **fields: C_EDIFormat_LineElement_ID, Position, Value, Name, IsMandatory, ElementType(Constant, Field), ConstValue, MinFieldLength | ||
− | *Add Table: "C_EDIProcessorType" | + | *Add Table: "C_EDIProcessorType"[[Image:5-EDI Processor Type.jpg]] |
+ | This table 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) | **fields: Value(http, ftp, svn, cvs), JavaClass (this is class which is responsible to handle upload of EDI document) | ||
− | *Add Table: "C_EDIProcessor" | + | *Add Table: "C_EDIProcessor"[[Image:6-EDI Processor.jpg]] |
**fields: Host, Account, Password Info, C_EDIProcessorType_ID | **fields: Host, Account, Password Info, C_EDIProcessorType_ID | ||
− | *Add Table: "C_BPartner_EDI" | + | *Add Table: "C_BPartner_EDI"[[Image:7-BPartner EDI.jpg]] |
**fields: C_BPartner_ID, C_EDIFormat_ID, Inbound(Y,N), C_EDIProcessor_ID, C_DocType_ID | **fields: C_BPartner_ID, C_EDIFormat_ID, Inbound(Y,N), C_EDIProcessor_ID, C_DocType_ID |
Revision as of 08:32, 8 July 2007
Contents
Project Team
Coordinator
Functional Specs
Developers
Testers
Sponsors
Requirements
- 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.
- Add Table: "C_EDI_DocType"
- Fields: C_EDI_DocType_ID; Value, Name, Description, Help
- Samples: (850 PO, 810 Invoice)
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
This table 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)