EDIFACT Inbound
EDIFACT Inbound Single Partner Data File to Oracle Adv Positional file including Acknowledgement generation scenario with Data Mapping Rules, Test with sample Files and Test Cases.
Problem Statement:
Here XYZ Company is the receiver and it is receiving the Invoice/Bill from its Vendor/Partner through EDI (Electronic Data Exchange) and wants to convert it into the format in which it can process it in its system (here the format is Position (fixed length flat file)).
Solution Architecture:
An EDIFACT INVOIC is typically sent by a seller, such as a manufacturer or distributor, to a buyer, like a retailer, after an order has been shipped. This document confirms that the order has been delivered and requests payment from the buyer to finalize the transaction.
Design a Transaction using an EDI Inbound Pre-built template.
Create a UNB Envelope
Create Source Schema- EDI INVOIC
Create Target Schema - Advance positional
Create a File Event activity
Create Target folder Location (LAN)
Create Mapping activity
Solution:
Define Transaction
Select Network and Partner
EDI Configuration
Transaction Settings
Select Source
Create a File Event
Select Destination
Select File Target/Select Mode type/Give File Name/Add File Extension
Select Target Data Format/Target Layout
Select Layout
Create a Mapping
Firstly we create variables
varTP_Code
Condition applied : "WHEN CONDITION{$Input_EDIFACT_D07A_INVOIC/EDIRoot/UNB/UNB02/UNB0201='O0013000023HELLA-KG-EDIP' } VALUE=['HELLA_EU' ]
WHEN CONDITION{$Input_EDIFACT_D07A_INVOIC/EDIRoot/UNB/UNB02/UNB0201='O0013000023HELLA-KG-HER' } VALUE=['HELLA_EU_HER' ]
WHEN CONDITION{$Input_EDIFACT_D07A_INVOIC/EDIRoot/UNB/UNB02/UNB0201='O0013000023HELLA-KG-BHTC' } VALUE=[ 'HELLA_EU_BHTC']
WHEN CONDITION{$Input_EDIFACT_D07A_INVOIC/EDIRoot/UNB/UNB02/UNB0201='O0013000023HELLA-KG-HIS' } VALUE=[ 'HELLA_EU_HIS']
OTHERWISE VALUE=['ERROR' ]"
varNAD_ST_0201
Condition applied: “$Input_EDIFACT_D07A_INVOIC/EDIRoot/TS_INVOIC/Loop2_NAD/NAD[NAD01='ST']/NAD02/NAD0201
"
varTp_loc
Condition applied: WHEN CONDITION{ $varNAD_ST_0201='1014'} VALUE=['SBI1014' ]
WHEN CONDITION{ $varNAD_ST_0201='1015'} VALUE=[ 'SBI1015']
WHEN CONDITION{ $varNAD_ST_0201='1000'} VALUE=['SBI1000' ]
WHEN CONDITION{ $varNAD_ST_0201='1025'} VALUE=[ 'SBI1025']
WHEN CONDITION{ $varNAD_ST_0201='1263'} VALUE=['SBI1263' ]
OTHERWISE VALUE=[ 'ERROR']
varLANtax_amt
Condition applied: round( $Input_EDIFACT_D07A_INVOIC/EDIRoot/TS_INVOIC/Loop26_LIN/Loop27_MOA/MOA/MOA01/MOA0102 * 0.19,2)
varNAD_BY
Condition applied: $Input_EDIFACT_D07A_INVOIC/EDIRoot/TS_INVOIC/Loop2_NAD/NAD[NAD01='BY']/NAD02/NAD0201
varTP_BILL_LOC
Condition applied: WHEN CONDITION{ $varNAD_BY='317050'} VALUE=[ 'SBI1014']
WHEN CONDITION{ $varNAD_BY='317051'} VALUE=['SBI1015' ]
WHEN CONDITION{ $varNAD_BY='317052'} VALUE=['SBI1000' ]
WHEN CONDITION{ $varNAD_BY='317053'} VALUE=[ 'SBI1025']
WHEN CONDITION{ $varNAD_BY='317054'} VALUE=['SBI1263' ]
OTHERWISE VALUE=[ 'ERROR']
We apply For Each at the Root level at the Destination end.
$Input_EDIFACT_D07A_INVOIC/EDIRoot/TS_INVOIC/Loop26_LIN
Check for the data input.