Oracle Apps Reports
Oracle Apps Reports
Oracle Apps Reports
Formula column:
o For doing mathematical calculations and returning one value
Summary Column:
o For doing summary calculations such as summations etc
Placeholder Column:
o We can get running totals and etc
These columns are useful for storing the value in a variable. Used to assign a value through
formula column
Matrix report: To create a matrix report, you need at least four groups: one group must be a
cross-product group, two of the groups must be within the cross-product group to furnish the
"labels," and at least one group must provide the information to fill the cells. The groups can
belong to a single query or to multiple queries.
Lexical & Bind Parameters in Reports
Lexical Parameters:
Lexical parameter is a replacement of text string in select statement, it is preceded by &
(ampersand).
For this we need to create user parameter. It should be character and it is initialized.
We need to pass the values at runtime for lexical parameter.
Lexical references are placeholders for text that you embed in a SELECT statement.
Bind Parameters:
Bind parameter is a replacement of single value or expression in select statement. It is
preceded by : (colon).
It can be number, date, or character data type. It cannot be used in FROM clause.
Bind references (or bind variables) are used to replace a single value in SQL or PL/SQL, such as
a character string, number, or date. Specifically, bind references may be used to replace
expressions in SELECT, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH
clauses of queries.
Bind references may not be referenced in FROM clauses or in place of reserved words or
clauses.
You create a bind reference by entering a colon (:) followed immediately by the column or
parameter name. If you do not create a column or parameter before making a bind reference
to it in a SELECT statement, Report Builder will create a parameter for you by default.
How can we execute the query in the report trigger? And what is use of
SRW.DO_SQL?
Using SRW.DO_SQL we can execute the DDL and DML queries. This procedure executes the
specified SQL statement from within Report Builder. The SQL statement can be DDL, or DML
(statements that manipulate data).
User Exit: User exit is a program and it is used to pass the control from oracle reports to any
other 3GL and there it will capture the data and return to the oracle reports.
We have 5 types of user exists.
SRW.USER_EXIT ('FND SRWINIT'); --BeforeReport
SRW.USER_EXIT ('FND SRWEXIT'); --AfterReport
SRW.USER_EXIT ('FND FLEXSQL);
SRW.USER_EXIT ('FND FLEXIDVAL);
SRW.USER_EXIT ('FND FORMAT_CURRENCY);
FND SRWINIT: We will call the user exit always from before report trigger. It will captures the all the
user profiles.
Syntax: Srw.user_exit (fnd srwinit)
What is an anchor?
It determines the horizontal and vertical position of an object.
Anchors fasten an edge of one object to an edge of another object, ensuring that they
maintain their positions relative to its parent.
Request set: It is nothing but collection of concurrent programs and report where we can run
the programs parallel and sequence.
1)The difference between request group and request set is both will be use combine the
programs in request group we can submit only one request set or we can submit multiple
requests parallel at a time
2) We can attach request group to responsibility but cant attachment request set
If 2nd parameter value is based on 1st parameter then how do u declare it?
Let v2 be the value set definition of 2nd parameter and v1 be the value set definition for the
first parameter then, In the value set definition of v2 = value $FLEX$.v1
OM: Reports
FORECAST VS ACTUAL REPORT
Description : To find the variance between plan and actuals
Parameters : Org_Id, Organization_id , Month1(MON-YYYY), Month2(MON-YYYY)
Report Format:
Month1 Month2
Item, Descr, PlanQty, OrdQty, DespQty, Variance, PlanQty, OrdQty, DespQty ,Variance
Logic :
Condition Column
Get Info OOL.ordered_quanatity
Orders booked OOH.booked_flag=Y
Orders<>cance OOH.cancelled_falg=N
lled
Month 1 to_char(OOH.ordered_date,MON-YYYY) = :p_month1
Month 2 to_char(OOH.ordered_date,MON-YYYY) = :p_month2
M1_Plan_Qty TI_APS_FORECAST_MKT.MONTH = :P_MONTH1
M1_Ord_qty OOL.ORDERED_QUANTITY where to_char (OOH.ordered_date,
MON-YYYY) = :p_month1
M1_Desp_Qty OOL.ORDERED_QUANTITY where to_char (OOH.ordered_date,
MON-YYYY) = :p_month1
AND to_char (OOH.actual_shipment_date, MON-YYYY) =
:p_month1
M1_Variance ( M1_OrdQty / M1_PlanQty ) * 100
(%)
M2_Plan_Qty TI_APS_FORECAST_MKT.MONTH = :P_MONTH2
M2_Ord_qty OOL.ORDERED_QUANTITY where to_char (OOH.ordered_date, Tables
MON-YYYY) = :p_month2 Related:
M2_Desp_Qty OOL.ORDERED_QUANTITY where to_char (OOH.ordered_date,
MON-YYYY) = :p_month2
AND to_char (OOH.actual_shipment_date, MON-YYYY) =
:p_month2
M2_Variance ( M2_OrdQty / M2_PlanQty ) * 100
(%)
MTL_SYSTEM_ITEMS, TI_APS_FORECAST_MKT, OE_ORDER_HEADERS_ALL, OE_ORDER_LINES_ALL
Tables Related:
MTL_SYSTEM_ITEMS, RA_CUSTOMERS, OE_ORDER_HEADERS_ALL, OE_ORDER_LINES_ALL
Condition Column
Get Info ool.ordered_quanatity
NO TRANSACTION ITEMS
Parameters : P_Org_Id, P_Organization_id, P_ORDER_TYPE_ID, P_Customer_Name,
P_From_Date, P_To_Date
Description : find the items that are not having any type of transaction on them for the day1 in an
organization
Report Format : Customer_Name, Item code, Description, Width, Thick, PackType,
RMA Quantity, Order Date
Logic:
Items form mtl_system_items msi
Minus
Items in mtl_material_transactions mmt
Query:
SELECT ORGANIZATION_ID,ORGANIZATION_CODE, SEGEMENT1,DESCRIPTION
FROM MTL_SYSTEM_ITEMS MSI, ORG_ORGNIZATION_DEFINITIONS OOD
WHERE TRANSACTION_DATE <=:TO_DATE
AND OOD.ORGANZIATION_ID =:P_ORGANIZATION_ID
AND MSI.ORGANITION_ID =:P_ORGANZIATION_ID
MINUS
SELECT
ORGANIZATION_ID,ORGANIZATION_CODE,SEGEMENT1,DESCRIPTION
FROM MTL_MATERIAL_TRANSACTIONS MMT, MTL_SYSTEM_ITEMS MSI,
ORG_ORGNIZATION_DEFINITIONS OOD
WHERE TRANSACTION_DATE <=:TO_DATE
AND OOD.ORGANZIATION_ID =:P_ORGANIZATION_ID
CESS REPORT
INVOICES CESS tables:
JA_IN_SO_PICKING_LINES, JA_IN_SO_PICKING_TAX_LINES, JA_IN_TAX_CODES
INTERNAL RECEIPTS tables:
RCV_SHIPMENT_HEADERS, LINES, TRANSACTIONS, JA_IN_SO_PICKING_LINES
EXTERNAL RECEIPTS(PO) tables:
RCV_SHIPMENT_HEADERS, LINES, TRANSACTIONS, JA_IN_RECEIPT_LINES, JA_IN_RECEIPT_TAX_LINES,
PO_VENDORS, PO_VENDOR_SITES_ALL, PO_HEADERS_ALL, PO_DISTRIBUTIONS
1) After developing the Report definition file (.rdf), add one more parameter as shown below.
2) This parameter value should be assigned to Place holder column (CP) like follows. We can assign
Parameter value either in the After Parameter Form or Before Report Triggers. In the below
illustration, it is assigned in the Before report Trigger.
3) Create the desired number of layouts in XML Publisher for the rtf as shown below.
5) Double click on if condition which was added in the above step. Then the following screen will be
displayed.
6) Click On Add help text Button which will display the below screen.
What is the purpose of XML report when compared to reports 6i & discoverer?
XML/BI Publisher gives the flexibility to users in order to select the output type in
EXCEL/HTML/PDF/FO, etc as per their requirement. If a User ran a report in PDF and wants to get the
same in EXCEL, its not required for them to re-run the report, Instead they can republish it using
Republish option in Tools and can select the output type whatever is required.
XML/BI Publisher reports give you additional features for Reports 6i. You can get the XML Report in
EXCEL/HTML/PDF etc as per the output type selected. Data Model in Reports 6i RDF will be the same
but you dont require a Layout model in the RDF File. You instead create the Layout in a Word
Document using the XML Publisher Desktop installed. You can directly implement XML Publisher and
is not required to implement Discoverer again.
Before the release of Discoverer 10g, Discoverer is a license free version and after its release the
license has become too costly due to which the clients are going for XML Publisher reports ignoring
Discoverer.