aol document

Download AOL Document

If you can't read please download the document

Upload: chaitanyamalireddy

Post on 18-Dec-2014

288 views

Category:

Documents


41 download

TRANSCRIPT

AOL COMPLETE HAND BOOK: WHO COLUMNSWHO 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 ApplicationHere 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 ApplicationWhat 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 userSELECT 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 detailsBelow 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)

wait_time, fu.User_Name Requestor, fcr.argument_text parameters, to_char (fcr.requested_start_date, 'MM/DD HH24:mi:SS') requested_start, to_char(actual_start_date, 'MM/DD/YY HH24:mi:SS') ACT_START, to_char(actual_completion_date, 'MM/DD/YY HH24:mi:SS') ACT_COMP, fcr.completion_text From apps.fnd_concurrent_requests fcr, apps.fnd_concurrent_programs fcp, apps.fnd_concurrent_programs_tl fcpt, apps.fnd_user fu Where 1=1 -- and fu.user_name = 'DJKOCH' ' -- and fcr.request_id = 1565261 -- and fcpt.user_concurrent_program_name = 'Payables Open Interface Import'' and fcr.concurrent_program_id = fcp.concurrent_program_id and fcp.concurrent_program_id = fcpt.concurrent_program_id and fcr.program_application_id = fcp.application_id and fcp.application_id = fcpt.application_id and fcr.requested_by = fu.user_id and fcpt.language = 'US' and fcr.actual_start_date like sysdate -- and fcr.phase_code = 'C' -- and hold_flag = 'Y' -- and fcr.status_code = 'C' GROUP BY request_id, parent_request_id, fcpt.user_concurrent_program_name, fcr.requested_start_date, fu.User_Name, fcr.argument_text, fcr.actual_completion_date, fcr.actual_start_date, fcr.phase_code, fcr.status_code, fcr.resubmit_interval, fcr.completion_text, fcr.resubmit_interval, fcr.resubmit_interval_unit_code, fcr.description Order by 1 desc;

Registering SQL*Loader as a Concurrent ProgramThe following steps will describe the process to register a SQL*Loader program as a Concurrent Program in Oracle Apps. Step 1] Create the SQL*Loader Control and Data file and place them in Server(ex: $CUSTOM_TOP/bin). Create or check the interface table structures in the backend. Control file: test.ctl

Data file: test.datview source

print?1 2 3 4 CREATE TABLE testdept (deptno NUMBER(2) NOT NULL, dname VARCHAR2(14), loc VARCHAR2(13));

Step 2] Go to Application Developer > Concurrent > Executables. Define a Concurrent Program Executable. Choose the Execution Method as SQL*Loader and give the Execution File Name as the name of the SQL*Loader control file. Save your work.

Step 3] Go to Application Developer > Concurrent > Program. Define the Concurrent Program. Attach the executable defined above.

Step 4] Go to parameters of the concurrent program. Create a parameter to take the server path of the data file. You can also place the default value.

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

DNAME NEXT * , O() CHARACTER LOC NEXT * , O() CHARACTER Table TESTDEPT: 7 Rows successfully loaded. 0 Rows not loaded due to data errors. 0 Rows not loaded because all WHEN clauses were failed. 0 Rows not loaded because all fields were null. 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.11 CPU time was: 00:00:00.01Step 7] Check in the backend whether the tables got updated or not.

The Bad and Discard files will be created in /conc/out file of the server.

KFF vs. DFF: A Comparison A flexfield in Oracle Application is a field made up of subfields, or segments. They are basically used to implement code structure or to capture additional information. There are two types of flexfields: key flexfields and descriptive flexfields. 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 twocharacterwide text field with square brackets [ ] as its prompt. Here is a brief comparison between KFF and DFF:

AOL : Valueset A Beginners Guide What is value set in Oracle application AOL? Value set is primarily a container for 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). You can specify the format of your values. Oracle Application Object Library uses value sets as important components of key flexfields, descriptive flexfields, and Standard Request Submission (value sets for report parameters for your reports that use the Standard Request Submission feature). When to defining Values for Value Sets? After you register your Flexfields & report parameters, if you are using independent or dependent value sets, you can enter values into each corresponding value set using the Segment Values form. Values for the Value Sets, we are defining will be kept in the Oracle Application Object Library tables. 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, use the format types Standard Date and Standard Date Time. What is Security type in value set? By Security Rules window, we can define value security rules for ranges of flexfield and report parameter values. There are two levels where you must activate Security, the one at value set level and other at individual segment or parameter level. You make Flex field Value Security available for your value set by choosing Hierarchical Security or Non-Hierarchical Security for the Security Type. When you make security available for a value set, all segments and report parameters that use that value set can use security. You then enable security for a particular segment or parameter. Choose Hierarchical Security, If you want Security on a parent value to Cascade down to its child value or else you can choose Non-Hierarchical Security. 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 Cannot be used in Translatable Independent and Translatable Dependent value sets. Uppercase Only(A-Z) o Here also we cannot use in Translatable Independent and Translatable Dependent value sets. Right justify and Zero fill Numbers(001) o If you have selected Numbers Only (0-9) flag, then it wont allow you to affect this flag. o We are recommended to use this in Accounting Flex fields. Minimum and Maximum Value Range o Your Minimum/maximum value may not be longer than the maximum size you specify for this value set. o Once you specify a range of values, you cannot define a new valid value that falls outside this range. o The Minimum Value and Maximum Value fields can therefore allow you to create a value set with a validation type of None. 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. o Only Format Validations will be done. Independent o Provides a predefined list of values. o Independent values are stored in an Oracle Application Object Library table.

Dependent o Same like Independent Value Set, except the List of Values shown to you will depends on which the Independent value you have selected in the Prior Segment. o Must define your independent value set before you define the dependent value set that depends on it. o Advisable to create your independent values first. o Must create at least one dependent value for each independent value, or else it wont allow you to enter into that segment or field. 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 You can also use validation tables with other special arguments to make your segments depend on profile options or field values. o You can use any existing application table, view, or synonym as a validation table. o If we are using non registered table for your value set, then we have to Create the necessary grants and synonyms to APPS Schema. o The value column and the defined ID column in the table must return a unique row for a given value or ID. o If the Hidden Id column is provided the value passed to the report will be Hidden and not the Value column. o Similarly, when you specify :$FLEX$.Value_Set_Name, your flex field segment or report parameter defaults to always use the hidden ID column to compare with your WHERE clause . o We can use Special BIND variable such as :$PROFILES$.Option_name, :$FLEX$.Value_set_name, :block.field in the WHERE clause. 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. You can call flex field routines and use a complete flex field as the value passed by this value set. Pair o Pair validation value set allows user to pass a range of concatenated Flex field segments as parameters to a report. 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. Translatable Independent and Translatable Dependent value sets allow you to use hidden values and displayed (translated) values in your value sets. In this way your users can see a value in their preferred languages, yet the values will be validated against a hidden value that is not translated. o We can convert the Independent value set to a Translatable Independent value set, or a Dependent value set to a Translatable Dependent value set. These are the only types of conversions allowed. 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, FNDLOAD is utility which can be used for moving value set across different environment. Do we have any restriction on value set?

Yes, 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. o We cannot use :$FLEX$, :$PROFILES$ in table name, value and id of table validated value sets. 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, the value can be non-unique but id should be unique. In a non-id value set, value should be unique. o We can only use columns selected for the table-validated value set must be of type NUMBER, DATE or VARCHAR2. o Support for SQL expression in columns of Table Validated value sets will be obsolete in future release. Translatable Independent and Translatable Dependent Valuesets o The Numbers Only and Uppercase Only option cannot be used. o Must have Char format type. Special/Pair valuesets o Special/Pair value sets are user-exit value sets . PL/SQL APIs will not be able to validate them. Lets now define a simple value set in R12: Step 1: Go to Application Developer, and select menu /Validation/Set Create a value set name as COUNTRY_LIST which will contain a list of countries. Make it an independent value set. Format type is CHAR. Save the work.

Step 2: Go to Application Developer, and select menu /Validation/Values The below window will appear. Put the Search Name as COUNTRY_LIST and click Find.

Step 3: Enter the country details in this window. Save the work.

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

Normal: Request is waiting for the next available manager. Standby: Program to run request is incompatible with other program(s) currently running. Scheduled: Request is scheduled to start at a future time or date. Waiting: A child request is waiting for its Parent request to mark it ready to run. Phase:RUNNING Normal: Request is running normally. Paused: Parent request pauses for all its child requests to complete. Resuming: All requests submitted by the same parent request have completed running. The Parent request is waiting to be restarted. Terminating: Running request is terminated, by selecting Terminate in the Status field of the Request Details zone. Phase:COMPLETED Normal: Request completes normally. Error: Request failed to complete successfully. Warning: Request completes with warnings. For example, a report is generated successfully but fails to print. Cancelled: Pending or Inactive request is cancelled, by selecting Cancel in the Status field of the Request Details zone. Terminated: Running request is terminated, by selecting Terminate in the Status field of the Request Details zone. Phase:INACTIVE Disabled: Program to run request is not enabled. Contact your system administrator. On Hold: Pending request is placed on hold, by selecting Hold in the Status field of the Request Details zone. 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. FlexSql The execution file is written using the FlexSql API. Host The execution file is a host script. Oracle Reports The execution file is an Oracle Reports file. PL/SQL Stored Procedure The execution file is a stored procedure. SQL*Loader The execution file is a SQL script. SQL*Plus The execution file is a SQL*Plus script. SQL*Report The execution file is a SQL*Report script. Spawned The execution file is a C or Pro*C program. Immediate The execution file is a program written to run as a subroutine of the concurrent manager. Output formats of a concurrent program: HTML PDF TEXT PS (Post Script) PCL(HPs Printer Control Language)

Category Archives: AOLWHO COLUMNS05 Sep

WHO COLUMNSWHO 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. Leave a comment Posted by Dibyajyoti Koch on September 5, 2010 in AOL Tags: FND_STANDARD, FND_STANDARD.SET_WHO, Oracle AOL, Oracle Apps, WHO COLUMNS

Key FND Tables in Oracle Application04 Sep

Key FND Tables in Oracle ApplicationHere 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. 1 Comment Posted by Dibyajyoti Koch on September 4, 2010 in AOL, Apps Tables Tags: FND Tables, Oracle AOL, Oracle Apps

Attachment in Oracle Application02 Sep

Attachment in Oracle ApplicationWhat 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: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.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';

2] To find all Short Text attachments:view source

print?01 SELECT 02 03 04 05 06 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",

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.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 AND FD.DATATYPE_ID AND FAD.ENTITY_NAME AND FDST.MEDIA_ID AND FDAT.NAME = = = = = = FAD.DOCUMENT_ID FD.DOCUMENT_ID FD.CATEGORY_ID 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. Leave a comment Posted by Dibyajyoti Koch on September 2, 2010 in AOL Tags: Attachment, attachment API, FND_ATTACHED_DOCUMENTS, FND_ATTACHED_DOCUMENTS_PKG, FND_DOCUMENTS, FND_DOCUMENTS_LONG_TEXT, Oracle AOL, Oracle Apps, Oracle SysAdmin

Query to fetch Responsibilities attached to a User02 Sep

Query to fetch Responsibilities attached to a user:The below query will fetch the responsibilities assigned to a particular user. view source print?01 SELECT 02 fu.user_id, 03 fu.user_name, 04 fr.responsibility_name, 05 fr.description, 06 fa.application_name 07 08 FROM fnd_user fu, 09 fnd_user_resp_groups g, 10 fnd_application_tl fa, 11 fnd_responsibility_tl fr

12 13 WHERE 14 g.user_id(+) = fu.user_id 15 AND g.responsibility_application_id = fa.application_id 16 AND fa.application_id = fr.application_id 17 AND g.responsibility_id = fr.responsibility_id 18 AND fu.user_name =UPPER('User_Name');

Leave a comment Posted by Dibyajyoti Koch on September 2, 2010 in AOL, Script Tags: Oracle AOL, Oracle Apps, Oracle SysAdmin, Responsibilities attached to a User

Script to get all the Concurrent Program Request details18 Aug

Script to get all the Concurrent Program Request detailsBelow is the script to get the Concurrent Program Request details by Various Users in a Particular Day. view source print?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) wait_time, fu.User_Name Requestor, fcr.argument_text parameters, to_char (fcr.requested_start_date, 'MM/DD HH24:mi:SS') requested_start, to_char(actual_start_date, 'MM/DD/YY HH24:mi:SS') ACT_START, to_char(actual_completion_date, 'MM/DD/YY HH24:mi:SS') ACT_COMP, fcr.completion_text

From apps.fnd_concurrent_requests fcr, apps.fnd_concurrent_programs fcp, apps.fnd_concurrent_programs_tl fcpt, apps.fnd_user fu Where 1=1 -- and fu.user_name = 'DJKOCH' ' -- and fcr.request_id = 1565261 -- and fcpt.user_concurrent_program_name = 'Payables Open Interface Import'' and fcr.concurrent_program_id = fcp.concurrent_program_id and fcp.concurrent_program_id = fcpt.concurrent_program_id and fcr.program_application_id = fcp.application_id and fcp.application_id = fcpt.application_id and fcr.requested_by = fu.user_id and fcpt.language = 'US' and fcr.actual_start_date like sysdate -- and fcr.phase_code = 'C' -- and hold_flag = 'Y' -- and fcr.status_code = 'C' GROUP BY request_id, parent_request_id, fcpt.user_concurrent_program_name, fcr.requested_start_date, fu.User_Name, fcr.argument_text, fcr.actual_completion_date, fcr.actual_start_date, fcr.phase_code, fcr.status_code, fcr.resubmit_interval, fcr.completion_text, fcr.resubmit_interval, fcr.resubmit_interval_unit_code, fcr.description Order by 1 desc;

Leave a comment Posted by Dibyajyoti Koch on August 18, 2010 in AOL, Script Tags: Concurrent Program, Concurrent Request, Oracle AOL, Script

Registering SQL*Loader as a Concurrent Program12 Aug

Registering SQL*Loader as a Concurrent ProgramThe following steps will describe the process to register a SQL*Loader program as a Concurrent Program in Oracle Apps. Step 1] Create the SQL*Loader Control and Data file and place them in Server(ex: $CUSTOM_TOP/bin). Create or check the interface table structures in the backend.

Control file: test.ctl

Data file: test.datview source

print?1 2 3 4 CREATE TABLE testdept (deptno NUMBER(2) NOT NULL, dname VARCHAR2(14), loc VARCHAR2(13));

Step 2] Go to Application Developer > Concurrent > Executables. Define a Concurrent Program Executable. Choose the Execution Method as SQL*Loader and give the Execution File Name as the name of the SQL*Loader control file. Save your work.

Step 3] Go to Application Developer > Concurrent > Program. Define the Concurrent Program. Attach the executable defined above.

Step 4] Go to parameters of the concurrent program. Create a parameter to take the server path of the data file. You can also place the default value.

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

DNAME NEXT * , O() CHARACTER LOC NEXT * , O() CHARACTER Table TESTDEPT: 7 Rows successfully loaded. 0 Rows not loaded due to data errors. 0 Rows not loaded because all WHEN clauses were failed. 0 Rows not loaded because all fields were null. 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.11 CPU time was: 00:00:00.01Step 7] Check in the backend whether the tables got updated or not.

The Bad and Discard files will be created in /conc/out file of the server.

1 Comment Posted by Dibyajyoti Koch on August 12, 2010 in AOL, SQL*Loader Tags: Concurrent Program, Oracle, Registering SQL*Loader, SQL*LOADER

KFF vs. DFF: A Comparison02 Jul KFF vs. DFF: A Comparison A flexfield in Oracle Application is a field made up of subfields, or segments. They are basically used to implement code structure or to capture additional information. There are two types of flexfields: key flexfields and descriptive flexfields. 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 twocharacterwide text field with square brackets [ ] as its prompt. Here is a brief comparison between KFF and DFF:

KFF vs. DFF Leave a comment Posted by Dibyajyoti Koch on July 2, 2010 in AOL Tags: descriptive flexfields, flexfields segments, key flexfields, Oracle AOL, Oracle SysAdmin

AOL : Valueset :A Beginners Guide01 Jul AOL : Valueset A Beginners Guide What is value set in Oracle application AOL? Value set is primarily a container for 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). You can specify the format of your values. Oracle Application Object Library uses value sets as important components of key flexfields, descriptive flexfields, and Standard Request Submission (value sets for report parameters for your reports that use the Standard Request Submission feature). When to defining Values for Value Sets? After you register your Flexfields & report parameters, if you are using independent or dependent value sets, you can enter values into each corresponding value set using the Segment Values form. Values for the Value Sets, we are defining will be kept in the Oracle Application Object Library tables. 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, use the format types Standard Date and Standard Date Time. What is Security type in value set? By Security Rules window, we can define value security rules for ranges of flexfield and report parameter values. There are two levels where you must activate Security, the one at value set level and other at individual segment or parameter level. You make Flex field Value Security available for your value set by choosing Hierarchical Security or Non-Hierarchical Security for the Security Type. When you make security available for a value set, all segments and

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

Pair validation value set allows user to pass a range of concatenated Flex field segments as parameters to a report. 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. Translatable Independent and Translatable Dependent value sets allow you to use hidden values and displayed (translated) values in your value sets. In this way your users can see a value in their preferred languages, yet the values will be validated against a hidden value that is not translated. o We can convert the Independent value set to a Translatable Independent value set, or a Dependent value set to a Translatable Dependent value set. These are the only types of conversions allowed. 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, FNDLOAD is utility which can be used for moving value set across different environment. Do we have any restriction on value set? Yes, 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. o We cannot use :$FLEX$, :$PROFILES$ in table name, value and id of table validated value sets. 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, the value can be non-unique but id should be unique. In a non-id value set, value should be unique. o We can only use columns selected for the table-validated value set must be of type NUMBER, DATE or VARCHAR2. o Support for SQL expression in columns of Table Validated value sets will be obsolete in future release. Translatable Independent and Translatable Dependent Valuesets o The Numbers Only and Uppercase Only option cannot be used. o Must have Char format type. Special/Pair valuesets o Special/Pair value sets are user-exit value sets . PL/SQL APIs will not be able to validate them. Lets now define a simple value set in R12: Step 1: Go to Application Developer, and select menu /Validation/Set Create a value set name as COUNTRY_LIST which will contain a list of countries. Make it an independent value set. Format type is CHAR. Save the work.o

Step 2: Go to Application Developer, and select menu /Validation/Values The below window will appear. Put the Search Name as COUNTRY_LIST and click Find.

Step 3: Enter the country details in this window. Save the work.

Now the value set is ready to be used in any concurrent program. 3 Comments Posted by Dibyajyoti Koch on July 1, 2010 in AOL

Tags: FNDLOAD, Oracle AOL, Oracle Application Object Library, Oracle SysAdmin, Special/Pair valuesets, Table Validated Value Sets, Translatable Dependent, Translatable Independent, validation Type

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

Details zone. Terminated: Running request is terminated, by selecting Terminate in the Status field of the Request Details zone. Phase:INACTIVE Disabled: Program to run request is not enabled. Contact your system administrator. On Hold: Pending request is placed on hold, by selecting Hold in the Status field of the Request Details zone. 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. FlexSql The execution file is written using the FlexSql API. Host The execution file is a host script. Oracle Reports The execution file is an Oracle Reports file. PL/SQL Stored Procedure The execution file is a stored procedure. SQL*Loader The execution file is a SQL script. SQL*Plus The execution file is a SQL*Plus script. SQL*Report The execution file is a SQL*Report script. Spawned The execution file is a C or Pro*C program. Immediate The execution file is a program written to run as a subroutine of the concurrent manager. Output formats of a concurrent program: HTML PDF TEXT PS (Post Script) PCL(HPs Printer Control Language)

Leave a comment Posted by Dibyajyoti Koch on June 23, 2010 in AOL Tags: Concurrent Manager, concurrent process, Concurrent Processing, Concurrent Program, Concurrent Queue, Conflict Resolution Manager, executabls, execution methods, Oracle AOL, Oracle Apps, Oracle Reports, Oracle SysAdmin

Complete forms deployment process in Oracle Apps22 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.fmb file from $AU_TOP/forms/US folder to a local directory. Also download APPSTAND.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). Download all the .pll and .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.fmb >Rename the form (ex XXARCUST_1) >Delete the followings from object nevigator. >Go to Data Blocks and delete BLOCKNAME, 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. e) Create a frame in the Canvas and attached the items

f) Modify the PRE-FORM Trigger >Go to triggersPREFORM >Original Code: FND_STANDARD.FORM_INFO($Revision: 120.0 $, Template Form, FND, $Date: 2005/05/06 23:25 $, $Author: appldev $); app_standard.event(PRE-FORM); app_window.set_window_position(BLOCKNAME, FIRST_WINDOW); >Modified Code: FND_STANDARD.FORM_INFO($Revision: 1.0 $, XXARCUST_1,CUST_FORM, $Date: 2010/01/06 16:25 $, $Author: Dibyajyoti $); app_standard.event(PRE-FORM); app_window.set_window_position(WINDOW10, FIRST_WINDOW); > Compile the code g) Modification for Program unit > Go to APP_CUSTOM*(Package Body) >Type your First window name in place of > 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), 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.show; and compile the trigger. Step 3: DEPLOY THE FORM IN THE SERVER > Upload your .fmb file Step 4: CREATE THE .fmx FILE IN THE SERVER >Type the code $ORACLE_HOME/bin/frmcmp_batch module=$XXAR_TOP/forms/US/CUSTOMERS.fmb userid=/ output_file=$XXAR_TOP/forms/US/ CUSTOMERS.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. Again the menu is attached to a responsibilty. So we have go in the reverse order to find the menu name.

> 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. >Login with username and password >Go to US Receivables Super User>Custom Interfaces >Customer Detail Form

FNDLOAD ExamplesHere are few examples of FNDLOAD. Concurrent Programs: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XXCPNAME.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.lct XXCPNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afcpprog.lct XXCPNAME.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.lct XXRESNAME.ldt FND_RESPONSIBILITY RESP_KEY=XXRESNAME Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XXRESNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL

$FND_TOP/patch/115/import/afscursp.lct XXRESNAME.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.lct XXRQGNAME.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.lct XXRQGNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afcpreqg.lct XXRQGNAME.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 XXRQSNAME.ldt REQ_SET REQUEST_SET_NAME=XXRQSNAME $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XXRQSLNAME.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 XXRQSNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XXRQSLNAME.ldt Forms: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXFRMNAME.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.ldt Functions: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXFUNNAME.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 XXFUNNAME.ldt Menus: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXMNNAME.ldt MENU MENU_NAME=XXMNNAME Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct XXMNNAME.ldt Profile Options: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct XXPRNAME.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.lct XXPRNAME.ldt

$FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afscprof.lct XXPRNAME.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.lct XXLKPNAME.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.lct XXLKPNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/aflvmlu.lct XXLKPNAME.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.lct XXVALSNAME.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.lct XXVALSNAME.ldt $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afffload.lct XXVALSNAME.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 XXDFFNAME.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 XXDFFNAME.ldt Key Flex-fields: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XXKFFNAME.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.lct XXKFFNAME.ldt Form Personalization: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct XXFPNAME.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.lct XXFPNAME.ldt FND Users: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XXUSERNAME.ldt FND_USER USER_NAME=XXUSERNAME

Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XXUSERNAME.ldt Printer Styles: Source: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcppstl.lct XXPRSTYLE.ldt STYLE PRINTER_STYLE_NAME=XXPRSTYLE Target: $FND_TOP/bin/FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/afcppstl.lct XXPRSTYLE.ldt Data Definitions for XML Publisher Report Template: $FND_TOP/bin/FNDLOAD username/password@database 0 Y DOWNLOAD $XDO_TOP/patch/115/import/xdotmpl.lct XXBRPRPOPRINT_XML_DD.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.lct XXBRPRPOPRINT_XML_DD.ldt

FNDLOAD in Oracle AppsFNDLOAD is a developer tool provided by Oracle that migrates data between Oracle Application instances. It is executed at the UNIX command line or via Unix scripts created by the developer. Oracle provides configuration files for AOL setup data, HR setups and AME. These configuration files define the parent and child entities to be downloaded and uploaded. This out of the box standard functionality ensures a reliable, repeatable process to migrate setup data between instances. What can be migrated by FNDLOAD? Concurrent Programs, Executables Request Groups, 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. 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. The syntax of FNDLOAD is as follows: FNDLOAD 0 Y Where: 0 Y : Concurrent Program Flags Mode: UPLOAD, UPLOAD_PARTIAL or DOWNLOAD Configfile = Configuration file (.lct) provided by Oracle in $FND_TOP/patch/115/import Target Data File: Name of the file (.ldt) to be created by Download or used by Upload. This file contains the definition of the entity being migrated. Entity: Type of object being migrated (printer style, lookup, executable,) Parameter: Parameter related to the entity (Which printer style, lookup, etc) Configuration Files: Configurations files are provided by Oracle for AOL, HR and AME entities. AOL configuration files are located in

$FND_TOP/patch/115/import. HR and AME configuration files are located in $PER_TOP/patch/115/import in Release 11i. In release 12, the AME configuration files have moved to $AME_TOP/patch/12/import. Another Alternative: iSetup iSetup is the nearest Oracle provided alternative to FNDLOAD that will meet some of the needs for change management. iSetup is ideal during implementations and is a front end functional tool. iSetup additionally has the advantage of being able to migrate application data where FNDLOAD is only for setup data. However, several significant limitations are a factor in the change management process. iSetup does not consider the owner or timestamp in order to preserve the seeded data or most recent version of data. iSetup migrates data only in the primary language. There are no multi-language capabilities. More significantly for change management, iSetup has limited ability to migrate specific objects. In some cases, filters are available to migrate individual setups such as a single concurrent program, but in many cases, its all or nothing. The source and target instance must be at the same patch level for iSetup. iSetup is not an option during the upgrade process even for a point release upgrade. Finally, iSetup will not migrate Approvals Management entities.

Query to find Concurrent Requests submitted by a particular userSELECT user_concurrent_program_name, responsibility_name, request_date, argument_text, request_id, phase_code, status_code, logfile_name, outfile_name, output_file_type FROM fnd_concurrent_requests fcr, fnd_concurrent_programs_tl fcp, fnd_responsibility_tl fr, fnd_user fu WHERE fcr.CONCURRENT_PROGRAM_ID = fcp.concurrent_program_id and fcr.responsibility_id = fr.responsibility_id and fcr.requested_by = fu.user_id and user_name = upper(:user_name) ORDER BY REQUEST_DATE DESC;

Oracle Forms PersonalizationWith the Oracle E-Business Suite release 11.5.10, the Oracle has introduced a mechanism which revolutionizes the way the forms can be customized to fulfill the customer needs. For many years, Oracle Applications has provided a custom library using which the look and behavior of the standard forms can be altered, but the custom library modifications require extensive work on SQL and PL/SQL. In the release 11.5.10, 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, the personalization feature provided in the latest release is easy, faster and requires minimum development effort.

Why Forms Personalization?

Oracle Supports personalization unlike customization. Personalizations are stored in tables rather than files. Will not have a bigger impact when you upgrade or apply patches to the environment. Can be moved easily through FNDLOAD from one instance to other. Can be restricted at site/responsibility/user level. Easy to disable/enable with click of a button. Personalization stores who columns with which we have the ability to track who created/modified it where as in CUSTOM.PLL we dont have that ability. Can be applied to new responsibilities/users easily. Can be restricted to a function or form.

What can be implemented through Forms Personalization?The below can be done using Personalization: Zoom from one form to another. Pass data from one form to another through global variables.

Change LOV values dynamically. 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. The specific form refers to the desired form on which you want to apply the custom business logic or modify the form behavior. 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, to the point that it will not even run! Heres how to recover: On the pulldown menu, 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, because your changes were skipped Invoke the Personalization screen and correct the problem On the pulldown menu, choose Help > Diagnostics > Custom Code > Normal to re-enable processing of Personalizations

Limitations:Although it is faster than a speeding bullet, 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, graphics, boilerplate You can only respond to certain Trigger Events: o WHEN-NEW-FORM-INSTANCE, WHEN-NEW-BLOCK-INSTANCE, WHEN-NEW-RECORDINSTANCE, WHEN-NEW-ITEM-INSTANCE o WHEN-VALIDATE-RECORD (not in all forms) o Product-specific events May interfere with, or be overridden by, base product code Expected user is an Admin/Developer o Knowledge of Oracle Developer is extremely desirable o Knowledge of PL/SQL, 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. Customers are free to add any code they like to it. CUSTOM and Form Personalizations drive off the same Trigger Events. o Form Personalizations are processed first, then the event is sent to CUSTOM CUSTOM can do more because it has complete access to all PL/SQL and SQL. But for most changes, Form Personalizations is adequate and is significantly simpler.

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

end zoom_available; Sample code2: function zoom_available return Boolean is form_name varchar2(30) := name_in('system.current_form'); block_name varchar2(30) := name_in('system.cursor_block'); begin if (form_name = 'APXINWKB' and block_name = 'INV_SUM_FOLDER') then return TRUE; elsif (form_name = 'APXINWKB' and block_name = 'LINE_SUM_FOLDER') then return TRUE; else return FALSE; end if; end zoom_available;

2] STYLE: This function returns a integer value. This function allows to override the execution style of Product specific events, but it doesnt effect generic events like when-new-form-instance. Possible return values are: 1. custom.before 2. custom.after 3. custom.override 4. custom.standard By default it returns custom.standard.Sample code: function custom.style(event_name varchar2) return integer is begin if event_name = MY_CUSTOM_EVENT then return custom.override; else return custom.standard; end if; end style;

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;Sample code: procedure event(event_name varchar2) is

form_name varchar2(30) := name_in(system.current_form); block_name varchar2(30) := name_in(system.cursor_block); 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;

end;

end if;

How to make the changes get affected? Once you make all the necessary changes, compile the pll and generate the PLX file. Since the CUSTOM library is loaded once for a given session, a user must log out of the application and sign-on again before any changes will become apparent. Forms Personalization: an alternative of custom.pll In older versions, prior to 11i, Custom.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. Advantages of Forms Personalization over Custom.PLL: Forms personalization can be used by an user with limited PL/SQL knowledge. Changes take place immediately on reopening the form. Anything which can be done using Custom.PLL can be done using Forms Personalization also. Personalizations are stored in base tables related to Form Personalization. CUSTOM.pll is a single file/entity, hence only one developer can make changes to CUSTOM.pll at any given point in time. This is not a restriction in Forms personalization. Easy to disable/enable with click of a button. Can be moved easily through FNDLOAD from one instance to other. Can be restricted at site/responsibility/user level. Personalization stores who columns with which we have the ability to track who created/modified it where as in CUSTOM.PLL we dont have that ability.

Steps To Register Unix Shell Script As A Concurrent ProgramWe can register an Unix shell script in our oracle application through a concurrent program. Here are the steps. Step 1: Copy the .prog script in ASCII mode to the bin directory of your application top directory. For example, call the script XXSHELL.prog and place it under $XXCUST_TOP/bin step 2: Check the file permissions. Sometimes it is required to give full permission to the script. step 3: Make a symbolic link from your script to $FND_TOP/bin/fndcpesr For example, if the script is called XXSHELL.prog , 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 .prog extension. Put the link for your script in the same directory where the script is located. step 4: Register the concurrent program, using an execution method of Host. Use the name of your script without the .prog extension as the name of the executable. For the example above: Use XXSHELL as executable name. Note: Your script will be passed at least 4 parameters, from $1 to $4. $1 = orauser/pwd $2 = userid(apps) $3 = username, $4 = request_id Any other parameters you define will be passed in as $5 and higher. Make sure your script returns an exit status also. fndcpesr is a standard utility available in $FND_TOP directory. It is mainly used by the application to parse the above four arguments to the shell scripts.

Query to find Parameters and Value Sets associated with a Concurrent ProgramSELECT fcpl.user_concurrent_program_name "Concurrent Program Name", fcp.concurrent_program_name "Short Name", fdfcuv.column_seq_num "Column Seq Number", fdfcuv.end_user_column_name "Parameter Name", fdfcuv.form_left_prompt "Prompt",

fdfcuv.enabled_flag " Enabled Flag", fdfcuv.required_flag "Required Flag", fdfcuv.display_flag "Display Flag", fdfcuv.flex_value_set_id "Value Set Id", ffvs.flex_value_set_name "Value Set Name", flv.meaning "Default Type", fdfcuv.DEFAULT_VALUE "Default Value" FROM fnd_concurrent_programs fcp, fnd_concurrent_programs_tl fcpl, fnd_descr_flex_col_usage_vl fdfcuv, fnd_flex_value_sets ffvs, fnd_lookup_values flv fcp.concurrent_program_id = fcpl.concurrent_program_id AND fcpl.user_concurrent_program_name = :conc_prg_name AND fdfcuv.descriptive_flexfield_name = '$SRS$.' || fcp.concurrent_program_name AND ffvs.flex_value_set_id = fdfcuv.flex_value_set_id AND flv.lookup_type(+) = 'FLEX_DEFAULT_TYPE' AND flv.lookup_code(+) = fdfcuv.default_type AND fcpl.LANGUAGE = USERENV ('LANG') AND flv.LANGUAGE(+) = USERENV ('LANG') ORDER BY fdfcuv.column_seq_num;

WHERE

Functions in Oracle AOL What is Func