Query to get Descriptive Flex Field Details

Below Query can be used to get DFF details from backend,

SELECT ffv.descriptive_flexfield_name ,
ffv.application_table_name ,
ffv.title ,
ap.application_name ,
ffc.descriptive_flex_context_code ,
ffc.descriptive_flex_context_name ,
ffc.description ,
ffc.enabled_flag ,
att.column_seq_num ,
att.form_left_prompt ,
att.application_column_name ,
fvs.flex_value_set_name ,
att.display_flag ,
att.enabled_flag ,
att.required_flag
FROM apps.fnd_descriptive_flexs_vl ffv,
apps.fnd_descr_flex_contexts_vl ffc,
apps.fnd_descr_flex_col_usage_vl att,
apps.fnd_flex_value_sets fvs,
apps.fnd_application_vl ap
WHERE ffv.descriptive_flexfield_name = att.descriptive_flexfield_name
AND ap.application_id=ffv.application_id
AND ffv.descriptive_flexfield_name = ffc.descriptive_flexfield_name
AND ffv.application_id = ffc.application_id
AND ffc.descriptive_flex_context_code=att.descriptive_flex_context_code
AND fvs.flex_value_set_id=att.flex_value_set_id
AND ffv.title like ‘Common Lookups’
AND ffc.descriptive_flex_context_code like ‘DFF Name’ — Give your dff name here
ORDER BY att.column_seq_num

Oracle Apps Questions – Contd

  1. Q: How do you make your own query when you are in forms query mode?

A: You can use a placeholder to achieve this. If you enter a single colon ( : ) in one of your query fields during the Enter Query mode, Oracle Forms Run Query will prompt you to enter the text of SQL Where clause.

  1. Q: What is concurrent processing?

A: Concurrent processing is a process that simultaneously runs programs in the background (usually on the server rather than your workstation) while working online.

  1. Q: What is a Concurrent Manager?

A: A Concurrent Manager is a component of concurrent processing that monitors and runs requests while you work online. Once the user submits a request to run the job, the information is stored in the request table. A concurrent manager gets the information from the request table and executes the specified concurrent job.

  1. Q: What is a request set?

A: A request set is a collection of reports or programs grouped together. Once you submit a request set job, it executes all the programs in a report set sequentially or in a parallel manner as defined in the request set.

  1. Q: What are the four phases of a concurrent request?

The four phases are as follows: inactive, pending, running, and completed.

  1. Q: How would you identify the results of the request in the Concurrent View Requests window?

Whenever a concurrent job is submitted, Applications creates a Request ID. You can use this Request ID to view the results.

  1. Q: What are the profile options? How many levels of profile options are available?

Profile options are set to determine how the applications look and feel. There are four levels of profile options available: site level, application level, responsibility level, and user level. You can have various categories of profile options, such as personal options, system options, auditing profile options, currency options, Flexfield options, online reporting options, personal output viewer options, and user profile options.

  1. Q: What is a document sequence?

A document sequence assigns unique numbers to the documents (transactions) generated by Oracle Applications. For example, each invoice has its own unique invoice number and each purchasing document has its own unique purchase order (PO) number.

  1. Q: What are the steps involved in adding a custom program to Oracle Applications?

a)Develop a concurrent program or report.
b)Identify the corresponding executable and register it with the application.
c)Create a concurrent program and its parameters.
d)Add a concurrent program to a request set.

  1. Q: How do you register a printer?

To add a new printer, go to Install Printer Register.

  1. Q: What is a Flexfield? How many types of Flexfields exist?

A Flexfield is a field made up of segments. Each segment has an assigned name and a list of valid values. Two types of Flexfields exist: Key Flexfields and Descriptive Flexfields (DFFs).

  1. Q: What is a Key Flexfield?

A Key Flexfield is a unique identifier that is made up of meaningful segments to identify GL account numbers and item numbers. Key Flexfields are usually stored in SEGMENT1…SEGMENTn database columns.
Some examples would be Item No 34H-AFR-223-112.G and GL Account No:
For an example GL Account, segments could be identified as Organization, CostCenter, Account, Product, Product Line.

  1. Q: What are the Key Flexfields in Oracle Applications?

The following table lists some of the Key Flexfields available in Oracle Applications.

  1. Q: What is a Descriptive Flex Field?

A DFF lets you define the custom fields into Oracle Application forms without customizing the program code. DFFs in forms are represented by a “beer mug” field (a single space field enclosed by brackets) that looks like the following symbol: [ ]. They are usually stored in ATTRIBUTE1…ATTRIBUTEn database columns. DFFs can also be used to accept report parameters.

  1. Q: What types of segments can be set up for DFFs?

Global or context-sensitive.
A value set is a list of values validated against segments. You can create a value set and assign it to a Flexfield segment.

  1. Q: How many validation types are there?

Six validation types exist:none, dependent, independent, table, special, and pair.

  1. Q: What are the required and optional steps for setting up Flexfields?

The required steps are as follows: define the value sets, define the structures, and define the values, if needed. The optional steps are as follows: define the security rules, define the cross-validation rules, and define the shorthand aliases, if necessary.

  1. Q: Can you define cross-validation rules for DFFs?

No, you cannot. You can only define them for Key Flexfields.

  1. Q: Can a value set be shared between Flexfields?

Yes, value sets can be shared between Flexfields.

  1. Q: Can a value set be shared within a Flexfield structure?

No, value sets cannot be shared between segments within a Flexfield as long as they do not carry the same type of information. For example, date information can be shared between segments within a Flexfield.

  1. Q: What are the advanced validation options?

Three types of advanced validation options are available.
$PROFILES$, which references the current value of a profile option. An example would be $PROFILES$.profile_option_name. Block.field, which references the block field. $FLEX$, which refers to the current value of a previously used value set.
An example would be $FLEX$.value_set_name (cascading dependencies).

  1. Q: What is the next step after defining the segments for Flexfields?

Freezing and compiling the structure.

  1. Q: What are the steps required to set up value security rules?

Make sure security is enabled, define rules for the value set, and assign rules to the user’s responsibility.
Oracle Alert is an exception reporting system. It keeps you informed on an as-needed basis. It also communicates with other users through e-mail regarding exception messages.

  1. Q: How many types of alerts are there?

Two types of alerts exist: Periodic Alerts and Event Alerts. Periodic Alerts fire at a time interval, and Event Alerts are fired by database table changes.
Quick Codes, also known as Quickpicks, are standard sets of user-defined values. Lookup is a combination of a code and a description. The lookup tables are generally populated by the scripts located in /install/odf directory.

  1. Q: What is an Open Interface in Oracle Applications?

Open Interface, also known as the Application Programmer Interface (API), is a process whereby the Oracle Applications are linked with external or legacy systems. Open Interface works as a temporary staging area to load the external information into Oracle Applications tables. Once the data is validated, it sends the information to the permanent tables. Rejected transactions can be corrected and resubmitted.

  1. Q: Which schema has complete access to the Oracle Applications data model?

The APPS schema. AutoInstall automatically sets the FNDNAM environment variable to the name of the APPS schema.

  1. Q: What is the top directory in Oracle Applications?
  1. Q: What is a product top directory?

It starts with the product shortname and is suffixed with TOP, such as TOP. For example, General Ledger’s top directory is GL_TOP.

  1. Q: What are the log and output directory names for a product group?

The product group environment file sets the APPLLOG variable to log and APPLOUT to out. For example, the output directory for General Ledger is $GL_TOP/$APPLOUT. For log, it is $GL_TOP/_$APPLLOG.

  1. Q: What data dictionary tables do you use to obtain detailed information regarding?

You can write a query by joining the FND_TABLE and FND__COLUMNS tables. FND_INDEXES and FND_INDEX_COLUMNS tables are part of the data dictionary. All the FND_ table names are self-explanatory.

  1. Q: What are the primary underlying tables for concurrent processing?

FND_CONCURRENT_PROGRAMS, FND_CONCURRENT__REQUESTS,
FND_CONCURRENT_PROCESSES, and FND__CONCURRENT_QUEUES tables.

  1. Q: What are the primary underlying tables for Flexfields?

FND_DESCR_FLEX_CONTEXTS, FND_FLEX_VALIDATION__RULES,
FND_FLEX_VALUE_SETS, FND_ID_FLEXS, FND_ID__FLEX_SEGMENTS, and FND_ID_FLEX_STRUCTURES tables.

  1. Q: What is the primary underlying table for AOL QuickCodes?
  1. Q: What is the application dummy table used by a form block?
  1. Q: What is the main underlying table for Profile Options?

FND_PROFILE_OPTIONS table.

  1. Q: What are the main prerequisites for creating a custom application or responsibility?

Set up a directory structure for a custom application, and define an environment variable that translates to your application base path.

  1. Q: What are the WHO columns?

WHO columns are used to track the changes to your data in the application tables. WHO columns exist in all Oracle Applications standard tables. The following five are considered WHO columns:

  1. Q: Do I need to have WHO column information in custom forms?

Yes. It is strongly recommended to add WHO columns to the custom tables and call standard API, FND_STANDARD.SET_WHO in PRE-INSERT, and PRE-UPDATE triggers in each block of the form. Also, specify these fields as hidden in each block of the form.

  1. Q: What are the additional WHO columns used for concurrent programs?

Concurrent programs use all the following WHO inncluding the following four.

  1. Q: Can you disable the WHO columns’ information in a form block?

Yes. You can disable HELP -> ABOUT THIS RECORD information within a block. Call the following procedures in a block level WHEN-NEW-BLOCK-INSTANCE
Trigger:app_standard.event(‘WHEN-NEW-BLOCK-INSTANCE’);
app_standard.enable(‘ABOUT’,’PROPERTY_OFF’);

  1. Q: How do you register your custom tables in PL/SQL?

You can use AD_DD package to register custom tables in PL/SQL.

  1. Q: How do you define the passing arguments in SQL/PLUS and PL/SQL concurrent programs?

You must name your passing arguments as &1, &2, &3 and so on.

  1. Q: How do you call your custom reports from a form?

You can call your custom Oracle reports in a form using the
FND_REQUEST.SUBMIT_REQUEST procedure.

  1. Q: What is a template form?

A template form is a starting point for the development of custom forms. Copy the Template.fmb file from $AU_TOP/forms/US directory to your local directory and rename it.

  1. Q: Which libraries are attached to the template form?

The following main libraries are directly attached to the template form.
APPCORE contains packages and procedures for standard menus, toolbars, and so on. APPDAYPK contains a calendar package. FNDSQF contains packages and procedures for Flexfields, concurrent processing, profiles, and a message dictionary.
A calendar is an object that lets you select the date and time. It is automatically included in the template form. A Calendar package example would be calendar.show.

  1. Q: Which template form triggers require some modifications?

The ACCEPT, FOLDER_RETURN_ACTION, KEY-DUPREC, KEY-MENU, KEYCLRFRM, ON-ERROR, KEY-LISTVAL, POST-FORM, PRE-FORM, QUERY_FIND, WHEN-NEW-FORM-INSTANCE, WHEN-NEW-BLOCK-INSTANCE, WHEN-NEWRECORD-INSTANCE, and WHEN-NEW-ITEM-INSTANCE triggers.

  1. Q: Which template form triggers cannot be modified?

The CLOSE_WINDOW, EXPORT, FOLDER_ACTION, KEY-COMMIT, KEY-EDIT, KEY-EXIT, KEY-HELP, LASTRECORD, WHEN-WINDOW-CLOSED, WHENFORM-NAVIGATE, and ZOOM triggers.

  1. Q: What are the main template files for Pro*C concurrent programs?

The main template files are EXMAIN.c and EXPROG.c .

  1. Q: What is the Oracle-recommended application short name for extensions?

Oracle recommends an application short name begin with XX. As an example, extensions to Oracle Purchasing would be XXPO.

  1. Q: Where do you maintain the list of your custom programs?

All custom programs should be listed in the applcust.txt file. This file is located in the $APPL_TOP/admin directory. When you apply the patches, Oracle Applications uses this file for informational purposes.

  1. Q: What are the steps involved in modifying an existing form?

First, you identify the existing file and then you copy the file to a custom application directory, making sure to rename it. You then make the necessary modifications, generate the form, and document it in the custom program list using applcust.txt file.

  1. Q: Where do you maintain database customizations?

You can maintain all your table changes by creating a new schema. You can use your custom application short name (such as XXPO) as your Oracle schema name for easy identification. The new schema must be registered in the Oracle AOL.

  1. Q: Can you create extensions to Oracle Applications without modifying the standard form code?

Yes. This can be done using the CUSTOM library, which is an Oracle Forms PL/SQL library. You can integrate your custom code directly with Oracle Applications without making changes to your Oracle Applications forms code. The CUSTOM library is located in the $AU_TOP/res/plsql directory. Once you write the code, you compile and generate the CUSTOM procedures to make your changes.

  1. Q: When do you use the CUSTOM library?

You can use the CUSTOM library in a variety of cases. You can use it to incorporate Zoom logic, logic for generic events, logic for product-specific events, and to add entries for the special menu.

Oracle Apps Questions

  1. Difference b/w procedure and function?  A procedure may return (one or more values using OUT & INOUT Parameters) or may not return a value. But a function has to return a single value and has the return clause in its definition. Function can be called in select statements but procedure can only be called in a pl/sql block.  Procedure’s parameters can have IN or OUT or INOUT parameters. But function’s parameters can only have IN parameters.
  1. Difference b/w ROWID and ROWNUM? ROWID : It gives the hexadecimal string representing the address of a row.It gives the location in database where row is physically stored. ROWNUM: It gives a sequence number in which rows are retrieved from the database.
  1. Give some examples of pseudo columns? NEXTVAL, CURRVAL, LEVEL, SYSDATE
  1. Difference b/w implicit cursor and explicit cursor? Implicit cursors are automatically created by oracle for all its DML stmts. Examples of implicit cursors: SQL%FOUND, SQL%NOTFOUND, SQL%ROWCOUNT, SQL%ISOPEN; Explicit cursors are created by the users for multi row select stmts.
  1. How to create a table in a procedure or function? See the below piece of code:  Since create stmt can be used only at the sql prompt, we have used dynamic sql to create a table.

DECLARE

L_STMT VARCHAR2(100);

DBMS_OUTPUT.PUT_LINE(‘STARTING ‘);
L_STMT := ‘create table dummy1 (X VARCHAR2(10) , Y NUMBER)’;
EXECUTE IMMEDIATE L_STMT;
DBMS_OUTPUT.PUT_LINE(‘end ‘);

END;

The above piece of code can be written In procedure and function DDL’s can be used in function provided that function should be invoked in Begin-End block not from Select statement.

  1. Explain the usage of WHERE CURRENT OF clause in cursors ? Look at the following pl/sql code:

SELECT acct_no, enter_date
WHERE enter_date < SYSDATE -7
INSERT INTO acct_log (acct_no, order_date)
VALUES (wip_rec.acct_no, wip_rec.enter_date);

WHERE CURRENT OF wip_cur;

END;

“WHERE CURRENT OF” has to be used in concurrence with “FOR UPDATE”  in the cursor select stmt.
“WHERE CURRENT OF” used in delete or update stmts means, delete/update the current record specified by the cursor.
By using WHERE CURRENT OF, you do not have to repeat the WHERE clause in the SELECT statement.

  1. What is the purpose of FORUPDATE? Selecting in FOR UPDATE mode locks the result set of rows in update mode, which means that row cannot be updated or deleted until a commit or rollback is issued which will release the row(s). If you plan on updating or deleting records that have been referenced by a Select For Update statement, you can use the Where Current Of statement.
  1. What is RAISE_APPLICATION_ERROR? The RAISE_APPLICATION_ERROR is a procedure defined by Oracle that allows the developer to raise an exception and associate an error number and message with the procedure other than just Oracle errors. Raising an Application Error With raise_application_error
    DECLARE
    num_tables NUMBER;
    BEGIN
    SELECT COUNT(*) INTO num_tables FROM USER_TABLES;
    IF num_tables < 1000 THEN
    /* Issue your own error code (ORA-20101) with your own error message. 
    Note that you do not need to qualify raise_application_error with 
    DBMS_STANDARD */
    raise_application_error(-20101, 'Expecting at least 1000 tables');
    ELSE
    NULL; -- Do the rest of the processing (for the non-error case).
    END IF;
    END;
    /
    The procedureRAISE_APPLICATION_ERRORlets you issue user-definedORA-error messages from stored subprograms. That way, you can report errors to your application and avoid returning unhandled exceptions.
    
  1. What is mutating error? Mutating error occurs in the following scenario:

WHEN WE ARE UPDATING A TABLE (TRIGGER WRITTEN ON A TABLE FOR UPDATE) AND AT THE SAME TIME TRYING TO RETRIEVE DATA FROM THAT TABLE. IT WILL RESULT INTO MUTATING TABLE AND IT WILL RESULT INTO MUTATING ERROR.

  1. Can we have commit/rollback in DB triggers? Having Commit / Rollback inside a trigger defeats the standard of whole transaction’s commit / rollback all together. Once trigger execution is complete then only a transaction can be said as complete and then only commit should take place. If we still want to carry out some action which should be initiated from trigger but should be committed irrespective of trigger completion / failure we can have AUTONOMUS TRANSACTION. Inside Autonomous transaction block we can have Commit and it will act as actual commit.
  1. Can we make the trigger an autonomous transaction? This makes all the difference because within the autonomous transaction (the trigger), Oracle will view the triggering table as it was before any changes occurred—that is to say that any changes are uncommitted and the autonomous transaction doesn’t see them. So the potential confusion Oracle normally experiences in a mutating table conflict doesn’t exist.
  1. What is autonomous transaction? Autonomous transaction means a transaction that is embedded in some other transaction, but functions independently.
  1. What is a REF Cursor? The REF CURSOR is a data type in the Oracle PL/SQL language. It represents a cursor or a result set in Oracle Database.
  1. What is the difference between ref cursors and normal pl/sql cursors?

if ( to_char(sysdate,’dd’) = 30 ) then
elsif ( to_char(sysdate,’dd’) = 29 ) then

end;

Given that block of code you see perhaps the most “salient” difference, no matter how many times you run that block The cursor C will always be select * from dual.  The ref cursor can be anything.

  1. Is Truncate a DDL or DML statement? And why? Truncate is a DDL statement. Check the LAST_DDL_TIME on USER_OBJECTS after truncating your table. TRUNCATE will automatically commit, and it’s not rollback able. This changes the storage definition of the object. That’s why it is a DDL.
  1. What are the actions you have to perform when you drop a package? If you rename a package, the other packages that use it will have to be MODIFIED. A simple compilation of the new renamed package won’t do. If you have toad, go to the “used by” tab that will show you the packages that call the package being renamed.
  1. What is cascading triggers? When a trigger fires, a SQL statement within its trigger action potentially can fire other triggers, resulting in cascading triggers.
  2. What are materialized views? A materialized view is a database object that stores the results of a query (possibly from a remote database). Materialized views are sometimes referred to as snapshots.
  3. If the materialized view will access remote database objects, we need to start by creating a database link to the remote DB:CREATE DATABASE LINK remotedb

    CONNECT TO scott IDENTIFIED BY tiger

    Now we can create the materialized view to pull in data (in this example, across the database link):

    CREATE MATERIALIZED VIEW items_summary_mv

    SELECT  a.PRD_ID, a.SITE_ID, a.TYPE_CODE, a.CATEG_ID,

    sum(a.NET_REV)   NET_REV,

    sum(a.BOLD_FEE)  BOLD_FEE,

    sum(a.BIN_PRICE) BIN_PRICE,

    sum(a.GLRY_FEE)  GLRY_FEE,

    sum(a.QTY_SOLD)  QTY_SOLD,

    GROUP BY  a.PRD_ID, a.SITE_ID, a.TYPE_CODE, a.CATEG_ID;

    Materialized view logs are used to track changes (insert, update and delete) to a table. Remote materialized views can use the log to speed-up data replication by only transferring changed records.

    CREATE MATERIALIZED VIEW LOG ON items;

  4. Commonly occurring Errors in Reports?
    Some of the errors are defined below
    1. There Exists uncompiled unit: When the report is not compiled before loading in the Oracle Applications.
    2. Report File not found: When the rdf is not uploaded in proper directory
    3. Width or margin is zero: When the repeating frame is not within proper frames
    4. Not in proper group: When the repeating frame is not referred to proper group
  5. What is the difference between Compile and Incremental Compile in oracle reports?
    In Full compile all the PL/SQL within the reports are compiled but in incremental compile only the changed PL/SQL units are compiled.
    When compiling the report for the first time, we should do the full compilation and not the Incremental compile.
  6. How to compile Procedures and Packages?
    ALTER <proc/package> <name>COMPILE;

Some questions about basics of plsql/Apps

  • From an Employee table, how will you display the record which has a maximum salary?
  • What is the difference between the Primary and Foreign key?
  • How will you delete a particular row from a Table?
  • How will you select unique values from a list of records?
  • What is meant by Join? What are the different types of Joins available? Explain.
  • overloading of stored procedure is possible in oracle?
  • how to create table with in the procedure or function?
  • what is overloading procedure or overloading function ?
  • what is HASH join?
  • what is SCALAR Queries?
  • what is the use of HASH, LIST partitions?
  • <<labele>> declare a=10 b=20, begin some statements declare a=30 c=40 end; what is the A value in nested block?
  • cursor types? explain with example programs?
  • what is difference b/w pravite procedures and public procedures?
  • How to export the table data (this table having 18 million records) to .csv file. Please tell me is there any faster way to export the data.
  • How to get employee name from employee table which is the fiveth highest salary of the table
  • How would you split a string into seperate values. eg. col1 col2

List 2

What are the various types of Exceptions?

User defined and Predefined Exceptions.

Can we define exceptions twice in same block?

No.

What is the difference between a procedure and a function?

Functions return a single variable by value where as procedures do not return any variable by value. Rather they return multiple variables by passing variables by reference through their OUT parameter.

Can you have two functions with the same name in a PL/SQL block ?

Yes.

Can you have two stored functions with the same name ?

Yes.

Can you call a stored function in the constraint of a table ?

No.

What are the various types of parameter modes in a procedure ?

IN, OUT AND INOUT.

What is Over Loading and what are its restrictions?

Over Loading means an object performing different functions depending upon the no. of parameters or the data type of the parameters passed to it.

Can functions be overloaded?

Yes.

Can 2 functions have same name & input parameters but differ only by return data type

What is the Diff between APPS Schema and other Schemas?

Apps schema contains only Synonyms we can’t create tables in apps schema, where as other schemas contains tables, & all the objects. Here only we will create the tables and giving grants on created tables. Almost all every time we will connect to apps schema only.

What is meant by Custom Top and what is the Purpose?

Custom Top is nothing but Customer Top, which is created for customer only. we can have multiple custom

tops based on client requirement. It is used to store developed & customized components. Whenever oracle corp applying patches it will over ride on all the modules except custom top. That’s why we will use custom top.

What is the Significance of US Folder?

It is nothing but language specification by default it is in american language. We can have multiple languages folders based on installed languages. from backend we can get it from

FND_LANGUAGES — COL –INSTALLED_FLAGNSTALLED,

B–BASE,

D–DISABLE

select language_code,nls_language from fnd_languages where installed_flag like ‘B’

Where did U find the Application short name and basepath names?

select basepath,application_short_name from fnd_application from the backend. From the from end we can get it Navigation Application Developer

Fix for Oracle Reports Internal Error

Issue:

REP-0300: ORACLE error occurred.

REP-0069: Internal error

REP-57054: In-process job terminated:Terminated with error:

Possible Causes:

1. Verify input parameters, possibly data of incorrect type is passed

2. Take queries available in data block and query it in SQL Developer/TOAD. You should be getting the invalid number error.  This is due to data of incorrect data type is being compared with another variable . For example char variable is being used in the join with variable of number type . ( Check values of columns such as attributeN or segmentN).

Steps to Enable BI Publisher Add-In menu in Microsoft office 2010 edition

Oracle BI publisher Add-In is a tool used to develop report templates and test them in our desktop instead of uploading them to server and run the report again. This helps us to develop and test our reports quickly .

You need to download BI Publisher desktop version from oracle site and install in your machine. Very often , you will notice that Add-ins disappear from your MS word even though you have installed proper version of BI Publisher . We have a fix for this issue, following steps can be taken to bring back Add-in to MS word .

Below steps will help you to enable Addon menu for Oracle BI Publisher in MS office 2010.

1

Go to file -> Options in Ms office

2

Select Word Add-ins in Manage menu and click Go button

4

You will see that Global templates and add-ins is missing . Click  Add button

5

Select TemplateBuilder.dot file from Bi Publisher installed location and click OK . This will file usually found under Template builder for word folder.

6

Now, templatebuilder.dot is loaded to MS office 2010 . Click OK

7

It will prompt you with a message that macros have been disabled . Click Enable content button

8

Now you can see that add-ins tab is visible, you can now develop and test BI Publisher templates

9

Oracle foms Extensibility Tutorial

Oracle forms builder is a tool provided by Oracle to build User Interface for Oracle Applications. Most of the time ,we need to enhance the form functionality by extending features .

Before we make any changes to form, there are certain files we need to download from unix to our local machine. This is needed to maintain look and feel of the form is consistent with the Oracle standard.

Create a folder in our local machine and copy required files from below mentioned folders .

Below PL/SQL libraries needs to be copied from $AU_TOP/resource folder

APPCORE.pll
APPCORE.plx
APPCORE2.pll
APPCORE2.plx
APPDAYPK.pll
APPDAYPK.plx
CLLRILIB.pll
CSDEXTSR.plx
CUSTOM.pll
CUSTOM.plx
FNDMOAC.pll
FNDMOAC.plx
FNDSQF.pll
FNDSQF.plx
FV.pll
FV.plx
GHR.pll
GHR.plx
GLOBE.pll
GLOBE.plx
GMS.pll
GMS.plx
HRKPI.pll
HRKPI.plx
IGFAP018.pll
IGILUTIL.pll
IGILUTIL.plx
IGILUTIL2.pll
IGILUTIL2.plx
IGI_CBC.pll
IGI_CBC.plx
IGI_CC.pll
IGI_CC.plx
IGI_CIS.pll
IGI_CIS.plx
IGI_DOS.pll
IGI_DOS.plx
IGI_EXP.pll
IGI_EXP.plx
IGI_IAC.pll
IGI_IAC.plx
IGI_MHC.pll
IGI_MHC.plx
IGI_MOAC.pll
IGI_MOAC.plx
IGI_SIA.pll
IGI_SIA.plx
IGI_STP.pll
IGI_STP.plx
IGSEN022.plx
IGSHE017.plx
IGSPS134.plx
JA.pll
JA.plx
JE.pll
JE.plx
JL.pll
JL.plx
JL.plx_old
list.txt
MSCFCRLS.plx
OEXCORE.plx
OPM.pll
OPM.plx
OTATAEFL.plx
PQH_GEN.pll
PQH_GEN.plx
PSA.pll
PSA.plx
PSAC.pll
PSAC.plx
PSB.pll
PSB.plx
VERT.pll
VERT.plx
VERT1.pll
VERT1.plx
VERT2.pll
VERT2.plx
VERT3.pll
VERT3.plx
VERT4.pll
VERT4.plx
VERT5.pll
VERT5.plx
XNPEVTMN.plx

Below form(fmb) files needs to be copied from $AU_TOP/forms/US folder

TEMPLATE.fmb
APPSTAND.fmb

Create a environment variable FORMS_PATH with a folder which contains above copied files .

Now you can modify existing oracle forms in your machine. Once changes are made, form(fmb file) needs to be moved to unix server and compiled . Below command can be used to compile the from in unix server .

Form compilation command on unix

frmcmp_batch form_name.fmb userid=db_username/db_password output_file=form_name.fmx module_type=form compile_all=special