EDIs with Oracle Apps R12

Friday, November 9, 2012 by Ajay Atre

EDIs with Oracle Apps R12
Inbound and outbound flow of EDI.

 Typical Oracle EDIs available which can fit in various process-
·         8X series is Customer EDIs
·         9x series is warehouse EDIs

Where does EDIs fit in Process
As an example- take a manufacturing company let’s say ABC Corp. with third party logistics warehouse as PQR,
Order creation -
Customer places an order via EDI850, ABC Corp. receives order in oracle Customer service personal books the order.
Order Booking -
Scheduled EDI940 picks us the eligible orders (Booked orders) and sends electronic communication to warehouse PQR, letting them know about they need to ship the order.
On the side note as the order is booked another scheduled program EDI855 picks the eligible orders (Booked orders) and sends them to Customer letting them know as an order is acknowledged.
Order Pick release and shipping -
Warehouse PQR ships the order based on decided criteria (Like LIFO) and sends EDI945 information which can contain lots, shipped quantity etc. to ABC Corp. Scheduled EDI945 program at ABC Corp. processes the order according the ship information received from PQR and pick releases/ship confirms the order in oracle.
As the order is closed scheduled EDI856 program picks the eligible orders (shipped orders) and sends electronic information as ship advise to Customer, by which customer knows order is shipped.
Invoice generation-
Once the Invoice is generated the scheduled EDI810 program picks the invoices and sends them to Customer.

IRISO cycle –
ABC. Corp creates requisition in oracle with the intention to send the inventory at its third party logistics (PQR here). The requisition then becomes the ISO (Internal Sales order) and is shipped form ABC Corp. Scheduled EDI943 program picks eligible orders (Internal shipped orders) and sends electronic receipt advise to warehouse PQR.
PQR in return after receiving good physically sends EDI944 information to ABC Corp. The scheduled EDI944 program at ABC Corp. then processes the file and receives the goods as an receiving transaction to its oracle PQR warehouse.

EDI explanation
Customer EDIs
EDI850- Order import EDI, Customer places the order and is then get imported in oracle.
EDI860- Order changes from Customer. Customer places order changes like quantity change, line cancellation, ship date changes etc.
EDI855- Order Acknowledgement to Customer EDI, customer is informed for order is booked.
EDI856- Shipment advise to Customer EDI, Customer is informed for order is shipped.
EDI810- Invoice to Customer EDI. Invoice information is sent Via EDI810

Third party logistics warehouse EDIs
EDI940- Order advise to warehouse EDI, Warehouse gets an electronic information about the order which then warehouse prepares for shipping.
EDI945- Order ship advise from warehouse EDI, Warehouse sends electronic information about order ship info like what lot number, how much qty etc.
EDI943- Receiving advise to warehouse. For internal order scenario (IR ISO), order is shipped internally and is expected to receive to warehouse to create inventory. EDI 943 sends the internal order ship information to warehouse.
EDI944- Warehouse receipt advise EDI. Warehouse sends electronic information about how the internal order (IR ISO) is received at warehouse.
EDI947 IN- Warehouse sends inventory adjustments via EDI. Inventory adjustments like cycle count, product damage adjustment etc.
EDI947 OUT- Main Company sends the lot status information to warehouse; lot status can contain a list of lots which are good to be FG shipping, Quality hold etc. This is to let warehouse know what lots to ship against the order.

Prerequisites -
For setting up the EDIs one must think of below prerequisites,
1.   EDI processing Engine- Can be a professional organization or an in-house capability. The processing engine will deal with customer/third party warehouse about how to get connected (various ways available like VAN, AS2 or FTP).
2.   FTP capabilities- This can be provided by EDI processing engine if not then custom UNIX based concurrent programs can be used to achieve to and from FTP requirements.
3.   FTP server/Shared Directories – You can have FTP server associated across oracle ERP system or you can have shared directories (between middle tier or DB tier) by which Oracle extraction/load programs can read and write data as an when needed.
4.   EDI jobs- As a seeded program oracle does provides a list of handful ready to use EDI programs which can be used to perform particular EDI. The only issue with the seeded programs is customization and debugging the exceptions. Alternate and more controlled approach can be having a custom program which can use the APIs/interfaces available to load/extract the data.
5.   Trading partner setup- EDI entities (customer or warehouse) will provide a unique ID (translator code) by which you can have the trading partner setup done in oracle E-Commerce responsibility by which you can then define which transactions wanted to do with EDI entities (customer or warehouse).
6.   EDI exception mechanism- You can have a common exception mechanism which can report all exceptions based on the particular EDIs/operating unit selected.
7.   EDI exception email mechanism- You can have a email utility developed which can be used to email with EDI exception report as an attachment to a designated user community.




Setups with E-Commerce responsibility-
Define the trading partners
E-Commerce Responsibility- Navigation: Setup/ Trading Partners
Customer EDIs Trading partner setup

Click on New to create new setup or click on open
Select the customer and site which you want to map with EDI

On the customer master site setup- assign the EDI location code (EDI location code is a unique ID by which customer deals with the site)
 Once defined click on the details tab


Warehouse EDIs Trading partner setup
Oracle as a seeded does not provide the 9X series of the EDIs so we need to use available customer EDIs with to map with warehouse EDIs

EDI940/945,947 IN and 947 OUT

For example
Map at warehouse level
EDI855- mapped as EDI940, EDI947 out
EDI856 IN - mapped as EDI945, EDI947 IN

For example see below defining for M1 as M1 is whs so we don’t need to assign customer below

But define the above transaction in details tab.

EDI943/944

Map at customer level (In IRISO we created ISO against the customer where we want to send the inventory as receipt, so the customer is internal customer by warehouse for example M1 Seattle customer if you are shipping from V1 whs)
EDI856 OUT- mapped as EDI943
EDI856 IN- mapped as EDI944

For example below ORATEST_INTERNAL_CUSTOMER is internal customer

E-Commerce Category-
You can define the category by which you one can decide the substitution value for both incoming and outgoing EDIs.
The direction column below shows options like IN, OUT or Both


Import/extract Programs -
Oracle as seeded provides below import programs

 For example 850

Extract programs

For example EDI810 program



Custom Programs logic-
As I said earlier issue with the standard program is customization and control.
The real time solution can be using the custom developed programs for each individual EDIs above using APIs/interfaces.

Custom Import Programs –
Incoming FTP Program (Unix shell script program) - which can download the available EDI files from EDI processing engine to incoming directory. This program can be scheduled.

Import program can be constructed as
1.   Load program – have the unix shell script program which can construct all available files into one single file (for example if its EDI 850 then it will club all EDI 850 flat files) and then feed the file name to PLSQL data load program
2.   PLSQL data load program- is the program which will take input from above program and will process the file and load the data (using UTL_FILE utility) into oracle staging tables.
3.   Validate/import program – Validated the necessary validations and if passed through imports the data using APIs/interfaces.
4.   Exception Report program- if there are any exceptions during load/ validate programs this program can report those.
5.   Exception email program- will email the exceptions; this program can be scheduled and can send email at particular interval.

EDI 850 – is an incoming EDI where we need to import the sales order in oracle.
We can use oe_order_pub.process_order APIs to get the order imported in oracle.

            oe_order_pub.process_order (p_api_version_number          => p_api_version_number
                                       ,p_init_msg_list               => fnd_api.g_false
                                       ,p_return_values               => fnd_api.g_false
                                       ,p_action_commit               => fnd_api.g_false
                                       ,x_return_status               => l_return_status
                                       ,x_msg_count                   => l_msg_count
                                       ,x_msg_data                    => l_msg_data
                                       ,p_header_rec                  => l_header_rec
                                       ,p_header_adj_tbl              => l_header_adj_tbl
                                       ,p_line_tbl                    => l_line_tbl
                                       ,p_line_adj_tbl                => l_line_adj_tbl
                                       ,p_action_request_tbl          => l_action_request_tbl
                                       ,x_header_rec                  => x_header_rec
                                       ,x_header_val_rec              => x_header_val_rec
                                       ,x_header_adj_tbl              => x_header_adj_tbl
                                       ,x_header_adj_val_tbl          => x_header_adj_val_tbl
                                       ,x_header_price_att_tbl        => x_header_price_att_tbl
                                       ,x_header_adj_att_tbl          => x_header_adj_att_tbl
                                       ,x_header_adj_assoc_tbl        => x_header_adj_assoc_tbl
                                       ,x_header_scredit_tbl          => x_header_scredit_tbl
                                       ,x_header_scredit_val_tbl      => x_header_scredit_val_tbl
                                       ,x_line_tbl                    => x_line_tbl
                                       ,x_line_val_tbl                => x_line_val_tbl
                                       ,x_line_adj_tbl                => x_line_adj_tbl
                                       ,x_line_adj_val_tbl            => x_line_adj_val_tbl
                                       ,x_line_price_att_tbl          => x_line_price_att_tbl
                                       ,x_line_adj_att_tbl            => x_line_adj_att_tbl
                                       ,x_line_adj_assoc_tbl          => x_line_adj_assoc_tbl
                                       ,x_line_scredit_tbl            => x_line_scredit_tbl
                                       ,x_line_scredit_val_tbl        => x_line_scredit_val_tbl
                                       ,x_lot_serial_tbl              => x_lot_serial_tbl
                                       ,x_lot_serial_val_tbl          => x_lot_serial_val_tbl
                                       ,x_action_request_tbl          => x_action_request_tbl
                                       );

EDI 945
EDI945 can do pick release and ship confirm of the order, below are some APIs by which entire process can be accomplished.
1.   Create reservation
         inv_quantity_tree_pvt.clear_quantity_cache;
         inv_reservation_pub.create_reservation (p_api_version_number          => 1.0
                                                ,p_init_msg_lst                => fnd_api.g_true
                                                ,x_return_status               => l_api_return_status
                                                ,x_msg_count                   => l_msg_count
                                                ,x_msg_data                    => l_msg_data
                                                ,p_rsv_rec                     => p_created_res
                                                ,p_serial_number               => l_serial_no
                                                ,x_serial_number               => l_actual_sn
                                                ,p_partial_reservation_flag    => fnd_api.g_false
                                                ,p_force_reservation_flag      => fnd_api.g_false
                                                ,p_validation_flag             => fnd_api.g_true
                                                ,p_over_reservation_flag      => l_over_reservation_flag
                                                ,x_quantity_reserved           => l_quantity_reserved
                                                ,x_reservation_id              => x_reservation_id
                                                ,p_partial_rsv_exists          => l_partial_rsv_exists
                                                ,p_substitute_flag             => l_substitute_flag
                                                );
2.   Delivery creation
               wsh_delivery_details_pub.autocreate_deliveries
                                                              (p_api_version_number          => 1.0
                                                              ,p_init_msg_list               => fnd_api.g_true
                                                              ,p_commit                      => fnd_api.g_false
                                                              ,x_return_status           => xout_return_status
                                                              ,x_msg_count               => xout_msg_count
                                                              ,x_msg_data                    => xout_msg_data
                                                              ,p_line_rows                   => l_line_rows
                                                              ,x_del_rows                    => l_del_rows
                                                              );
3.   Pick release Delivery
               wsh_deliveries_pub.delivery_action (p_api_version_number          => 1.0
                                                  ,p_init_msg_list               => fnd_api.g_true
                                                  ,x_return_status               => xout_return_status
                                                  ,x_msg_count                   => xout_msg_count
                                                  ,x_msg_data                    => xout_msg_data
                                                  ,p_action_code                 => 'PICK-RELEASE'
                                                  ,p_delivery_id                 => l_delivery_id
                                                  ,x_trip_id                     => l_trip_id
                                                  ,x_trip_name                   => l_trip_name
                                                  );
4.   Ship Confirm Delivery
            wsh_deliveries_pub.delivery_action (p_api_version_number          => 1.0
                                               ,p_init_msg_list               => fnd_api.g_true
                                               ,x_return_status               => xout_return_status
                                               ,x_msg_count                   => xout_msg_count
                                               ,x_msg_data                    => xout_msg_data
                                               ,p_action_code                 => 'CONFIRM'
                                               ,p_delivery_id                 => r_order.delivery_id
                                               ,p_sc_action_flag              => 'S'
                                               ,p_sc_intransit_flag           => 'Y'
                                               ,p_sc_close_trip_flag          => 'Y'
        ,p_sc_actual_dep_date => NVL (TRUNC (r_order.date_shipped), TRUNC (SYSDATE))
                                               ,x_trip_id                     => l_trip_id
                                               ,x_trip_name                   => l_trip_name
                                               );
5.   Close the Delivery
            wsh_ship_confirm_actions.interface_all (errbuf                        => l_errbuf
                                                   ,retcode                       => l_retcode
                                                   ,p_mode                        => 'ALL'
                                                   ,p_stop_id                     => NULL
                                                   ,p_delivery_id                 => l_delivery_id
                                                   ,p_log_level                   => 1
                                                   );

EDI 944 –
EDI944 can do the receipts in oracle. Using this program you can validate the receiving data and then insert into standard receiving interface tables
·         INSERT INTO po.rcv_headers_interface
·         INSERT INTO po.rcv_transactions_interface
·         INSERT INTO inv.mtl_transaction_lots_interface
·         If WMS being used then INSERT INTO wms_lpn_interface
·         Finally run the RCVTP
v_child_request                     :=
fnd_request.submit_request (‘PO’, ‘RCVTP’, NULL, NULL, FALSE, 'BATCH',
o   rcv_group_id, CHR (0));
·         RCVTP can be run as – immediate, batch or online.
EDI 947 IN-
Is an inventory adjustment EDI where warehouse can send adjustments like cycle count, damages, writeoffs etc.
Validate the data and then insert into
·         INSERT INTO mtl_transactions_interface
·         INSERT INTO mtl_transaction_lots_interface
·         Finally run the standard inventory transaction worker which can take care of posting the transactions
               fnd_request.submit_request ('INV'   -- Appl short name
                                          ,'INCTCW'   -- Inventory transaction worker
                                          ,NULL   -- Description
                                          ,NULL   -- Date and Time
                                          ,FALSE   -- Sub-request
                                          ,l_transaction_header_id
                                          ,3
                                          ,NULL
                                          ,NULL
                                          );




Custom Export Programs –
Outgoing extract programs can be constructed as a request set where the first stage will extract the data and stage 2 will then FTP the extracted file to the EDI processing engine.
The FTP utility can be constructed as a single concurrent unix shell program which can be shared across all outgoing jobs.

Import program can be constructed as
1.   Extract program – have the PLSQL extract done by SQL statements and generate a flat file using UTL_FILE utility. Pass on the file name to next stage.
2.   FTP Send Utility- is the common FTP program which will take input as file name and directory from above program and will FTP the file to EDI processing engine. EDI processing engine will then process the file and send it to customer.
3.   Exception Report program- if there are any exceptions during extracting and validating the data exception report can report those.
4.   Exception email program- will email the exceptions; this program can be scheduled and can send email at particular interval.

EDI 855
This program will send order acknowledgement to customer. Typical extraction SQL can be.
         SELECT DISTINCT *
                    FROM apps.oe_order_headers_all h
                        ,apps.oe_transaction_types_tl ot
                        ,apps.ra_salesreps_all rsa
                        ,apps.oe_order_lines_all l
                        ,hz_cust_site_uses_all ship_hcsu
                        ,hz_cust_acct_sites_all ship_hcas
                        ,hz_cust_accounts_all ship_hca
                        ,hz_parties ship_hp
                        ,hz_party_sites ship_hps
                        ,hz_locations ship_hc
                        ,apps.hz_cust_acct_sites_all bill_to
                        ,apps.hz_cust_site_uses_all bill_use
                        ,hz_party_sites bill_hps
                        ,hz_locations bill_hc
                        ,apps.ece_tp_headers eth
                        ,apps.ece_tp_details etd
                        ,ra_terms_tl rtl
                        ,qp_list_headers_tl qlht
                        ,hr_organization_units_v houv
                   WHERE 1 = 1
                     AND h.org_id = p_org_id
                     AND h.open_flag = 'Y'
                     AND h.booked_flag = 'Y'
                     AND NVL (h.cancelled_flag, 'N') != 'Y'
                     AND h.order_type_id = ot.transaction_type_id
                     AND h.salesrep_id = rsa.salesrep_id
                     AND h.header_id = l.header_id
                     AND l.flow_status_code NOT IN ('CANCELLED', 'AWAITING_RETURN', 'RETURNED', 'CLOSED')
                     AND h.ship_to_org_id = ship_hcsu.site_use_id
                     AND ship_hcsu.cust_acct_site_id = ship_hcas.cust_acct_site_id
                     AND ship_hcas.cust_account_id = ship_hca.cust_account_id
                     AND ship_hcsu.org_id = ship_hcas.org_id
                     AND ship_hca.party_id = ship_hp.party_id
                     AND ship_hcas.party_site_id = ship_hps.party_site_id
                     AND ship_hps.location_id = ship_hc.location_id
                     AND bill_to.party_site_id = bill_hps.party_site_id
                     AND bill_hps.location_id = bill_hc.location_id
                     AND h.invoice_to_org_id = bill_use.site_use_id
                     AND bill_to.cust_acct_site_id = bill_use.cust_acct_site_id
                     AND bill_to.org_id = bill_use.org_id
                     AND bill_to.cust_account_id = ship_hca.cust_account_id
                     AND ship_hcas.tp_header_id = eth.tp_header_id
                     AND etd.tp_header_id = eth.tp_header_id
                     AND etd.document_id = 'POAO'
                     AND etd.document_type = 'POAO'
                     AND etd.edi_flag = 'Y'
                     AND h.payment_term_id = rtl.term_id
                     AND qlht.list_header_id = h.price_list_id
                     AND l.ship_from_org_id = houv.organization_id
                     AND (p_order_number_list IS NULL OR (',' || p_order_number_list || ',' LIKE '%,' || h.order_number || ',%'))
                ORDER BY h.order_number;

EDI 856
This program will send orders shipped to customer. Typical extraction SQL can be.
         SELECT DISTINCT *
                    FROM apps.wsh_trips wt
                        ,apps.wsh_trip_stops wts
                        ,apps.wsh_trip_stops wts1
                        ,apps.wsh_new_deliveries wnd
                        ,apps.wsh_delivery_assignments wda
                        ,apps.wsh_delivery_details wdd
                        ,apps.wsh_delivery_legs wdl
                        ,apps.wsh_document_instances wdi
                        ,apps.wsh_document_instances wdi2
                        ,apps.hz_cust_site_uses_all ship_to_site
                        ,apps.hz_cust_acct_sites_all ship_to_acct
                        ,apps.hz_party_sites ship_to_party
                        ,apps.hz_locations ship_to_loc
                        ,apps.hz_cust_accounts ship_to_cust
                        ,apps.hz_cust_site_uses_all bill_to_site
                        ,apps.hz_cust_acct_sites_all bill_to_acct
                        ,apps.hz_party_sites bill_to_party
                        ,apps.hz_locations bill_to_loc
                        ,apps.hz_cust_accounts rc
                        ,apps.hz_parties hp
                        ,apps.oe_order_headers_all ooh
                        ,apps.oe_transaction_types_tl oot
                        ,apps.ece_tp_headers eth
                        ,apps.ece_tp_details etd
                        ,apps.ra_terms_tl rtt
                        ,mtl_parameters mp
                        ,oe_order_sources oos
                   WHERE 1 = 1
                     AND (p_delivery_name_list IS NULL OR (',' || p_delivery_name_list || ',' LIKE '%,' || wnd.NAME || ',%'))
                     AND ooh.org_id = p_org_id
                     AND wnd.delivery_id = wda.delivery_id
                     AND wnd.delivery_id = wdl.delivery_id
                     AND wdl.pick_up_stop_id = wts.stop_id
                     AND wdl.drop_off_stop_id = wts1.stop_id
                     AND wts.trip_id = wt.trip_id
                     AND wda.delivery_detail_id = wdd.delivery_detail_id
                     AND wdi.entity_id = wnd.delivery_id
                     AND wdi.entity_name = 'WSH_NEW_DELIVERIES'
                     AND wdi2.entity_id(+) = wnd.delivery_id
                     AND wdi2.entity_name(+) = 'WSH_DELIVERY_LEGS'
                     AND wdd.customer_id = rc.cust_account_id
                     AND rc.cust_account_id = ooh.sold_to_org_id
                     AND rc.party_id = hp.party_id
                     AND ooh.ship_to_org_id = ship_to_site.site_use_id
                     AND ship_to_site.cust_acct_site_id = ship_to_acct.cust_acct_site_id
                     AND ship_to_acct.org_id = ship_to_site.org_id
                     AND ship_to_acct.cust_account_id = rc.cust_account_id
                     AND ship_to_site.site_use_code = 'SHIP_TO'
                     AND ship_to_site.status = 'A'
                     AND wdd.source_header_id = ooh.header_id
                     AND wdd.org_id = ooh.org_id
                     AND oot.transaction_type_id = ooh.order_type_id
                     AND etd.tp_header_id = ship_to_acct.tp_header_id
                     AND eth.tp_header_id = etd.tp_header_id
                     AND etd.document_id = 'DSNO'
                     AND etd.document_type = 'DSNO'
                     AND etd.edi_flag = 'Y'
                     AND ship_to_acct.party_site_id = ship_to_party.party_site_id
                     AND ship_to_party.location_id = ship_to_loc.location_id
                     AND ship_to_cust.cust_account_id = ship_to_acct.cust_account_id
                     AND ooh.payment_term_id = rtt.term_id
                     AND ooh.invoice_to_org_id = bill_to_site.site_use_id
                     AND bill_to_acct.cust_acct_site_id = bill_to_site.cust_acct_site_id
                     AND bill_to_acct.org_id = bill_to_site.org_id
                     AND bill_to_acct.party_site_id = bill_to_party.party_site_id
                     AND bill_to_party.location_id = bill_to_loc.location_id
                     AND bill_to_acct.cust_account_id = rc.cust_account_id
                     AND mp.organization_id = wnd.organization_id
                     AND oos.order_source_id = ooh.order_source_id
                     AND wnd.status_code = 'CL'
                     AND TRUNC (wnd.confirm_date) >= '13-JUL-2010'
                ORDER BY wnd.delivery_id;



EDI 810
This program will send invoices to customer. Typical extraction SQL can be.
         SELECT   *
             FROM apps.ra_cust_trx_types_all ctt
                 ,apps.ra_customer_trx_all rct
                 ,apps.hz_cust_acct_sites_all ship_to
                 ,apps.hz_cust_site_uses_all ship_use
                 ,hz_party_sites hps
                 ,hz_locations ship_loc
                 ,apps.ece_tp_headers eth
                 ,apps.ece_tp_details etd
                 ,apps.hz_cust_accounts cust
                 ,hz_parties hp
                 ,apps.hz_cust_acct_sites_all bill_to
                 ,apps.hz_cust_site_uses_all bill_use
                 ,hz_party_sites hpb
                 ,hz_locations bill_loc
                 ,apps.hz_cust_acct_sites_all remit_to
                 ,hz_party_sites hpr
                 ,hz_locations remit_loc
                 ,apps.hr_organization_units hou
                 ,apps.hr_locations ship_from
                 ,apps.ra_terms term
                 ,apps.oe_order_headers_v ooh
            WHERE 1 = 1
              AND ctt.org_id = p_org_id
              AND ctt.attribute1 = 'Y'
              AND rct.org_id = ctt.org_id
              AND rct.cust_trx_type_id = ctt.cust_trx_type_id
              AND TRUNC (rct.trx_date) <= TRUNC (SYSDATE)
              AND rct.complete_flag = 'Y'
              AND NVL (rct.edi_processed_flag, 'N') = 'N'
              AND rct.edi_processed_status IS NULL
              AND ship_use.site_use_id = rct.ship_to_site_use_id
              AND hp.party_id = cust.party_id
              AND ship_to.cust_acct_site_id = ship_use.cust_acct_site_id
              AND hps.location_id = ship_loc.location_id
              AND ship_to.party_site_id = hps.party_site_id
              AND eth.tp_header_id = ship_to.tp_header_id
              AND etd.tp_header_id = eth.tp_header_id
              AND etd.document_id = 'INO'
              AND etd.document_type = 'INV'
              AND etd.edi_flag = 'Y'
              AND cust.cust_account_id = rct.bill_to_customer_id
              AND bill_use.site_use_id = rct.bill_to_site_use_id
              AND bill_to.cust_acct_site_id = bill_use.cust_acct_site_id
              AND hpb.location_id = bill_loc.location_id
              AND bill_to.party_site_id = hpb.party_site_id
              AND remit_to.cust_acct_site_id = rct.remit_to_address_id
              AND hpr.location_id = remit_loc.location_id
              AND remit_to.party_site_id = hpr.party_site_id
              AND hou.organization_id = TO_NUMBER (TRIM (rct.interface_header_attribute10))
              AND ship_from.location_id = hou.location_id
              AND term.term_id = rct.term_id
              AND ooh.order_type = rct.interface_header_attribute2
              AND ooh.order_number = TO_NUMBER (TRIM (rct.interface_header_attribute1))
              AND TRUNC (rct.creation_date) >= '21-FEB-2005'
              AND (   TO_CHAR (p_invoice_number_string) IS NULL
                   OR (',' || TO_CHAR (p_invoice_number_string) || ',' LIKE '%,' || TO_CHAR (rct.trx_number) || ',%')
                  )
         ORDER BY TO_NUMBER (invoice_number);




This explains complete EDI details and setups with oracle apps R12.
Thanks,
Ajay


Filed under , having

22 comments:

Anonymous said...

Nice document, can you please explain where you defined the layouts for the 943 and 944? Did you create concurrent programs for the 943 and 944?

Anonymous said...

Hi Ajay,
Are we having any Interface/APIs to import Trading Partner details maintained in Excel?

Thanks
Baskar P

Srinivas Pasupuleti said...

Appreciating Ajay..pretty usefull !!
Keep up good work

Regards,
Srinivas Pasupuleti

Ajay Atre said...

Anonymous,
sorry for late reply. Yes for 943 an 944 I have created custom concurrent program. Trading Partners I have defined as 856 in and out.

Thanks

Unknown said...

Great document Ajay. Can you please let me know whether Oracle 11.5.10 has an EDI Translator or do we have to go to a third party s/w or company for translation.

Thanks,
Tafazul

Ajay Atre said...

Tafazul Oracle does not provide any translator mechanism as seeded. You need to get in help from third party company for the need.

Anonymous said...

Hi,

While importing 830 DELFOR we are getting error message in RLM workbench as " rlm_manage_demand_sv.MatchDemand failed with the following progress code: 010
and SQL error message: ORA-06502: PL/SQL: numeric or value error: character to number conversion error"

Please suggest!!

Sekhar Byna said...

Program Error: PL/SQL position not found for NET_WEIGHT. why this error coming,please help me out

Shiva said...

Hi Ajay,
Its really an awesome article about EDIs.
Can you please provide an overview on EDI860 also? (API/Interface) to handle RMAs via EDI.

Thanks

Shiva said...

Hi Ajay,
Its really an awesome article about EDIs.
Can you please provide an overview on EDI860 also? (API/Interface) to handle RMAs via EDI.

Thanks

Unknown said...

Hi Ajay,
It's very useful document. Thanks.
I have one query on 856. DSNO is generated by ITS and I also submitted Interface file data. Now while running 'OUT: OPM Advanced Ship Notice (856/DESADV)' it shows no data for Organization. Can you please help.

praveen said...

Hi Ajay,
It's is very useful document.
If you have complete document of EDI 810, 850 and 860 process, please share to my mail id: prvn.samalas@gmail.com
Thanks,
praveen

Anonymous said...

Hi Ajay, Nice document on EDI implementation. For 940 and 945 how did you define the file layout? I see you have defined Trading Partner as 855 out and 856 in. But are you using the layout for 855 and 856 as well? Thanks a lot.

Anonymous said...

Hi Ajay,
That was really good.It gives a very detailed info on EDI implementation in oracle EBS.

Unknown said...

This is insanely perfect article. I like it concise yet detailed. It has everything..

Dr Purva Pius said...

Hello Everybody,
My name is Mrs Sharon Sim. I live in Singapore and i am a happy woman today? and i told my self that any lender that rescue my family from our poor situation, i will refer any person that is looking for loan to him, he gave me happiness to me and my family, i was in need of a loan of S$250,000.00 to start my life all over as i am a single mother with 3 kids I met this honest and GOD fearing man loan lender that help me with a loan of S$250,000.00 SG. Dollar, he is a GOD fearing man, if you are in need of loan and you will pay back the loan please contact him tell him that is Mrs Sharon, that refer you to him. contact Dr Purva Pius,via email:(urgentloan22@gmail.com) Thank you.

BORROWERS APPLICATION DETAILS


1. Name Of Applicant in Full:……..
2. Telephone Numbers:……….
3. Address and Location:…….
4. Amount in request………..
5. Repayment Period:………..
6. Purpose Of Loan………….
7. country…………………
8. phone…………………..
9. occupation………………
10.age/sex…………………
11.Monthly Income…………..
12.Email……………..

Regards.
Managements
Email Kindly Contact: (urgentloan22@gmail.com)

Jim in Monroe said...

Ajay,
I have been working with Oracle EDI for a few years now. Mostly using the standard Oracle progams. One customer is requiring extensive use of the EDI mandatory fields and I'm having trouble locating them in the Interface File Definition. Are you available via email to answer a few questions. This pertains to outbound 855 and outbound 856.
Thanks in advance.
Jim

santoshpola said...

Hi Ajay,

We are implementing EDI using a custom logic where we are using an integrator to convert the EDI data and load in to oracle custom staging tables. Validating the data and calling the respective API to create the transaction.

With the above approach, it works for one trading partner, But if we want to make it reusable for other trading partners this approach will not work as the staging tables are defined based on the EDI user manual segments provided by trading partner.

So here using the inbuilt EDI e-Commerce gateway is the approach. Please suggest

Thanks
Santosh Pola

Randika Robby Farel said...

HALO

Mendapatkan pinjaman menjadi lebih mudah hanya jika Anda mengajukan pinjaman dengan ONE BILLION RISING FUND

 Mereka 100% dapat diandalkan dan dapat dipercaya dan saya adalah saksi hidup dari kemurahan hati organisasi keuangan yang hebat ini.
Anda yang sedang mencari bantuan keuangan dan Anda merasa kesulitan untuk mendapatkan pinjaman karena terlalu banyak pemberi pinjaman palsu online menunggu siapa yang akan menjadi korban niat jahat mereka, tetapi saya memberi tahu Anda hari ini untuk tidak khawatir lagi

Jadilah cerdas dan ajukan pinjaman dengan ONE BILLION RISING FUND karena mereka dapat membantu Anda mencapai potensi dalam hidup Anda setelah Anda memenuhi syarat dan ketentuan pinjaman mereka.

CATATAN
ONE BILLION RISING FUND hanya akan memberi Anda pinjaman jika tujuan peminjaman adalah sebagai berikut

1) TINGKATKAN ARUS KAS BISNIS ANDA
2) PERALATAN PEMBELIAN
3) MEMBAYAR UNTUK PERLUASAN PROYEK
4) INVENTARISASI PEMBELIAN
5) GUNAKAN PEMBAYARAN

Jika niat Anda untuk meminjam uang bukan dari alasan yang tercantum di atas, maka ONE BILLION RISING FUND dapat menolak permintaan pengajuan pinjaman Anda.

ONE BILLION RISING FUND mungkin tidak memberi Anda pinjaman untuk hal-hal berikut ini

1) Pinjaman Mobil
2) Pinjaman Rumah
3) Biaya Pernikahan
4) Pinjaman Pemodelan Rumah
5) Pinjaman Uang Sekolah
6) Pinjaman Darurat
7) Pinjaman Pembelian Alat
8) Biaya Makan
9) Beban Tunas Kendaraan
10) Konsolidasi Hutang


Hubungi ONE BILLION RISING FUND dan dapatkan pinjaman untuk meningkatkan pendapatan tunangan Anda dan jadilah saksi seperti saya.

Hal termanis dalam arsip adalah ketika Anda memiliki bantuan tunangan yang dapat diandalkan untuk membantu Anda meningkatkan standar hidup dan bisnis Anda.

Hubungi organisasi keuangan besar ini dan jadikan hidup Anda diatur oleh syarat dan ketentuan pinjaman mereka


NAMA PERUSAHAAN: ONE BILLION RISING FUND
GMAIL PERUSAHAAN: onebillionrisingfund@gmail.com
lokasi: San Francisco. California. BARAT AMERIKA SERIKAT
NOMOR TEL: +1 267 526 5352
NOMOR WHATSAPP: +1 267 526 5352

Ny. SISKA WIBOWO said...

Halo semuanya, Nama saya Siska wibowo saya tinggal di Surabaya di Indonesia, saya seorang mahasiswa, saya ingin menggunakan kesempatan ini untuk mengingatkan semua pencari pinjaman untuk sangat berhati-hati karena ada banyak perusahaan pinjaman penipuan dan kejahatan di sini di internet , Sampai saya melihat posting Bapak Suryanto tentang Nyonya Esther Patrick dan saya menghubunginya melalui email: (estherpatrick83@gmail.com)

Beberapa bulan yang lalu, saya putus asa untuk membantu biaya sekolah dan proyek saya tetapi tidak ada yang membantu dan ayah saya hanya dapat memperbaiki beberapa hal yang bahkan tidak cukup, jadi saya mencari pinjaman online tetapi scammed.

Saya hampir tidak menyerah sampai saya mencari saran dari teman saya Pak Suryanto memanggil saya pemberi pinjaman yang sangat andal yang meminjamkan dengan pinjaman tanpa jaminan sebesar Rp200.000.000 dalam waktu kurang dari 24 jam tanpa tekanan atau tekanan dengan tingkat bunga rendah 2 %. Saya sangat terkejut ketika saya memeriksa rekening bank saya dan menemukan bahwa nomor saya diterapkan langsung ditransfer ke rekening bank saya tanpa penundaan atau kekecewaan, segera saya menghubungi ibu melalui (estherpatrick83@gmail.com)

Dan juga saya diberi pilihan apakah saya ingin cek kertas dikirim kepada saya melalui jasa kurir, tetapi saya mengatakan kepada mereka untuk mentransfer uang ke rekening bank saya, karena saya berjanji bahwa saya akan membagikan kabar baik sehingga orang bisa mendapatkan pinjaman mudah tanpa stres atau penundaan.

Yakin dan yakin bahwa ini asli karena saya memiliki semua bukti pemrosesan pinjaman ini termasuk kartu ID, dokumen perjanjian pinjaman, dan semua dokumen. Saya sangat mempercayai Madam ESTHER PATRICK dengan penghargaan dan kepercayaan perusahaan yang sepenuh hati karena dia benar-benar telah membantu hidup saya membayar proyek saya. Anda sangat beruntung memiliki kesempatan untuk membaca kesaksian ini hari ini. Jadi, jika Anda membutuhkan pinjaman, silakan hubungi Madam melalui email: (estherpatrick83@gmail.com)

Anda juga dapat menghubungi saya melalui email saya di (siskawibowo71@gmail.com) jika Anda merasa kesulitan atau menginginkan prosedur untuk mendapatkan pinjaman

Sekarang, yang saya lakukan adalah mencoba untuk memenuhi pembayaran pinjaman bulanan yang saya kirim langsung ke rekening bulanan Nyonya seperti yang diarahkan. Tuhan akan memberkati Nyonya ESTHER PATRICK untuk Segalanya. Saya bersyukur

Angga Annisa said...

Hai semuanya, Nama saya Angga Annisa dan saya berbicara sebagai orang yang paling bahagia di seluruh dunia hari ini sebelum sekarang saya secara finansial dipukul tanpa harapan akan bantuan apa pun, tetapi ceritanya akan segera berubah ketika saya bertemu dengan Ibu. Saya sangat senang untuk mengatakan keluarga saya kembali untuk selamanya karena saya membutuhkan pinjaman sebesar Rp.700juta untuk memulai hidup saya di sekitar karena profesi saya karena saya seorang ibu tunggal dengan 3 anak dan seluruh dunia tampak seperti itu tergantung pada saya sampai Tuhan mengirim saya kepada sebuah perusahaan yang mengubah hidup saya dan keluarga saya, perusahaan yang takut akan Tuhan, ISKANDAR LENDERS, mereka adalah Juruselamat Tuhan yang dikirim untuk menyelamatkan keluarga saya dan pada awalnya saya pikir itu tidak akan mungkin sampai saya mendapat pinjaman sebesar Rp.700 juta dan saya akan menyarankan siapa pun yang benar-benar membutuhkan pinjaman untuk menghubungi Bunda Iskandar melalui email. [iskandalestari.kreditpersatuan@gmail.com] karena ini adalah pemberi pinjaman yang paling memahami dan baik

Contact Details:

e_mail Address:iskandalestari.kreditpersatuan@gmail.com>>>>
WhatsApp:::+6282274045059
Company::Iskandar Lenders"""""
Loan Amount:::Rp.700juta
Name:::::Angga Annisa
Country::::Indonesia
Occupation:Trader
Year:April,2020

Jumlah minimum>>>>>>Rp.100 juta
Jumlah maksimum>>>>>Rp.100 miliar

Anonymous said...

Very Useful !!

Post a Comment