Search 800 + Posts

Apr 30, 2009

Customer Acceptance (Oracle Apps Release12 Feature).

Customer Acceptance is new feature introduced in Oracle Application Release 12.Customers in some industries have need to defer invoicing and/or revenue recognition for shipped goods until the customer receives the shipment and formally accepts the material.

In Oracle R12 Customer acceptance/rejection can be captured from customers, customer service representatives, or from an external system.
Customers can perform the acceptance in following manners.
  1. Log into the self-service Order Information portal.
  2. Import customer acceptance/rejection from an external system with Order Import/Process Order API.
  3. Record Acceptance /Rejection from Sales Order Form.

Oracle Order Management supports only full acceptance or total rejection for each outbound order line. One can set the number of days for implicit acceptance, after the product has been shipped.

A New System parameter “Enable Fulfillment Acceptance” has been introduced in R12 at Operating Unit level for this Purpose. Once this parameter is enabled, the Accounts Receivables API is called to invoke the rules engine to validate customer acceptance on every order line.

The basic business need is to defer invoicing and/or revenue recognition for the shipped goods till the customer receives the shipment and accepts the material.

Customer Acceptance functionality offers
1. Pre Billing and Post Billing Acceptance
2. Explicit and Implicit Acceptance.
3. It is either Full Acceptance or full rejection, as of now it doesn’t support Partial Acceptance.
4. It support ATP/PTO/KIT/Service & Standard item. Acceptance defined at the parent level (Model) only, and child will inherit that from parent (e.g. ATO/PTO Model).
As of now Oracle in not support Acceptance in RMA Orders.

Setup for Customer Acceptance:
1.Customer acceptance
can be enabled at Operating Unit level through OM systemParameter: Enable Fulfillment Acceptance – Y/N.



2.We need to enable function security for a given responsibility for the following two
Functions:
a. Sales Orders: Fulfillment Acceptance – This ensures that the action attribute Fulfillment Acceptance is available in the Actions LOV.
b. Sales Orders: Update Acceptance Attributes – This allows for updating the acceptance attributes of Acceptance Name and Acceptance Expire days.These are attached to the sales order menu – ONT_ Sales_Order.



3.Define Deferral Reason for Pre – Billing Acceptance
Define 'Deferral reason' under Receivables Revenue Management set up
Navigation: Revenue Management Super User -> Contingency Search / Definition ->
it launches an HTML page.

Define assignment rules to assign the deferral reason to customer, site, item, etc.

a. For defining a Pre-billing Acceptance, use the deferral reason removal event as
Invoicing.



b. For defining a Post-billing Acceptance, use the deferral reason removal event asCustomer Acceptance.



c. For defining an Implicit Acceptance, we need to define the Optional time attributes – Event Attribute and Days added to Event attribute.


As shown above please note that Order Management supports Ship Confirm Date as only event attribute for the current release.
The Days added to Event Attribute gets defaulted as Acceptance Expire days inSales Order Line.

Note: The deferral reason defined in AR's Revenue Management setup page is actually used as Acceptance Name in Order Management



Enable Folder fields for Customer Acceptance in Sales Order Form as well as Quick Sales Order Form.




The Invoice Interface Workflow sub process handles sending interface data to Oracle Receivable for invoice and credit memo creation.It us ysed to handle pre-billing Customer acceptance. If an order line requires pre-billing Customer Acceptance, this sub-process will prevent the order line from being interfaced to Receivables.


Pre-Billing Acceptance
Sales Order Line in Pending Pre-billing Acceptance.
· Record Acceptance – explicit or implicit .
· Line status moves to closed and line gets interfaced to AR.
· Invoice generation and Revenue Recognition happen subsequently.

Post-Billing Acceptance
Sales Order Line in Pending Post-billing Acceptance .
· Invoice generation .
· Record Acceptance – explicit or implicit.
· Line status moves to closed .
· Revenue Recognition happens once acceptance is completed .

Explicit Acceptance:
1. Acceptance through Order Information Portal, click on Sales Order Actions –Fulfillment Acceptance from Header or Lines.
2. Through Order Import.

Implicit Acceptance:
1. Deferral reason has to be defined in AR with event attribute as Ship Confirm date and expiration days.
2. An Implicit Acceptance Request set that records Implicit Acceptance consists of the following concurrent programs:
· Generate Pre-billing Acceptance Program for Pre-billing, Implicit Acceptance
· Revenue Contingency Analyzer for Post-billing, Implicit Acceptance


Process Flow (Explicit Acceptance).
1.Enter orders that need to be accepted by the customer and this acceptance is to be Recorded by the Customer Sales Representative.

2.View/update Acceptance fields on the order line. The Others tab of the sales orders line displays the folder enabled Acceptance fields.






3.Sales Order Acknowledgment Report prints Acceptance Required.
4.Ship Confirm the items mview the line status 'Pending Pre-Billing / Pending Post-Billing Acceptance'.
5.Perform Acceptance/Rejection.(Below is Example of Pre-Billing Explicit Acceptance).













6.View Acceptance Details in Sales Orders line.


Process Flow (ONLY Screen short) of Implicit Acceptance









Apr 25, 2009

R12 Order Management MACD

In this blog I explains briefly about the R12 MACD feature. In case you need more details fell free to contact me.

MACD stand for Move , Add , Change, Disconnect. This feature takes care of

  1. Recurring charges, and how to apply recurring charges on an order.
  2. Telecommunication service order along with tangible goods (Equipments).
  3. How to Setup the Payment terms for the “Payment Due with Orders”.

Recurring Charges are the FIXED charges that are applied after fixed interval (monthly/quarterly).
E.g. Phone charge for every month.

Before R12 this concept was handle with UOM, but in R12 Oracle has introduced a concept of “Charge Periodicity” .It means how often customer should be charged.
A new Attribute name “Charge periodicity “ has introduced in Order Management. It is defined at the Item Master level. Values for it can be any frequency of the recurring charge like weekly/monthly/yearly etc.

In Order Management, any order line with value for Charge Periodicity is refer as recurring line and if it is missing then order line will be consider as “One Time charge” (regular line).

In Order UI user can see the Charge Periodicity at Order Header as well as Order Line.It will display total value for each periodicity separately, because viewing the total for different periodicity together doesn’t make any sense.
e.g. if an order has 5 lines
Line # Periodicity Line Amount
L1 Monthly 100
L2 Yearly 300
L3
L4 Monthly 100
L5 Weekly 25

In above case if user selects periodicity “Monthly” he will able to see Sum of Line amount where periodicity “Monthly”, and it is 200.

Setup and Process flow for Recurring Charges
Profile - OM: UOM Class for Charge Periodicity
System Parameters - Enable Recurring Charges. Please note that once enable it cannot be disable.

Process

  1. Set the profile option as well as System parameters.
  2. Define the Charge Periodicity at the Item Master Level.Create Sales Order .
  3. Add and configured Telecom Product.
  4. Check Recurring and one-time charges for item.
  5. Check the recurring and one time total.

Service Order along with Tangible goods (Equipment).

MACD allows user to enter Service order for Telecom along with the tangible items.e,g Cell phone along with the Service plan.

Setup and Process

  1. Setup tangible item in Item Master.
  2. Add tangible item in the configuration of the service item. (Before R12 that was not possible).

Process
1. Create Sales Order.
2. Add tangible and Service Items.
3. Add warranties (if any).
4. Check recurring and one time charges
5. Book Order.

Payment Due with Order
In telecom Sales when we order we pay some portion at the time of Order, it is known as “Pay due with Order” (notes – it’s all depend on your business need), and rest portion is charge on Invoice. E.g. when we Order Cell phone, we pay one time activation fee upfront.

Pay due with order (PDWO) is most of time Sum of Charges for the one time service item as well as cost of the Tangible goods. It is payment assurance for the purchased good before order actually placed. It authorized payment at the time of order fulfillment and rest of the amount will be bill to customer (invoice). It reduces risk from service provider point of view.

Order Management has provides Defaulting Rule Frame work to determine Payment terms on the Order line. It determines whether to Apply “Pay due with Order” or different Payment Terms to an Order line. This type of defaulting rule can be setup at the Product Level as well as Customer Level.

In the Payment Term Setup – Any Payment Term with Days Due = 0 and 1+ installment has considered as the Payment Due With Order.

Following are the Setup Required for “Pay due with Order”

  1. System Parameters
  2. Payment Terms
  3. Defaulting Rules
  4. Customer Credit Check
  5. Transaction Type
  6. Payment Types
  7. Item Attribute and Workflow Assignment to Order Line.

Please make sure that while doing the Setup for the Payment Terms for “Pay due with Order”, Deferred Payment Flag set to “N” for Credit Card Payment.

Apr 23, 2009

Oracle Application OM

Query to see if PO Belongs to Drop Ship Order Line.

select drop_ship_flag
from po_line_locations_all
where line_location_id = &enter_lline_location_id


Scheduling
Issue – Workflow not started for Line ( No Data in WF_ITEM_ACTIVITY_STATUSES)
In case we add a new line to already existing Model , If scheduled ship date of for the Newly configured option class is not matching with the Schedule ship date for rest of the lines in the MODEL scheduling will fail and because of this mismatch workflow for the newly added option class will not start.

When a new line is inserted into a scheduling group (such as a ship set or a
configuration), system will first try to schedule the new line with the same attributes as the other lines in the scheduling group. If that fails, then it checks the value of the profile option Auto Push Group Date. If the value is No, the line is inserted but not scheduled. If the value is Yes, the system tries to reschedule the whole set. If rescheduling the whole set fails, the line is inserted but not scheduled.

Oracle Order to Cash Queries

Query to Join OM and requisition Interface table for Back 2 back Order

select l.line_id, l.flow_status_code , l.open_flag,pr.interface_source_code,pr.interface_source_line_id,pr.note_to_buyer,
pr.note_to_receiver
from
oe_order_lines_all l,
po_requisitions_interface_all pr
where l.line_id = pr.interface_source_line_id
and pr.interface_source_code='CTO'

Query to Join OM and Purchase Order tables for Back 2 Back Order
select ph.segment1,a. supply_source_line_id, a.supply_source_header_id
from
mtl_reservations a,
oe_order_lines_all l,
po_headers_all ph
where demand_source_line_id = &Enter_Order_lineID
and l.line_id = a.demand_source_line_id
and a.supply_source_header_id = ph.po_header_id

Query to Join OM and PO Requisition table for Back 2 Back Order
select ph.segment1,a. supply_source_line_id, a.supply_source_header_id
from
mtl_reservations a,
oe_order_lines_all l,
po_requisition_headers_all pqh
where demand_source_line_id = &Enter_Order_lineID
and l.line_id = a.demand_source_line_id
and a.supply_source_header_id = pqh.requisition_header_id

Query to Join OM , WSH and AR table
SELECT h.order_number,l.line_id,l.ordered_quantity,l.shipped_quantity,l.invoiced_quantity,
wdd.delivery_detail_id,wnd.delivery_id,wdd.shipped_quantity,a.org_id,
a.creation_date ,a.trx_number,b.quantity_ordered , b.quantity_invoiced ,b.interface_line_attribute1,b.interface_line_attribute3,
b.interface_line_attribute6,interface_line_attribute12
from
ra_customer_trx_all a,
ra_customer_trx_lines_all b,
oe_order_headers_all h,
oe_order_lines_all l,
wsh_delivery_details wdd,
wsh_delivery_assignments wda,
wsh_new_deliveries wnd
where a.customer_trx_id = b.customer_trx_id
and a.interface_header_context = 'ORDER ENTRY'
and b.interface_line_attribute1 = to_char(h.order_number)
and h.header_id = l.header_id
and to_char(l.line_id) = b.interface_line_attribute6
and l.line_id = wdd.source_line_id
and wdd.delivery_detail_id = wda.delivery_detail_id
and wda.delivery_id = wnd.delivery_id
and to_char(wnd.delivery_id) = b.interface_line_attribute3

Mapping Between AR and OM (Transaction Flex field)
(RAL) - RA_CUSTOMER_TRX_LINES_ALL

RAL.INTERFACE_LINE_ATTRIBUTE1 Order_Num
RAL.INTERFACE_LINE_ATTRIBUTE2 Order_Type
RAL.INTERFACE_LINE_ATTRIBUTE3 Delivery ID
RAL.INTERFACE_LINE_ATTRIBUTE4 WayBill
RAL.INTERFACE_LINE_ATTRIBUTE6 Line_ID
RAL.INTERFACE_LINE_ATTRIBUTE8 Bill_Lading
RAL.INTERFACE_LINE_ATTRIBUTE10 WH_ID RAL.INTERFACE_LINE_ATTRIBUTE11 PA_ID

Apr 22, 2009

How to Progress Order lines STUCK in Fulfillment Set

If some of order lines in a fulfillment set are closed/cancelled (because of data corruption) while other lines of same set are still open then this is true case of data corruption .In suce case open lines will got stuck in AWAITING FULFILLMENT.( Reason - Purpose of the Fulfillmet set is to fulfill all the lines in the set together, but if any of line is closed/cancelled then rest all lines will stuck at workflow activity FULFILL -NOTIFED or ERROR).

Solution - In such scenario only solution is to either remove close/cancel lines from fulfillment set or remove open lines fulfillment set.
If we remove close/cancel lines from FFset , then rest of the open line will fulfill together by just progressing one of the open line, but if we remove open lines from FF set then we need to progress each open line.

Technical Solution -
Delete data from OE_LINE_SETS for the line_id
Note - Contact Oracle Support for more details.

How to Progress lines - Most of the lines in this case will be at FULFILL - NOTOFIED/ERROR workflow activity.We can progress these line either by RETRY or SKIP FULFILL activity based on the staus of line.

Apr 9, 2009

Integration of BI Publisher Reports with Oracle Apps..

In my last few blogs on BI, I have emphasis
Advantages of the BI Publisher (formerly XML Publisher) reports over oracle reports, and how it will help us in
  • Leverage the work done by the functional analyst for Layout design.
  • Saving time and money in maintenance of reports etc

In this blog I will explain in brief how to integrate the BI Publisher in Oracle E-business suite.

A simple reports has two components

  • Data Generation
  • Output Format (Layout)

In BI Publisher we have isolated Data generation from the Formatting. Here we extracts data in XML Format and then bind it with the Layout.

In e-business we use Concurrent Program to run the BI reports. Concurrent Program has enhanced to support the data generation as well as output formatting. Now Concurrent Program will generate the Data in XML format and Output Post Processor will apply the XML data to required template.

Process
When user runs the concurrent Program it generate the data in the XML Format. Data in the XML format trigger the Output Post Process, OPP in turns select the Template and apply the XML data to it. Data Format is very important here, if the format of data generated is TEXT then OPP will never be invoked and report in simple TEXT format will be generated, only if output format is XML, OPP will be invoked.

Below is the Setup required for BI Publisher Report

  • Created Concurrent Program, if underline executable of the CP is PL/SQL. JAVA etc then no changes are required in the existing program we just need to set the output format of CP to XML.Best Practice are not to modified the existing CP, copy the existing program and then modified the output Format = XML in copied Program.
  • Other way of defining is the concurrent Program is create a new concurrent Program and attach the executable XDODTEXE with concurrent Program (if your underlying report is 9i/10g and you have stored it in .xml form).
  • Login to XML Publisher Admin Responsibility.
  • Create the Data Definition for the Concurrent Program, make sure that “Code” of data definition should have same value as that of short name of Concurrent Program.
  • Attach the data file with the data definition created in step – 3.
  • Create a Template and attach the template to data definition created in Step –4.
  • Attach the Template (rtf) file to template, Make sure to enter value for Language /territory .

Once above step is done, attach the concurrent Program with the Request Group and Responsibility and run it.

Thanks

Apr 6, 2009

Oracle ADF

Oracle ADF tools has introduced for simplification of application development.
ADF makes it easy to develop application based on standards. With ADF , developer need not to learn everything about J2EE for design and development. In nutshell ADF provide declarative way to do the things. E.g drag and Drop.

In ADF oracle has introduced around 150 AJAX based control and it’s provide very easy approach to bind the business services /components with user interface.

ADF has very rich Client Components and it offers
Rich Internet Applications
Rich enterprise applications
ADF faces
150+ Ajax controls
Data visualization components

Key feature of ADF’s key are
Declarative approach (drag/Drop)
Groovy
LOV
Data Binding

Other key feature of ADF is Task flow

Task flows are logical unit of page flows and can be bounded or unbounded task flows. Task flows is extension of page flow and has designed on top of JSF.

Unbounded task flows - they are act as entry point to an application and have following characteristics.
First entry on task flow.
There is no boundary or single point of entry.
They Cannot be used as region on a page.
They Can be used a bookmarker.

Bounded taskflow –
They are modular blocks of task flow, and have following characteristics.
They have only one entry point and zero or more exit points.
They can be use as region on a page.
They offer transaction management (commit/rollback).
Bookmark feature is not available.