Wednesday 4 January 2017

Order to Cash Cycle Step by step hands on :- O2C CYCLE steps in R12




Order to Cash Cycle:- 

The Order to Cash flow is the complete process of entering an order into the system (Sales Order), delivery the good(s) (Shipping), and then producing the Invoice for the good(s) which are Ordered by the Customer.


https://4.bp.blogspot.com/-pzAYdsg6ySg/UGrj9WI2tfI/AAAAAAAACqs/YHJrK_WyO2I/s320/396085_309365959160309_578655009_n.jpg


1. Required Setups:-
2. Create Customer
3. Create Item
4. Organization Overview
5. Available Inventory
6. Price List
7. Defaulting Rules  

1 Defaulting Rules:-
Defaulting rules determine the values that you want to get defaulted into a sales order to reduce the amount of information you need to enter manually. We can create and modify defaulting rules, in which case the Defaulting Generator concurrent program needs to be run.
In this test flow, however, we will only look at an existing seeded defaulting rule for the field Order Type. Based on that, we will set up a default value for the Order Type at the customer’s Invoice To location level.



Change the Responsibility to Order Management Super user (Vision Operations) Responsibility and Navigate to Setup > Rules > Defaulting.
Click on the Flashlight icon, and select the entity Order Header.
In the Attributes section, place the cursor on the line with Attribute = Order Type, and click on the Defaulting Rules button.
As per the Screen Shot below when entering a sales order, the Order Type will default to the value set up at the Invoice To, Ship To, and finally the Customer, wherever it is found first in that sequence.
             

                  
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2MMmxhl5TjDw9Ocy9sxuMxDVgQQk6FK7mzVVNYdjhFh8wRnqjfsqGiVph7bEA89sj1zi6lp5iHiDjxMKvZK0A9HLORah7kJdjdsNcfcHd1SQCkNlYmgeAZ0T_w9M3FZ3lEQTnu0oN8bE/s400/OTCOrder001.png

    Set up a default value for Order Type at the customer’s Invoice To level.
    Navigate to Customers > Standard.
     
In the Find/Enter Customer screen, enter your customer name and click on Find.
In the next Match Results screen, make sure you place the cursor on the row with a value in the Customer Number field, and click on OK.
In the Addresses tab, place the cursor on the row for your address and click on Open.
In the Business Purpose tab, place the cursor on the row for the usage ‘Bill To’ and click on Open. This is the ‘Invoice To’ level we saw in the previous step.
Go to the Order Management tab, and enter the Order Type ‘Mixed’. Save.


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyzgwdo8rVne1oWwk6FpRy2GR5QHNE2ZDAmmS4qDX1sm3YIxZKVw3XKU5nBuQfMydONh7iILXqLzyBT5VMN_NOo27c_BXyZWvNBw0NKfMWq0_V_jjwbthElkwHisCu88xPOMj-t2jkQaU/s400/OTCOrder002.png


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoUBbcbFkkgHJeHa-AqEzwCRw4CsaaNBeNSChylYb-zzbbKz43rlYQrvfuIFKxjlZWupKC_duhFMCS4KlfFiErIfZ4-pnfN5F9tXBKqx6gKc09gbGth6rQaBJYu_L4Kx-CZVzXSmZebM0/s400/OTCOrder003.png
                                                                


 Make sure the Ship To/Bill To Locations are defaulted in.
Order Type : Mixed
Price List : Corporate
Salesperson : No Sales Credit
and in Others tab
Payment Terms : N30
Warehouse : M1.
Go to the Line Items tab, and enter the following information as shown in the screen shot:
 Make sure the Ship To/Bill To Locations are defaulted in.
Order Type : Mixed
Price List : Corporate
Salesperson : No Sales Credit
and in Others tab
Payment Terms : N30
Warehouse : M1.
Go to the Line Items tab, and enter the following information as shown in the screen shot:

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdrdaJg1JUPde-rXQXgY8C8h-UAI9vnB1Q195LUy3pg2I6lfpaPyI-Mlsl-dcXLY8c_PM6rVzHQ7etSvgKnyitkOyFJo6MNipuXT_aiTuHpOH23C06hZ-DtFMbfsbqVJDeAnKjF4oVFtE/s400/OTCOrder004.png

   In the Shipping tab, notice that the Warehouse is M1. This is the warehouse from which the item   will be shipped out to the customer.

                         
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYcVliKEUnioyFE_S89mAOjuvIQrzbdJZWG0VDqBG7G1nWQIYxowVEnRdkdgSEjv8iSuJzdEg7tbrEpo-QbO4Y5XQ4bGLE-tYO_1iQgjp07cVX5CYWxgPRIy_9Kc-N5DH7obx3f3IqwrE/s400/OTCOrder005.png

   
Save the Order.
Now increase the on hand Quantity of the Item in M1 inventory Org by doing a Miscellaneous Transaction of Receipt type.

Change the Organization to M1 and Navigate to Transactions –> Miscellaneous Transaction
                       
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4fy92yZceOvTxSBzysGKQ7a6jHF_d_d0qR2aJQ8yeCLAEBKSc1TmqkTyy25wg6MvunLRXCE_IMQ-YuctDcXF_b5hYeFhcC0GEBBsCKTi-ZIiO9MaGHzynnQcrbjh9ABloqxfcUumheOQ/s400/OTCOrder007.png


  Once the Record is saved we can find a Material Transaction Entry is created as well and can be seen from Transactions –> Material Transaction. Pass the Item Number as the Parameter and Click on Find to view the transaction.





https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ6p8XD30Jt4XthIM_93CsUuBF8HwIs0assjDDSSLusMYFaGtn0nC3fZZ_imJUY1PeVxi0yhWa4KNtCVoTvFWiFQceLIE-z4KYBBY7kmtqDCn8w0ZMvSwLdvRhKaxTGKKK32lxF6dTsI8/s400/OTCOrder008.png

A transaction Entry would be found for the Miscellaneous Transaction Created.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHi0D6o1ZUnWmIM0wTZtlzndGEoadfY_j6aCBzZW5eUe58uawKCqT04G9oxDnzNz74x1zeOgqp3_vfISjLWnllCKQ7S_dsuHBy9kK9w79_xd3XzBxg2X8NfM_amoBQ-MmKHUt7xtHY5ZI/s400/OTCOrder010.png

Now navigate to the Sales Order and Query for the Order we have Created which is 66429.


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqy1Fu0YDZVKIdpkiGTVW5KUSdbcGCgcej38r2RlVw1K7seV-kvuv2T0Nec0U-VvpZunzj9g0J0JE4CO8K-1A8UiYGWEao1dmN6NYKZTjmRZ7A6bpc7thQQHQBOG5c-aLN2vChXGGP_oI/s400/OTCOrder011.png

Now Click on the button ‘Book Order’ in the header or lines.
Once the Order is Booked we should see a note saying Order has been booked. Notice the status of the order header has changed from Entered to ‘Booked’, and the status of the line (check the Status field in the Main tab of the lines) has changed from Entered to ‘Awaiting Shipping’.
Once the Order is Booked a soft reservation is created and records are inserted into MTL_DEMAND, MTL_RESERVATIONS, OE_ORDER_LINES_ALL, OE_ORDER_HEADERS_ALL.
SELECT *
   FROM mtl_reservations 
  WHERE demand_source_line_id = 399282;

 SELECT * 
   FROM mtl_demand 
  WHERE demand_source_line = 399282;

  SELECT *
    FROM oe_order_lines_all
   WHERE header_id = 203331;

  SELECT *
    FROM oe_order_headers_all
   WHERE order_number = 66429;

Once the Order is Booked we can see the Order Status Changed to Booked and Line Status Changed to Awaiting Shipping.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-e6HqjhvLzcWkS3n3eRjxianJrgHK_lTZosybUt5alDVcAvq15IfZRy75qMttsWPVXGBcQTJ4YoWUF23oaXtXHxdZJSplpAjybnHnUvJ43RfYwjVOWC89h9b-qjBp3JCWSXcvA9Q6VEo/s400/OTCOrder012.png

SELECT source_header_number, 
       source_header_id, 
       source_line_id, 
       delivery_detail_id, 
       released_status
  FROM wsh_delivery_details
 WHERE source_code = 'OE' 
   AND source_line_id = 399282;

Pick Release:- 

Pick Release is the process of putting reservation on on-hand quantity available in the inventory and pick them for particular sales order. Pick release can be done from ‘Release Sales Order’ form or ‘Pick release SRS’ program can be scheduled in background. In both of these cases all lines of the order gets pick released depending on the Picking rule used. If specific line needs to be pick release, it can be done from ‘Shipping Transaction form’. For this case Pick Release is done from ‘Release Sales Order’ form with Pick Confirm=NO. 

Shipping –> Release Sales Orders –> Release Sales Orders
=>In the Order tab, enter your order number.
=>In some cases, you may need to remove the defaulted ‘To’ value for ‘Scheduled Ship Dates’ and ‘Requested Dates’ fields, if the order line you created has a future date for these fields. Pick release will only consider lines within the dates specified.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIhgDG3zjQc3iIunuoW8Bn5Q4PWRtwRt2jCouK7AxGqbwDLW6jOtU2Zln4hbzqsU-bIF9JS0FdXfRe2nrmDzVP7lwfh-VEkcqA1H7RQ5SmXi6GMHddm0wk6V58q59BHXHPsACz8SQ7dfU/s400/OTCOrder016.png


Go to the Inventory tab and enter the warehouse M1. Set the following value if it is not defaulted.
Auto Allocate = Yes.
Make sure to include a Warehouse, based on this the order lines available on the order will be filtered. Choose Auto Allocate as “Yes” such that the system will suggest from which sub inventory or locator the goods can be shipped.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEzRdzvZ2k-DZ8HsfCnHYePx0-6_5olDSfdZcr0f-1Ok0oxpjWk1nwCyuJ2lXM87LpYdVucWaYeJZKYGDbxglIYN2PHJ45yxZNdv2lm39YKf_n8FSXjnW_wb1nxFzmCDqHHF3u7TZy9Jo/s400/OTCOrder017.png






Once the Concurrent Button is pressed
Pick Select tin List Generation, Pick Slip report, Shipping Exception Reports are run in the background.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2dVxCwtnV4czfm0DyMyebprmF-9nIB33qHO7RhLOI6LlDf_94laWHdy-l3TdhPjgISC52YuNA0YbOeXk3Oa2YA50re-bhCL6aDtugi6WACCxLBL7EU0wpC_8eclXL2qSz8KCkxWnsyPM/s400/OTCOrder019.png



Some times the even the Programs are kicked off from the background Process the Status of the Delivery will not be updated to Staged/Pick Confirmed. In such case we need to pick release the Order from Navigate to Shipping –> Transactions Form and Select the Delivery Detail and Launch Pick Release and then Go button.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaPZ1bNIz976M0X0umT6Igw8TxvlC_MegDUBaepdnHQ7ChFquGvHyz_Qx6afWRpCGaMww5MksHoBMCpA-kmeST-j7A42hIDDFUzZSYdfAzzxwLX9UlAxBhXBg-z4gXz6kxgsBcLYqo_s4/s400/OTCOrder021.png





The tables which are effected by entering these transactions are:
WSH_PICKING_BATCHES
WSH_NEW_DELIVERIES
WSH_DELIVERY_ASSIGNMENTS apart from Material transactions Table.

Query to find out the shipper info;-
SELECT  wnd.delivery_id delivery_id                                                                     ,
        substrb(hp.party_name,1,50) customer                                                            ,
        wpb.name batch_name                                                                             ,
        wsh_util_core.get_location_description( wnd.INITIAL_PICKUP_LOCATION_ID, 'NEW UI CODE') ship_from,
        wsh_util_core.get_location_description( wnd.ULTIMATE_DROPOFF_LOCATION_ID, 'NEW UI CODE') ship_to,
        wnd.INITIAL_PICKUP_DATE pickup_date                                                             ,
        wnd.ULTIMATE_DROPOFF_DATE dropoff_date                                                          ,
        lv.meaning ship_method                                                                          
        wnd.WAYBILL waybill                                                                             ,
        wnd.GROSS_WEIGHT gross_weight                                                                   ,
        wnd.WEIGHT_UOM_CODE uom                                                                         ,
        wnd.status_code                                                                                 ,
        we.message
  FROM  wsh_new_deliveries wnd,
        wsh_picking_batches wpb     ,
        wsh_exceptions we           ,
        fnd_lookup_values_vl lv     ,
        hz_cust_accounts hca        ,
        hz_parties hp
 WHERE  wnd.delivery_id             = 3777372
   AND wpb.batch_id                 = wnd.batch_id
   AND we.delivery_id(+)            = wnd.delivery_id
   AND we.exception_name(+)         = 'WSH_BATCH_MESSAGE'
   AND lv.lookup_code(+)            = wpb.ship_method_code
   AND lv.lookup_type(+)            = 'SHIP_METHOD'
   AND lv.view_application_id(+)    = 3
   AND hca.cust_account_id (+)      = wnd.customer_id
   AND hp.party_id(+)               = hca.party_id
 Query to find out the shipper detail info;-
SELECT wnd.delivery_id,
       wnd.name  delivery_name,
       wdd.source_header_number so_order_number,
       oola.line_number so_line_number,
       wdd.source_header_id so_header_id,
       wdd.source_line_id so_line_id,
       wdd.shipping_instructions,
       wdd.inventory_item_id,
       wdd.requested_quantity_uom,
       msi.description item_description,
       msi.revision_qty_control_code  ,
       wdd.ship_method_code carrier,
       wdd.shipment_priority_code priority,
       wdd.organization_id,
       wnd.initial_pickup_location_id,
       wdd.released_status,
       wdd.source_code
 FROM  mtl_system_items_vl msi,
       oe_order_lines_all oola,
       wsh_delivery_details wdd,
       wsh_delivery_assignments wda,
       wsh_new_deliveries wnd
 WHERE wnd.delivery_id = 3777372
   AND wda.delivery_id = wnd.delivery_id(+)
   AND wdd.delivery_detail_id = wda.delivery_detail_id
   AND wdd.inventory_item_id = msi.inventory_item_id(+)
   AND wdd.organization_id = msi.organization_id(+)
   AND wdd.source_line_id = oola.line_id
   AND wdd.source_header_id = oola.header_id;






Ship Confirm :-




Navigate to Shipping > Transactions.
In the Query Manager screen, enter your order number in the From Order Number field and tab out. Then, click on the Find button. All non-shipped lines will appear. Click on the details button to see detailed line information.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHnmK5QZJ9_ZLAic1CvE2Q6oWQlXN0iVpibkAjOiAztujzNQQBSNmIw9hpcSPBGWIvCpVF6nmOkKSGPBxMmsmUEotlt16ISeCvUJFTScDuiKWPoA15sw8NDqr1yIrxu-LycV-iYzIAjMU/s400/OTCOrder022.png



Notice the following in the Lines/LPNs tab.
Detail : The delivery detail of the shipment
Delivery : The delivery that got autocreated during pick release
Line Status : Staged/Pick Confirmed
Next Step : Ship Confirm/Close Trip Stop

SELECT source_header_number,
       source_header_id          ,
       source_line_id            ,
       delivery_detail_id        ,
       released_status
  FROM wsh_delivery_details
 WHERE source_code = 'OE'
   AND source_line_id  = 399282;

Released_Status:= 'Y'

SELECT wnd.delivery_id,
        wnd.status_code
   FROM wsh_new_deliveries wnd,
        wsh_delivery_assignments wda,
        wsh_delivery_details wdd
  WHERE wdd.delivery_detail_id = wda.delivery_detail_id
    AND wda.delivery_id            = wnd.delivery_id
    AND wdd.delivery_detail_id     = 3967467;
Status := OP
Click on the Delivery tab and the details button to see detailed delivery information. You can enter the waybill number & additional info etc. here. To ship confirm the order, select the Actions list in the Delivery Tab, choose Ship Confirm and GO.
The ship confirmation window will appear and give you the options to back order, ship all or ship partial quantities and set user defined shipping documents to print. Enter the trip creation options viz: Ship method, departure date, close trip and defer interface. The ship confirm process triggers the inventory interface automatically to update quantities, and triggers the Order Management Interface to update the status of the order lines.
Not checking the Defer Interface check box, as shown here, ensures that the next step, running the Interface Trip Stop (ITS) concurrent program, happens automatically. Deferring ITS (checking this box) means you need to run the concurrent in a separate step.
Interface Trip Stop (ITS) can be done from Shipping > Interfaces > Run (Interface Trip Stop – SRS).


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSe3OE6LKCTZiL2SfBvl8sYTCbNnGAOBvlMgMt_N5xVxYVhoUKzyCj1HwkwkWbYMUp8Sjk0fycrevjsE0RfS9ouPz7cpfLBUySdnefn-_EVbOwLiRZFWBJ3NompUBgycfZ4xsHL3ywbiQ/s400/OTCOrder023.png












Even if we get warning messages regarding the Carrier Code ignore at this point of time.
Go to View > Requests, and verify that the Interface Trip Stop completed successfully.

SELECT delivery_detail_id,
        released_status         ,
        oe_interfaced_flag      ,
        inv_interfaced_flag
   FROM wsh_delivery_details
  WHERE source_code = 'OE'
    AND source_line_id  = 201594;

* released_status = C (Shipped) -- becomes Shipped after ship confirm, even before ITS
* oe_interfaced_flag = Y -- signifies ITS has interfaced shipping data to OM
* inv_interfaced_flag = Y -- signifies ITS has interfaced shipping data to INV
To check if the item has actually been shipped out of inventory.
Navigate to Inventory > Change Organization and select M1.
Navigate to Inventory > Transactions > Material Transactions

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZN-1Wj_enmFn4UIg3RPgCOEDXUUst9XShuA1pJD9gamnsLN6mdVL2fVehgLJTJ5-2qiOWGJpZXu3YZLyZieiL3COpx57aLaHIbKrR95gISgnYQac3EKIQmQt7e_7uq4AJSLx_89W2l3I/s400/OTCOrder024.png


Enter the following information in the Find Material Transactions screen and click on Find
Transaction Date : Ensure the transaction date is within the range specified
Source Type : Sales Order
Source :
-Evoke the LOV and click on the button Combinations
-Enter your Sales Order Number and Order Type Mixed, then click OK
-Example : 66429.Mixed.ORDER ENTRY
Go to the Transaction Type tab, and notice the line with Transaction Type = Sales Order Issue. This is the Inventory Transaction that happened when the item was shipped out of the warehouse M1, hence the negative quantity -1.
The other two lines with Transaction Type = Sales Order Pick, are for the move order transaction that happened automatically during Pick Release , when the item was moved from the pick-from sub inventory to the staging sub inventory. Hence there is one line each for a negative and positive transaction from/to each sub inventory. The final shipment to the customer (sales order issue) is made from the staging sub inventory.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqumDHZhu0PT0lHKh1pvzQ6OFPpEZwyCENmGdgIVNfhHORX529nnaiE5o9LPf_GJ1RkYFdYd8UasLr1uyttLNWEONmKHFQYAMIOQB4YjD-Z0DHgvlTxuEwvHCQJUf_SiyMHVOTizroD_w/s400/OTCOrder025.png


Tables effected in this transactions are:
WSH_NEW_DELIVERIES, WSH_DELIVERY_DETAILS, WSH_DELIVERY_LEGS, WSH_TRIPS and WSH_TRIP_STOPS. Bill of loading info of the delivery 

SELECT wnd.delivery_id delivery_id      ,   
        wdi.sequence_number bol_number   ,
        wdi.bol_notify_party             ,
        wdi.port_of_loading              ,
        wdi.port_of_discharge            ,
        wnd.WAYBILL waybill              ,
        wnd.GROSS_WEIGHT gross_weight    ,
        wnd.WEIGHT_UOM_CODE uom          ,
        wnd.status_code
   FROM wsh_new_deliveries wnd      ,
        wsh_delivery_legs wdl       ,
        wsh_document_instances wdi
  WHERE wnd.delivery_id   = 3777372
    AND wnd.delivery_id       = wdl.delivery_id (+)
    AND wdi.entity_id (+)     = wdl.delivery_leg_id
    AND wdi.entity_name (+)   = 'WSH_DELIVERY_LEGS'
    AND wdi.document_type (+) = 'BOL'
    AND wdi.status (+)       <> 'CANCELLED'
Delivery leg and pick up stop info
SELECT wt.trip_id          ,
        wt.name                   ,
        wt.STATUS_CODE            ,
        wt.VEHICLE_ITEM_ID        ,
        wt.VEHICLE_NUMBER         ,
        wt.CARRIER_ID             ,
        wt.SHIP_METHOD_CODE       ,
        wts.STOP_ID               ,
        wts.STOP_LOCATION_ID      ,
        wts.STATUS_CODE           ,
        wts.STOP_SEQUENCE_NUMBER  ,
        wts.PLANNED_ARRIVAL_DATE  ,
        wts.PLANNED_DEPARTURE_DATE,
        wts.ACTUAL_ARRIVAL_DATE   ,
        wts.ACTUAL_DEPARTURE_DATE ,
        wts.DEPARTURE_NET_WEIGHT  ,
        wts.WEIGHT_UOM_CODE       ,
        wdl.DELIVERY_LEG_ID       ,
        wdl.DELIVERY_ID           ,
        wdl.PICK_UP_STOP_ID       ,
        wdl.DROP_OFF_STOP_ID      ,
        wdl.SEQUENCE_NUMBER       ,
        wdl.LOADING_ORDER_FLAG    ,
        wdl.SHIPPER_TITLE         ,
        wdl.SHIPPER_PHONE
   FROM wsh_trips wt ,
        wsh_trip_stops wts ,
        wsh_delivery_legs wdl
  WHERE wdl.delivery_id = 3777372
    AND wts.stop_id         = wdl.pick_up_stop_id
    AND wts.trip_id         = wt.trip_id;

Create Invoice : -

When the work flow Background Process is run it picks those records and post it to RA_INTERFACE_LINES_ALL. This is also called Receivables interface, that mean information moved to accounting area for invoicing details. Invoicing workflow activity transfers shipped item information to Oracle Receivables. At the same time records also goes in the table RA_INTERFACE_SALESCREDITS_ALL which hold details of sales credit for the particular order.
After the Workflow background Process is run RA_INTERFACE_LINES_ALL (interface table into which the data is transferred from order management). Then Autoinvoice program imports data from this table which get affected into this stage are receivables base table. At the same time records gets inserted into RA_CUSTOMER_TRX_ALL gets inserted with TRX_NUMBER ia the invoice number with INTERFACE_HEADER_ATTRIBUTE1 as Sales Order Number.
RA_CUSTOMER_TRX_LINES_ALL gets populated with LINE_ATTRIBUTE_1 and LINE_ATTRIBUTE_6 are populated with Sales order number and order lines LINE_ID respectively.
After this the OE_ORDER_LINES_ALL gets updated with FLOW_STATUS_CODE to ‘Closed’ and OPEN_FLAG to ‘N’.
Create Receivable Invoice :-
check the status of the order line.
Navigate to the sales order form, and query your sales order. Go to the Line Items tab and check that the status of the line is ‘Shipped’.
While still on the line, go to Tools > Workflow Status.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAkuhgPHRjLbABARa_QqmCnoNZ6tiXDhTs8Xt2yoL_JDQ4IlWSLpXOjNNeYUz221fcrjKxGMBRf9RgOm-0j_Ro6DLVocwEVltbe3rstT31wqjcI4MLWpNC2z-ZjRN9XKsdnkQTl6GyhIA/s400/OTCOrder026.png


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEbfOKorrkd9p2GsHZ9H9acUCn-Q1-4cqYC7zB6le-KoBra79__IJurMk-mnvKS0r-Ixv6GZhoapqZHuyqMBWjOPYjVC_Bz_KRgOPvgMsqEWR5UFy6tORe2lRvbPhGHU6zdWMludzdYf4/s400/OTCOrder027.png



Verify that the order line workflow is now at the Fulfill – Deferred activity with a status of Deferred. This means that the next steps is to run the Workflow Background Process.
Navigate to Reports, Requests > Run Requests.
Run the Workflow Background Process with the following parameters.
Item Type : OM Order Line
Process Deferred : Yes
Process Timeout : Yes
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrYeVHR-G_KeegdpkwkhrhD3vZkYcgdE8PwRCf_sXQYuIrKH_j7HMy_d0lQR-KHZhccHooeYROizDrKPDDrdBZh9kpHY1cFN50cSFL2X-3Po-ji2Sm8W356urg9p-RjuTLSudIQ4o4ZaE/s400/OTCOrder028.png

Go to View > Requests, and verify that the Workflow Background Process (WFBP) has completed successfully. In addition, notice that the AR concurrent requests Autoinvoice and Autoinvoice Import Program get kicked off automatically to import the invoices into AR. OM inserts invoice data into the AR interface tables through ‘Invoice Interface’, which runs in the background (notice the workflow activity ‘Invoice Interface’ in the screenshot from Step 4 below). AR picks up the data from the interface tables through the ‘Autoinvoice’ concurrent program.


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJVumfqlXrT2H3XH2WVgPKSdDMwJt0KK88bKYx4X7dvl11mkEPLEGbDtDfc0ryoLWLk-3skWWmt0mWDX9LzYlpGjQarTGWNLhyXJAZ5f6ZBG73FfSPfxfn0b9eoE-ijcMLaRPyb8yu2RM/s400/OTCOrder029.png


Once the data is interfaced to AR or AR Interface Tables the status of the order Lines will be changed to Closed.
Query the order in the sales order form, and go to the lines. Notice the status is now Closed. Note that the Closed status in the order lines signifies that OM has successfully passed the invoice data into the AR interface tables, and does not necessarily signify that the invoice has been successfully imported into AR (in case there was some error during that process).
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUawNnazpyvXQILaVFuOxAMnqvlqcSEoUboU9SA0H-IBZqY7fjjueSAQO9arf4xoXh1uOVPDtSMqAeBjFtKmG0oFw8Ixpk-0Kn293HVwuGvsPcwqDy2qe4CWTeJ5UB_eG6jbRq9mg7hQ8/s400/OTCOrder030.png



The workflow status for the order line (go to Tools > Workflow Status) should now be Ended.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFM5dWFD7lqPiSNnzwTZpVRV0VCFXr1YYHTmh6xyXP9tnq6gJ_hLX2FMshxC-pBvHP_UhL_f-Kf2c-AVrE0a5yQ9jxvYnu-6tDJTYKuxihgpGkqOyfa5sU-qTT2ZN8Q3U0tR_uLno3G1o/s400/OTCOrder031.png



Once the Auto invoice program is Run you can see the AR Invoice Created. To check this Change the Responsibility to Receivables, Vision Operations(USA), Transactions –> Transactions and query for Source as ORDER ENTRY and Reference as the Sales Order number 66429.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-n61EQ5GfLPIg8QfzQzgbE5i3hRK5IpmP1yZQJG5dp3fEd7E_RMz6Fp-TgpnhdG26sh69xBOHdGkR1U5ZbjulNWUS9U3uPaQZvkloCK1R2CAv8wyBmPJqAbgCK8E-vTBJo6ZrDVun-QI/s400/OTCOrder032.png



The data is inserted into RA_CUSTOMER_TRX_ALL with interface header attribute1 will store the Sales Order Number and RA_CUSTOMER_TRX_LINES_ALL with interface line attribute6 having the sales order line Id stored.
 Note:-Some time the Auto invoice Import Program might not invoice the Lines and the instance might have issues like opening Periods. To Open the GL Periods Navigate to Control –> Accounting –> Open/Close Periods and Open the Period which the System Date falls in.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKT1adJPZfjRidk51cKw_xLtjek7BnMfagsJEoWcicWBCacXvxfJviLYpf2sR9si5-AVQgboFE5O2E3Dku3uCGRhUaHdSgJD4-3GJv_kewnw4LW4Y-HtBDbBWqUHrrhs2RmL_ihUp7T-Y/s400/OTCOrder033.png


Create receipt: Receivables> Receipts> Receipts
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6bzpnV3xVVxqQ08mwWYHdsP5xH2Ci8bY11Te9lHJ6fCtODeKhc9UKpqu2dnC89W5i4ZaAF65pcJz_e44_-SaM0ztZEnKQnuhzrjpvELEWHYACJ60Fet-oc4KfmSIOXmj-7IPO-nQ5ptc/s400/pic1.jpg


Click Apply to apply this to an invoice and then select the invoice in next screen and then apply.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimhZEVQKrYLHMRCZsa7lcKWo_ATsBilWbyLuM6lfxIxU4rs4ftMgOWQFQTG4lj-OiQCh-vlyqpPAhhlfNmOuo4kd7b_EX0CQULfEVemgASgmCKJnA0WRDVWFHtdpB50uDLJORRMXPqr54/s400/image039.png



Tables affected:
AR_CASH_RECEIPTS_ALL

Transfer to General Ledger:-

To transfer the Receivables accounting information to general ledger, run General Ledger Transfer Program
Receivables> View Requests
Parameters:
Give in the Start date and Post through date to specify the date range of the transactions to be transferred.
Specify the GL Posted Date, defaults to SYSDATE.
Post in summary: This controls how Receivables creates journal entries for your transactions in the interface table. If you select ‘No’, then the General Ledger Interface program creates at least one journal entry in the interface table for each transaction in your posting submission. If you select ‘Yes’, then the program creates one journal entry for each general ledger account.
If the Parameter Run Journal Import is set to ‘Yes’, the journal import program is kicked off automatically which transfers journal entries from the interface table to General Ledger, otherwise follow the topic Journal Import to import the journals to General Ledger manually.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZHBpnc1XaE1D9raklytmKWN6Pxy1oF7MOHqNZn3HqAoO2cR5h5GO2nT0s2cV7EVHTvTQDWiBplw8_xgo6u-w9SYA38BzreeqmgVD98SCxITQ1QkA46xw5Hg2Ml8P9DOumNDr4EM5vpCc/s400/pic2.JPG



Tables Affected: GL_INTERFACE
Journal Import:-


To transfer the data from General Ledger Interface table to General Ledger, run the Journal Import program from Oracle General Ledger.
General Ledger > Journa> Import> Run

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV4Prjo8FcYbPy_AiPeKBM4b2YNhJRnCX789exsHpRXmvAwC0mIzQZxovbMnAzdfVHEPgfSYws6Txqz3SP9QRspR_MEhaHA_GFbdfAolJ0xdHstBKKVc9e4Gw5YY4XDsnb14sulNc5cls/s400/image043.png



Affected tables
GL_JE_BATCHES, GL_JE_HEADERS, GL_JE_LINES

Posting:-

We have to Post journal batches that we have imported previously to update the account balances in General Ledger
General Ledger> Journals > Enter

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpMyf-VKqn4QvUhakoUdhV-EaqudiDAAdRyNHcgQY79JiG6G535S4cQCQKO5nqKqn39gExuqlxS3AcceS2Uld8g20llbG8urxBAXM92HFj7IO-9T5bTDJjKd18V41zS04mB8cH1cn5dHQ/s400/image044.png



Click Find
From the list of unposted journals displayed, select one journal at a time and click on Post button to post the journal.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggGPKyw8tHOCrYEJiIPA0VoRBhmvfQd7x3BLCaDH8D7nsB58nGTddfYfX4aWykDj836j-WDfGG4y3JUd3rYMK18IkYEKQYmxfV5X2UOiVI4mAI_1VAVEvyr0unx3pZzF6yM_usfzXsP3c/s400/image045.png


If you know the batch name to be posted you can directly post using the Post window

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8RbVK5YlU7dg-rZAh6an4omRzUbNJhHVPoV2qlBVihHVefBDOghB5lsH-Tx3ajaxxk55zLst0xgby34VinAymXpEek5GQOZ3qw6uszchk2OJIfQQNrYp8BrvXgS-Qn-omY-birqVv8-U/s320/pic4.JPG


Wednesday 21 December 2016

FNDLOAD Scripts

FNDLOAD Command to download a Form.

FNDLOAD apps/<Pwd> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct <LDT_FILE_NAME>.ldt FORM FORM_NAME="<FORM_FUNCTION_NAME>"

FNDLOAD apps/<Pwd> 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afsload.lct <LDT_FILE_NAME>.ldt FORM FORM_NAME="<FORM_FUNCTION_NAME>"


FNDLOAD Command to download a Form Function.

FNDLOAD apps/<Pwd> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct <LDT_FILE_NAME>.ldt FUNCTION FUNCTION_NAME="<FORM_FUNCTION_NAME>"

FNDLOAD apps/<Pwd> 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct <LDT_FILE_NAME>.ldt - WARNING=YES UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE


FNDLOAD to download/Upload a Menu

FNDLOAD apps/<Pwd>  0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct <LDT_FILE_NAME >.ldt MENU MENU_NAME="<Menu_Name>"

FNDLOAD apps/<Pwd>   0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct <LDT_FILE_NAME >.ldt

Note: To attach a form function with an existing menu, download the menu from the source instance and delete all the functions except the one which you wanted to attach and then upload the edited ldt file in to the target instance. or use the below script

FNDLOAD apps/<Pwd> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct <LDT_FILE_NAME>.ldt MENU PARENT_MENU_NAME="<MENU_NAME>" FUNCTION_NAME="<FORM_FUNCTION_NAME>"

FNDLOAD apps/<PWD> 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct <LDT_FILE_NAME>.ldt


FNDLOAD Command to download a Concurrent Program.

FNDLOAD apps/<Pwd> O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct <LDT_FILE_NAME>.ldt PROGRAM APPLICATION_SHORT_NAME="<APP_SHORT_NAME>" CONCURRENT_PROGRAM_NAME="<CP_SHORT_NAME>"

FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct <LDT_FILE_NAME>.ldt - WARNING=YES UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE


FNDLOAD Command to download a Request Group.

FNDLOAD apps/<Pwd> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct <LDT_FILE_NAME>.ldt REQUEST_GROUP REQUEST_GROUP_NAME="<RG name, not the code>" APPLICATION_SHORT_NAME="<APP_SHORT_NAME>"

FNDLOAD Command to download a Request Group for a specific Program.

FNDLOAD apps/<Pwd> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct <LDT_FILE_NAME>.ldt REQUEST_GROUP REQUEST_GROUP_NAME="<RG name, not the code>" APPLICATION_SHORT_NAME="<APP_SHORT_NAME>" UNIT_NAME="<CP_SHORT_NAME>"
Note: In request group name, give the actual name and not the RG code.

FNDLOAD apps/<Pwd> 0 Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct <LDT_FILE_NAME>.ldt


FNDLOAD Command to download a Template for a Data definition.

FNDLOAD apps/<Pwd>  O Y DOWNLOAD  $XDO_TOP/patch/115/import/xdotmpl.lct <LDT_FILE_NAME>.ldt XDO_DS_DEFINITIONS APPLICATION_SHORT_NAME="<APP_SHORT_NAME>" DATA_SOURCE_CODE="<DATA_DEFINITION_CODE>" TMPL_APP_SHORT_NAME="<TEMP_APPLICATION_SHORT_NAME>" TEMPLATE_CODE="<TEMPLATE_CODE>"

FNDLOAD apps/<Pwd> 0 Y UPLOAD $XDO_TOP/patch/115/import/xdotmpl.lct <LDT_FILE_NAME>.ldt


FNDLOAD Command to download a Request Set

FNDLOAD apps/<Pwd>   0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct <LDT_FILE_NAME>.ldt REQ_SET REQUEST_SET_NAME="<REQUEST_SET_SHORT_NAME>"

FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct  <LDT_FILE_NAME>.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE


FNDLOAD Command to download the Link Stages for Request Set

FNDLOAD apps/<Pwd> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct <LDT_FILE_NAME>.ldt REQ_SET_LINKS REQUEST_SET_NAME="<REQUEST_SET_SHORT_NAME>"

FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct  <LDT_FILE_NAME>.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE


FNDLOAD Command to download a lookup

FNDLOAD apps/<PWD> 0 Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct <LDT_FILE_NAME>.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME="APP_SHORT_NAME" LOOKUP_TYPE="<LOOKUP_CODE>"

FNDLOAD apps/<PWD> O Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct <LDT_FILE_NAME>.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE


 FNDLOAD Command to download a Responsibility

FNDLOAD apps/<PWD> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct <LDT_FILE_NAME>.ldt FND_RESPONSIBILITY RESP_KEY="<RESPONSIBILITY_KEY>"

FNDLOAD apps/<PWD> 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct <LDT_FILE_NAME>.ldt


FNDLOAD Command to download a Form Personalization

FNDLOAD apps/<PWD> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct <LDT_FILE_NAME>.ldt FND_FORM_CUSTOM_RULES FORM_NAME="<YOUR_FORM_NAME>"

FNDLOAD apps/<PWD> 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct <LDT_FILE_NAME>.ldt


FNDLOAD Command to download a Value set

FNDLOAD apps/<PWD> O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct <LDT_FILE_NAME>.ldt VALUE_SET FLEX_VALUE_SET_NAME="<VALUE_SET_NAME>"

If value set has values then,

FNDLOAD apps/<PWD> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct <LDT_FILE_NAME>.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME="<VALUE_SET_NAME>"

FNDLOAD apps/<PWD> 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct <LDT_FILE_NAME>.ldt


FNDLOAD Command to download Profile Options

FNDLOAD apps/<PWD> O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct <LDT_FILE_NAME>.ldt PROFILE PROFILE_NAME="<PROFILE_OPTION_NAME>" APPLICATION_SHORT_NAME="APP_SHORT_NAME"

FNDLOAD apps/<PWD> 0 Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct <LDT_FILE_NAME>.ldt


FNDLOAD Command to download Alerts

FNDLOAD apps/apps 0 Y DOWNLOAD $ALR_TOP/patch/115/import/alr.lct XX_CUSTOM_ALR.ldt ALR_ALERTS APPLICATION_SHORT_NAME=XXCUST ALERT_NAME="XX - Alert Name"

FNDLOAD apps/apps 0 Y UPLOAD $ALR_TOP/patch/115/import/alr.lct XX_CUSTOM_ALR.ldt CUSTOM_MODE=FORCE


FNDLOAD Command to download DATA_TEMPLATE (Data Source .xml file)

java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XX_HOST_NAME)(PORT=XX_PORT_NUMBER))(CONNECT_DATA=(SERVICE_NAME=XX_SERVICE_NAME)))' -LOB_TYPE DATA_TEMPLATE -LOB_CODE XX_TEMPLATE -APPS_SHORT_NAME XXCUST -LANGUAGE en -lct_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LOG_FILE $LOG_FILE_NAME

java oracle.apps.xdo.oa.util.XDOLoader UPLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XX_HOST_NAME)(PORT=XX_PORT_NUMBER))(CONNECT_DATA=(SERVICE_NAME=XX_SERVICE_NAME)))' -LOB_TYPE DATA_TEMPLATE -LOB_CODE XX_TEMPLATE -XDO_FILE_TYPE XML -FILE_NAME $DATA_FILE_PATH/$DATA_FILE_NAME.xml -APPS_SHORT_NAME XXCUST -NLS_LANG en -TERRITORY US -LOG_FILE $LOG_FILE_NAME


FNDLOAD Command to download RTF TEMPLATE (Report Layout .rtf file)

java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XX_HOST_NAME)(PORT=XX_PORT_NUMBER))(CONNECT_DATA=(SERVICE_NAME=XX_SERVICE_NAME)))' -LOB_TYPE TEMPLATE -LOB_CODE XX_TEMPLATE -APPS_SHORT_NAME XXCUST -LANGUAGE en -TERRITORY US -lct_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LOG_FILE $LOG_FILE_NAME



java oracle.apps.xdo.oa.util.XDOLoader UPLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XX_HOST_NAME)(PORT=XX_PORT_NUMBER))(CONNECT_DATA=(SERVICE_NAME=SERVICE_NAME)))' -LOB_TYPE TEMPLATE -LOB_CODE XX_TEMPLATE -XDO_FILE_TYPE RTF -FILE_NAME $RTF_FILE_PATH/$RTF_FILE_NAME.rtf -APPS_SHORT_NAME XXCUST -NLS_LANG en -TERRITORY US -LOG_FILE $LOG_FILE_NAME