Beruflich Dokumente
Kultur Dokumente
***
By default the IN parameter is passed by reference and the OUT and IN OUT parameters
are passed by value.
NOCOPY : is a compiles hint that can be used with OUT and IN OUT parameter to
request to pass by reference. This improves the performance with OUT and INOUT
parameters.
2. REPORT TYPES
A) Tabular Report B) Group Left Report
C) Group Above Report D) Form like report
E) Matrix Report F) Matrix with group report
G) Mailing Label Report H) Form letter report
3. ANCHOR
Anchors are used to determine the vertical and horizontal positioning of a child object
relative to its parent object. The end of the anchor should be attached to the parent object.
A) Parent Object B) Child Object
Since the size of the some layout objects may change when the report runs (When the
data is actually fetched), anchors need to be defined to make the appearance of the object
An Anchor defines the relative position of an object to the object to which if this
anchored.
* Symbol is
By pressing the shift key Anchor can be moved.
Anchor Properties :
4. User Exits:
A user exit is: - Program that can be written and linked into the report builder executable
or user exit DLL files.
User exits are build when ever the control need to be passed from the report builder to a
program, which performs some function and then control returns to the Report Builder.
Page 1 of 42
5. Types of Triggers in Reports :-
* Report Triggers * Data Triggers * Layout Triggers
Report Triggers :-
After Parameter form Trigger.
After Report Trigger
Before parameter form Trigger
Before Report Trigger.
Between Pages Trigger
+ Firing Sequence
* Before Parameter form Trigger
- Fires before the runtime parameter form is displayed.
- The parameter values can be accessed and changed.
* After Parameter form Trigger.
- fires after the runtime parameter form is displayed.
- The parameters can be accessed and their values can be checked.
* Before Report Trigger
- Fires before the report is executed but after the queries are passed and data is fetched.
* Between Pages Trigger.
- Fires between each page of the report is formatted, except the very first pages.
- This is used for customized page formatting.
* After Report Trigger
- Fires after exiting from the run time premier or after report output is sent to a
specified destination. (File, Printer, Mai lid etc.)
- This is used to clean up any initial processing that was done such as deleting the
tables.
- This Trigger always fires irrespective of success or failure of the report.
DATA TRIGGERS:
* Ref Cursor Query:
- This uses PL/SQL to fetch data for the report.
- In this a PL/SQL function need to be specified to return a cursor value from a cursor
variable.
* Group Filter:
This is PL/SQL function that determines which record to be included in a group in the
property of PL/SQL.
- The function must return a BOOLEAN value.
True .. Includes the current record in the report.
False . Excludes the current record from the report.
* Formula
- These are Pl/SQL functions that populate formula or place holder columns.
* Validation Trigger
- These are also PL/SQL functions that are executed when parameter values are
specified on the command line and when the runtime parameter form is accepted.
- Are also used to validate the initial value property of the parameter.
Page 2 of 42
LAYOUT TRIGGERS
* Format Trigger
- These are PL/SQL functions executed before the object is formatted.
- Used to dynamically change the formatting attributes of the object.
* Action Trigger
- These are Pl/SQL procedures executed when a button is selected in the run time
Peviewer.
- This can be used to dynamically call another report or execute any other PL/SQL.
6 Formula Column
It performs a user-defined computation on another columns data, including Place-
holder columns.
Formulas are PL/SQL functions that populate formula or place holder columns.
Cannot be used to populate parameter values.
i. Summary Column
- Performs a computation on another columns data like sum, average, count, minimum,
maximum, %, total.
- For group reports, the report wizard and data wizard create n summary fields in the
data model for each summary column that is defined.
--- One at each group level above the column being summarized.
- One at the report level.
8 Repeating Frame
- Repeating frame surrounds all of the fields that are created for a groups columns.
- Repeating frame prints once for each record of the group.
- For frames and repeating frames, the property elasticity defines whether the size of
the frame or repeating frame should with the objects inside of it at runtime.
9 Frame
- Surrounds the objects and protect them from being over written or pushed by other
objects.
Page 3 of 42
11 Data Link
- Data links relate the results of multiple queries.
- A data link (Parent Child Relation Ship) causes the child query to be executed once
for each instance of its parent group.
Functions Procedures
16 About Cursors
- Oracle server uses some private work areas to execute SQL statements and to store
processing information.
* By using PL/SQL cursors these private SQL areas can be named and the stored
information can be accessed.
Two Types:
* Implicit Cursors.
Page 4 of 42
- Implicit cursors are declared by PL/SQL implicitly for all DML and PL/SQL select
statements, including queries that return only one row.
- Oracle Server implicitly opens a cursor to process each SQL statement not associated
with on explicitly declared cursor.
- The most recent implicit cursor can be returned as the SQL cursor.
* Explicit Cursors
- For queries that return more than one row, explicit cursors are declared and named by
the programs and manipulated through specific statements in the blocks executable
actions.
- Explicit cursors are used to individually process each row returned by a multiple-row
SELECT statement.
- The set of rows returned by a multiple row query is called as active set.
Cursor Attributes:-
Attribute Type Description
% is open Boolean Evaluates to TRUE if the cursor is open.
% not found Boolean Evaluates to TRUE if the most recent fetch
doesnt return a row.
% found Boolean Evaluate to TRUE if the most recent fetch
returns a row. Complement of % not found.
% Row Count Number Evaluates the total number of rows returned so
far.
Parameterized Cursors:-
- Parameters can be passed to the cursor in a cursor for loop.
- It allow to open and close an explicit cursor several times in a block, returning a
different active set on each occasion for each execution, the previous cursor is closed
and reopened with a new set of parameters.
- Sizes should not be mentioned for the data types of parameters the parameters names
are for references in the query expression of the cursor.
17 )Confined Mode:-
- If it is on, child objects cannot be moved outside their enclosing parent objects.
- If it is off child objects can be moved out sides their enclosing parent objects.
Flex Mode:-
- If it is on, parent borders stretch when child objects are moved against them.
- If it is off, parent borders remain fixed when child objects are moved against them.
18) Parameters
- A parameter is a variable whose value can be set at runtime (from the run time
parameter of the command line).
- User parameters are created by the user and system parameters are created by Report
Builder.
- System parameters cannot be renamed or deleted.
Bind Parameters (Variables)
Page 5 of 42
- Bind references (or Variables) are used to replace a single value in SQL or PL/SQL,
such as a character string, number or date.
- 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 cannot be referenced in FROM clauses.
- Bind variables can be referenced by entering a colon (:) followed immediately by the
column or parameter name.
- If the parameter / column is not created before making a bind reference, report builder
will create a parameter.
About Exceptions
- An exception is an identifier in PL/SQL that is raised during the execution of a block
that terminates its main body of actions.
- A block always terminates when PL/SQL raises an exception so that an exception
handler should be specified to perform final actions.
* Exception can be raised in two ways exception is raised automatically.
1. Ex:- when no rows are retrieved from the database in a SELECT statement, then error
ORA-01403 occurs and the exception NO-DATA-FOUND is raised by PL/SQL.
2. Ex:- Exception can be raised explicitly by issuing the RAISE statement with in the
block.
- The exception being raised may be either.
- If the exception is raised in executable section of the block, processing branches to the
corresponding exception handler in the exception section of the block.
Page 6 of 42
- If PL/SQL successfully handles the exception, then the exception doesnt propagate to
the enclosing block or calling environment.
- The PL/SQL block terminates successfully.
Propagating an exception:-
- If the exception is raised in the executable section of the block and there is no
corresponding exception handler, the PL/SQL block terminates with failure and the exception
will be propagated to the calling environment.
Types of exceptions:-
A) Pre-Defined Oracle Server Exceptions. - Implicitly Raised.
B) Non-Pre defined Oracle server exceptions. - Implicitly Raised.
C) User-defined exceptions - Explicitly Raised.
Pre-Defined Oracle Server Exceptions:-
- These are the error(20) that occur most often in PL/SQL code.
- These exceptions need not be declared and raised implicitly by Oracle Server, NO-
DATA-FOUND, LOGIN_DENIED, ZERO_DIVIDE.
Non-Pre-Defined Oracle Server Exceptions:-
- These are the other standard Oracle Server errors.
- These exceptions need to be declared ion the declarative section and raised by Oracle
server implicitly.
User Defined Exceptions:-
- These are the conditions that the developer determines as abnormal.
- These need to be declared and raised explicitly.
PRAGMA EXCEPTION_INIT
Statement is used to associate a declared exception with the standard Oracle Server error
number.
Syntax:- PRAGMA EXCEPTION_INIT (exception, error number)
Eg: PRAGMA EXCEPTION_INIT(service_name_invalid, -12154);
PRAGMA EXCEPTION_INIT(login_denied , -01017);
PRAGMA EXCEPTION_INIT(password_invalid, -00988);
PRAGMA EXCEPTION_INIT(user_invalid , -06561);
PRAGMA EXCEPTION_INIT(protocol_invalid , -12538);
PRAGMA EXCEPTION_INIT(sid_invalid , -12505);
PRAGMA EXCEPTION_INIT(tns_no_listener , -12541);
PRAGMA EXCEPTION_INIT(host_invalid , -12535);
PRAGMA EXCEPTION_INIT(host_invalid1 , -12545);
PRAGMA EXCEPTION_INIT(address_invalid , -12533);
PRAGMA EXCEPTION_INIT(no_service_name , -02019);
This PRAGMA EXCEPTION_INIT(exception,errornumber) has to be given in the declarative section.
* SQLCODE, SQL ERRM are two functions which can be used to identify the associated
error code or error message when exception occurs.
- SQLCODE function returns the numeric value for the error code.
- SQLERRM function returns the character data containing the message associated with
the error number.
- SQLCODE f SQLERRM cannot be used directly in SQL statements.
Page 7 of 42
- Dynamic SQL enables DDL, DCL or session control statements to be written and
executed (by) from PL/SQL.
* Dynamic SQL can be written in two ways.
A) DBMS_SQL. - 8i
B) Native Dynamic SQL. - 8i
- Basically Dynamic SQL means creating the SQL statements dynamically at runtime
by using variables.
Ex:- Dynamic SQL can be used to create a procedure that operates on a table whose name
is not known until runtime or to execute DDL/DCL/SCS statements.
---- In Pl/SQL such statements cannot be executed statically.
-- EXECUTE IMMEDIATE Statement can perform dynamic single row queries.
Declare
D_str varchar2 (200);
Val varchar2 (20);
Begin
D_str= insert into table1 values (;val);
Val= Bye Execute Immediate str using val; end;
Syntax
PRAGMA AUTONOMOUS_TRANSACTION;
Page 8 of 42
- As the code unit exits and control returns to the parent the main (parent) transaction is
resumed and the transaction context is switched back to the parent.
Input Collections:-
- Input collections are data passed from Pl/SQL engine to the SQL engine to execute
INSERT, UPDATE and DELETE statements.
Syntax:- FORALL index in lower_bound.. upper_bound sql_statement;
Output Collections:-
- Output collections are the data passed from the SQL engine to the PL/SQL engine as a
result of SELECT or FETCH statements.
- The keyword BULK COLLECT can be used with SLECT INTO, FETCH INTO and
RETURNING INTO clauses.
Syntax:- BULK COLLECT into collection_name,
Refresh Groups
- These are used to refresh multiple snapshots in a transitionally consistent manner.
- When a refresh group is refreshed all MVIEWS in that group are populated with data
from a consistent point in time.
- Refresh groups are managed by using the procedures in the package DBMS
REFRESH.
- DBMS-REFRESH, MAKE of DBMS-REFRESH.ADD are used to create a refresh
group and add new snap shots to an existing group.
Page 10 of 42
- In this type MVIEW, its master table itself is a MVIEW.
- This feature enables fast refresh of MVIEWS that have MVIEWS as their
masters.
- Many companies are structured on at least three levels
A) International
B) National
C) Local
- Many nodes at both the national and local levels are required
- The best possible solution in such cases is to use multifier MVIEWS.
6 Simple Vs Complex MVIEWS.
- MVIEWS being simple or complex determines whether it can be fast refreshed or
not.
- A MVIEW is fast refreshable if it is simple.
- A MVIEW is not fast refreshable if it is complex.
- A MVIEW can be considered CONNECT BY, INTERSECT, MINUS or UNION or
UNION ALL clauses in its detining query.
* The following data types are not supported in MVIEW replication.
A) LONG B) LONG RAW
C) BFILE D) UROWID
- MVIEWS are typically used in data ware house or decision support systems.
Snapshots
- Snapshots are mirror or replace of tables in a single point of time.
- A Snapshot is a local copy of a table data that originates from one or more remote
master tables.
- To keep a snapshots data current with the data of its master the Oracle server must
periodically refresh the snapshot.
VIEWS
- Views are built using the columns from one or more tables.
- The single table view can be updated, but the view with multiple tables cannot be
updated.
* A snapshot contains a complete or partial copy of a target master table from a single
point in time.
- A snapshot may be read only or up datable.
26. How duplicate rows are deleted?
- Duplicate rows are deleted by using ROWID
Syntax delete from <Table>
Where ROWID not in (Select max (ROWID) from <Table>
Group by <Column_name>);
27. How do you call function and procedure in PL/SQL as well as in SQL prompt?
isql*plus EXECUTE < Function/Procedure name > ;
(SQL prompt)
Page 11 of 42
Three types of parameters
1. IN 2. OUT 3.IN OUT
IN parameter:
- This parameter passes a value from the calling environment into the procedure.
- This is the default mode
- A formal parameter of In mode cannot be assigned a value (we IN parameter cannot
be modified in the body of the procedure)
- IN parameters can be assigned a default value in the parameter list.
- IN parameters are passed by reference.
OUT parameters:
- OUT parameter must be assigned a value before returning to the calling environment.
- OUT parameter passes a value from the procedure to the calling environment
- OUT parameter cannot be assigned a default value in the parameter list.
IN OUT parameter:
- this type of parameter pass a value from the calling environment into the procedure
and a possibly different value from the procedure back to calling environment using
the same parameter.
- IN OUT parameter cannot be assigned a default value. * By default OUT & IN
OUT parameters are passed by value.
- These can be passed by reference by using NOCOPY.
29. Triggers:
Page 12 of 42
Recursive trigger :
- This is a trigger that contains a DML operation changing the very same table.
Cascading Trigger:
- The action of one trigger cascades to another trigger, causing this second trigger to
fire.
- Oracle server allows up to 32 triggers to cascade at any one time.
- This number can be changed by changing the value of the OPEN - CORSORS. Data
bases initialization parameter. ( default value is 50 ).
- * A triggering statement should contain
1 Trigger Timing Before, After (For Table)
Instead of (For View)
- Determines when the trigger needs to be fired in relation to the triggering event.
2 Triggering Event Insert, Update, Delete
- Determines which on the table or view causes the trigger to fire.
3 Trigger Type Statement, Row
- Determines how many times the trigger body executes
4 Table name Table, View
5 Trigger body PL/SQL block
- Determines what actions the trigger should perform.
* INSTEAD of triggers are used to provide a transparent way to modifying views that
cannot be modified directly through SQL, DML statements because the view is not
modifiable.
- INSTEAD of triggers provide writing of Insert, Update and Delete statements against the
view.
- The INSTEAD if trigger works invisibly in the background performing the action
coded in the trigger body directly on the underlying tables.
- INSTEAD of trigger execute the trigger body instead of the triggering statement.
Statement Triggers
- In this type of triggers, the trigger body executes once for the triggering event.
- This is the default.
- Statement trigger fires once, even if no rows are affected at all.
Row Trigger
- In this type, the trigger body executes once for each row affected by the triggering
event.
- Row trigger is not executed if the triggering event affects no rows.
* A view cannot be modified by normal DML if the view query contains set operators,
group functions, group by, connect By, start with clauses or joins.
Mutating Table
- A Mutating table is a table that is currently being modified by an UPDATE, DELETE
OR INSERT statement, or a table that might need to be updated by the effects of a
declarative DELETE CASCADE referential integrity action.
- A table is not considered mutating for statement triggers.
- A mutating table cannot be changed because the resulting DML could change data
that is in consistent state.
Page 13 of 42
What is SQL Trace?
- SQL Trace is the main method for collecting SQL execution information in Oracle
collecting a wide range of information and statistics that can be used to tune SQL
operations.
- The SQL Trace facility can be enabled / disabled for an individual session or at the
instance level.
- If the initialization parameter SQL-TRACE is set to TRUE in the init.ora of an
instance, then all sessions will be traced.
- SQL-TRACE can be set at the instance level by using the initialization parameter
SQL-TRACE.
- SQL-TRACE can also be enabled / disabled at the system/session level by using.
Alter system/session set SQL-TRACE = TRUE/FALSE.
Explain Plan
- Explain plan command generates information that details the execution plan that will
be used on a particular query.
- A uses a pre created table (PLAN_TABLE) in the current schema to store information
about the execution plan chosen by the optimizer.
- This script creates an output table, called PLAN-TABLE for holding the output of the
explain command.
Populating the PLAN TABLE
- PLAN TABLE is populated using the explain plan.
SQL> Explain Plan for select * from emp where emp no = 1000;
- This command inserts the execution plan of the SQL statement into the plan table.
- A name tag can be added to explain information by using the set statement_id clause.
* AUTOTRACE
- The AUTOTRACE facility in SQL* plus allows analysts to view the execution pan d
some useful statistics for a SQL statement within a SQL*plus session.
- AUTOTRACE needs to be initiated in the SQL*Plus session prior to executing the
statement.
SET AUTOTRACE [OPTIONS] [EXPLAIN] [STATISTICS]
- As with the explain plan command, to obtain an execution plan the PLAN-TABLE
must be created in the users schema prior to Auto Tracing.
SQL> Set Auto trace trace only explain
SQL> Select * from dual;
Page 14 of 42
- To enable viewing of STATISTICS data, the auto tracing user must have access to
dynamic performance tables.
- To achieve this, grant PLUS TRACE role to the user.
PLUS TRACE role is created by the plus trace. Sql script
$ ORACLE_HOME / sql plus admin
SYS user must run this script.
DBA can them grant the role to the users who wish to use the AUTOTRACE.
TK PROF
- Tk prof facility accepts as input a SQL Trace File and produces a formatted output
file.
- Tk Prof Filename_source filename_output EXPLAIN = [user name / password] sys =
[yes/no] TABLE = [Table Name]
A) How do you add trace to a report?
- By usingthe package SRW.TRACE_ADD_OPTION
B) How do you execute a specified DDL in a report?
- BY using the package PW.DO_SQL
C) How do you generate message in reports?
- By using the packages PW.MESSAGE (Reg Num, );
D) Explain BLOBS of CLOBS?
LOB A LOB is a data type that is used to store large, unstructured data such as text,
graphic images, video, clippings etc.
* Four large object data types.
BLOB : Represents a binary large object
CLOB : Represents a character large object
NCLOB: Represents a multibyte character object.
BFILE: Represents a binary file store of in an os binary file outside the data base.
LOBS Internal LOBS (CLOB, BLOB, NCLOB)
external Files (BFILE)
- Depending on the storage aspects and their interpretation by Oracle server.
* LONG_TO_LOB API is used to migrate LONG columns to LOB columns.
LOBS
LOB Locator
Page 15 of 42
Internal LOBS
- Stored inside the Oracle server.
- BLOB, NCLOB, CLOB.
BFILE
- BFILES are external LOBS.
- These are stored in OS files out side the database table spaces.
- The data type is BFILE.
- BFILE data file stores a locator to the physical file.
- BFILE can be GIF, JPEG, MPEG, text or other formats.
*DBMS_LO.READ of DBMS_lob.WRITE are used to manipulate LOBS.
TEMPLATE FORM
- The TEMPLATE form is the required starting point for all development of new forms.
- The development of a new form is started by copying the TEMPLATE.fmb file,
located in $ AV_top / forms/ us, to a local directory and renaming it as appropriate.
TEMPLATE FORM CONTAINS THE FOLLOWING:-
* platform-independent references to object groups in the APPSTAND form
(STANDARD _PCAND_VA,
STANDARD_TOOLBAR,
STANDARD_CALENDAR)
*platform independent attachments of several libraries
FND SQF
APPCORE
APPDAYPK
*several form level triggers with requited code
*program units that include a specification and a body for the package APP_CUSTOM,
which contains default behaviors for window opening and closing events.
- In general this code should be modified for the specific form under development.
* The applications color pallet, containing the two colors required by the referenced visual
attributes.
* Many referenced objects that support the calendar, the toolbar, alternative regions and the
menu.
* Template form contains simple objects that show typical items and layout cosmetics.
- These are deleted after developing the form
Blocks : Block Name, Detail Block
Window : Block Name
Page 16 of 42
Canvas _view :Block Name
* Template form includes plat form-independent attachments of several libraries.
- Some of the libraries are attached directly to the TEMPLATE (FNDSOF, APPCORE,
APPDAYPK) while the others are attached to these libraries.
APPCORE, APPDAYPK, FNDSOF, CUSTOM, GLOBE, VERT, JA, JE, JL
APPCORE
- Contains the packages and procedures that are required of all forms to support the
Menu, Toolbar and other required standard behaviors.
- Procedures and functions in APPCORE have names beginning with APP.
APPDAYPK
- Contains the packages that control the Oracle applications calendar feature.
FINDSQF
- Contains packages and procedures for message dictionary, florfields, profiles and
concurrent processing.
- It also has various other utilities for navigation, MRG, WHO etc.
- Procedures and functions have names beginning with FND.
CUSTOM
- Custom library allows extension of Oracle Applications forms without modification of
Oracle applications code.
- Custom library can be used for customizations such as ZOOM (Moving to another
form from one form and querying up specific records), enforcing business rules.
Ex: - Supplier name must be in upper case) and disabling fields that are not required for a
Particular site.
- All logic must branch based on the form and block for which it is run.
- Oracle applications send events to the Custom library.
- Custom code can take effect based on the events.
What is sub query and correlated sub query?
Sub Query :-
- A Sub Query is a SELECT statement that is embedded in a clause of another SQL
statements called the parent statement.
- Sub query (Inner Query) returns a value that is used by the outer query.
- Scalar sub query is a sub query that returns exactly one column value from one row.
Correlated Sub Query
- Correlated sub query are used for row by row processing.
- Each sub query is executed once for every row of the outer query.
- A correlated sub query is one way of reading (data) every row in a table and
comparing values in each row against related data.
- Oracle server performs correlated sub query when the sub query references a column
from a table in the parent query.
- The inner query is driven by the outer query in correlated sub queries.
- A correlated sub query is evaluated once for each row processed by the parent
statement.
GET
Candidate row from the outer query
Page 17 of 42
EXECUTE
Inner query using the candidate row value
USE
Values from inner query to qualify / disqualify candidate row
Types of Joins
1 Equi Join
2 Non-Equi Join
3 Outer Join
4 self Join
Equi Join:-
- Is also called simple or inner join.
- An equi join is a join condition that contains equality sign.
Outer Join:-
- Outer joins are used to also see rows that do not meet the join condition.
- Outer join operator is (+).
- The missing rows can be returned if an outer join operator is used in the join
condition.
- The operator (+) is placed on the side of the join that is deficient in information.
- This operator has the effect of creating one or more null rows to each one or more
rows from the (join condition) non deficient table can be joined.
Self Join
- Self join is used to join a table to itself.
Ex:- to find the name of each employers manager.
Which trigger will fire when cursor moves from one block to another block?
WHEN_NEW_BLOCK_INSTANCE
What are the triggers used in CUSTOM.Pll?
CUSTOM.Pll contains (CUSTOM package) the following functions and procedures.
CUSTOM.ZOOM_AVAILABLE FUNCTION
CUSTOM.STYLE FUNCTION
CUSTOM.EVENT PROCEDURE.
* Triggers in Custom.Pll:-
1 WHEN _NEW_FORM_INSTANCE
2 WHEN_FORM_NAVIGATE
3 WHEN_NEW_BLOCK_INSTANCE
4 WHEN_NEW_RECORD_INSTANCE
5 WHEN_NEW_ITEM_INSTANCE
Page 18 of 42
6 ZOOM
7 EXPORT
8 SPECIAL 1-45
9 KEY_Fn (n is a number between 1 and 8)
Advantages
1 Modularity
2 Easier Application Design
3 Hiding Information by using public and private.
4 Added functionality.
5 Better performance.
Page 19 of 42
6 Over loading.
Procedures and functions can be over loaded i.e. creating multiple sub programmes with the
same name in the same package each taking parameters of different number or data type.
APPCORE APIS
APP_COMBO
APP_DATE
APP_EXCEPTION
APP_FIELD
APP_FIND
APP_ITEM
APP_ITEM_PROPERTY
APP_NAVIGATE
APP_RECORD
APP_REGION
APP_STANDARD
APP_WINDOW
FNDSQF APIS
FND_CURRENCY
FND_DATE
FND_GLOBAL
FND_ORG
FND_STANDARD
FND_UTILITIES.OPEN_URL
FND_UTILITIES. PARAM_EXISTS
Page 20 of 42
1. FND_CONC_GLOBAL.REQUES_DATA
.SET_REQUEST_GLOBALS
2. FND_CONCURRENT.AF_COMMIT
.AF_ROLLBACK
.GET_REQUEST_STATUS
.WAIT_FOR_REQUEST
.SET_COMPLETION_STATUS
3. FND_FILE . PUT
. PUT_LINE
.NEW_NAME
.PUT_NAMES
.CLOSE
4. FND-PROGRAM . MESSAGE
. EXECUTABLE
. REGISTER
. PARAMETER
. IN COMPATIBILITY
. EXECUTABLE_EXISTS
5. FND_REQUEST . SET-OPTIONS
.SET_REPEAT_OPTIONS
.SET_PRINT_OPTIONS
.SUBMIT_REQUEST
.SET_MODE
6. FND_REQUEST_INFO . GET_PARAM_NUMBER
. GET_PARAM_INFO
. GET_PROGRAM
. GET_PARAMETER
7. FND_SET . MESSAGE
.ADD_PROGRAM
.ADD_STAGE
.IN COMPATIBILITY
8. FND_SUBMIT . SET_MODE
.SET_REQUEST_STATUS
.SUBMIT_PROGRAM
.SUBMIT_SET
* FND_PROGRAM.EXECUTABLE
- is used to define a concument program executable
- it takes 8 parameters ( all are IN mode )
syntax procedure FND_PROGRAM.EXECUTABLE
(executable IN varchar2,
(Full name) application IN varchar2,
(executable short name) short name IN varchar2,
description IN varchar2 default null
execution_method IN varchar2,
execution_file_name IN varchar2 default null,
(only fol spauned & Immedaite) subroutine_name IN varchar2 default null,
icon_name IN varchar2 default null,
language_code IN varchar2 default (VS)
(for Java Conc Program) execution_file_path IN varchar2 default null,
* FND_PROGRAM.REGISTER
Page 21 of 42
- This procedure no used to define a concument program.
- It has 30 IN paranmeters. Out of which 9 are mandatory, the remaining are default.
Syntax procedure FND_PROGRAM.REGISTER
(program IN varchar2,
application IN varchar2,
enabled IN varchar2,
short_name IN varchar2,
description IN varchar2, default null,
(executable_short_name) executable_name IN varchar2
executable_application IN varchar2,
mls_function_shelt_name IN varchar2,
mls_function_application IN varchar2,
Inerementor IN varhcar2);
56. How to register a table and columns through back end?
* By using AD_DD package
- for registering a table AD_DD.REGISTER_TABLE
- For registering columns AD_DD.REGISTER_COLUMN.
- AD_DD BPI doesnt check for the existence of the registered table or column in the
data base schema, but only updates the required SQL tables.
- It should be ensured that, all the tables and columns registered exist actually and have
the same format as that defined using AD_DD API.
- Views need not be registered.
57. How to write to a file through concurrent program.
* By using FND_FILE package and it can be used only for log and output files.
FND_FILE package contains procedures to write text to log and output files.
FND_FILE supports a maximum buffer line size of 32k for both and output files.
1. FND_FILE.PUT
- this is used to write text to a file with out a new line character
- Multilane calls to FND_FILE.PUT will produce consummated text.
Procedure FND_FILE.PUT (which IN Number,
Buff IN varchar2);
Which log output file?
- Can be FND_FILE.LOG or FND_FILE.OUTPUT.
2. FND_FILE.PUT_LINE
- This procedure as used to write a line of text to a file followed by a new line
character.
Procedure FND_FILE.PUT_LINE (which IN number,
Buff IN varchar2);
EX: - FND_FILE.PUT_LINE (FND_FILE.LOG, find_message_get);
3. FND_FILE.NEW_LINE
- This procedure is used to write line terminators to a file
Procedure FND_FILE.NEW_LINE (which IN number
LINES IN NATURAL: =1);
Ex:- to write two newline characters to a log file
Fnd_file.new_line (fnd_file.log,2);
4. FND_FILE.PUT_NAMES
- This procedure as used to set the temporary log file and output filenames and the
temporary directory to the user specified values.
Page 22 of 42
- This should be called before calling my other FND_FILE procedure and only once
per a session.
Function FND_REQUEST.SUBMIT_REQUEST
(Application in varchar2 default null,
Program in varchar2 default null,
Description in varchar2 default null,
Start-time in varchar2 default null,
Sub_request in bookan default False,
argument1,
arguemnt2,
Argument 100) return number;
* If this is submitted from oracle forms, all the arguments ( 1 to 100 ) must be specified.
*FND_PROFILE.PUT
- this is used to put a value to the specified profile option
-
- If the option doesnt exist, it can also be created with PUT.
Procedure FND_GET (USERNAME, user name);
FND_PROFILE.GET (USER_ID, user_id);
- username, user-id, vsp_id , Appl_shrt_Name, Resp_Appl_Id, Form_Name, Form_id,
Form_Appl_Name, Form_Appl_Id, Logon_Date, Last_Lagon_Date, login_id,
Gone_Request_Id, Gone_Program_Id,Gone_program_Application_Id,
Gone_Login_Id, Gone_Print_Output, Gone_printstyle_ these are the user profile
options that can be accessed via user profile option routines .
- the values of these profile options can be retrieved in forms, reports and program
- these values cannot be changed except Gone_Print_Output and Gone_Print_Style.
- SAs and end users also cannot see the values or change these values.
Page 23 of 42
In which directory log and output files are stored?
* APPLCSF is the top level directory in which the concurrent manager puts logs and
output files.
* APPLLOG and APPLOUT are the subdirectories in which the concurrent manager puts
log and output files.
*APPLCSF variable need to be set in the prod.env (environmental variable), so that all
product log files
$ APPLCSF/ $ APPLLOG log files
$APPLCSF/ $ APPLOUT out files
* concurrent manager log and out put files should go to $ FND_TOP/ $ APPLOG and $
FND _TOP / $APPLOUT if $ APPLCSF is not set.
62. How to submit concurrent programs through OS?
- From the operating system the utility .CONCSUB is used to submit is concurrent
propgram.
- This is basically used to test a concurrent program .
- By using the WAIT token. The utility checks the request status every 60 seconds and
returns the OS prompt upon completion of the request.
- Concurrent manager doesnot abort, shutdown or start up until the concurrent request
completes.
* If the concurrent program is compatible with it self, it can be checked for data integrity
and dead locks by submitting it many times so that it runs concurrently with it self.
*PL/SQL procedures can submit a request to run a program as a concurrent process by
calling.
FND_REQUEST. SUBMIT_REQUEST.
* Before submitting a request, the following functions also should be called optionally.
FND_REQUEST.SET_OPTIONS
FND_REQUEST.SET_REPEAT_OPTIONS
FND_REQUEST.SET_PRINT_OPTIONS
FND_REQUEST.SET_MODE
63. How to checks the request states?
- A PL/SQL procedure can check the status of a concurrent request by calling.
FND_CONCURENT.GET_REQUEST_STATUS
FND_CONCURRENT.WAIT_FOR_REQUEST
- FND_CONCURRENT.GET_REQUEST_STATUS
- This function returns the status of a concurrent request
- If the request is already computed, it also returns the completion message.
- This function returns both user friendly (translatable) phase and status values as well
as developer phase and status vales that can drive program logic.
Syntax Function FND_CONCURRENT.GET_REQUEST_STATUS
(request_id in out number,
application in varchar2 default null,
program in varchar2 default null,
phase out varchar2,
status out varchar,
dev_phase out varchar2,
dev_status out varchar2,
message out varchar2) return BOOLEAN;
- When application and program are specified, the request_id of the last request for the
specified program should be returned to request_id.
Page 24 of 42
- Phase, and status values should be taken from
FND_LOOKUPS
dev_phase dev_status
Pending normal, standby, scheduled, paused
Running normal, waiting, resuming, terminating.
Complete normal, Error, warning, cancelled, terminated
Inactive disabled, on-hold, No-manager, supended
- FND_REQUEST.WAIT_FOR_REQUEST
- This function waits for request completion, and then returns the request phase/status
and completion message to the caller.
- Goes to sleep between checks for request completion.
Syntax FND_CONCURRENT.WAIT_FOR_REQUEST
(Request_id in number default null,
interval in number default 60,
max_wait in numbe default 0,
phase out varchar2,
status out varchar2,
dev_phase out varchar2,
dev_status out varchar2,
message out varchar2) return BOOLEN;
* FND_CONCURRENT.SET_COMPLETION_STATUS
- This function should be called from a concurrent program to set its completion states.
- This function returns TRUE on success, other wise FALSE.
Syntax function FND_CONCURRENT.SET_COMPLETION_STATUS
(Status in varchar2,
message in varchar2) return BOOLEAN;
normal
status warning message any message
Error
64. How to generate fmx at OS level?
- Forms can be generated on the forms server as the APPLMGR user.
- Generating the form on the Form server, $ FORM60_PATH
Should be set and the current directory should be $AV_TOP/forms?us.
Syntax $F60 gen userid=apps/appsp module=<form_name>. Fmb
Output_file=<schema_top>/forms?<language>/<form_name>.fmx
Module_type=form bath =no compile_all=special
65. How to convert a form from
65. How to convert a form from
65. How to convert a form from 4.5 to 6.0?
- To upgrade forms, the form can be directly compiled in the next release.
- Form can be compiled by using ifcmp 60.exe
- FLINT 60 bath executable can be used to check whether the form is compatible to
Apps or not.
66. How to call a form from another form?
- To invoke another form with in a form the function security routines should be used
which are available in FND_DUNCTION package.
* For this purpose, CALL_FORM built-in can not be used since the Oracle Applications
libraries do not support it.
Page 25 of 42
*FND_FUNCTION.EXECUTE should be used to open a new session of a form
(CALL_FORM/ OPEN_FORM do not be used)
*APP_NAVIGATE.EXECUTE procedure also can be used to open a form where an instance
of the same form is reused, that has already been opened.
*APP_NAVIOGATE.EXECUTE is similar to FND_FUNCTION.EXECUTE, except that is
allow a form to be restarted if it is invoked a second time.
*FND_FUNCITON.EXECUTE always starts a new instance of a form.
Syntax procedure APP_NAVIGATE.EXECUTE
(Function_name in varchar2,
open_flag in varchar2 default y
sesson_flag in varchar2 default SESSION
other_params in varchar2 default null,
activate_flag in varchar2 default ACTIVATE
pinned in boolean default FALSE);
Syntax Procedure FND_FUNCTION.EXECUTE
(function name in varchar2,
open flag in varhcar2 default y
session_flag in varhcar2 defaultsession
other_params in varchar2 default null,
activate in varchar2 default Active
browser_target in varchar2 default null);
67. What is the reason for not getting any data when a multi org view is quired?
- To get the data correctly, the xxx-ALL must be referenced and the ORG_ID value
should be specified to extract portioned data.
- Multiorg views are partitioned by using ORG_ID.
- So access through multiorg views will not return any roes, as the CLIENT_INFO
Value is not set
- Use HR_OPERATING UNITS to identify the organization _id of the OU on which
query is based.
- Use FND_CLIENT_INFO package to set the value in CLIENT INPO using
set_org_contest.
- Execute fnd_client_info. Set_org_context (<org_id>);
- Now qurying of multiorg views can be done.
68. How do you find that muliorg is installed?
- Multi organization architecture is meant to allow muliple companies or subsidiaries to
store their records with in a single data base.
- Multiple organizations Architecture allows this by partitioning data through views in
APPS schema.
- Implementation of Multi org generally includes more than one business group.
* To know whether multiorg is existing or not
select multi_org_flag
form fnd_product_groups)
- If the result is Y means the database is group for multiorg
69. What are the triggers that fire on item?
1. Pre_Text_Item
2. when_New_Item_Instance
3. post_text_Item
4. post_Change
5. When_validate_Item
6. key_Next_Item
Page 26 of 42
execute fnd_client_info.set_org_contest (Org_Id)
execute dbms_application_info.set_client_info (Org_Id)
70. Transactional triggers in forms
- Transactional triggers are the triggers that are related to accessing a data soruce.
- These triggers fire for each record that is marked for insert, update and delete on table
when forms whould typically insert. Update or delete .
- Internally forms would be calling its internal insert_record, update_Record and
Delete_Record built_ins as appropriate to perform the default processing .
* Important Transaction triggers are
1. ON_LOCK
2. ON_UPDATE
3. ON_INSERT
4. ON_DELETE
71. Which triggers will fire when censor moves from one block to another block?
These trigger fires once during the Post and Commit transaction process. Before form builder
processes any (changes) records to change.
Specifically it fires after form builder determines that there are inserts, updates or deletes in
the form to post or commit, but before it commits the changes.
This trigger doesnt fire when there is an attempt to commit, but validation determines that
there are no changed records in the form.
This is a form level trigger.
Enter query mode should be set as No
This can be used to perform an action, such as setting up special locking requirements, at any
time a database commit is going to occur.
If this trigger fails the post and commit processes fail, no records are written to the database
and focus remains in the current item.
If a DML is performed in a pre-commit trigger and it fails, then manual rollback must be
performed, because form builder doesnt perform an automatic roll back.
This trigger fires in post and commit transactions.
Page 27 of 42
Post and Commit Trigger
This is also known as post-commit trigger.
Post-commit trigger fires once during the post and commit transactions.
If there are records in the form that have been marked as inserts, updates or deletes, the post-
forms-commit trigger fires after these changes have been written to the database but before
form builder issues the database commit to finalize the transaction.
If the operation or application initiates a commit when there are no records in the form have
been marked as inserts, updates or deletes, form builder fires post-forms-commit trigger
immediately, without posting changes to the database.
This is a form level trigger.
Enter query mode should be set to No
Post-forms-commit trigger should be used to perform an action, such as updating an audit
trial any time a database commit is about to occur.
If this trigger fails, post and commit processing aborts and form builder issues a ROLLBACK
and decrements the internal save point counter.
This triggers fires in Post and Commit transactions.
SRW.Run_Report
SRW.Run_Report (command_line, char);
Executes specified R25 RUN Command
SRW.RUN_REPORT_FAILURE;
Page 28 of 42
Stops report execution when failure of SRW.Run_Report occurs.
By using SRW.Run_Report, another report can be called to the screan from a button with in
one report.
If this is used from a Report Trigger, BATCH=YES must be passed.
Page 29 of 42
Any template properties, parameters, report triggers, programme units and attached libraries
are also applied.
Different (Multiple) templates can be applied to each section of the report.
If another template is applied later to a report the existing template objects will be deleted in
the current report section.
How to add a template to the predefined templates list?
i) In a text editor open the Preferences File
ii) Scroll down to the template descriptions identified by Reports. Xxx Template_Reso
(who xxx specified a Report style) (Tabular, Break Above)
iii) For each Report style for which the template is defined
- to the Reports.xxx Template_Disc list, add the description that should be appeared
on the template page of the report wizard.
- To the corresponding Reports. XXX_template_file list, add the file name of the
template in the same position as the addition that is made to the description list.
iv) Copy the templae file (file name.tdf) to
ORACLE_HOME/REPORT 60/ADMIN/TEMPLATE/US
Preferences file:-
Windows ORACLE_HOME\CAUPREFS.ORA (user preferences)
ORACLE_HOME\CAGPREFS.ORA (Global Preferences)
UNIX HOME_DIRECOTRY/Prefs.ora (User preferences)
$ORACLE_HOME/tools/admin/prefs.ora (Global Preferences)
78. How to pass a parameter in a request set for three concurrent programs which are having
same parameter?
i) For the first report in the Report set, click on the parameters button and ender the
parameters that are to the shared by all reports in the Request (Report) set.
ii) Go to the nest report and click the parameters button and list the same shared parameters.
iii) Do the above step for each and every report in the request set
iv)Modify check box can be used to allow the users to change the values of the parameters
in the lower reports at submission time..
v) Display) check box can be used to allow the users to see the parameter values at
submission time.
* Request set wizard can be used to quickly create a new Request set in which all of the
request run sequentially or the entire request run in parallel.
*sequentially One after another
* parallel All at once.
- The action can be set whether to continue processing or abort processing. If a request ends
with the statues Error.
79. What are Global variables in Reports?
*Global variables are the variables that ca n be assigned to parameters in reports and those
parameters can be used in reports
create_parameter_list (------)
add_parameter (----:Global_var);
run_product (.);
80. What are Handlers?
* Handler is a group of packaged procedures which is used by Oracle Applications to
organize. PL/SQL code in forms.
- Handlers provide a way to centralize the code so that it becomes easier to develop,
maintain and debug.
- The packaged procedures available in a handler are called form the triggers by
passing the name of the trigger as an argument for the procedure to process.
Page 30 of 42
* Handlers are types :- 1) Item Handlers
2) Event Handlers
3) Table Handlers
4) Business Rules
- Handlers reside in program units in the form or in stored packed in the database.
Menu:-
<Application / Menu>
Messages:-
<Application / Messages>
Table:-
<Database /Table>
Sequence:-
<Database / View>
Concurrent Programme:-
<Concurrent / Executable>
<Concurrent / Program>
*Flexfield
+Key
+Descriptive
-Test
Page 31 of 42
*Concurrent
-Program
-Executable
-Library
*Application
-Register
-Form
-Function
-Menu
-Messages
+Database
+Lookups
+Validation
*Profile
*Attachments
- Document Entities
- Document Categories
- Attachment Functions
*Other
*Requests
- Run
-Set
-Profile
-Concurrent
-Change Organization
-Running Jobs
+Key +Descriptive
-Register -Register
-Segments -Segments
-Aliases -Values
-Cross Validation
-Values +Lookups
-Groups -Application Object Library
-Accounts -Common
+Database +Validation
-Table -Set
-View -Values
-Sequence
Page 32 of 42
Lexical parameters can be referenced by entering an ampusand ( ) followed immediately by
the column name or parameter.
Before creating the query, a column or parameter in the data model should be created for each
lexical reference in the query.
For lexical parameters, initial value must be defined so that report builder uses this value to
validate the query with a lexical reference.
Token
If Oracle reports are executed by a concurrent program, (for Oracle Reports Program), then a
keyword or a parameter with the same name as in the report builder, should be defined which
for each parameter, which is known as taken.
This is used to pass the parameters to the reports from the application (SRS Window)
Request Set
Request set is the group of requests, that can be submitted regularly using a single
transaction.
Incompatibility
These are the list of programs that can be defined as incompatible with a pertain program.
If any program is defined as incompatible to a particular program, then that program should
not run simultaneously with the concurrent program, because they might interfere with its
execution.
1 Host
2 Immediate
3 Java Stored Procedure
4 Java Concurrent Programme
5 Multi Language Function
6 Oracle Reports
7 PL/SQL stored Procedure
8 Request set stage function
9 Spawned
10 SQL*Loader
11 SQL*Plus
<Concurrent/Library> Concurrent Library
Library types Transaction Library
<Lookups>
User
Access Levels Extensible
System
<Validation/Set>
List of values
List types Long List of Values
Poplist
No security
Page 33 of 42
Security type Hireaxhial Security
Non-hireaxhial Security
Char
Format type Date
Date time
Number
Standard date
Standard date time
Time
Validation types Respondent
Independent
None
Pair
Special
Table
Translatable Independent
Translatable Dependent
Page 34 of 42
- calling appropriate routines
- registration of the flex field.
- Definition of the flex field.
<Flex fields / key/ Register>
<Flex fields/Descriptions / Register>
90. What are an application /Module?
- Application is a collection of forms, function and menus
91. What are Alerts?
- Alert is a mechanism that checks the database for a specific exception condition.
- An alert is characterized by the SQL select statements it contains.
- A SQL select statement tells the application what database exception to identify as
well as what output to produce for that exception.
92. What are composite Data types?
* Composite Data types are of two types
1. PL/SQL Records
2. PL/SQL Collections
Index By Table
Nested Table
VARRAY
* Composite data types are also known as collections
- They are RECORD, TABLE, NESTED TABLE and VARRAY
RECORD data type:-
- A RECORD is a group of related data items stored as fields each with its own name
and data type.
- PL/SQL Records are similar to structures in 3GLs
- A RECORD is not the same as Row in a database table
- RECORD treats a collection of fields as a logical unit.
- These are (RECORD type) convenient for fetching a row of data from a table for
processing
- RECORDS also can be declared.
Syntax TYPE type_name is RECORD
(filed declaration,..);
Identifier type_name;
Ex:- TYPE emp_record_type is RECORD
last_name varchar2 (50),
job_id varchar2 (10),
Salary number (8, 2));
emp_record emp_ record_type;
- fields declared as NOT NULL must be initialized.
INDEX BY Table data types:-
Page 35 of 42
1. Declare a TABLE data type.
2. Declare a variable of that type.
- the size of the INDEX BY Table is un constrained increase dynamically so that
INDEX BY Table an increase dynamically, so that INDEX BY Table grows as new
rows are added.
- INDEX BY Tables can have one column and a unique identifier to that one column
neither of which can be named.
- The column can belong to any scalar or record data type, but the primary key must be
ling to type BINARY_INTEGER
- INDEX BY Tables cannot be initialized at the time of its declaration and also it
cannot be populated at the time of declaration.
- An exploit executable statement is required to initialize (populate) the INDEX BY
TABLE.
.
1 Gopi
2 Raj
.
BINARY_INTEGER SCALOU
Syntax TYPE ename_table_type IS TABLE OF
Employees.last_name%TYPE
INDEX BY BINARY_INTEGER;
-this can be reterened by
INDEX Bytable_name (primary_key_value);
- The Following methods are used with INDEX BY Tables.
1. EXISTS
2. OUNT
3. FIRST AND LAST
4. PRIOR
5. NEXT
6. TRIM
7. DELETE
INDEX BY Table of Records:_
- At a given point of time. INDEX BY Table can store only the details of any one of the
columns of a database table
- To store al the columns retried by a query,
INDEX BY Table of Records are used.
- Because only the table definition is needed to hold information about all of the fields of a
data base table, the table of records greatly increases the functionality if INDEX BY Table.
Page 36 of 42
Departments % ROWTYPE
INDEX BY BINARY_INTEGER;
Dept_table dept_table_type;
*% ROW TYPE attribute can be used to declare a record that represents a row in a database
table.
*The difference between the % ROWTYPE attribute and the composite data type RECORD
is that RECORD allows to specify the data types of fields in the record or to declare new
fields with new data types.
Nested Tables
* Nested Table is an ordered group of items of type TABLE.
Nested Table contain multiple columns and can be used as variables, parameters, results,
attributes and columns.
They can be thought of as one column data base tables.
Rows of a nested table are not stored in any particular order.
The size of a nested table can be increased dynamically i.e. nested tables are unbounded.
Elements in a table initially have consecutive subscripts, but as elements are deleted, they can
have non-consecutive subscripts.
The range of values for nested table subscripts is 1 ..2147483647.
To extend a nested table, the built-in procedure EXTEND must be used.
To delete elements, the built-in procedure DELETE must be used.
An un initialized nested table is automatically null, so the IS NULL comparison operator can
be used to ses if nested table is null.
The operators CAST, THE and MULTISET are used or manipulating nested tables.
3. Create a data base table STORAGE having type ELEMENTS_TAB as one of its
columns.
SQL> Create Table STORAGE
(Saleman number(4),
Elem_id number(6),
Ordered Date,
Items Elements_Tab)
NESTED TABLE ITEMS STORE AS ITEMS_TAB;
Page 37 of 42
VARRAYS:-
Creating a VARRAY:-
1. Defining object type ELEMENTS
SQL> Create TYPE MEDICINES AS OBJECT
(MED_ID NUMBER (6),
MED_NAME Varchar2 (14),
MANF_DATE DATE);
/
Page 38 of 42
*Individual elements can be deleted from a nested table, but not from a Varray.
Therefore nestedtables can be spares, where as Varrays always are dense.
Varrays are stored by Oracle in-line (in the same table space), where as nested table data is
out-of-line in a store table, which is a system generated data base table associated with the
nested table.
When stored in the data base, nested tables do not retain their ordering and subscripts, where
as Varrays do.
Nested tables support indexes while VARRAYS do not.
Page 39 of 42
5. Emulate Concurrent Manager Environment:-
For UNIX plat forms, to assist in determining where the problem lies, Oracle Applications
AOL ships a program called $ FND_TOP / Srw / ar60run.oc.
This program helps to emulate the concurrent manager environment when testing reports
from the OS command line.
This program writes all the environment variables and arguments passed to it in a log file
ar60run.log. (Located by default in the $FND_TOP / $APPLLOG directory).
Save the ar60run.oc source code to a file named ar60run.oc compile it and rename the
executable as ar60run.(new).
Save $FND_TOP / bin / ar60run in to some other file and place the new ar60run into
$FND_top / bin.
Compiling and relinking has been incorporated in to fnd.mk which will, by default build an
executable $FND_TOP / bin /ar60rund, which can be renamed to ar60run (new).
Submit the report from concurrent manager and look at ar60run.log.
Then run the report from OS with the same arguments as shown by ar60run.log shows using
old ar60run.
Bitmapped Reports
Printer drivers should be provided with print style (Landscape) to determine how to print text
files.
Bitmapped reports are not text files and these are output as post script files.
The post script file is a set of instructions telling the printer exactly a landscape report, the
post script file must be generated as landscape.
Page 40 of 42
These files could be directed to another directory using the environment variable TMPDIR.
* Are the failing reports using page N or M? This can consume a lot of Oracle Reports virtual
memory.
If possible, Reports should be run against a smaller database.
FND_PROGRAM Package
FND_PROGRAM.Executable:-
(Program in varchar2,
application in varchar2,
enabled in varchar2,
short_name in varchar2,
description in varchar2, default null,
executable_short_name in varchar2,
executable_application in varchar2,
execution_options in varchar2, default null,
priority in number default null,
save_output in varchar2 default Y,
print in varchar2 dafault Y,
cols in varchar2 default null,
rows in varchar2, default null,
style in varchar2, default null,
style_required in varchar2, default N,
printer in varchar2, default null,
Requets_Type in varchar2, default null,
Request_type_Application in varchar2 default null,
Use_in_Srs in varchar2, default N,
Allow_disabled_valuer in varchar2 default N,
Run_alone in varchar2 default N,
Output_type in varchar2 default TEXT,
Enable_trace in varchar2 default N,
Restart in varchar2 default Y,
nls_complaint in varchar2 default Y,
icon_name in varchar2 default null,
Page 41 of 42
language_code in varchar2, default US,
mls_function_short_name in varchar2 default null,
mls_function_application in varchar2 default null,
incrementor in varchar2 default null);
Property Classes
A property class is a named object that contains a list of properties and their settings.
Once a property class is created, it can be assigned to any object.
An object based on a property class can inherit the settings of any property in that property
class.
There can be number of properties in a property class, and the properties in a class can apply
to different objects.
When an object is based on a property class, all the properties which are inherited from the
property class can be controlled locally also.
Property classes are separate objects and can be copied between modules if required.
A property class can be sub classed in only number of modules.
Visual Attributes
Visual attributes are the font, color and pattern properties that can be set for form and menu
modules which are appeared in applications interface.
Font Properties: font name, font size, font style, font width, font height.
Color and pattern properties: Foreground color, Back ground color, fill pattern, char mode,
Logical attribute, White on Black.
Every interface object has its visual attribute group property that determines how the objects
individual visual attribute settings are derived.
The visual property group property can be set to default, NULL, or the name of a named
visual attribute defined in the same module.
An objects named visual attribute setting can be changed programmatically to change the
font, color and pattern of the object at runtime.
Page 42 of 42