DataFlex
DataFlex
Build an EDIFACT Email Body
See more Email Object Examples
Demonstrates the Chilkat Email.SetEdifactBody method, a convenience that constructs the customary MIME headers and body for sending an EDIFACT message. It sets the body to the EDIFACT content, sets Content-Transfer-Encoding to Base64, sets Content-Type to application/EDIFACT (with a name attribute from the 2nd argument), and sets Content-Disposition to attachment (with a filename from the 3rd argument). The 4th argument is the charset the message is converted to before Base64 encoding. The subject, recipients, and FROM are left unchanged.
Background: EDIFACT is a long-standing international standard for Electronic Data Interchange (EDI) — structured business documents such as purchase orders (
ORDERS) and invoices (INVOIC) exchanged between trading partners. Sending EDIFACT over email requires wrapping the payload in a specific set of MIME headers; SetEdifactBody handles that boilerplate so the message is formatted the way EDI systems expect.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoEmail
Boolean iSuccess
String sEdi
String sTemp1
// Demonstrates the SetEdifactBody method, which builds a typical email for sending an
// EDIFACT message. It sets the body to the EDIFACT content, sets Content-Transfer-Encoding
// to Base64, Content-Type to application/EDIFACT (with a name attribute), and
// Content-Disposition to attachment (with a filename). The fourth argument is the charset.
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Set ComSubject Of hoEmail To "EDIFACT ORDERS message"
Set ComFrom Of hoEmail To "edi@example.com"
Get ComAddTo Of hoEmail "Trading Partner" "partner@example.com" To iSuccess
// The EDIFACT message content (an ORDERS interchange, abbreviated here).
Move "UNA:+.? 'UNB+UNOB:1+SENDER+RECEIVER+260710:1200+1'UNH+1+ORDERS:D:96A:UN'BGM+220+ORD12345+9'UNT+3+1'UNZ+1+1'" To sEdi
// Build the EDIFACT email body.
Send ComSetEdifactBody To hoEmail sEdi "order.edi" "order.edi" "iso-8859-1"
Get ComGetMime Of hoEmail To sTemp1
Showln sTemp1
End_Procedure