AOL COMPLETE HAND BOOK: WHO COLUMNS

WHO columns are used to track the information updated or inserted by the users against the tables. FND_STANDARD package is used for this purpose. FND_STANDARD.SET_WHO Procedure is used to update the WHO columns in a Table when a DML operation s (i.e. INSERT, UPDATE) performed. 1) Created by 2) Creation date 3) Last _updated_by 4) last_update_date 5) last_update_login  Use fnd_profile.VALUE (‘USER_ID’) for retrieving the user_id which will be used by created_by column.  Creation date and last_update_date will be normally SYSDATE.  last_updated_by is same as created_by.  Use USERENV (‘SESSIONID’) for getting the last_update_login id.

Key FND Tables in Oracle Application
Here there are few key FND tables that we use in our AOL queries. FND_APPLICATION: Stores applications registered with Oracle Application Object Library. FND_APPLICATION_TL: Stores translated information about all the applications registered with Oracle Application Object Library. FND_APP_SERVERS: This table will track the servers used by the E-Business Suite system. FND_ATTACHED_DOCUMENTS: Stores information relating a document to an application entity. FND_CONCURRENT_PROCESSES: Stores information about concurrent managers. FND_CONCURRENT_PROCESSORS: Stores information about immediate (subroutine) concurrent program libraries. FND_CONCURRENT_PROGRAMS: Stores information about concurrent programs. Each row includes a name and description of the concurrent program. FND_CONCURRENT_PROGRAMS_TL: Stores translated information about concurrent programs in each of the installed languages. FND_CONCURRENT_QUEUES: Stores information about concurrent managers. FND_CONCURRENT_QUEUE_SIZE: Stores information about the number of requests a concurrent manager can process at once, according to its work shift. FND_CONCURRENT_REQUESTS: Stores information about individual concurrent requests. FND_CONCURRENT_REQUEST_CLASS: Stores information about concurrent request types. FND_CONC_REQ_OUTPUTS: This table stores output files created by Concurrent Request. FND_CURRENCIES: Stores information about currencies. FND_DATABASES: It tracks the databases employed by the eBusiness suite. This table stores information about the database that is not instance specific. FND_DATABASE_INSTANCES: Stores instance specific information. Every database has one or more instance. FND_DESCRIPTIVE_FLEXS: Stores setup information about descriptive flexfields. FND_DESCRIPTIVE_FLEXS_TL: Stores translated setup information about descriptive flexfields. FND_DOCUMENTS:

Stores language-independent information about a document. FND_EXECUTABLES: Stores information about concurrent program executables. FND_FLEX_VALUES: Stores valid values for key and descriptive flexfield segments. FND_FLEX_VALUE_SETS: Stores information about the value sets used by both key and descriptive flexfields. FND_LANGUAGES: Stores information regarding languages and dialects. FND_MENUS: It lists the menus that appear in the Navigate Window, as determined by the System Administrator when defining responsibilities for function security. FND_MENUS_TL: Stores translated information about the menus in FND_MENUS. FND_MENU_ENTRIES: Stores information about individual entries in the menus in FND_MENUS. FND_PROFILE_OPTIONS: Stores information about user profile options. FND_REQUEST_GROUPS: Stores information about report security groups. FND_REQUEST_SETS: Stores information about report sets. FND_RESPONSIBILITY: Stores information about responsibilities. Each row includes the name and description of the responsibility, the application it belongs to, and values that identify the main menu, and the first form that it uses. FND_RESPONSIBILITY_TL: Stores translated information about responsibilities. FND_RESP_FUNCTIONS: Stores security exclusion rules for function security menus. Security exclusion rules are lists of functions and menus inaccessible to a particular responsibility. FND_SECURITY_GROUPS: Stores information about security groups used to partition data in a Service Bureau architecture. FND_SEQUENCES: Stores information about the registered sequences in your applications. FND_TABLES: Stores information about the registered tables in your applications. FND_TERRITORIES: Stores information for countries, alternatively known as territories. FND_USER: Stores information about application users. FND_VIEWS: Stores information about the registered views in your applications.

Attachment in Oracle Application
What is attachment in oracle application? The attachments feature in oracle application enables users to link unstructured data, such as images, word-processing documents, spreadsheets, or text to their application data. For example, users can link images to items or video to operations as operation instructions. Where to find an attachment? There is an attachment icon in the oracle application toolbar that indicates whether the Attachments feature is enabled in a form block. When the button is dimmed, the Attachment feature is not available. When the Attachment feature is enabled in a form block, the icon becomes a solid paper clip. The icon switches to a paper clip holding a paper when the Attachment feature is enabled in a form lock and the current record has at least one attachment. Attachment types: An attached document can be: 1] Short Text

Text stored in the database containing less than 2000 characters. 2] Long Text Text stored in the database containing 2000 characters or more. 3] Image An image that Oracle Forms can display, including: bmp, cals, jfif, jpeg, gif, pcd, pcx, pict, ras, and tif. 4] OLE Object An OLE Object that requires other OLE server applications to view, such as Microsoft Word or Microsoft Excel. 5] Web Page A URL reference to a web page which you can view with your web browser. Tables Involved: For Importing Attachments in oracle application one has to populate following tables. 1. FND_DOCUMENTS 2. FND_ATTACHED_DOCUMENTS 3. FND_DOCUMENTS_TL 4. FND_DOCUMENT_DATATYPES. 5. FND_DOCUMENT_CATEGORIES 6. FND_DOCUMENTS_LONG_TEXT (Long text type attachment). 7. FND_DOCUMENTS_SHORT_TEXT (Short text type attachment). 8. FND_DOCUMENTS_LONG_RAW 9. FND_LOBS (File type attachments). FND_DOCUMENTS: FND_DOCUMENTS stores language-independent information about a document. For example, each row contains a document identifier, a category identifier, the method of security used for the document (SECURITY_TYPE, where 1=Organization,2=Set of Books, 3=Business unit,4=None), the period in which the document is active, and a flag to indicate whether or not the document can be shared outside of the security type (PUBLISH_FLAG). Other specifications in this table include: datatype (DATATYPE_ID, where 1=short text,2=long text, 3=image, 4=OLE object), image type, and storage type (STORAGE_TYPE, where 1=stored in the database, 2=stored in the file system). The document can be referenced by many application entities and changed only in the define document form (USAGE_TYPE=S); it can be used as a fill-in-the-blanks document, where each time you use a template, you make a copy of it (USAGE_TYPE=T); or it can be used only one time (USAGE_TYPE=O).Images and OLE Objects cannot be used as templates. FND_ATTACHED_DOCUMENTS: FND_ATTACHED_DOCUMENTS stores information relating a document to an application entity. For example, a record may link a document to a sales order or an item. Each row contains foreign keys to FND_DOCUMENTS and FND_DOCUMENT_ENTITIES. There is also a flag to indicate whether or not an attachment was created automatically. FND_DOCUMENTS_TL: FND_DOCUMENTS_TL stores translated information about the documents in FND_DOCUMENTS. Each row includes the document identifier, the language the row is translated to, the description of the document, the file in which the image is stored, and an identifier (MEDIA_ID) of the sub-table in which the document is saved (FND_DOCUMENTS_SHORT_TEXT, FND_DOCUMENTS_LONG_TEXT, or FND_DOCUMENTS_LONG_RAW). FND_DOCUMENT_DATATYPES: FND_DOCUMENT_DATATYPES stores the document datatypes that are supported. Initial values are: short text, long text, image, and OLE Object (DATATYPE_ID=1, 2, 3, or 4). Customers can add datatypes to handle documents stored outside of Oracle and use non-native Forms applications to view/edit their documents. The table uses a “duplicate record” model for handling multi-lingual needs. That is, for each category there will be one record with the same CATEGORY_ID and CATEGORY_NAME for each language. FND_DOCUMENT_CATEGORIES: FND_DOCUMENT_CATEGORIES stores information about the categories in which documents are classified. For example, documents may be considered “Bill of Material Comments”, “WIP Job Comments”, etc. Document categories are used to provide a measure of security on documents. Each form that enables the attachment feature lists which categories of documents can be viewed in the form. This table uses a “duplicate record” model for handling multilingual needs. FND_DOCUMENTS_LONG_TEXT: FND_DOCUMENTS_LONG_TEXT stores information about long text documents.

FND_DOCUMENTS_SHORT_TEXT: FND_DOCUMENTS_SHORT_TEXT stores information about short text documents. FND_DOCUMENTS_LONG_RAW: FND_DOCUMENTS_LONG_RAW stores images and OLE Objects, such as Word Documents and Excel spreadsheets, in the database. FND_DOCUMENT_ENTITIES: FND_DOCUMENT_ENTITIES lists each entity to which attachments can be linked. For example, attachments can be linked to Items, Sales Orders, etc. Since the table uses a “duplicate record” model for handling multi-lingual needs, for each document entity there will be one record with the same DOCUMENT_ENTITY_ID and DATA_OBJECT_CODE for each language. Queries: 1] To find all Long Text attachments:
SELECT FAD.SEQ_NUM "Seq Number", FDAT.USER_NAME "Data Type", FDCT.USER_NAME "Category User Name", FAD.ATTACHED_DOCUMENT_ID "Attached Document Id", FDET.USER_ENTITY_NAME "User Entity", FD.DOCUMENT_ID "Document Id", FAD.ENTITY_NAME "Entity Name", FD.MEDIA_ID "Media Id", FD.URL "Url", FDT.TITLE "Title", FDLT.LONG_TEXT "Attachment Text" FND_DOCUMENT_DATATYPES FDAT, FND_DOCUMENT_ENTITIES_TL FDET, FND_DOCUMENTS_TL FDT, FND_DOCUMENTS FD, FND_DOCUMENT_CATEGORIES_TL FDCT, FND_ATTACHED_DOCUMENTS FAD, FND_DOCUMENTS_LONG_TEXT FDLT FD.DOCUMENT_ID AND FDT.DOCUMENT_ID AND FDCT.CATEGORY_ID AND FD.DATATYPE_ID AND FAD.ENTITY_NAME AND FDLT.MEDIA_ID AND FDAT.NAME = = = = = = = FAD.DOCUMENT_ID FD.DOCUMENT_ID FD.CATEGORY_ID FDAT.DATATYPE_ID FDET.DATA_OBJECT_CODE FD.MEDIA_ID 'LONG_TEXT';

FROM

WHERE

2] To find all Short Text attachments:
SELECT FAD.SEQ_NUM "Seq Number", FDAT.USER_NAME "Data Type", FDCT.USER_NAME "Category User Name", FAD.ATTACHED_DOCUMENT_ID "Attached Document Id", FDET.USER_ENTITY_NAME "User Entity", FD.DOCUMENT_ID "Document Id", FAD.ENTITY_NAME "Entity Name", FD.MEDIA_ID "Media Id", FD.URL "Url", FDT.TITLE "Title", FDST.SHORT_TEXT "Attachment Text" FND_DOCUMENT_DATATYPES FDAT, FND_DOCUMENT_ENTITIES_TL FDET, FND_DOCUMENTS_TL FDT, FND_DOCUMENTS FD, FND_DOCUMENT_CATEGORIES_TL FDCT, FND_ATTACHED_DOCUMENTS FAD, FND_DOCUMENTS_SHORT_TEXT FDST FD.DOCUMENT_ID AND FDT.DOCUMENT_ID AND FDCT.CATEGORY_ID = FAD.DOCUMENT_ID = FD.DOCUMENT_ID = FD.CATEGORY_ID

FROM

WHERE

AND AND AND AND

FD.DATATYPE_ID FAD.ENTITY_NAME FDST.MEDIA_ID FDAT.NAME

= = = =

FDAT.DATATYPE_ID FDET.DATA_OBJECT_CODE FD.MEDIA_ID 'SHORT_TEXT';

Attachment upload through API: Attachments can also be uploaded through an oracle provided API called FND_ATTACHED_DOCUMENTS_PKG. It consist of three procedures 1) Insert Row 2) Update Row 3) Lock Row Names of these procedures are self explanatory. insert row is used to insert a new row for attachment data, update row is used to update existing row for a particular row and Lock Row is used to lock a existing row for further modification.

Query to fetch Responsibilities attached to a user:
The below query will fetch the responsibilities assigned to a particular user
SELECT fu.user_id, fu.user_name, fr.responsibility_name, fr.description, fa.application_name

FROM fnd_user fu, fnd_user_resp_groups g, fnd_application_tl fa, fnd_responsibility_tl fr WHERE g.user_id(+) = fu.user_id AND g.responsibility_application_id = fa.application_id AND fa.application_id = fr.application_id AND g.responsibility_id = fr.responsibility_id AND fu.user_name =UPPER('User_Name');

Script to get all the Concurrent Program Request details
Below is the script to get the Concurrent Program Request details by Various Users in a Particular Day.
select request_id, parent_request_id, fcpt.user_concurrent_program_name Request_Name, fcpt.user_concurrent_program_name program_name, DECODE(fcr.phase_code, 'C','Completed', 'I','Incactive', 'P','Pending', 'R','Running') phase, DECODE(fcr.status_code, 'D','Cancelled', 'U','Disabled', 'E','Error', 'M','No Manager', 'R','Normal', 'I','Normal', 'C','Normal', 'H','On Hold', 'W','Paused', 'B','Resuming', 'P','Scheduled', 'Q','Standby', 'S','Suspended', 'X','Terminated', 'T','Terminating', 'A','Waiting', 'Z','Waiting', 'G','Warning','N/A') status, round((fcr.actual_completion_date - fcr.actual_start_date),3) * 1440 as Run_Time, round(avg(round(to_number(actual_start_date - fcr.requested_start_date),3) * 1440),2)

fnd_concurrent_requests fcr.fnd_concurrent_programs fcp.actual_start_date. fcr.application_id and fcp.status_code = 'C' GROUP BY request_id. 'MM/DD/YY HH24:mi:SS') ACT_COMP.resubmit_interval.phase_code. fcr. fcr.resubmit_interval_unit_code.user_concurrent_program_name. fcr.and fcr. apps.and fcpt.completion_text From apps. fcr. fcr. parent_request_id.and fu.wait_time.application_id = fcpt. fcr. Create or check the interface table structures in the backend.language = 'US' and fcr. fcr.requested_start_date. fu. fu. Step 1] Create the SQL*Loader Control and Data file and place them in Server(ex: $CUSTOM_TOP/bin). fcr.concurrent_program_id = fcp. to_char(actual_start_date.concurrent_program_id and fcr.phase_code = 'C' -. fcr. 'MM/DD HH24:mi:SS') requested_start. apps.fnd_concurrent_programs_tl fcpt. fcr.actual_completion_date. Control file: test.and fcr.resubmit_interval. fcr.User_Name.description Order by 1 desc.status_code.argument_text parameters.request_id = 1565261 -.concurrent_program_id = fcpt.requested_by = fu. apps.concurrent_program_id and fcp.fnd_user fu Where 1=1 -.user_concurrent_program_name = 'Payables Open Interface Import'' and fcr.actual_start_date like sysdate -. to_char (fcr.and fcr. 'MM/DD/YY HH24:mi:SS') ACT_START.application_id and fcr.user_id and fcpt. to_char(actual_completion_date. fcr.User_Name Requestor.argument_text.completion_text. Registering SQL*Loader as a Concurrent Program The following steps will describe the process to register a SQL*Loader program as a Concurrent Program in Oracle Apps. fcpt.ctl .and hold_flag = 'Y' -.requested_start_date.user_name = 'DJKOCH' ' -.program_application_id = fcp.

Define a Concurrent Program Executable. Step 2] Go to Application Developer > Concurrent > Executables. Attach the executable defined above. . loc VARCHAR2(13)). dname VARCHAR2(14). Define the Concurrent Program. Choose the Execution Method as SQL*Loader and give the Execution File Name as the name of the SQL*Loader control file.dat view source print? 1 2 3 4 CREATE TABLE testdept (deptno NUMBER(2) NOT NULL.Data file: test. Step 3] Go to Application Developer > Concurrent > Program. Save your work.

——————— DEPTNO FIRST * . You can also place the default value. O(“) CHARACTER . Insert option in effect for this table: INSERT Column Name Position Len Term Encl Datatype —————————— ———. Create a parameter to take the server path of the data file. Step 5] Attach the Concurrent program to a Responsibility through a Request Group. maximum of 256000 bytes Continuation: none specified Path used: Conventional Table TESTDEPT.—– —. Step 6] Go to that Responsibility and Run the Concurrent Program.—.Step 4] Go to parameters of the concurrent program. If successful check the output file that have all data uploading information. loaded from every logical record. Number to load: ALL Number to skip: 0 Errors allowed: 50 Bind array: 64 rows.

Here is a brief comparison between KFF and DFF: . Space allocated for bind array:49536 bytes(64 rows) Read buffer bytes: 1048576 Total logical records skipped: 0 Total logical records read: 7 Total logical records rejected: 0 Total logical records discarded: 0 Run began on Thu Aug 12 09:41:55 2010 Run ended on Thu Aug 12 09:41:56 2010 Elapsed time was: 00:00:00.01 Step 7] Check in the backend whether the tables got updated or not. A key flexfield appears on your form as a normal text field with an appropriate prompt while a descriptive flexfield appears on your form as a two–character–wide text field with square brackets [ ] as its prompt. KFF vs. There are two types of flexfields: key flexfields and descriptive flexfields. O(“) CHARACTER Table TESTDEPT: 7 Rows successfully loaded. DFF: A Comparison A flexfield in Oracle Application is a field made up of sub–fields. The Bad and Discard files will be created in /conc/out file of the server.DNAME NEXT * . 0 Rows not loaded because all fields were null. 0 Rows not loaded because all WHEN clauses were failed. or segments. O(“) CHARACTER LOC NEXT * . They are basically used to implement code structure or to capture additional information. 0 Rows not loaded due to data errors.11 CPU time was: 00:00:00.

you can enter values into each corresponding value set using the Segment Values form. You can specify the format of your values. the one at value set level and other at individual segment or parameter level. • Minimum and Maximum Value Range o Your Minimum/maximum value may not be longer than the maximum size you specify for this value set. .AOL : Valueset – A Beginner’s Guide What is value set in Oracle application AOL? • Value set is primarily a container for your values. • Independent o Provides a predefined list of values. use the format types Standard Date and Standard Date Time. o Independent values are stored in an Oracle Application Object Library table. o Only Format Validations will be done. we are defining will be kept in the Oracle Application Object Library tables. and Standard Request Submission (value sets for report parameters for your reports that use the Standard Request Submission feature). • Oracle Application Object Library uses value sets as important components of key flexfields. When you make security available for a value set. How many Character Formatting Options have for value set? • Numbers Only (0 – 9) o We cannot prevent users from entering a value that contains the radix character. we can define value security rules for ranges of flexfield and report parameter values. • Right justify and Zero fill Numbers(001) o If you have selected Numbers Only (0-9) flag. all segments and report parameters that use that value set can use security. There are two levels where you must activate Security. You make Flex field Value Security available for your value set by choosing Hierarchical Security or Non-Hierarchical Security for the Security Type. What is Security type in value set? • By Security Rules window. o Cannot be used in Translatable Independent and Translatable Dependent value sets. • Choose Hierarchical Security. How many validation Type does value set have? There are several validation types that affect the way users enter and use segment or parameter values: • None (not validated at all) o Allow users to enter any value. you define your value set such that it can control the types of values that are allowed into the value set (either predefined or nonvalidated). you cannot define a new valid value that falls outside this range. You then enable security for a particular segment or parameter. o Once you specify a range of values. o The Minimum Value and Maximum Value fields can therefore allow you to create a value set with a validation type of None. • Values for the Value Sets. o We are recommended to use this in Accounting Flex fields. If you want Security on a parent value to Cascade down to its child value or else you can choose Non-Hierarchical Security. When to defining Values for Value Sets? • After you register your Flexfields & report parameters. if you are using independent or dependent value sets. descriptive flexfields. • Uppercase Only(A-Z) o Here also we cannot use in Translatable Independent and Translatable Dependent value sets. How many Format Types the value set have? • Char • Date • DateTime • Number • Standard Date • Standard Date Time • Time You should take a note that Date and Date Time value set formats will be obsolete now and are provided for backward compatibility only. For new value sets. then it wont allow you to affect this flag.

o Similarly.Option_name. yet the values will be validated against a hidden value that is not translated. You can call flex field routines and use a complete flex field as the value passed by this value set. • Special o Special validation value sets allow you to call key flex field user exits to validate a flex field segment or report parameter using a flex field within a flex field mechanism. Translatable Independent and Translatable Dependent value sets allow you to use hidden values and displayed (translated) values in your value sets. o We can convert the Independent value set to a Translatable Independent value set. o You can use any existing application table. except the List of Values shown to you will depends on which the Independent value you have selected in the Prior Segment. or synonym as a validation table. when you specify :$FLEX$.Value_Set_Name. or else it wont allow you to enter into that segment or field.field in the WHERE clause. o If the Hidden Id column is provided the value passed to the report will be Hidden and not the Value column. Do we have any restriction on value set? • . your flex field segment or report parameter defaults to always use the hidden ID column to compare with your WHERE clause . then we have to Create the necessary grants and synonyms to APPS Schema. o Advisable to create your independent values first. o The value column and the defined ID column in the table must return a unique row for a given value or ID.Value_set_name. view. or a Dependent value set to a Translatable Dependent value set. o You can also use validation tables with other special arguments to make your segments depend on profile options or field values. These are the only types of conversions allowed. o If we are using non registered table for your value set. o Must define your independent value set before you define the dependent value set that depends on it. :block. o Must create at least one dependent value for each independent value.Dependent o Same like Independent Value Set. FNDLOAD is utility which can be used for moving value set across different environment. • Translatable Independent & Translatable Dependent o These value sets are similar to Independent and Dependent value sets except that translated values can be displayed to the user. o We can use Special BIND variable such as :$PROFILES$. • Pair o Pair validation value set allows user to pass a range of concatenated Flex field segments as parameters to a report. In this way your users can see a value in their preferred languages. Which Oracle table store Value sets and underline information? • FND_FLEX_VALUE_HIERARCHIES • FND_FLEX_VALUE_SETS • FND_ID_FLEX_SEGMENTS • FND_FLEX_VALUE_NORM_HIERARCHY • FND_FLEX_HIERARCHIES • FND_FLEX_VALUE • FND_FLEX_VALIDATION_EVENTS • FND_FLEX_VALUE_RULE_LINES • FND_FLEX_VALUE_RULE • FND_FLEX_VALUE_RULE_USAGE • FND_RESPONSIBLITY • FND_TABLES • FND_FLEX_VALIDATION_TABLES Any method to upload flexfield value? Yes. :$FLEX$. • Table o It use your own application tables as value sets for flex field segments and report parameters instead of the special values tables which Oracle Applications provides.

o We can only use columns selected for the table-validated value set must be of type NUMBER. here are some listed one: • Table Validated Value Sets o We cannot use table-validated id value sets for any accounting flexfield or any other key flexfields. Format type is CHAR. o Support for SQL expression in columns of Table Validated value sets will be obsolete in future release. value should be unique. Lets now define a simple value set in R12: Step 1: Go to Application Developer. o Must have “Char” format type. value and id of table validated value sets.Yes. :$PROFILES$ in table name. PL/SQL APIs will not be able to validate them. Step 2: Go to Application Developer. Save the work. • Special/Pair valuesets o Special/Pair value sets are user-exit value sets . In a non-id value set. and select menu /Validation/Set Create a value set name as COUNTRY_LIST which will contain a list of countries. the value can be non-unique but id should be unique. • Translatable Independent and Translatable Dependent Valuesets o The Numbers Only and Uppercase Only option cannot be used. Step 3: Enter the country details in this window. and select menu /Validation/Values The below window will appear. o We cannot use :$FLEX$. o We cannot use DISTINCT clause in any of the column fields or in the WHERE clause of a table validate value set. o In an id value set. Make it an independent value set. Put the Search Name as COUNTRY_LIST and click Find. . Save the work. DATE or VARCHAR2.

Concurrent Program: An instance of an execution file. an Oracle Tool such as Oracle Reports or SQL*Plus. Concurrent Request: A request to run a concurrent program as a concurrent process.Now the value set is ready to be used in any concurrent program. Standard Manager (SM) : This takes care of report running and batch jobs 3. Concurrent Manager: A program that processes user’s requests and runs concurrent programs. or an operating system host language. Phases and Statuses through which a concurrent request runs: A concurrent request proceeds through three. each having different parameter defaults and incompatibilities. We cannot delete a concurrent manager… but we can disable it… but it’s not recommended. But there are 3 MASTER CONCURRENT MANAGERS: 1. life cycle stages or phases: • Pending Request is waiting to be run • Running Request is running • Completed Request has finished • Inactive Request cannot be run Within each phase. a request’s condition or status may change. Conflict Resolution Manager (CRM): checks concurrent program definitions for incompatibility checks. System Administrators define concurrent managers to run different kinds of requests. An execution method can be a PL/SQL Stored Procedure. along with parameter definitions and incompatibilities. Concurrent Queue: List of concurrent requests awaiting to be processed by a concurrent manager. Concurrent Program Executable: An executable file that performs a specific task. Internal Concurrent Manager (ICM): This is the one which monitors all other CMs 2. Concurrent Process: An instance of a running concurrent program that runs simultaneously with other concurrent processes. The file may be a program written in a standard language. Several concurrent programs may use the same execution file to perform their specific tasks. Concurrent Request Phase and Status Phase: PENDING . ORCLE APPS CONCURRENT PROCESS: This article gives an introduction of Concurrent Processing in Oracle Application. Below appears a listing of each phase and the various states that a concurrent request can go through. a reporting tool or an operating system language. There are many concurrent managers each monitoring the flow within each apps area. possibly four. a spawned process.

• Paused: Parent request pauses for all its child requests to complete. • Cancelled: Pending or Inactive request is cancelled. FND_STANDARD package is used for this purpose.Normal: Request is waiting for the next available manager. • Error: Request failed to complete successfully. 1) Created by 2) Creation date 3) Last _updated_by 4) last_update_date 5) last_update_login  Use fnd_profile.SET_WHO Procedure is used to update the WHO columns in a Table when a DML operation s (i. Phase:COMPLETED • Normal: Request completes normally. Different execution methods of executabls: • FlexRpt The execution file is written using the FlexReport API. a report is generated successfully but fails to print. • PL/SQL Stored Procedure The execution file is a stored procedure. Phase:INACTIVE • Disabled: Program to run request is not enabled. • SQL*Plus The execution file is a SQL*Plus script. • Oracle Reports The execution file is an Oracle Reports file. Scheduled: Request is scheduled to start at a future time or date. Contact your system administrator. FND_STANDARD. by selecting Hold in the Status field of the Request Details zone. • Spawned The execution file is a C or Pro*C program. INSERT.VALUE (‘USER_ID’) for retrieving the user_id which will be used by created_by column. • No Manager: No manager is defined to run the request. UPDATE) performed. • Terminated: Running request is terminated. • SQL*Loader The execution file is a SQL script. by selecting Terminate in the Status field of the Request Details zone. Phase:RUNNING • Normal: Request is running normally. • Resuming: All requests submitted by the same parent request have completed running. Waiting: A child request is waiting for its Parent request to mark it ready to run. The Parent request is waiting to be restarted. • Host The execution file is a host script. • Terminating: Running request is terminated. • SQL*Report The execution file is a SQL*Report script. • Immediate The execution file is a program written to run as a subroutine of the concurrent manager.e. For example. Output formats of a concurrent program: • HTML • PDF • TEXT • PS (Post Script) • PCL(HP’s Printer Control Language) • • • • Category Archives: AOL WHO COLUMNS 05 Sep WHO COLUMNS WHO columns are used to track the information updated or inserted by the users against the tables. Standby: Program to run request is incompatible with other program(s) currently running. • On Hold: Pending request is placed on hold. • Warning: Request completes with warnings. by selecting Terminate in the Status field of the Request Details zone. by selecting Cancel in the Status field of the Request Details zone. • FlexSql The execution file is written using the FlexSql API. . Check with your system administrator.

2010 in AOL Tags: FND_STANDARD. FND_CONCURRENT_REQUESTS: Stores information about individual concurrent requests. FND_DATABASES: It tracks the databases employed by the eBusiness suite. Creation date and last_update_date will be normally SYSDATE. Oracle Apps. according to its work shift. FND_STANDARD. FND_CURRENCIES: Stores information about currencies. FND_APP_SERVERS: This table will track the servers used by the E-Business Suite system. FND_CONCURRENT_QUEUES: Stores information about concurrent managers. FND_CONCURRENT_PROCESSES: Stores information about concurrent managers. FND_DESCRIPTIVE_FLEXS: Stores setup information about descriptive flexfields. FND_CONCURRENT_PROGRAMS: Stores information about concurrent programs. FND_DESCRIPTIVE_FLEXS_TL: Stores translated setup information about descriptive flexfields.  Use USERENV (‘SESSIONID’) for getting the last_update_login id. Every database has one or more instance. . FND_DOCUMENTS: Stores language-independent information about a document. FND_EXECUTABLES: Stores information about concurrent program executables. FND_CONCURRENT_REQUEST_CLASS: Stores information about concurrent request types. Oracle AOL. FND_FLEX_VALUES: Stores valid values for key and descriptive flexfield segments.SET_WHO. FND_ATTACHED_DOCUMENTS: Stores information relating a document to an application entity. Leave a comment Posted by Dibyajyoti Koch on September 5. FND_CONCURRENT_PROCESSORS: Stores information about immediate (subroutine) concurrent program libraries. FND_APPLICATION: Stores applications registered with Oracle Application Object Library. WHO COLUMNS Key FND Tables in Oracle Application 04 Sep Key FND Tables in Oracle Application Here there are few key FND tables that we use in our AOL queries. FND_DATABASE_INSTANCES: Stores instance specific information. Each row includes a name and description of the concurrent program. FND_CONCURRENT_PROGRAMS_TL: Stores translated information about concurrent programs in each of the installed languages.  last_updated_by is same as created_by. FND_CONCURRENT_QUEUE_SIZE: Stores information about the number of requests a concurrent manager can process at once. FND_APPLICATION_TL: Stores translated information about all the applications registered with Oracle Application Object Library. This table stores information about the database that is not instance specific. FND_CONC_REQ_OUTPUTS: This table stores output files created by Concurrent Request.

Security exclusion rules are lists of functions and menus inaccessible to a particular responsibility. When the button is dimmed. Oracle AOL. Where to find an attachment? There is an attachment icon in the oracle application toolbar that indicates whether the Attachments feature is enabled in a form block. When the Attachment feature is enabled in a form block. Each row includes the name and description of the responsibility. FND_RESPONSIBILITY: Stores information about responsibilities. FND_SEQUENCES: Stores information about the registered sequences in your applications. FND_REQUEST_GROUPS: Stores information about report security groups. the application it belongs to. the Attachment feature is not available. For example. FND_MENU_ENTRIES: Stores information about individual entries in the menus in FND_MENUS. such as images. and the first form that it uses. Apps Tables Tags: FND Tables. the icon becomes a solid paper clip. FND_MENUS_TL: Stores translated information about the menus in FND_MENUS. FND_RESP_FUNCTIONS: Stores security exclusion rules for function security menus. FND_MENUS: It lists the menus that appear in the Navigate Window. FND_TERRITORIES: Stores information for countries. alternatively known as territories. Attachment types: . FND_TABLES: Stores information about the registered tables in your applications. FND_LANGUAGES: Stores information regarding languages and dialects.FND_FLEX_VALUE_SETS: Stores information about the value sets used by both key and descriptive flexfields. FND_VIEWS: Stores information about the registered views in your applications. 1 Comment Posted by Dibyajyoti Koch on September 4. word-processing documents. FND_RESPONSIBILITY_TL: Stores translated information about responsibilities. 2010 in AOL. FND_USER: Stores information about application users. FND_REQUEST_SETS: Stores information about report sets. FND_PROFILE_OPTIONS: Stores information about user profile options. FND_SECURITY_GROUPS: Stores information about security groups used to partition data in a Service Bureau architecture. as determined by the System Administrator when defining responsibilities for function security. users can link images to items or video to operations as operation instructions. and values that identify the main menu. spreadsheets. Oracle Apps Attachment in Oracle Application 02 Sep Attachment in Oracle Application What is attachment in oracle application? The attachments feature in oracle application enables users to link unstructured data. or text to their application data. The icon switches to a paper clip holding a paper when the Attachment feature is enabled in a form lock and the current record has at least one attachment.

5. 4=OLE object). 2=stored in the file system). jpeg. jfif. FND_DOCUMENT_DATATYPES: FND_DOCUMENT_DATATYPES stores the document datatypes that are supported. “WIP Job Comments”. documents may be considered “Bill of Material Comments”. FND_DOCUMENT_CATEGORIES: FND_DOCUMENT_CATEGORIES stores information about the categories in which documents are classified. FND_DOCUMENTS_TL: FND_DOCUMENTS_TL stores translated information about the documents in FND_DOCUMENTS. Each form that enables the attachment feature lists which categories of documents can be viewed in the form. 5] Web Page A URL reference to a web page which you can view with your web browser. the method of security used for the document (SECURITY_TYPE. . Initial values are: short text. For example. and tif. image. where 1=short text. where 1=stored in the database. and a flag to indicate whether or not the document can be shared outside of the security type (PUBLISH_FLAG). the period in which the document is active. FND_DOCUMENTS 2. FND_DOCUMENTS_SHORT_TEXT (Short text type attachment). Each row includes the document identifier. FND_LOBS (File type attachments). ras. each row contains a document identifier. That is. and storage type (STORAGE_TYPE. The table uses a “duplicate record” model for handling multi-lingual needs. image type. or FND_DOCUMENTS_LONG_RAW). 4] OLE Object An OLE Object that requires other OLE server applications to view. long text. FND_DOCUMENT_CATEGORIES 6.2=long text. FND_DOCUMENT_DATATYPES. FND_ATTACHED_DOCUMENTS: FND_ATTACHED_DOCUMENTS stores information relating a document to an application entity. or it can be used only one time (USAGE_TYPE=O). or 4). 3. 8.4=None). 2] Long Text Text stored in the database containing 2000 characters or more.An attached document can be: 1] Short Text Text stored in the database containing less than 2000 characters. 1. a record may link a document to a sales order or an item. pcx. FND_DOCUMENTS: FND_DOCUMENTS stores language-independent information about a document. 3=image. such as Microsoft Word or Microsoft Excel. you make a copy of it (USAGE_TYPE=T). gif. pict. FND_DOCUMENTS_LONG_RAW 9. 7. and OLE Object (DATATYPE_ID=1. the description of the document. The document can be referenced by many application entities and changed only in the define document form (USAGE_TYPE=S). FND_ATTACHED_DOCUMENTS 3. 3=Business unit. and an identifier (MEDIA_ID) of the sub-table in which the document is saved (FND_DOCUMENTS_SHORT_TEXT. There is also a flag to indicate whether or not an attachment was created automatically. For example. including: bmp. Each row contains foreign keys to FND_DOCUMENTS and FND_DOCUMENT_ENTITIES. the file in which the image is stored.2=Set of Books. 2. cals. etc. Other specifications in this table include: datatype (DATATYPE_ID. it can be used as a fill-in-the-blanks document. a category identifier. pcd. Customers can add datatypes to handle documents stored outside of Oracle and use non-native Forms applications to view/edit their documents. the language the row is translated to. Document categories are used to provide a measure of security on documents. 3] Image An image that Oracle Forms can display. for each category there will be one record with the same CATEGORY_ID and CATEGORY_NAME for each language. FND_DOCUMENTS_TL 4. FND_DOCUMENTS_LONG_TEXT (Long text type attachment). For example. FND_DOCUMENTS_LONG_TEXT. where 1=Organization. Tables Involved: For Importing Attachments in oracle application one has to populate following tables.Images and OLE Objects cannot be used as templates. where each time you use a template. This table uses a “duplicate record” model for handling multilingual needs.

FD. Since the table uses a “duplicate record” model for handling multi-lingual needs.DOCUMENT_ID FD. FND_DOCUMENTS_LONG_RAW: FND_DOCUMENTS_LONG_RAW stores images and OLE Objects. FDET.ENTITY_NAME AND FDLT. FDET. etc.USER_ENTITY_NAME "User Entity". FDAT. FAD.DOCUMENT_ID AND FDCT.ATTACHED_DOCUMENT_ID "Attached Document Id".SEQ_NUM "Seq Number". FDLT. FND_DOCUMENTS_TL FDT.USER_NAME "Category User Name". attachments can be linked to Items. Sales Orders. FND_DOCUMENT_ENTITIES: FND_DOCUMENT_ENTITIES lists each entity to which attachments can be linked. such as Word Documents and Excel spreadsheets.NAME = = = = = = FAD.ATTACHED_DOCUMENT_ID "Attached Document Id".FND_DOCUMENTS_LONG_TEXT: FND_DOCUMENTS_LONG_TEXT stores information about long text documents.CATEGORY_ID FDAT.TITLE "Title".DOCUMENT_ID "Document Id".SEQ_NUM "Seq Number". For example. FND_DOCUMENTS FD. FND_DOCUMENTS_LONG_TEXT FDLT FD.CATEGORY_ID AND FD.DATA_OBJECT_CODE FD. in the database. FDCT.URL "Url". Queries: 1] To find all Long Text attachments: view source print? 01 SELECT 02 03 04 05 06 07 08 09 10 11 12 13 FROM 14 15 16 17 18 19 20 21 WHERE 22 23 24 25 26 27 28 FAD. 2] To find all Short Text attachments: view source print? 01 SELECT 02 03 04 05 06 FAD.USER_NAME "Data Type".ENTITY_NAME "Entity Name".DOCUMENT_ID FD.MEDIA_ID "Media Id".USER_NAME "Data Type". .MEDIA_ID = 'LONG_TEXT'. for each document entity there will be one record with the same DOCUMENT_ENTITY_ID and DATA_OBJECT_CODE for each language. FDAT.USER_NAME "Category User Name".USER_ENTITY_NAME "User Entity".DATATYPE_ID FDET.DATATYPE_ID AND FAD. FDCT. FDT.MEDIA_ID AND FDAT. FAD. FND_DOCUMENT_CATEGORIES_TL FDCT.LONG_TEXT "Attachment Text" FND_DOCUMENT_DATATYPES FDAT. FAD. FND_DOCUMENT_ENTITIES_TL FDET. FND_ATTACHED_DOCUMENTS FAD. FD. FND_DOCUMENTS_SHORT_TEXT: FND_DOCUMENTS_SHORT_TEXT stores information about short text documents.DOCUMENT_ID AND FDT. FD.

CATEGORY_ID AND FD.DATATYPE_ID FDET.DATATYPE_ID AND FAD. FDT. 04 fr. 2010 in AOL Tags: Attachment. attachment API. 06 fa.ENTITY_NAME AND FDST.DOCUMENT_ID "Document Id". Oracle AOL. FND_DOCUMENTS_LONG_TEXT.DATA_OBJECT_CODE FD. FND_DOCUMENTS_SHORT_TEXT FDST FD.description. Oracle SysAdmin Query to fetch Responsibilities attached to a User 02 Sep Query to fetch Responsibilities attached to a user: The below query will fetch the responsibilities assigned to a particular user. FND_DOCUMENT_ENTITIES_TL FDET. FND_DOCUMENTS_TL FDT.DOCUMENT_ID FD. insert row is used to insert a new row for attachment data.MEDIA_ID = 'SHORT_TEXT'.DOCUMENT_ID FD.CATEGORY_ID FDAT. 03 fu. view source print? 01 SELECT 02 fu.TITLE "Title".MEDIA_ID AND FDAT.responsibility_name.application_name 07 08 FROM fnd_user fu. 10 fnd_application_tl fa. 05 fr. update row is used to update existing row for a particular row and Lock Row is used to lock a existing row for further modification. Oracle Apps. FDST. It consist of three procedures 1) Insert Row 2) Update Row 3) Lock Row Names of these procedures are self explanatory.07 08 09 10 11 12 13 FROM 14 15 16 17 18 19 20 21 WHERE 22 23 24 25 26 27 28 FD. Leave a comment Posted by Dibyajyoti Koch on September 2. FND_ATTACHED_DOCUMENTS. 09 fnd_user_resp_groups g.user_id. FND_DOCUMENTS FD.ENTITY_NAME "Entity Name".DOCUMENT_ID AND FDT. FD. FND_ATTACHED_DOCUMENTS FAD. FND_DOCUMENTS. FAD.DOCUMENT_ID AND FDCT. FND_DOCUMENT_CATEGORIES_TL FDCT. FD.MEDIA_ID "Media Id". 11 fnd_responsibility_tl fr . FND_ATTACHED_DOCUMENTS_PKG.SHORT_TEXT "Attachment Text" FND_DOCUMENT_DATATYPES FDAT.user_name. Attachment upload through API: Attachments can also be uploaded through an oracle provided API called FND_ATTACHED_DOCUMENTS_PKG.NAME = = = = = = FAD.URL "Url".

fcr. 'MM/DD/YY HH24:mi:SS') ACT_START. 2010 in AOL.'Cancelled'.'Disabled'.user_concurrent_program_name program_name. 'E'.phase_code.user_id 15 AND g.user_concurrent_program_name Request_Name.application_id 17 AND g. DECODE(fcr. fcpt. to_char(actual_start_date. Oracle Apps. 'X'.'Normal'.'Terminating'.application_id = fr. Oracle SysAdmin.3) * 1440 as Run_Time. fcr. parent_request_id. 'MM/DD/YY HH24:mi:SS') ACT_COMP. 'I'. 'W'.'Warning'.application_id 16 AND fa. 'I'.user_id(+) = fu.requested_start_date. 'G'. round((fcr.'On Hold'. 'R'.'Terminated'.requested_start_date). 'T'.responsibility_id 18 AND fu.'Paused'. 'M'. round(avg(round(to_number(actual_start_date .actual_start_date). Responsibilities attached to a User Script to get all the Concurrent Program Request details 18 Aug Script to get all the Concurrent Program Request details Below is the script to get the Concurrent Program Request details by Various Users in a Particular Day.'Incactive'. 'MM/DD HH24:mi:SS') requested_start. 'Z'.'Pending'. fcpt. 'C'.'Resuming'.fcr.'Suspended'. 'U'.responsibility_application_id = fa. Leave a comment Posted by Dibyajyoti Koch on September 2.responsibility_id = fr. to_char (fcr.'Waiting'.'No Manager'. DECODE(fcr. 'P'.'Scheduled'.'Waiting'. 'P'. 'H'.completion_text . Script Tags: Oracle AOL. fu. 'B'. fcr. 'C'.'Error'.argument_text parameters.'Normal'.'Running') phase. 'R'.User_Name Requestor.user_name =UPPER('User_Name'). to_char(actual_completion_date. 'S'.2) wait_time.3) * 1440).'N/A') status.'Completed'.'Standby'.'Normal'. 'Q'. 'A'. 'D'. view source print? select request_id.actual_completion_date .12 13 WHERE 14 g.status_code.

Leave a comment Posted by Dibyajyoti Koch on August 18.user_concurrent_program_name = 'Payables Open Interface Import'' and fcr. fcr.and fcr.concurrent_program_id and fcp. fcr.request_id = 1565261 -.status_code. apps.and fu.fnd_concurrent_requests fcr.completion_text.concurrent_program_id and fcr.actual_completion_date.description Order by 1 desc. 2010 in AOL.application_id and fcr.phase_code.fnd_user fu Where 1=1 -. fcr. Script Registering SQL*Loader as a Concurrent Program 12 Aug Registering SQL*Loader as a Concurrent Program The following steps will describe the process to register a SQL*Loader program as a Concurrent Program in Oracle Apps.From apps.User_Name.and hold_flag = 'Y' -.language = 'US' and fcr. apps.status_code = 'C' GROUP BY request_id. fcr.resubmit_interval_unit_code. fu.phase_code = 'C' -.concurrent_program_id = fcpt.resubmit_interval.actual_start_date.requested_by = fu.fnd_concurrent_programs fcp. fcr. fcr.application_id = fcpt.user_concurrent_program_name.concurrent_program_id = fcp. fcpt.application_id and fcp. Step 1] Create the SQL*Loader Control and Data file and place them in Server(ex: $CUSTOM_TOP/bin). Concurrent Request. Oracle AOL. fcr.actual_start_date like sysdate -.requested_start_date.user_id and fcpt.and fcr. Create or check the interface table structures in the backend.and fcpt.argument_text. fcr.and fcr.resubmit_interval. parent_request_id. Script Tags: Concurrent Program.fnd_concurrent_programs_tl fcpt. fcr. apps. fcr. fcr. .user_name = 'DJKOCH' ' -.program_application_id = fcp.

Save your work. Step 3] Go to Application Developer > Concurrent > Program.Control file: test.dat view source print? 1 2 3 4 CREATE TABLE testdept (deptno NUMBER(2) NOT NULL. . Define the Concurrent Program. Choose the Execution Method as SQL*Loader and give the Execution File Name as the name of the SQL*Loader control file. Step 2] Go to Application Developer > Concurrent > Executables. Attach the executable defined above. loc VARCHAR2(13)). Define a Concurrent Program Executable. dname VARCHAR2(14).ctl Data file: test.

Step 6] Go to that Responsibility and Run the Concurrent Program.—– —. loaded from every logical record. If successful check the output file that have all data uploading information. Create a parameter to take the server path of the data file. Insert option in effect for this table: INSERT Column Name Position Len Term Encl Datatype —————————— ———. Number to load: ALL Number to skip: 0 Errors allowed: 50 Bind array: 64 rows.—. Step 5] Attach the Concurrent program to a Responsibility through a Request Group. You can also place the default value.Step 4] Go to parameters of the concurrent program. maximum of 256000 bytes Continuation: none specified Path used: Conventional Table TESTDEPT.——————— DEPTNO FIRST * . O(“) CHARACTER .

or segments. DFF: A Comparison A flexfield in Oracle Application is a field made up of sub–fields.11 CPU time was: 00:00:00. O(“) CHARACTER LOC NEXT * .01 Step 7] Check in the backend whether the tables got updated or not. SQL*Loader Tags: Concurrent Program. O(“) CHARACTER Table TESTDEPT: 7 Rows successfully loaded. 1 Comment Posted by Dibyajyoti Koch on August 12. There are two types of flexfields: key flexfields and descriptive flexfields. 0 Rows not loaded due to data errors. A key flexfield appears on your form as a normal text field with an appropriate prompt while a descriptive flexfield appears on your form as a two–character–wide text field with square brackets [ ] as its prompt. DFF: A Comparison 02 Jul KFF vs. Space allocated for bind array:49536 bytes(64 rows) Read buffer bytes: 1048576 Total logical records skipped: 0 Total logical records read: 7 Total logical records rejected: 0 Total logical records discarded: 0 Run began on Thu Aug 12 09:41:55 2010 Run ended on Thu Aug 12 09:41:56 2010 Elapsed time was: 00:00:00. The Bad and Discard files will be created in /conc/out file of the server. Oracle. SQL*LOADER KFF vs. 2010 in AOL. 0 Rows not loaded because all WHEN clauses were failed. Here is a brief comparison between KFF and DFF: . Registering SQL*Loader.DNAME NEXT * . 0 Rows not loaded because all fields were null. They are basically used to implement code structure or to capture additional information.

we are defining will be kept in the Oracle Application Object Library tables. When you make security available for a value set. There are two levels where you must activate Security. descriptive flexfields. For new value sets. and Standard Request Submission (value sets for report parameters for your reports that use the Standard Request Submission feature). You make Flex field Value Security available for your value set by choosing Hierarchical Security or Non-Hierarchical Security for the Security Type. we can define value security rules for ranges of flexfield and report parameter values. DFF Leave a comment Posted by Dibyajyoti Koch on July 2. When to defining Values for Value Sets? • After you register your Flexfields & report parameters. • Oracle Application Object Library uses value sets as important components of key flexfields. You can specify the format of your values. you define your value set such that it can control the types of values that are allowed into the value set (either predefined or nonvalidated). Oracle SysAdmin AOL : Valueset :A Beginner’s Guide 01 Jul AOL : Valueset – A Beginner’s Guide What is value set in Oracle application AOL? • Value set is primarily a container for your values. Oracle AOL. How many Format Types the value set have? • Char • Date • DateTime • Number • Standard Date • Standard Date Time • Time You should take a note that Date and Date Time value set formats will be obsolete now and are provided for backward compatibility only. the one at value set level and other at individual segment or parameter level. if you are using independent or dependent value sets. you can enter values into each corresponding value set using the Segment Values form. What is Security type in value set? • By Security Rules window. key flexfields. flexfields segments. 2010 in AOL Tags: descriptive flexfields. • Values for the Value Sets. use the format types Standard Date and Standard Date Time.KFF vs. all segments and .

o Must create at least one dependent value for each independent value. • Table o It use your own application tables as value sets for flex field segments and report parameters instead of the special values tables which Oracle Applications provides. you cannot define a new valid value that falls outside this range. or synonym as a validation table. or else it wont allow you to enter into that segment or field. o We can use Special BIND variable such as :$PROFILES$. o If we are using non registered table for your value set. o Advisable to create your independent values first. • Independent o Provides a predefined list of values. o The Minimum Value and Maximum Value fields can therefore allow you to create a value set with a validation type of None. then it wont allow you to affect this flag.Option_name. • Pair . How many Character Formatting Options have for value set? • Numbers Only (0 – 9) o We cannot prevent users from entering a value that contains the radix character. o Must define your independent value set before you define the dependent value set that depends on it.Value_Set_Name. o The value column and the defined ID column in the table must return a unique row for a given value or ID.report parameters that use that value set can use security. o Similarly. when you specify :$FLEX$. • Special o Special validation value sets allow you to call key flex field user exits to validate a flex field segment or report parameter using a flex field within a flex field mechanism. your flex field segment or report parameter defaults to always use the hidden ID column to compare with your WHERE clause . :block. o Independent values are stored in an Oracle Application Object Library table. o Once you specify a range of values. • Choose Hierarchical Security. o If the Hidden Id column is provided the value passed to the report will be Hidden and not the Value column. How many validation Type does value set have? There are several validation types that affect the way users enter and use segment or parameter values: • None (not validated at all) o Allow users to enter any value. • Minimum and Maximum Value Range o Your Minimum/maximum value may not be longer than the maximum size you specify for this value set.field in the WHERE clause. o Cannot be used in Translatable Independent and Translatable Dependent value sets. except the List of Values shown to you will depends on which the Independent value you have selected in the Prior Segment. You then enable security for a particular segment or parameter. You can call flex field routines and use a complete flex field as the value passed by this value set. • Right justify and Zero fill Numbers(001) o If you have selected Numbers Only (0-9) flag. :$FLEX$. view.Value_set_name. o You can use any existing application table. • Uppercase Only(A-Z) o Here also we cannot use in Translatable Independent and Translatable Dependent value sets. If you want Security on a parent value to Cascade down to its child value or else you can choose Non-Hierarchical Security. o Only Format Validations will be done. • Dependent o Same like Independent Value Set. o We are recommended to use this in Accounting Flex fields. then we have to Create the necessary grants and synonyms to APPS Schema. o You can also use validation tables with other special arguments to make your segments depend on profile options or field values.

here are some listed one: • Table Validated Value Sets o We cannot use table-validated id value sets for any accounting flexfield or any other key flexfields. and select menu /Validation/Set Create a value set name as COUNTRY_LIST which will contain a list of countries. the value can be non-unique but id should be unique. Which Oracle table store Value sets and underline information? • FND_FLEX_VALUE_HIERARCHIES • FND_FLEX_VALUE_SETS • FND_ID_FLEX_SEGMENTS • FND_FLEX_VALUE_NORM_HIERARCHY • FND_FLEX_HIERARCHIES • FND_FLEX_VALUE • FND_FLEX_VALIDATION_EVENTS • FND_FLEX_VALUE_RULE_LINES • FND_FLEX_VALUE_RULE • FND_FLEX_VALUE_RULE_USAGE • FND_RESPONSIBLITY • FND_TABLES • FND_FLEX_VALIDATION_TABLES Any method to upload flexfield value? Yes. PL/SQL APIs will not be able to validate them. o We can only use columns selected for the table-validated value set must be of type NUMBER.Pair validation value set allows user to pass a range of concatenated Flex field segments as parameters to a report. o We cannot use :$FLEX$. In this way your users can see a value in their preferred languages. o . :$PROFILES$ in table name. These are the only types of conversions allowed. o We can convert the Independent value set to a Translatable Independent value set. Format type is CHAR. value and id of table validated value sets. • Translatable Independent and Translatable Dependent Valuesets o The Numbers Only and Uppercase Only option cannot be used. o We cannot use DISTINCT clause in any of the column fields or in the WHERE clause of a table validate value set. Save the work. Translatable Independent and Translatable Dependent value sets allow you to use hidden values and displayed (translated) values in your value sets. o In an id value set. Make it an independent value set. Do we have any restriction on value set? Yes. DATE or VARCHAR2. value should be unique. In a non-id value set. yet the values will be validated against a hidden value that is not translated. • Special/Pair valuesets o Special/Pair value sets are user-exit value sets . o Support for SQL expression in columns of Table Validated value sets will be obsolete in future release. FNDLOAD is utility which can be used for moving value set across different environment. • Translatable Independent & Translatable Dependent o These value sets are similar to Independent and Dependent value sets except that translated values can be displayed to the user. o Must have “Char” format type. or a Dependent value set to a Translatable Dependent value set. Lets now define a simple value set in R12: Step 1: Go to Application Developer.

and select menu /Validation/Values The below window will appear. Step 3: Enter the country details in this window. 2010 in AOL . Save the work. Put the Search Name as COUNTRY_LIST and click Find. 3 Comments Posted by Dibyajyoti Koch on July 1.Step 2: Go to Application Developer. Now the value set is ready to be used in any concurrent program.

an Oracle Tool such as Oracle Reports or SQL*Plus.Tags: FNDLOAD. System Administrators define concurrent managers to run different kinds of requests. along with parameter definitions and incompatibilities. Phase:COMPLETED • Normal: Request completes normally. Translatable Dependent. life cycle stages or phases: • Pending Request is waiting to be run • Running Request is running • Completed Request has finished • Inactive Request cannot be run Within each phase. • Resuming: All requests submitted by the same parent request have completed running. Phases and Statuses through which a concurrent request runs: A concurrent request proceeds through three. or an operating system host language. Concurrent Program Executable: An executable file that performs a specific task. a report is generated successfully but fails to print. each having different parameter defaults and incompatibilities. • Error: Request failed to complete successfully. Below appears a listing of each phase and the various states that a concurrent request can go through. • Standby: Program to run request is incompatible with other program(s) currently running. Concurrent Request: A request to run a concurrent program as a concurrent process. validation Type Oracle Apps Concurrent Processing:An Introduction 23 Jun This article gives an introduction of Concurrent Processing in Oracle Application. We cannot delete a concurrent manager… but we can disable it… but it’s not recommended. The file may be a program written in a standard language. a request’s condition or status may change. • Terminating: Running request is terminated. • Warning: Request completes with warnings. • Scheduled: Request is scheduled to start at a future time or date. Phase:RUNNING • Normal: Request is running normally. Table Validated Value Sets. • Paused: Parent request pauses for all its child requests to complete. An execution method can be a PL/SQL Stored Procedure. • Waiting: A child request is waiting for its Parent request to mark it ready to run. by selecting Terminate in the Status field of the Request Details zone. Several concurrent programs may use the same execution file to perform their specific tasks. The Parent request is waiting to be restarted. But there are 3 MASTER CONCURRENT MANAGERS: 1. by selecting Cancel in the Status field of the Request . Concurrent Process: An instance of a running concurrent program that runs simultaneously with other concurrent processes. Oracle SysAdmin. For example. Standard Manager (SM) : This takes care of report running and batch jobs 3. Special/Pair valuesets. Oracle Application Object Library. Oracle AOL. Concurrent Manager: A program that processes user’s requests and runs concurrent programs. There are many concurrent managers each monitoring the flow within each apps area. • Cancelled: Pending or Inactive request is cancelled. Concurrent Program: An instance of an execution file. Concurrent Queue: List of concurrent requests awaiting to be processed by a concurrent manager. Internal Concurrent Manager (ICM): This is the one which monitors all other CMs 2. Translatable Independent. Conflict Resolution Manager (CRM): checks concurrent program definitions for incompatibility checks. a spawned process. Concurrent Request Phase and Status Phase: PENDING • Normal: Request is waiting for the next available manager. a reporting tool or an operating system language. possibly four.

Output formats of a concurrent program: • HTML • PDF • TEXT • PS (Post Script) • PCL(HP’s Printer Control Language) • Leave a comment Posted by Dibyajyoti Koch on June 23. • SQL*Plus The execution file is a SQL*Plus script. Oracle SysAdmin Complete forms deployment process in Oracle Apps 22 Jun Form Name: Customers.fmb Deployed Application: Custom AR Application Responsibility: US Receivables Super User Step 1: COPYING FILES FROM THE SERVER a) Copy TEMPLATE.Details zone. • Immediate The execution file is a program written to run as a subroutine of the concurrent manager. Concurrent Program. Terminated: Running request is terminated.fmb file from $AU_TOP/forms/US folder to a local directory. • FlexSql The execution file is written using the FlexSql API. • SQL*Report The execution file is a SQL*Report script. executabls. by selecting Terminate in the Status field of the Request Details zone. Phase:INACTIVE • Disabled: Program to run request is not enabled. • Spawned The execution file is a C or Pro*C program. • PL/SQL Stored Procedure The execution file is a stored procedure.fmb >Rename the form (ex XXARCUST_1) >Delete the followings from object nevigator. Conflict Resolution Manager. Concurrent Processing. • Host The execution file is a host script. Concurrent Queue. • On Hold: Pending request is placed on hold. Oracle Apps.pll and . Download all the . >Go to Data Blocks and delete BLOCKNAME. Contact your system administrator. by selecting Hold in the Status field of the Request Details zone. DETAILBLOCK >Go to Windows and delete BLOCKNAME >Go to Canvases and delete BLOCKNAME b) Create a new Window (ex WINDOW10) c) Create a new Canvas (ex CANVAS10) and attached it to the new Window via Property Palate d) Create a new Datablock (ex CUSTOMERS) wth items from a table. Oracle Reports.plx files to D:\DevSuiteHome_1\forms Step 2: DESIGN THE FROM IN ORACLE FORMS BUILDER a) Remove the Defaults >Open Oracle Forms Builder >Open the form TEMPLATE. Oracle AOL.fmb file and place it in D:\DevSuiteHome_1\forms b) Copy All PL/SQL Libraries from $AU_TOP/resource/US folder (one time only). 2010 in AOL Tags: Concurrent Manager. • SQL*Loader The execution file is a SQL script. • No Manager: No manager is defined to run the request. Check with your system administrator. Different execution methods of executabls: • FlexRpt The execution file is written using the FlexReport API. concurrent process. Also download APPSTAND. • Oracle Reports The execution file is an Oracle Reports file. execution methods. e) Create a frame in the Canvas and attached the items .

> Compile the code g) Modification for Program unit > Go to APP_CUSTOM*(Package Body) >Type your First window name in place of <your first window> > Compile the code h) If any Item in the Datablock is of Date type and you want to attach a standard calender to it (ex Orderdate item of Customers datablock).’CUST_FORM’. So we have go in the reverse order to find the menu name. Step 3: DEPLOY THE FORM IN THE SERVER > Upload your .fmb file Step 4: CREATE THE . . ‘FIRST_WINDOW’). >Modified Code: FND_STANDARD. ‘$Author: appldev $’). ‘FIRST_WINDOW’). and compile the trigger. ‘$Date: 2005/05/06 23:25 $’. do the following > Go to Orderdate > Property palate > Subclass Information > Property Class > Give property class name as TEXT_ITEM_DATE > Attach LOV as ENABLE_LIST_LAMP > Create KEY-LISTVAL item level trigger & add following code into it calendar.set_window_position(‘BLOCKNAME’.fmb userid=<username>/<password> output_file=$XXAR_TOP/forms/US/ CUSTOMERS.0 $’. ‘$Author: Dibyajyoti $’).fmx module_type=form compile_all=special Step 5: REGISTARING THE FORM IN ORACLE APPS a) Registaring the FORM in Oracle Apps > Go to Application Developer —> Application —> Form > Give the details: FORM: CUSTOMERS(name of the custom form) APPLICATION: Custom AR Application User Form Name: CUSTOMERS_DETAIL Description: Customer Detail form > save b) Registaring the FORM to a form function > System Administrator —->Application —-> Function > Give the details: Form—->form:CUSTOMERS_DETAIL Function:XX_CUSTOMER_DETAIL APPLICATION: Custom AR Application Properties —> Type: Form User Function Name: CUSTOMERS_DETAIL_FUNCTION > save c) Finding the menu to which the above form function is to be attached. app_window.0 $’. Again the menu is attached to a responsibilty. ‘FND’. ‘XXARCUST_1’.f) Modify the PRE-FORM Trigger >Go to triggers—PREFORM >Original Code: FND_STANDARD.FORM_INFO(‘$Revision: 120. app_standard.event(‘PRE-FORM’). app_standard.set_window_position(‘WINDOW10′.event(‘PRE-FORM’). ‘Template Form’. app_window.fmx FILE IN THE SERVER >Type the code $ORACLE_HOME/bin/frmcmp_batch module=$XXAR_TOP/forms/US/CUSTOMERS. ’$Date: 2010/01/06 16:25 $’.show.FORM_INFO(‘$Revision: 1.

ldt PROGRAM CONCURRENT_PROGRAM_NAME=”XXCPNAME” APPLICATION_SHORT_NAME=”XXCUST” Responsibilities: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.ldt FND_RESPONSIBILITY RESP_KEY=”XXRESNAME” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp. Concurrent Programs: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XXRESNAME.lct XXRESNAME. >Login with username and password >Go to US Receivables Super User—>Custom Interfaces —>Customer Detail Form FNDLOAD Examples Here are few examples of FNDLOAD.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afcpprog.ldt PROGRAM APPLICATION_SHORT_NAME=”XXCUST” CONCURRENT_PROGRAM_NAME=”XXCPNAME” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.> System Administrator —->Security —-> Responsibility —->Define > Press F11 > Responsibility Name: %US%Rec (searching for US Receivables Super User) > Press Ctrl + F11 > This things will come in the form Responsibility Name: US Receivables Super User Application:Receivables (will come automatically ) >Take the Menu name —>AR_NAVIGATE_GUI d) Attaching the function to a Submenu of the above Main menu > System Administrator —->Application —> Menu > Press F11 > Menu: AR_NAVIGATE_GUI > Press Ctrl+F11 > Promt: Custom Interfaces > Submenu: XXAR_CUSTOM >System Administrator —->Application —> Menu > Press F11 > Menu: XXAR_CUSTOM > Press Ctrl+F11 > Create a new > Promt: Customer Detail Form (It will display in the nevigator) >Function: CUSTOMERS_DETAIL_FUNCTION (Attach the function to the submenu) > save >One request has been submitted to recompile your menus in the database e) Viewing the request submitted in the background to recompile the menus to attach the function > Go to View——–>Requests———>Find >The status should be :Compiled Normal Step 6: VIEWING THE FORM IN ORACLE APPLICATION: >Go to Oracle apps front end.lct XXCPNAME.lct XXCPNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL .lct XXCPNAME.

ldt .lct XXRQGNAME.lct XXRQSNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afcpreqg.ldt MENU MENU_NAME=”XXMNNAME” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.$FND_TOP/patch/115/import/afscursp.ldt PROFILE PROFILE_NAME=”XXPRNAME” APPLICATION_SHORT_NAME=”XXCUST” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afscprof.ldt Menus: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXRQSNAME.ldt REQ_SET_LINKS REQUEST_SET_NAME=”XXRQSNAME” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XXPRNAME.ldt REQUEST_GROUP REQUEST_GROUP_NAME=”XXRQGNAME” APPLICATION_SHORT_NAME=”XXCUST” Request Sets: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XXRQSLNAME.lct XXRQGNAME.lct XXFUNNAME.ldt FORM APPLICATION_SHORT_NAME=”XXCUST” FORM_NAME=”XXFRMNAME” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct XXFRMNAME.lct XXPRNAME.ldt Profile Options: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.ldt REQ_SET REQUEST_SET_NAME=”XXRQSNAME” $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.ldt FND_RESPONSIBILITY RESP_KEY=”XXRESNAME” APPLICATION_SHORT_NAME=”XXCUST” Request Groups: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.ldt REQUEST_GROUP REQUEST_GROUP_NAME=”XXRQGNAME” APPLICATION_SHORT_NAME=”XXCUST” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.ldt Functions: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXFRMNAME.lct XXMNNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.ldt Forms: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXRQSLNAME.lct XXMNNAME.lct XXFUNNAME.lct XXRQGNAME.lct XXRESNAME.ldt FUNCTION FUNC_APP_SHORT_NAME=”XXCUST” FUNCTION_NAME=”XXFUNNAME” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.

lct XXDFFNAME.ldt FND_USER USER_NAME=’XXUSERNAME’ .lct XXLKPNAME.lct XXVALSNAME.ldt Form Personalization: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct XXUSERNAME.lct XXDFFNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afffload.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/aflvmlu.lct XXVALSNAME.lct XXVALSNAME.lct XXPRNAME.ldt FND_LOOKUP_TYPE LOOKUP_TYPE=”XXLKPNAME” APPLICATION_SHORT_NAME=”XXCUST” Value Sets: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.ldt DESC_FLEX P_LEVEL=’COL_ALL:REF_ALL:CTX_ONE:SEG_ALL’ APPLICATION_SHORT_NAME=”PN” DESCRIPTIVE_FLEXFIELD_NAME=”PN_LEASE_DETAILS” P_CONTEXT_CODE=”Global Data Elements” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct XXLKPNAME.lct XXKFFNAME.ldt FND Users: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XXFPNAME.ldt VALUE_SET FLEX_VALUE_SET_NAME=”XXVALSNAME” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.ldt KEY_FLEX P_LEVEL=’COL_ALL:FQL_ALL:SQL_ALL:STR_ONE:WFP_ALL:SHA_ALL:CVR_ALL:SEG_ALL’ APPLICATION_SHORT_NAME=”FND” ID_FLEX_CODE=”key flex code” P_STRUCTURE_CODE=”structure name” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.ldt FND_FORM_CUSTOM_RULES function_name=”XXFPNAME” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME=”XXCUST” LOOKUP_TYPE=”XXLKPNAME” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.$FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afscprof.ldt VALUE_SET FLEX_VALUE_SET_NAME=”XXVALSNAME” APPLICATION_SHORT_NAME=”XXCUST” Descriptive Flex-fields: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XXKFFNAME.lct XXFPNAME.ldt Key Flex-fields: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XXLKPNAME.ldt PROFILE PROFILE_NAME=” XXPRNAME” APPLICATION_SHORT_NAME=”XXCUST” Lookups: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.

HR setups and AME. Executables • Request Groups. What can be migrated by FNDLOAD? • Concurrent Programs. This “out of the box” standard functionality ensures a reliable.lct XXPRSTYLE. executable.Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.…) • Parameter: Parameter related to the entity (Which printer style. This file contains the definition of the entity being migrated.ldt STYLE PRINTER_STYLE_NAME=”XXPRSTYLE” Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afcppstl. • Entity: Type of object being migrated (printer style.lct) provided by Oracle in $FND_TOP/patch/115/import • Target Data File: Name of the file (. FNDLOAD can be executed from the command line with the following parameters or ideally placed in a UNIX script that logs successful uploads or downloads. lookup.lct XXBRPRPOPRINT_XML_DD. AOL configuration files are located in . lookup. repeatable process to migrate setup data between instances.ldt XDO_DS_DEFINITIONS APPLICATION_SHORT_NAME=’XXCUST’ DATA_SOURCE_CODE=’XXBRPRPOPRINT_XML’ $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $XDO_TOP/patch/115/import/xdotmpl. The syntax of FNDLOAD is as follows: FNDLOAD <apps/$APPS_PW> 0 Y <Mode> <Configfile> <target data file> <entity> <parameter> Where: • 0 Y : Concurrent Program Flags • Mode: UPLOAD. UPLOAD_PARTIAL or DOWNLOAD • Configfile = Configuration file (.ldt FNDLOAD in Oracle Apps FNDLOAD is a developer tool provided by Oracle that migrates data between Oracle Application instances. Request Sets • Profile Options • Key and Descriptive Flexfields • Menus and Responsibilities • Forms and Form Functions • Attachments • Messages • Value Sets and Values • Lookup Types • User Responsibilities • Printer Definitions • FND Dictionary • Help Configuration • Document Sequences • Concurrent Manager Schedules How to Migrate Data? The executable for FNDLOAD is located in $FND_TOP/bin. Oracle provides configuration files for AOL setup data.lct XXBRPRPOPRINT_XML_DD.ldt Data Definitions for XML Publisher Report Template: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $XDO_TOP/patch/115/import/xdotmpl. These configuration files define the parent and child entities to be downloaded and uploaded. HR and AME entities. It is executed at the UNIX command line or via Unix scripts created by the developer. etc) Configuration Files: Configurations files are provided by Oracle for AOL.ldt Printer Styles: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcppstl.ldt) to be created by Download or used by Upload.lct XXUSERNAME.lct XXPRSTYLE.

Will not have a bigger impact when you upgrade or apply patches to the environment. There are no multi-language capabilities. filters are available to migrate individual setups such as a single concurrent program.$FND_TOP/patch/115/import. Finally. Oracle has provided a simple and easy feature to implement the customer specific requirements without modifying the underlying forms code or CUSTOM library. Although CUSTOM library still can be used for forms customization to implement the complex business logic. In release 12. logfile_name. the AME configuration files have moved to $AME_TOP/patch/12/import.5. Can be restricted to a function or form. but the custom library modifications require extensive work on SQL and PL/SQL. More significantly for change management. fnd_concurrent_programs_tl fcp. HR and AME configuration files are located in $PER_TOP/patch/115/import in Release 11i. The source and target instance must be at the same patch level for iSetup.responsibility_id = fr.10. Personalization stores who columns with which we have the ability to track who created/modified it where as in CUSTOM. Can be restricted at site/responsibility/user level. Easy to disable/enable with click of a button.user_id and user_name = upper(:user_name) ORDER BY REQUEST_DATE DESC. fnd_responsibility_tl fr. request_date. Can be moved easily through FNDLOAD from one instance to other. Oracle Applications has provided a custom library using which the look and behavior of the standard forms can be altered.5. several significant limitations are a factor in the change management process.PLL we don’t have that ability. iSetup does not consider the owner or timestamp in order to preserve the seeded data or most recent version of data. output_file_type FROM fnd_concurrent_requests fcr. Why Forms Personalization? • • • • • • • • • Oracle Supports personalization unlike customization. iSetup is ideal during implementations and is a front end functional tool. Query to find Concurrent Requests submitted by a particular user SELECT user_concurrent_program_name. Oracle Forms Personalization With the Oracle E-Business Suite release 11.concurrent_program_id and fcr. In some cases. • Pass data from one form to another through global variables. For many years. Can be applied to new responsibilities/users easily. phase_code. responsibility_name.10.responsibility_id and fcr.CONCURRENT_PROGRAM_ID = fcp. What can be implemented through Forms Personalization? The below can be done using Personalization: • Zoom from one form to another. In the release 11. Personalizations are stored in tables rather than files. . it’s all or nothing. iSetup is not an option during the upgrade process even for a point release upgrade. fnd_user fu WHERE fcr. iSetup migrates data only in the primary language.requested_by = fu. request_id. iSetup will not migrate Approvals Management entities. status_code. outfile_name. but in many cases. However. argument_text. iSetup additionally has the advantage of being able to migrate application data where FNDLOAD is only for setup data. the Oracle has introduced a mechanism which revolutionizes the way the forms can be customized to fulfill the customer needs. faster and requires minimum development effort. the personalization feature provided in the latest release is easy. iSetup has limited ability to migrate specific objects. Another Alternative: iSetup iSetup is the nearest Oracle provided alternative to FNDLOAD that will meet some of the needs for change management.

choose Help > Diagnostics > Custom Code > Normal to re-enable processing of Personalizations Limitations: Although it is faster than a speeding bullet. But for most changes. WHEN-NEW-RECORDINSTANCE. Enable/Disable/Hide fields dynamically Display user friendly messages when required Launch URL directly from oracle form Execute PL/SQL programs through FORM_DDL package Call custom libraries dynamically Personalization Tables: FND_FORM_CUSTOM_RULES FND_FORM_CUSTOM_ACTIONS FND_FORM_CUSTOM_SCOPES FND_FORM_CUSTOM_PARAMS FND_FORM_CUSTOM_PROP_LIST FND_FORM_CUSTOM_PROP_VALUES Invoking the Personalization screen: The personalization form should be used to implement the custom rules on a specific form. to the point that it will not even run! Here’s how to recover: • On the pulldown menu. The personalization form is invoked by… Menu Navigation: Help > Diagnostics > Custom Code > Personalize Disable the personalization feature: It is possible that a change you make completely breaks a form. it is not able to leap over tall buildings: • You can only change what Forms allows at runtime: o Cannot create new items o Cannot move items between canvases o Cannot display an item which is not on a canvas o Cannot set certain properties o Cannot change frames. Customers are free to add any code they like to it. choose Help > Diagnostics > Custom Code > Off o This will disable all callouts to Forms Personalization • Run the form of interest o It should run now. . or be overridden by. boilerplate • You can only respond to certain Trigger Events: o WHEN-NEW-FORM-INSTANCE. Form Personalizations is adequate and is significantly simpler. The specific form refers to the desired form on which you want to apply the custom business logic or modify the form behavior. WHEN-NEW-ITEM-INSTANCE o WHEN-VALIDATE-RECORD (not in all forms) o Product-specific events • May interfere with.• • • • • • Change LOV values dynamically. base product code • Expected user is an Admin/Developer o Knowledge of Oracle Developer is extremely desirable o Knowledge of PL/SQL. because your changes were skipped • Invoke the Personalization screen and correct the problem • On the pulldown menu. CUSTOM and Form Personalizations drive off the same Trigger Events. then the event is sent to CUSTOM CUSTOM can do more because it has complete access to all PL/SQL and SQL. graphics. o Form Personalizations are processed first. Coding Standards and/or APIs required in some cases • Normal rules for customizations apply o Extensive testing in a Test environment is required! Relationship with CUSTOM library: • • • • CUSTOM is a stub library Oracle ships that receives Trigger Events. WHEN-NEW-BLOCK-INSTANCE.

opening a form using zoom etc.pll in Oracle Application Custom Library (custom.pll takes the full advantage of PL/SQL so it is having an edge over Forms Personalization for complex customizations. For following Events call will go to CUSTOM Library: WHEN–FORM–NAVIGATE WHEN–NEW–FORM–INSTANCE WHEN–NEW–BLOCK–INSTANCE WHEN–NEW–RECORD–INSTANCE WHEN–NEW–ITEM–INSTANCE WHEN–VALIDATE–RECORD SPECIALn (where n is a number between 1 and 45) ZOOM EXPORT KEY–Fn (where n is a number between 1-8) Custom Library contains Custom Package which is having two Functions and one procedure. . Navigation to other screens 6. This routine is called on a per-block basis within every Applications form from the WHEN-NEW-BLOCK-INSTANCE trigger.pll is used to add extensions to Oracle’s form Functionality.cursor_block'). instead we should call database procedure and functions for the same. Use the F60gen to compile it f60gen module=custom. begin if (form_name = 'DEMXXEOR' and block_name = 'ORDERS') then return TRUE.pll can be used are:1.plx module_type=library batch=no compile_all=special While writing code inside custom.pll. block_name varchar2(30) := name_in('system.pll is located in $AU_TOP/resource Directory. any code that will enable Zoom must test the current form and block from which the call is being made. Therefore. Changing the List of Values in a LOV field at runtime 3. Enabling/Disabling the fields 2.pll) allows to extend/customize Oracle Applications form(Oracle Form) without changing or modifying Oracle Applications code. Defaulting values 4. else return FALSE. If zooms are available for this block. Additional record level validations 5. we can use record group. 1] ZOOM_AVAILABLE: This function allows you to specify if zooms exist for the current context.pll userid=APPS/ output_file=$AU_TOP/resource/custom. Sample code1: function zoom_available return Boolean is form_name varchar2(30) := name_in('system. Enabling Special Menu Where is this located? Custom. We should not run any SQL statement inside this.Custom. end if. we can achieve that using Forms Personalization. Since Custom. Some of the common scenarios where CUSTOM.pll we should consider following things: 1. We should not perform any DML operations. CUSTOM.current_form'). Most of the things that we can do using custom. then return TRUE else return FALSE. 2. By default this routine must return FALSE. How to add code to this? Open this pll using the Form builder and make changes to the program units. How to compile this PLL? Once you make changes you need to compile the pll. Examples may include enforcing a new business rule.

end if. .standard By default it returns custom. 3] EVENT: This procedure allows you to execute your code at specific events including: – ZOOM – WHEN-NEW-FORM-INSTANCE – WHEN-NEW-BLOCK-INSTANCE – WHEN-NEW-RECORD-INSTANCE – WHEN-NEW-ITEM-INSTANCE – WHEN-VALIDATE-RECORD By default this routine must perform ‘null.end zoom_available.cursor_block').current_form’).override. custom. begin if (form_name = 'XXBI' and block_name = 'xxcc') Then if(event_name = 'WHEN-NEW-FORM-INSTNACE') --Write your code here elsif(event_name = 'WHEN-VALIDATE-RECORD')THEN --Write your code here else null end if. custom. end style. else return FALSE. end if.before 2. begin if (form_name = 'APXINWKB' and block_name = 'INV_SUM_FOLDER') then return TRUE. else return custom. Possible return values are: 1.style(event_name varchar2) return integer is begin if event_name = ’MY_CUSTOM_EVENT’ then return custom.current_form').standard.override 4.cursor_block’). Sample code2: function zoom_available return Boolean is form_name varchar2(30) := name_in('system. but it doesn’t effect generic events like when-new-form-instance. custom. 2] STYLE: This function returns a integer value. custom. end zoom_available.standard.after 3.’ Sample code: procedure event(event_name varchar2) is form_name varchar2(30) := name_in(’system. block_name varchar2(30) := name_in(’system. Sample code: function custom. elsif (form_name = 'APXINWKB' and block_name = 'LINE_SUM_FOLDER') then return TRUE. block_name varchar2(30) := name_in('system. This function allows to override the execution style of Product specific events.

step 4: Register the concurrent program. • Can be restricted at site/responsibility/user level. $1 = orauser/pwd $2 = userid(apps) $3 = username. call the script XXSHELL. How to make the changes get affected? Once you make all the necessary changes.column_seq_num "Column Seq Number". . • Can be moved easily through FNDLOAD from one instance to other. • Personalizations are stored in base tables related to Form Personalization.prog extension as the name of the executable.concurrent_program_name "Short Name". • Anything which can be done using Custom. Here are the steps. • Personalization stores who columns with which we have the ability to track who created/modified it where as in CUSTOM. a user must log out of the application and sign-on again before any changes will become apparent.end_user_column_name "Parameter Name".pll In older versions.prog extension. Since the CUSTOM library is loaded once for a given session. It is mainly used by the application to parse the above four arguments to the shell scripts. • CUSTOM. Sometimes it is required to give full permission to the script. • Easy to disable/enable with click of a button. Make sure your script returns an exit status also. fdfcuv.pll is a single file/entity. Step 1: Copy the . Query to find Parameters and Value Sets associated with a Concurrent Program SELECT fcpl. hence only one developer can make changes to CUSTOM. fndcpesr is a standard utility available in $FND_TOP directory.PLL we don’t have that ability. end if. fdfcuv. from $1 to $4. • Changes take place immediately on reopening the form. For example. Note: Your script will be passed at least 4 parameters.user_concurrent_program_name "Concurrent Program Name". This is not a restriction in Forms personalization.form_left_prompt "Prompt". Steps To Register Unix Shell Script As A Concurrent Program We can register an Unix shell script in our oracle application through a concurrent program. prior to 11i. fcp. Use the name of your script without the . compile the pll and generate the PLX file.end. Put the link for your script in the same directory where the script is located. fdfcuv.PLL can be done using Forms Personalization also. Advantages of Forms Personalization over Custom. step 3: Make a symbolic link from your script to $FND_TOP/bin/fndcpesr For example. using an execution method of ‘Host’. For the example above: Use XXSHELL as executable name. Custom. then use this: cd $XXCUST_TOP/bin ln -s $FND_TOP/bin/fndcpesr XXSHELL This link should be named the same as your script without the .PLL was most prominently used for adding additional features in the seeded form but the latest version of Oracle EBS comes with the feature called as Forms Personalization which allows even an end user to alter the seeded forms functionality using an user interface called the Personalization form. if the script is called XXSHELL. Forms Personalization: an alternative of custom.prog .pll at any given point in time.prog script in ASCII mode to the bin directory of your application top directory. $4 = request_id Any other parameters you define will be passed in as $5 and higher.PLL: • Forms personalization can be used by an user with limited PL/SQL knowledge.prog and place it under $XXCUST_TOP/bin step 2: Check the file permissions.

fdfcuv. Subfunctions? • • • Forms appear in the Navigate window and can be navigated to. fdfcuv. What are the Function Types? There are two types of functions: a] Form (Form Function) • A form function (form) invokes an Oracle Forms form.flex_value_set_id = fdfcuv.concurrent_program_id = fcpl. The parameter. fdfcuv. If you want to restrict some of the Forms from a particular responsibility.lookup_type(+) = 'FLEX_DEFAULT_TYPE' AND flv.default_type AND fcpl. b] Subfunction (Non–Form Function) • A non–form function (subfunction) is a securable subset of a form’s functionality: in other words.required_flag "Required Flag".concurrent_program_name AND ffvs. fnd_flex_value_sets ffvs.concurrent_program_id AND fcpl. — Subfunctions are added to menus — JSP functions –PL/SQL functions –PL/SQL functions that open a new window –used for some products in the Oracle Self–Service Web Applications . fnd_lookup_values flv fcp.flex_value_set_id "Value Set Id". a responsibility. WHERE Functions in Oracle AOL What is Function? A function is a part of an application’s functionality that is registered under a unique name for the purpose of assigning it to.lookup_code(+) = fdfcuv. a function executed from within a form. Subsets of a form’s program logic can optionally be designated as subfunctions if there is a need to secure those subsets.' || fcp. Subfunctions can only be called by logic embodied within a form.DEFAULT_VALUE "Default Value" FROM fnd_concurrent_programs fcp. Advantages of Form Functions If you want to open the Form in different modes without creating the copies. fdfcuv. • Form functions appear in the Navigate window and can be navigated to.LANGUAGE = USERENV ('LANG') AND flv. Subfunctions do not appear in the Navigate window and cannot be navigated to. or excluding it from. Forms can exist on their own.display_flag "Display Flag".column_seq_num.LANGUAGE(+) = USERENV ('LANG') ORDER BY fdfcuv. fnd_concurrent_programs_tl fcpl. fnd_descr_flex_col_usage_vl fdfcuv. must be already defined in the form while designing the Form. which is passed in the form function.user_concurrent_program_name = :conc_prg_name AND fdfcuv. flv. we can include Form Function of those Forms in Menu Exclusions of the Responsibility. they cannot exist on their own. including all of its program logic. ffvs.meaning "Default Type". is always designated as a function. Forms vs. A menu can be assigned to more than one Responsibility. A form as a whole.enabled_flag " Enabled Flag".flex_value_set_name "Value Set Name". fdfcuv. we can create a Form Function and pass the parameters based on the requirement.descriptive_flexfield_name = '$SRS$. • Subfunctions are frequently associated with buttons or other graphical elements on forms. What are the standard function types? • • • • • • FORM SUBFUNCTION JSP WWW WWK WWR or WWL — Oracle Applications form functions are registered with a type of FORM.flex_value_set_id AND flv.

a reporting tool or an operating system language. Concurrent Program: It is an instance of an execution file. Oracle Application Object Library establishes a value for each option in a user’s profile when the user logs on or changes responsibility. or excluding it from. These are based on Key Flex Fields (KFF). It provides list of values to the end user to accept one of the values as report parameter value. Request Group: It is a collection of concurrent Programs. FlexField Qualifiers: A Flex field qualifier identifies a particular segment of a key flex field. a responsibility). There are around 5000+ DFF available. All DFF columns are defined as Attribute Columns. cross application reporting and cross application reference. Value Set: The value set is a collection (or) container of values. Menu: A menu is a collection of Sub‐Menus and Functions. Concurrent Request: It is a request to run a concurrent program as a concurrent process.• • • • WWJ SERVLET DBPORTLET WEBPORTLET –OA Framework JSP portlet –Servlet functions –Database provider portlet –Web provider portlet AOL Terminology Responsibilities: A responsibility is a level of authority in Oracle Applications that lets users access only those Oracle Applications functions and data appropriate to their roles in an organization. DFF are used to add extra accounts. Several concurrent programs may use the same execution file to perform their specific tasks. Dynamic Insertion: Dynamic Insertion is the insertion of new valid combination into a Key Flexfields Combinations Table from a form other than the combinations form. Each Key Flex Field is having its own base Table. Concurrent Manager: It is a program that processes user’s requests and runs concurrent programs. If we want to get data from other Modules we need to define those modules in the Data Group. All these columns are defined in the transaction table itself. Concurrent Process: It is an instance of a running concurrent program that runs simultaneously with other concurrent processes. Segment Qualifiers: A Segment Qualifier identifies a particular type of value in a single segment of a key flex field. Data Group: It is a collection of Modules used to integrate one or more Modules for cross application transfer of data. Key Flexfields: They are used to capture mandatory or Key Business information of the Organization. Functions: A function is a part of an application’s functionality that is registered under a unique name for the purpose of assigning it to. . a menu (and by extension. System Administrators define concurrent managers to run different kinds of requests. Segment Qualifier is based on FFQs and it is not compulsory that all the FFQs should have Segment Qualifiers. Concurrent Program Executable: It is an executable file that performs a specific task. along with parameter definitions and incompatibilities. FFQs are varry from one KFF to another KFF and it is not compulsory that all the KFF should have FFQs. those changes from one business to another business. The file may be a program written in a standard language. each having different parameter defaults and incompatibilities. Descriptive Flexfields: They are used to capture the additional or extra Business information of the organization. Profiles: A user profile is a set of changeable options that affects the way your applications run. It is used to request programs from the responsibility.

Compile and copy . Registering Parametric Reports 1. Define Parameters. Assign bind parameter of yours to the TOKEN. Note: Token is used to map bind parameters with the formal parameters of the Concurrent Program.RDF file in module specific directory. 5. 3] Item Categories Flexfield Code: MCAT Table: MTL_CATEGORIES Unique ID Column: CATEGORY_ID Comment: You must design and configure your Item Categories Flexfield before you can start defining items since all items must be assigned to categories.First_Parameter Oracle Inventory provides the following flexfields: 1] Account Aliases Flexfield Code: MDSP Table: MTL_GENERIC_DISPOSITIONS Unique ID Column: DISPOSITION_ID Comment: This key flexfield supports only one structure. Create a Report using Report Builder. Register the executable with System Administrator Module. 2. 3. Compile and copy . Alerts are used to monitor your business information and to notify you of the information you want. You can define multiple structures for your Item Categories Flexfield. Define the Concurrent Program. Assign the Request Group to the Responsibility. Assign Value Set to the Parameters.RDF file in module specific directory. Standard Request Submission: SRS provides you with a set of windows for running reports and Programs and a set of windows for creating groups of reports and programs to run together. Assign the Responsibility to the User. Assign the Concurrent Program to Request Group. 5. Assign the executable to Concurrent Program. 6. 7. Assign the Request Group to the Responsibility. Assign the Concurrent Program to Request Group. 10. 9. Define the Concurrent Program. Assign the executable to Concurrent Program. 4. Define the Value set to validate the parameters. Registering Reports in Oracle Application Steps Required for Registering a Simple Report 1. 12. 4. 7. Create a Report using Report Builder with parameters. 6. 2] Item Catalogs Flexfield Code: MICG Table: MTL_ITEM_CATALOG_GROUPS Unique ID Column: ITEM_CATALOG_GROUP_ID Comment: This key flexfield supports only one structure.Alerts: Oracle Alert facilitates the flow of information within your organization by letting you create entities called alerts. 11. 3. Assign the Responsibility to the User. You can then associate these structures with the . The value of the 1st parameter is to be referenced in where clause of the 2nd Parameter. WHERE Deptno = :$FLEX$. Alert is a mechanism that checks your database for a specific exception condition. To reference the values of Prior Parameters of a particular program into the values of other parameter is based on the Value Set. 2. each structure corresponding to a different category grouping scheme. Oracle Alert will send messages or perform predefined actions in an action set when important events occur. Register the executable with System Administrator Module. 8. 8.

All Oracle Applications products that reference items share the Item Flexfield and support multiple-segment implementations. 4] Sales Orders Flexfield Code: MKTS Table: MTL_SALES_ORDERS Unique ID Column: SALES_ORDER_ID Comment: The Sales Order Flexfield is a key flexfield used by Oracle Inventory to uniquely identify sales order transactions Oracle Order Entry interfaces to Oracle Inventory. according to the schedule you define. Users can also set up the OE: Item Flexfield Entry Method profile option to specify your preferred method of entry for this flexfield. . You must design and configure your Item Flexfield before you can start defining items. it is not necessary to set up this flexfield. as they occur.) 5] Stock Locators Flexfield Code: MTLL Table: MTL_ITEM_LOCATIONS Unique ID Column: INVENTORY_LOCATION_ID Comment: You can use the Stock Locators Flexfield to capture more information about stock locators in inventory. What they are capable of? • Keep you informed of database exception conditions. row. If you do not have Oracle Inventory installed. and Order Source.categories and category sets you define. you need to configure your Stock Locators Flexfield and implement locator control in your organization. You must set up your OE: Item Flexfield profile option to specify the Item Flexfield structure that you will use for your Oracle applications. bin indicators for your items. without user intervention. depending upon your response to an alert message. • Perform routine database tasks automatically. (Oracle Inventory defaults the value of the OE: Source Code profile option to ‘ORDER ENTRY’. • Take the actions you specify. You must set up the OE: Source Code profile option to determine the source code you will use in for the third segment of this flexfield to guarantee that each transaction is unique. this flexfield supports only one structure. However. 6] System Items Flexfield Code: MSTK Table: MTL_SYSTEM_ITEMS Unique ID Column: INVENTORY_ITEM_ID Comment: You can use the System Items Flexfield (also called the Item Flexfield) for recording and reporting your item information. • Take predefined actions when it finds exceptions in your database. or none of your items have locator control. What are Oracle Alerts? Oracle Alert facilitates the flow of information within your organization by letting you create entities called alerts to monitor your business information and to notify you of the information you want. If you keep track of specific locators such as aisle. This combination guarantees each transaction to Inventory is unique. Order Type. • Keep you informed of exception conditions through Email. You must define this flexfield before placing demand or making reservations in Oracle Order Entry. Your Sales Order Flexfield should be defined as Order Number. This key flexfield supports only one structure.

Summary and No Exception. you need only adjust it in the distribution list. During each action set check. streamlining your organization’s operations. • Run a concurrent program • Run an operating script • Run a SQL Statement script What is On-Demand periodic alert? It is a periodic alert with frequency as ‘On-Demand’. When the request is run. What is Summary Threshold? • Oracle Alert can automatically determine whether to perform a detail or summary action. If the Select statement finds exceptions. During an alert check. respondents can supply values that Oracle Alert uses to perform these actions. include them in a threshold group. What is Action Set? An action set can include an unlimited number of actions and any combination of actions and action groups for your alert. it automatically performs the actions you define. and then specify a summary threshold. What is Action Escalation? You can define a set of escalating detail actions. That means there is no specific period assigned to this alert and you can run this alert at any time you want using Request Periodic Alert Check form. and a no exception action performs when no exceptions are found. Optionally. a detail action performs once for each individual exception found. Oracle Alert performs a detail action for each exception found by the Select statement. If a recipient changes. a request to run a concurrent program called Check Event Alert (ALECTC). Response processing lets you automate routine user-entry transactions. called an escalation group. The concurrent manager runs this request according to its priority in the concurrent queue. Check Event Alert executes the alert Select statement. When an insert or update to an event table occurs. What is Response Processing in Alert? Oracle Alert can process responses to your alert messages. a summary action performs once for all exceptions found. for Oracle Alert to perform when it finds the same exceptions during consecutive alert checks. not in the individual message actions. Oracle Alert executes the alert Select statement once for each action set you define. When Oracle Alert receives a response to a specific alert message.What are the types of Alert? You can define one of two types of alerts: an event alert or a periodic alert. on the other hand. Note: To enable response processing. Check Event Alert performs the actions defined in the enabled . Oracle Alert submits to the concurrent manager. so you can define actions that correspond to increasing severity levels. Oracle Alert executes each action set member in the sequence you specify. • You need to first define a detail and a summary action. ensure that you have performed the required setup steps. What is Distribution List in Oracle Alert? Distribution lists let you predefine a set of message recipients for use on many actions. depending upon the number of exceptions found by the alert Select statement. What you specify in the Alert Details window? • Default values for inputs variables • Additional characteristics for output variables • Application installations information you want the alert to run against What are the Action Levels for your alert actions? There are three types of level for your action: Detail. • If you define a summary threshold. • A periodic alert. Oracle Alert performs a different detail action each time it encounters the same exception. What are the alert actions available? • Sending the retrieved information to someone in an Email. How event alert works? Once you define an event alert to monitor a table for inserts and/or updates. Use the Request Periodic Alert Check window to check the periodic set. checks the database for information according to a schedule you define. any insert or update to the table will trigger the event alert. • An event alert immediately notifies you of activity in your database as it occurs. Note that each periodic alert you include in a periodic set continues to run according to its individually defined frequency. Oracle Alert performs a summary action. but if the number of exceptions found exceeds the summary threshold. What is Periodic Set? You can create a set of periodic alerts that Oracle Alert checks simultaneously. You can define as many action sets as you want for each alert.

Note: You will have to find the Bind Variables passed to the query in order to do this!! This may be found by looking up one of the previous queries.additional_where_clause FROM fnd_flex_value_sets ffvs . ffvs. ffvs. If the Select statement does not find any exceptions. ffv. Queries for Value Sets Value Sets based on table: This Query gives details of value sets that are based on a oracle application tables select ffvs.flex_value_set_id . fnd_flex_values ffv . 3.e.description set_description . ffvs. 4.flex_value_set_id.flex_value_id . Independent Value set Details: This query gives details of independent FND Value sets i.description set_description . ffv. In this case it’s Bank Accounts.value_column_name .flex_value_set_name .flex_value_meaning . The relevant Object has been highlighted (I searched the HTML for bank to find this).flex_value_set_id . Finding SQL Command on Java Page Here are the steps to view the SQL Statements from Java User Interface (UI) Pages. Check Event Alert performs the No Exception actions in the enabled action set(s) for the alert.flex_value . In the Business Component References Details Section (You may need to expand this section). Go to the Java UI Page where the SQL Query executes.action set(s) for the alert. we will look at the query used to retrieve Bank Accounts attached to a Customer Site. ffvs. Update the following Profile Option Values to YES at user level • FND: Diagnostics • Personalize Self-Service Defn 2.flex_value_set_id = ffvt. ffvt. 5. 6.validation_type. ffvt. ffvt. Go to the View Objects Sub Section. ffvt. 7. ffvt. Navigate to the Page Tab on the Top Left Hand Side of the page. In this example we go to Customers > Customer Sites.id_column_name . Click on the link ‘About this Page’ in the bottom Left Hand Side of the page. ffvs. Find the Object that describes the piece of information that you want to find the query for. ffvt.meaning_column_name . fnd_flex_validation_tables ffvt WHERE ffvs.description value_description FROM fnd_flex_value_sets ffvs . ffvs. The full Query used can be cut and pasted into a SQL Editor and the query run. For the purpose of this exercise.flex_value_set_name . SELECT ffvs.validation_type. Click on the link.application_table_name . . ffvt. Values are static and these are not derived from any application table. 1.

FND_APPL_TOPS: This table tracks the mount points for the APPL_TOPs in an Applications system. created_by.actual_completion_date-f. floor(((f. select f.actual_start_date start_on. node_id.'C'. apps.language = ffv.concurrent_program_id and f.program_application_id = pt.actual_start_date) *24*60*60)/3600)*3600 (floor((((f.actual_start_date desc.fnd_concurrent_programs p. . decode(f.concurrent_program_id and f.actual_start_date) *24*60*60) floor(((f.status_code from apps.actual_completion_date-f. apps. select server_type.actual_start_date) *24*60*60) floor(((f. f.FND_APPL_TOPS.fnd_concurrent_programs_tl pt.'Running'.user_concurrent_program_name user_conc_program_name. last_update_date.actual_start_date) *24*60*60)/3600)*3600)/60) || ' MINUTES ' || round((((f. f. path.actual_completion_date-f.actual_start_date . Know your Concurrent Program’s Performance The below query will give you the time taken to execute the concurrent Programs with the latest concurrent programs with least execution time comes first.actual_start_date is not null order by f. p. shared.phase_code) Phase. appl_top_guid APPLSYS.application_id AND pt.phase_code.actual_completion_date-f.actual_completion_date end_on.application_id and f.'Complete'.flex_value_id AND ffvt.actual_start_date) *24*60*60)/3600) || ' HOURS ' || floor((((f.actual_completion_date-f.concurrent_program_id = pt.program_application_id = p.actual_start_date) *24*60*60) floor(((f.flex_value_set_id = ffvt. FILE_SYSTEM_GUID.fnd_concurrent_requests f where f. Get Apps Environment Details From Database APPLSYS.concurrent_program_id = p.actual_completion_date-f.actual_completion_date-f. select name. name.actual_completion_date-f. FROM APPLSYS.f. last_updated_by.actual_start_date) *24*60*60)/3600)*3600)/60)*60) )) || ' SECS ' time_difference.'R'.flex_value_set_id and ffv. f.fnd_flex_values_tl ffvt WHERE ffvs. f.language = USERENV('Lang') and f.flex_value_id = USERENV('LANG'). FND_APP_SERVERS: This table will track the servers used by the E-Business Suite system.request_id . pt.concurrent_program_name concurrent_program_name. Each mount point has a distinct host and path. creation_date.

password and email id as parameters and it will create a user. v_session_id integer := userenv('sessionid').createuser ( x_user_name => v_user_name. select variable_name. v_status boolean. x_start_date => sysdate.put_line ('User:'||v_user_name||'Created Successfully'). commit.creation_date. 1. value from fnd_env_context where variable_name like '%\_TOP' escape '\' and concurrent_process_id = ( select max(concurrent_process_id) from fnd_env_context ) order by 1.Just pass username. EXCEPTION when others then DBMS_OUTPUT. begin v_status:= fnd_user_pkg. else DBMS_OUTPUT. node_id from applsys. newpassword => v_new_password ).put_line ('Unable to reset password due to'||SQLCODE||' '||SUBSTR(SQLERRM. APPLSYS. v_email varchar2(30):=upper('&Enter_Email_Id'). if v_status =true then dbms_output.fnd_app_servers.put_line ('Unable to create User due to'||SQLCODE||' '||SUBSTR(SQLERRM. x_session_number => v_session_id. value from fnd_env_context where variable_name like '%\_TOP' escape '\' and concurrent_process_id = ( select max(concurrent_process_id) from fnd_env_context ) order by 1. These queries might be very useful when you donot have the Oracle Apps front end access or you like to get in done through backend. commit. you can create a User in Oracle application.put_line ('The password reset successfully for the User:'||v_user_name). FND_ENV_CONTEXT: This table stores information about environment name and value for each of the concurrent process. FND_ENV_CONTEXT: This table stores information about environment name and value for each of the concurrent process.Reset Password and Add Responsibility I have created few queries using Oracle provided package:’FND_USER_PKG’. v_new_password varchar2(30):='&Enter_New_Password'. begin fnd_user_pkg. Then you can use the below query to resent the password just in few seconds declare v_user_name varchar2(30):=upper('&Enter_User_Name'). x_end_date => null. API’s to Create User.ChangePassword ( username => v_user_name. v_password varchar2(30):='&Enter_Password'. DBMS_OUTPUT. declare v_user_name varchar2(30):=upper('&Enter_User_Name'). select variable_name. ROLLBACK. . end. x_email_address => v_email ). 1. APPLSYS. x_unencrypted_password => v_password. Using the below query. 100)). May a times we forgot the apps password. x_owner => null.

put_line ('Responsibility:'||v_resp||' '||'is added to the User:'||v_user_name). Use the below query to add a responsibility to a user. as users no longer have to switch application responsibilities when processing transactions for multiple operating units at a time.put_line ('Unable to add the responsibility due to'||SQLCODE||' '|| SUBSTR(SQLERRM. 1. To address this. start_date => sysdate. rollback. This is a very time consuming and inefficient way of recording transactions when you have 100s of operating units specially Internet based organizations who have worldwide operations in almost all the countries.application_id =a. resp_key => v_resp_key.100)).application_id and upper(r. fnd_application_vl a where r.application_short_name into v_resp_key. EXCEPTION when others then DBMS_OUTPUT. psp.AddResp ( username => v_user_name. begin select r. end_date => null ). The advantage here is that you donot require system administrator responsibility access to add a responsibility. end. commit.SECURITY_PROFILE_ID. user would have to switch responsibilities in order to enter transactions in respective operating units (tagged to the responsibility). This enables them to make better decisions. Why it has been created? Prior to R12. END if.responsibility_name) = upper(v_resp). Prior to R12. rollback. gives users more information. description => null.SECURITY_PROFILE_NAME. a.v_app_short_name from fnd_responsibility_vl r. 100)). declare v_user_name varchar2(30):=upper('&Enter_User_Name'). . The following SQL will dump out the Security Profiles and Operating Unit Names assigned to them. v_app_short_name varchar2(50).responsibility_key . process and report on data for an unlimited number of operating units within a single applications responsibility. v_resp_key varchar2(30). security_group => 'STANDARD'. fnd_user_pkg. • SELECT psp. a new feature in R12 has been introduced in which user can switch between operating units within a responsibility something similar to “Change Organization” feature in inventory. end users use to toggle / switch / change responsibilities in order to do transactions (like invoice / payment processing in AP) in different operating units. • Ability to view data from multiple operating units from a single responsibility. resp_app => v_app_short_name. DBMS_OUTPUT. end. v_resp varchar2(30):='&Enter_Responsibility'. What are its advantages? Multi-Org Access Control (MOAC) enables companies that have implemented a Shared Services operating model to efficiently process business transactions by allowing them to access. • This increases the productivity of Shared Service Centers. Multi-Org or multiple organization access (MOAC) in R12 What is MOAC? Multi-Org or multiple organization access (MOAC) is basically an ability to access multiple operating units from a single application responsibility.

There are three Profile Options you need to be aware of related to Multi-Org that should be set at the Responsibility Level. you specify the following: • A database event that you want to monitor. running an operating script. Navigation in Oracle Apps to define an alert: Go to “Alert Manager” Responsibility Alert >> Define Transfer Alert from one instance/database to other: Go to “Alert Manager” Responsibility Alert >> Define Go to “Tools” Menu on top Click on “Transfer Alert” Enter source and destination fields and click Transfer. running a concurrent program. An action can entail sending someone an electronic mail message. The one needs to run a concurrent request called “Run Security List Maintenance” from HR which will make those security profile available and allow one to assign them to a responsibility via a profile option called MO: Security Profile. Event Alert: An event alert immediately notifies you of activity in your database as it occurs. 2.Secondary priority being evaluated after ‘MO: Security Profile’ • MO: Default Operating Unit. HR_OPERATING_UNITS hou pso. • Actions that Oracle Alert to perform once it runs the SQL statement. Alerts in Oracle Application Oracle Alert facilitates the flow of information within your organization by letting you create entities called alerts to monitor your business information and to notify you of the information you want.Always evaluated first. In Release 12. one creates a Security Profile and assigns as many operating units as you required. When you create an event alert. or running a SQL statement script. and assign all of the operating units that one would want a responsibility to access. hou. • Actions that you want Oracle Alert to perform as a result of the database event.Sets the default Operating Unit for transactions when running under a Security Profile. • A SQL Select statement that retrieves specific database information as a result of the database event. Select the ‘Periodic’ Tab.NAME. in an action set. An action can entail sending the retrieved information to someone in an electronic mail message. One can tie that security profile to a single responsibility using a profile option called MO: Security Profile. In a periodic alert specify the following: • A SQL Select statement that retrieves specific database information.ORGANIZATION_ID = hou. You can define one of two types of alerts: an event alert or a periodic alert. Go to Alert Manager > Alert > Define. running a concurrent program.SECURITY_PROFILE_ID AND pso. For example. an insert and/or an update to a specific database table. or running a SQL statement script. you could assign the security profile to the EMEA Payables responsibility to allow that responsibility to process invoices across all operating units. • The frequency that you want the periodic alert to run the SQL statement. How it is done in R12? In Release 12. You include all the actions you want Oracle Alert to perform. 3. • MO: Security Profile. in an action set. One can define another profile option called MO: Default Operating Unit which is optional and allows one to specify a default operating unit that will be the default when you open different subledger application forms.ORGANIZATION_ID. checks the database for information according to a schedule you define. that is. .FROM WHERE hou. define a security profile in HR using the Security profile form or the Global Security profile form.SECURITY_PROFILE_ID = psp. Periodic Alert: A periodic alert. Enter the name of the application that owns the alert in the Application field. running an operating script. How to define an periodic alert: 1. on the other hand.ORGANIZATION_ID PER_SECURITY_PROFILES psp. We include all the actions we want Oracle Alert to perform. PER_SECURITY_ORGANIZATIONS pso. • MO: Operating Unit.

5. save your work. and display the number of rows returned in a Note window. Check Enabled to enable your periodic alert. you need to display to the Alert Details window to . Specifying Alert Details: Once you define an event or periodic alert in the Alerts window. Name the alert (up to 50 characters). Choose Run to execute the Select statement in one of your application’s Oracle IDs.4. &LASTDATE. 6. Choose Verify to parse your Select statement and display the result in a Note window. password_date.: SELECT user_name. Here is an example of a periodic alert Select statement that looks for users who have not changed their passwords within the number of days specified by the value in :THRESHOLD_DAYS. you can create a PL/SQL packaged function that contains PL/SQL logic and enter a SQL Select statement that calls that packaged function. Once you are satisfied with the SQL statement. sysdate) + :THRESHOLD_DAYS ORDER BY user_name Although Oracle Alert does not support PL/SQL statements as the alert SQL statement definition. &NUMDAYS FROM fnd_user WHERE sysdate = NVL(password_date. Set the frequency for the periodic alert to any of the following: • On Demand • On Day of the Month • On Day of the Week • Every N Calendar Days • Every Day • Every Other Day • Every N Business Days • Every Business Day • Every Other Business Day Enter a SQL Select statement that retrieves all the data your alert needs to perform the actions you plan to define. You can verify the accuracy and effectiveness of your Select statement. Your periodic alert Select statement must include an INTO clause that contains one output for each column selected by your Select statement. and give it a meaningful description (up to 240 characters). :THRESHOLD_DAYS INTO &USER.

The Alert Details window includes information such as which Application installations you want the alert to run against. There are four types of actions you can create: • message actions • concurrent program actions • operating script actions • SQL statement script actions Choose Actions Enter a name (up to 80 characters) and description (up to 240 characters) for your alert action. Select the type of action you want to create in the Action Type field . Creating Alert Actions: After you define your alert you need to create the actions you want your alert to perform. Select a level for your action: Detail. or No Exception. Choose Action Details to display the Action Details window. and what additional characteristics you want your output variables to have. what default values you want your inputs variables to use. Summary.complete the alert definition.

Each segment in the code represents a characteristic of the entity. Note: You cannot use a view as the event table for your alert. Each Key Flex Field is having its won base Table. Most organizations use codes to identify general ledger accounts. part numbers. The organization decides the following four basic information for each key flexfield: 1. Important Alert Tables: • ALR_ALERTS • ALR_ACTIONS • ALR_ACTION_SETS • ALR_ACTION_SET_INPUTS • ALR_ACTION_SET_OUTPUTS • ALR_ACTION_SET_MEMBERS • ALR_ALERT_CHECKS • ALR_ALERT_INPUTS • ALR_ALERT_OUTPUTS • ALR_ACTION_SET_CHECKS • ALR_RESPONSE_SETS • ALR_RESPONSE_ACTIONS • ALR_VALID_RESONSES Oracle Alert uses the following internal views: • ALR_ALERT_ACTIONS_VIEW • ALR_ALERT_HISTORY_VIEW • ALR_CHECK_ACTION_HISTORY_VIEW • ALR_INSTALLATIONS_VIEW • ALR_PERIODIC_ALERTS_VIEW • ALR_RESPONSE_ACTIONS_VIEW • ALR_SCHEDULED_PROGRAMS • ALR_VARIABLES_AND_OUTPUTS KEY FLEX FIELDS (KFF) KFF are used to capture mandatory or Key Business information of the Organization. What values each segment can have? . How many segments an entity has? 2. Specify a value in the End Date field if you want to disable your alert by a certain date. A combination of segment values. and other business entities. each of which has both a value and a meaning. Specify a value in the Keep _ Days field to indicate the number of days of exceptions. You can think of a key flexfield as an “intelligent” field that your business can use to store information represented as codes.Creating an Event Alert: Specify the name of the application and the database table that you want Oracle Alert to monitor. What each segment means? 3. actions. also known as a key flexfield code combination. A key flexfield is a field made up of segments. and response actions history you want to keep for this alert. Check After Insert and/or After Update if you want to run your event alert when an application user inserts and/or updates a row in the database table. uniquely describes a business entity stored in a key flexfield.

Each Value Description is . Grade 4. Sales Orders 5. Main Tables: FND_ID_FLEXS: This table captures the information of all the Key FlexFields. Item Catalogs 3.) • ID_FLEX_NAME . ‘AR#’ etc. Accounting Module: HRMS 1. Sales Tax Location 2.) FND_ID_FLEX_STRUCTURES: This table stores structure information about key Flexfields.4. Account Aliases 2. ‘FA_LOCATIONS’ etc. Each Structure is uniquely identified by • APPLICATION_ID – Module Code • ID_FLEX_CODE – Code of KFF • ID_FLEX_NUM – Number of a Structure FND_ID_FLEX_SEGMENTS: It captures the information of Segments. Personal Analysis Module: Inventory 1.KFF Name (like ‘Accounting Flexfield’. Item Categories 4. Each Segment is Uniquely identified by • APPLICATION_ID – Module Code • ID_FLEX_CODE – Key Flexfield code • ID_FLEX_NUM – Key flexfield structure number • SEG_NUM – Segment number • FLEX_VALUE_SET_ID – Flexfield value set identifier FND_FLEX_VALUE_SETS: This table captures the information of each Segment’s Value Set. Asset 2. Each Value Code is uniquely identified by • FLEX_VALUE_SET_ID • FLEX_VALUE_ID FND_FLEX_VALUES_TL: This table captures the information of each Value Description of a Value Set of a Segment.. Category 3. ‘Category Flexfield’. What each segment value means? Few Key Flexfields in different oracle modules are: Module: GL 1. The main columns in this table are: • APPLICATION_ID ‐ Column consists of Application ID • ID_FLEX_CODE ‐ Column KFF Code (like ‘GL#’. Stock Locations 6. FND_FLEX_VALUES: This table captures the information each Value codes of a Value Set of a Segment.) • APPLICATION_TABLE_NAME – Name of combination table (like ‘GL_CODE_COMBINATIONS’ . Location Module: AR 1. Job 2. System Items Module: Fixed Assets 1. Territory Note: Flexfields consists of Structures > Structures consists of Segments > Segments consists of Value Set >Value Set consists of Parameters. Each Value Set is Uniquely identified by FLEX_VALUE_SET_ID as Foreign Key of FND_ID_FLEX_SEGMENTS Table.etc. Position 3.

p_col_type in varchar2. p_tab_name in varchar2. FIF. 3] Register the Table with AOL Module.ID_FLEX_NAME LIKE 'Accounting Flexfield'. p_col_name in varchar2.ID_FLEX_CODE . p_nullable in varchar2. select FIF. FIFS. FND_ID_FLEX_SEGMENTS FIFSE FIF. FIFS.ID_FLEX_CODE = FIF. p_translate in varchar2.ID_FLEX_NUM = FIFS.SEGMENT_NUM. p_tab_type in varchar2.FLEX_VALUE_SET_ID FND_ID_FLEXS FIF . p_scale in number default null).DESCRIPTION . p_col_width in number. p_next_extent in number default 512. FIF. FIFSE. 2] Create a Public Synonym in APPS Schema. from where and and and and and and Steps required to register a New Key Flexfield (KFF): 1] Create a KFF Table in Module Specific Schema. p_tab_name in varchar2.APPLICATION_ID FIFSE.ID_FLEX_CODE LIKE 'GL#' FIF.APPLICATION_ID = FIF. FIF.APPLICATION_ID FIF. Go to Application Developer > Functions > Application > Database > Table We can also register a Table using Application DBA Data Definitions (AD_DD) Package from the Back End.ID_FLEX_STRUCTURE_CODE .ID_FLEX_NAME . p_pct_used in number default 70). procedure register_table (p_appl_short_name in varchar2.APPLICATION_TABLE_NAME . You can also use the AD_DD API to delete the registrations of tables and columns from Oracle Application Object Library tables. p_col_seq in number.ID_FLEX_CODE = FIFS.APPLICATION_ID .APPLICATION_ID = FIFS.SEGMENT_NAME. FIF. FND_ID_FLEX_STRUCTURES FIFS .uniquely identified by FLEX_VALUE_ID. Go to Application Developer > FlexField > Key > Register . p_pct_free in number default 10. FIFSE. FIFSE. p_precision in number default null. 4] Register the KFF with AOL Module.ID_FLEX_CODE FIFSE.ID_FLEX_NUM .ID_FLEX_NUM FIF.ID_FLEX_CODE FIFSE. procedure register_column (p_appl_short_name in varchar2.

Sign up to vote on this title
UsefulNot useful