ORACLE APPLICATIONS (Technical

)
CLASS - 1 Pre-requisites to learn Oracle Applications Oracle 9i SQL

• • • • •

Reference books DDL Commands DML Commands TCL Commands Queries, Sub Queries Operators

PL/SQL Reference books – by author Scott Urman • Cursors • Trigger • Packages, Procedure, Functions Forms 6i Reference books – by Evan Baris • Canvases – types – functionality • Property Classes • Visual attributes • Programe Units • Record Group • Triggers – Sequences • Form functions – like call form Reports 6i • Variables – like Bind, Lexical • Columns - like Summery, Placeholder, Formula • Report Triggers – 6 types and sequence • Format Triggers and Validate triggers • Layout objects o Frame o Repeat frame o Anchor o Boilerplate

Oracle Applications 11i – Introduction
ERPs available in market • SAP • Oracle Applications o People soft o Siebel o JD Edwards Oracle Applications are used to capture Business functionality information of the organization. • Instances o Development - Development  Development stage 1  Development stage 2 o Testing - Testing o Production – Client testing Involved personalities of Oracle Applications and their roles and responsibilities in brief 1) DBA – Database Administrator a. Installation of Oracle Applications b. Applying patches c. Maintaining Multiple Instances 2) Functional Consultant a. Interaction with the client b. Gathering the requirements for development / customization c. About oracle applications what available and what wasn’t available. d. Example invoice form – fields - Or develop a invoice form from scratch e. Preparation of FDD (Functional Design Document) 3) Technical Consultant – Input FDD a. Go through the FDD b. Prepare TDD (Technical Design Document) – Logic, Tables, Procedures, Forms, Menus, Packages – approval c. Development of Component d. Test the component e. Deliver to the client All these sessions will go trough the below mentioned components R I C E - Components for development 70%     R I C E Reports Interfaces Conversion Extensions Reports 6i Programs, SQL, PL/SQL Programs, SQL, PL/SQL Forms 6i

Functions Knowledge 30% • Purchase Order Module • Accounts Payable Module • Order Management Module

Inventory Module

data conversions. then supporting project will be started where we will give supporting for the objects which were already developed.5.3 11.7 11.5.5.5.10 Version 10. Implementation Project: Client will be using another software to maintain the business solutions. Reports 6i Forms 6i.3 11.0.5. gap analysis. Reports 6i Forms 6i.CLASS . That time we will start setups.7 New Version 11. Reports 6i Forms 6i. Customization Project: Client was already using Oracle Applications. for that we will customize new modules and integrate with existing modules. .first time Old System Cobal Fox Pro New System Oracle Apps b.5. Reports 6i Forms 6i. Reports 6i Forms 6i.5. Migration or Up-gradation Project: Client was already using Oracle Applications older version now client would like to move new version of Oracle Applications that time we will migrate older version objects in to new version. Reports 6i Forms 6i.5. JDeveloper d. customized and migrated. customization and migration are over.5 11. Reports 6i Forms 6i.6 11. functions document preparation from the scratch.8 11. Existing Ora Apps Few modules Financial Modules Migration Manufacturing Modules (Customization and Integration) c.5 Forms 6i.9 or 11. . Support or Maintenance: Once the implementation. Reports 2. Now the client wants to have Oracle Applications package to capture the data.5.2 I) Types of Projects a. Java.10 Database Oracle 7 Oracle 8 Oracle 9i Oracle 9i Oracle 9i Oracle 9i Oracle 9i Oracle 9i Oracle 9i Oracle 10g GUI Forms 4.5.5.7 11. now the client would like to have few more modules to cover the business. Reports 6i Forms 6i. Existing Ora Apps Version 10.9 11. Reports 6i.4 11.

their contact details. unit price and discounts and so on. reports and programs which are related for specific business functionality. supplying material. Financial AP – Accounts Payable AR – Accounts Receivables FA – Fixed Assets CM – Cash Management GL – General Ledger PA – Project Accounting ERP Manufacturing PO – Purchase Order Inv – Invoicing WIP – Work in Process BOM – Bills of Materials OM – Order Management Production MRP Schedules Enquiring HRMS People Payroll Benefits OTL – Oracle Time & Labour CRM Customer Relationship and Management Tele Services Service Contract Mobile Process III) Modules Integration : WIP Production Suppliers Inventory BOM MRP Scheduling PO QA Testing AP GL HRMS FA CM AR OM Sales. Shipping . Example: PO – Module – This will be used to capture purchasing information like suppliers.II) Types of Modules Module: Module is nothing but one application it contains forms.

5) Oracle Applications File Architecture Linux (Server) FTP Windows (Client) Windows (Client) FTP . it could be very small change like single filed to be added or deleted to the form or procedure to be deleted. procedure.3 4) Types of Documents: The methodology of behind is AIM – Application Implementation Methodology developed by Oracle Corporation RICE Module Design Forms & Reports Conversions Interface Support Number MDO 50 MDO 70 MDO120 CVO40 CVO 60 CR Document Name Functional Design Document Technical Design Document Migration Document Conversion functional Design Document Conversion Technical Design Document Change Request Prepared by Functional Consultant Technical Consultant Technical Consultant Functional Consultant Technical Consultant Technical Consultant NOTE: Migration Document is two types 1) Installation Process: Installation Stages or three types’ development. If any of the form or report is developed. Example functions. to be moved all the components of that. 2) Execution Process: In this the execution of the form or report with a screen shoot to be specified along with the functionality CR Document: The document tell about the request made by the client. production. when it is moving from one instance to another instance. testing. packages etc. This process will be done by DBA.CLASS .

5.5.proc .7 11.5.0. US Folder: This folder is language specific by default American English language will be implemented.pkgsc . Oracle will not touch the custom top and it will not provide any type of support..pks C Prog . ‘I’) Flag B . Out Admin US US .fmx . If we want to have multiple languages we can implement in Oracle Applications by specifying different folders.5.5. This folder is only applicable for Forms and Reports because both are GUI objects.0.3 11.5. PO 2) If oracle applies the patches (scripts) against the application the script will over right both developments and customization whatever we have done. That is the reason we will us custom top.0 AP_TOP 11.5.5.9 11.shell script .0 Forms Reports SQL PL/SQL BIN Mesg.. We can have multiple custom tops also as per the requirements NOTE: 1) We are not suppose to develop are customize the product tops like AP.0 PO_TOP 11.Disable language 11.7 11.pkg .java .5 11.5.func .Installed language.10 11.rdf .0 11.0 Folder: This oracle application release name based on the release it will be specified 10.5. Flag I . AR.7 10. At least one custom top is required for every client. Select * from FND_LANGUAGE where installed_flag in (‘B’.5.5.APPL_TOP CUS_TOP 11.8 11.ctl .6 11.4 11.5.3 11. Flag D .msg .0 AR_TOP 11.outfile Admin script Custom_ TOP: Custom top will be created by customer (client) for the custom development and customizations.10 .5.5..5.5.3 11.SQL .Base language. GL.0 INV_TOP 11.0 GL_TOP 11.

programs we will always connect to apps schema in oracle applications. 2) Responsibilities 3) Reports development / customization 4) Procedure 5) Printer Installation 6) Admin activities . AOL – Application Object Library After o development / customization the objects to be registered with this. We can’t access other schema database objects. reports.4 Oracle Applications Database Design Predefined database Oracle 9i Schema Diagram GL PO APPS AR HRMS AP INV Item Details Report Item Supper Monitor Invoice Schema IBM PO Schema Cheque 1745/AP Schema Buyer Stockpet HRMS Schema • • • • • • • User connect only one schema at time Total approximately 4000 schemas available APPS Schema contains only synonyms Per ever database object we will find synonym in APPS Schema Table name and synonym name should be same No module to cover the Share Market Business New Module – New Schema – New Top APPS Schema: This one of the Schema in Oracle Applications database it contains only synonyms. we will create the tables in custom schema then we will provide grants to apps schema While development of forms. It has got access other schema database objects PO Schema: It contains only PO Objects like PO Tables Indexes.CLASS . Request submission . and views and materialized views and so on. NOTE • • We are not suppose to create tables in apps schema. 1) System Administrator: Which has got the functions like 1) users. This has got the two responsibilities.Server Monitoring. It will connect to PO Schema we can access only PO objects. Sequences.

Define and enter Enter Username and password and attach Responsibility Save the Transaction.Security – User. Press Ctrl + F11 3) To close the form F4 To Connect to database or Bank End User ID : APPS Password : APPS Host string: PRODUCTIONS Creation of New User – Front End 1) 2) 3) 4) 5) 6) 7) Connect to the application Enter application User Name : OPERATION and Password: WELCOME Select the Responsibility called “System Administrator Open the user Form .2) Application Developer: Which has got the functions like 1) Forms 2) Menus 3) Messages 4) Flexi fields 5) Profiles After installation of Oracle Applications the default User details as follows User Name : OPERATIONS Password : WELCOME And connect and select System Administrator responsibility To create New User Security – User – Define – Enter To move in the form some shortcut keys 1) If you want to query all the record – Ctrl + F11 2) If you want to query few records for form a. Open the form b. Search criteria by using % d. Press F11 – Query mode c. Once user is created we can’t delete WE can find all the user details in FND_USER table Select * from FND_USER where user_name = “20user” Note: We can find the table names from front end by using help menu Help – Record History option If open a form we can three types of fields .

sql .ctl . CRETED_BY CREATION_DATE LAST_UPDATED_BY LAST_UPDATED_DATE LAST_LOGIN_DATE User Id System date User ID System Date System date When we create When we Updated Login system date When we go to Record History option we can find all the who columns Help – Record History CLASS .Yellow Color – Mandatory Fields.proc.5 Executables .C .sh .pck . . White Color – Optional Fields. Who columns in Oracle Applications Ever Database table contains following Colums. Gray Color – Read Only Effective Dates : From – To Some of the records we can’t delete in Oracle applications instead of the we will effective dates From and To to enable or disable the record.rdf . .prl Reports Unix Shell Script SQL PL/SQL C Programe ProC Sql * loader Perl .fun.proC .

PO_TOP\11.5. Menu – Collection of forms 7) Create user attach Responsibility to the user 8) User will select the responsibility and go to SRS (Standard Request Submission) window submit the request Executable => Concurrent Programme => Request Group => User=> SRS Note: For Single Executable we can have different concurrent programs with different parameters To create simple report with below SQL statement Select User_ID. User_name.rdf 3) Select System Administrator a.0\reports\US . Parameters c. Data Group – Collection of User IDs c.0\reports\US .5.rdf) file name 4) Create Concurrent Programe and attach a. Application Name d. Execution Method e. Report Registration 1) Develop the report (. Create Executable b.Concurrent Programe Is nothing but instances of execution file along with parameter and incompatible programs • We can register 11 types of executable as Concurrent Programe • Advantages o We can execute multi language programmes as Concurrent Programe o When we run Concurrent Programe we can utilize 100% local machine hardware capacity o We can change the Concurrent Programe output based on employee profile o We can submit only Request o We can schedule the Concurrent Programe as per client requirement. Request Group – Concurrent Programe b. Report (.rdf (or) b.rdf) as per client requirement by using Reports 6i Builder 2) Move the report from the local machine in to the server a. CUS_TOP\11. Executable b. Incompatibilities 5) Create Request group and attach Concurrent Programe 6) Create Responsibility a. Executable name c. Trunc(creation_date) from fnd _user • .

CLASS - 6 Executable: After moving .rdf in to the server, we will crate executable by specifying execution name execution method and application name. Concurrent Programe: After creation of executable we will create concurrent Programe by attaching executable, if parameters are there we will attach parameter if incompatibility programs are there we will add those programs , for single executable we create multiple concurrent programs with different parameters. Request Group: After creation of concurrent program we must add the programme to the request group. Request Group is nothing but collection of Concurrent Programs and Reports. Responsibility: It is level of authority where we will combine Data Group, Request Group and Menu. Request Group is optional menu and data group is mandatory. Data Group: Data Group is nothing but collection of applications names and Oracle User Names based on this Username data will be retrieved from database. Menu: Menu is nothing but collection of functions(forms) and submenus. Create a simple report using below query Select * from PO_VENDORS Vendor_ID, Vendor_Name, Creation_Date Navigation Executable Window - Concurrent=>Programme=>Executable Concurrent Programem Window - Concurrent=>Programme=>Define Request Group – Security=>Responsibility=>Request Responsibility – Security=>Responsibility=>Define User – Security=>User=>Define SRS Window – View Menu => Requests To find out output file path and log file path we will write the below select statement Select logfile_name, outfile_name from fnd_concurrent_requests Where Request_ID = ‘ ‘;

CLASS - 7 Reports with Parameters Data Model Select * from FND_USER USER_ID, USER_NAME, CRATION_DATE Parameters From USER_ID, To USER_ID Layout Model Designing of layout User Parameters P_From P_To P_Title Data Model – Change the SQL Query Select * from FND_USER WHERE user_id between :P_From :P_To Compile and save To register the parameter with applications Concurrent Programe window to be opened.

Note: We can change the sequence based on the requirement.

• • •

If report is having the parameters then we have to register those parameters at the time of creation Concurrent Programe. Value Set: values set is nothing but list values. It will be used to validate values while entering the parameters. Token: Token is one the filed wile be used to map concurrent Programe parameters with report builder find variable. We will enter the find variable name in the toke field so that parameters will be passed to the find variable. Required check box: By using this check box we can’t make the parameters mandatory or optional Enabled Check Box: By using this we can enable or disable the parameter. Display Check Box: By using this we can hide or display the parameters in SRS window. Range Option: While defining the from and to parameters if we wanted to accept values in accession order menus from values is low and to value is high we will select the options called low and high. Default Types: If we are hiding the parameters user can’t enter the values that time we can pass default values by using default type and default value filed. SRS Window – Copy Button: This will be used to find out recent Concurrent Programe list with parameters in SRS Window.

• • • •

• •

CLASS - 8 Default Types

Date . Trunc(creation_date) from fnd_user.When we are hiding the parameter in SRS windows user can’t enter the values that time we can pass values internally by using defaults types. . select default type as segment give the parameter name in the default values field. User_name. Trunc(creation_date) from fnd_user Where trunc(creation_date) between :P_From_Date and :P_To_Date Create a Summery Column Count of UserIDs Oracle Applications To register the parameter P_From_Date – Values Set – FND_DATE Default Values.Input Mask 2) P_To_Date – Date –Input Mask 3) P_Title – Character – 100 Data Model Select User_ID. Current Date: System Date Current Time: System Time Profile: By using the profile option we can pass user profile values as default SQL Statement: When we want to pass select statement to rest as default values that time we will select default types as SQL statement and write the select statement in the default values filed. Segment: When we wanted to pass previous parameter values as default to the next parameter then we will use segment. Select statement should not return more then one value. Layout Model Object Navigator User Parameters 1) P_From_Date . 1) Constant: If we want to pass constant values as default then we will select 2) 3) 4) 5) default type constant and we will specify the values in default value field. User_name. 6) Report Builders Data Model Select User_ID.

P_From_Date – Current Date P_To_Date – Current Date P_Title – Constant To hide parameter – To Uncheck the Display Check box in bottom of the form To write SQL Statement Min and Max creation Date Select MIN(TRUNC(CREATION_DATE)) FROM FND_USER Select MAX(TRUNC(CREATION_DATE)) FROM FND_USER Default values type – SQL Statement option Default Value field – SQL Statement Segment Default Type as – Segment Option Default Values – Specify the previous parameter VALUE SETS . 0 – 9 => 35 to 7856 => 45 to 0045 2) INDEPENDENT: Yes – LOV – user must select values from the list 3) DEPENDENT: Yes – LOV – The value which will depend upon the previous parameter Country Code: City Code: . It will restrict the user to enter valid values. 1) NONE : When we write maintain some format conditioning NO – LOV Emp NO: => Only nos. These are 8 types.Application – Validation – Set Value set is nothing but list of values with validation.

Once the value set is created we can’t delete if value if value set is being used by concurrent program if we want to delete release from the concurrent program then we can delete by using delete option. . Provide the values to the user either number or character creates the independent value set to enter the values for the value set ApplicationValidation-Values b. Once the value set is created we can use it for any concurrent program either single time or multiple times. Enter the values set name select format type enter the minimum size select validation type as NONE. based on the selection of country code lov city code lov will change 4) TABLE: Combination functionality of Independent and Dependent to provide database table name and column name. 5) TRANSLATED: Independent – Multi language values 6) TRANSLATED DEPENDENT: Dependent – Multi language values 7) Special : To Display Flexi field data 8) Pair: To Display Flexi field data. Here no list of values user manually will enter the value based on the conditions values will be accepted. CLASS .9 1) NONE a. d.e. 2) INDEPENDENT – a. b. If we want to provide list values to the user we will go for selecting independent values set type user must select the values from the list.i. When we want to restrict the user to enter the values based on some conditions then we will use NONE type. c.

d.c. If values are available in database table then we will go for using table value set. creation_date From FND-USER Where row num < 20 Order by User_name desc a. Dependent value set is nothing but another LOV but values will be changing based on the previous Independent value set. Once the values are inserted in to the list we can’t delete instead of deletion we can disable by using enable check box or effective date from and to. . India Hyderabad Mumbai Chennai Bangalore Newyork Newjersy California London Paris US UK CLASS . b. c. column name in the value field. When we are creating dependent we must have 2 parameters 1)Independent 2) Dependent c. Open the values set form create dependent value set by selecting validation type as dependent. Enter the where clause order by clause in the text item called where order by. Open the value set for an enter value set name select format type and select validation type as Independent. e. d. b. we have to use alias name while specifying additional columns. d. Select edit information button attach Independent value set what ever we have created. f. Open the value set form and give the value set name select validation type is table click edit information button. we will give the table name and column name system will retrieve the values from the database table. 3) DEPENDENT a. user_id. Use the additional column field to display extra columns data in LOV. e.10 4) TABLE – Select user_name. Open the value set form create Independent value set go to values from enter the values. Copy the value set name go to values screen enter the values set name and click Find enter the values in the values field save the transactions attach value set to concurrent program. Copy the value set name go to values screen click on find button enter the values based on the Independent value. e. Enter the table name.

Select pv.Disabled language 6) SPECIAL & PAIR – a. Join condition is mandatory in where / orderby clause iv. column name. ) ii.Base language D . Go to Application Developer Responsibility – Application=>Database=>Table query the records based on table name. Select User_ID. These two value sets will be used to display flexi filed data.vendor_name. g. Id Column in Value set form – If we want to display one column to the user in the front end and pass another column value internally we will use ID column. Select * from FND_LANGUAGES Installed_Flag – I . PO_VENDORS. AT the time of selecting give the column name by giving the alias name.vendor_id. . USER_name from FND_USER – From front end user name should be available and internally user_id to be passed. i.CPLISTREP. At the time of giving the table name enter table names with alias name by specifying. iii. PO_VENDORS_SITE_ALL.f. CLASS . 5) TRANSLATED INDEPENDENT & TRANSLATED DEPENDENT a. ( . po_vendors_sites_all pvs Where pv. j. These two value set will work like independent and dependent value set but these two value sets will be used to display translation values (other thane English language values) if application is installed for mlti language there we will create these two value sets. Meaning Column – This will be used to display the extra columns like additional columns it will work like a additional columns k. h.11 Develop the below report with parameters . pvs.vendor_site_code From po_vendors pv.RDF From Date : P_From_Date To Date : P_To_Date Title : P_Title CP Name CDate Application Name Executable Executable Method • When the width of the report is more we have chose the style of the output in Concurrent program window BACS instead of A4.vendor_id = pvs. Table Application : It is a optional field based on the table name we can find out table application name.Installed languages B . Display the values from multiple tables – i.

To User ID.application_id = fav. fev. ================ Exercise From User ID. • Bind parameter to be register before Oracle applications.execution_method_code = fl. fnd_application_vl fav.application_id and fcp.creation_date) CDate.creation_date) between :P_From_Date and :P_To_Date End if End. fnd_executables_form_v fev. fav.meaning from fnd_concurrent_programs_vl fcp. After Parameter Form Trigger Begin If :P_From_Date is NULL and :P_To_Date is NULL then :P_lexical:= ‘ ‘ Else :P_lexical:= ‘and Trunc(fcp.application_name.EXECUTABLE_ID = fev.lookup_code&p_lexical Parameters: • Lexical parameter to change the query dynamically.EXECUTABLE_ID and fl.executable_name. Trunc(fcp. Begin If :P_Title is NULL then Return (True) Else Return (False) End if End If parameters were not passed to the :P_From_Date and :P_To_Date report should display all the records. fl. If title parameter is null i. if user doesn’t pass the value to the title parameter Format trigger.e.user_concurrent_program_name. To Date Title . fnd_lookups fl where fcp.lookup_type ='CP_EXECUTION_METHOD_CODE' and fcp.Query Select fcp. From Date.

USER_ID = FRG.APPLICATION_ID = FAV. TRUNC(FRG. o Put all the fields which are related to details query and what ever are needed.RESPONSIBILITY_ID = FRV.SECURITY_GROUP_KEY. FND_USER_RESP_GROUPS FRG.APPLICATION_ID AND FRG.SECURITY_GROUP_ID = FSG.USER_ID AND FRG. FRV.User_ID User_Name CDate Responsibility Application Name Security Group From Date To Date CLASS .RESPONSIBILITY_ID AND FRV.SECURITY_GROUP_ID Steps to develop a report • Data Model – Data link to be given between both the quarries. USER_NAME.END_DATE) TODATE FROM FND_USER FU.12 Query prepared by SIR in class Master Level SELECT USER_ID. FND_SECURITY_GROUPS_VL FSG WHERE FU.USER_ID. FND_APPLICATION_VL FAV. • Adjust the margin and comeback to main page • Report width to be increased . FAV.APPLICATION_NAME. • Take another repeating frame and place that on the first repeating frame and source to detail query. TRUNC(CREATION_DATE) CDATE FROM FND_USER WHERE USER_ID BETWEEN :P_FROM_ID AND :P_TO_DATE Detail Level SELECT FU. • Select all the fields and no fill and no line • Define the User parameters P_From_ID and P_To_ID • Applications o Create the table value set for select the parameters . FSG.13 – 135 • Select the main from and other frames – expand – variable • Place all the text fields.START_DATE) FROMDATE. • Take the repeating frame and source to master query o Put all the fields which are related to master query and what ever are needed. TRUNC(FRG. FND_RESPONSIBILITY_VL FRV.RESPONSIBILITY_NAME.

when ever courser goes between pages at first time. USER EXIT Start End Parameter form Query Layout Start End Parameter form Query Layout 3GL User Exit It is one of the predefined program in Reports 6i will be used for stop the report execution process for sometime and transfer the control to the 3rd Generation Language get the data and completes the remain execution process. 1) Define the mandatory parameter called P_CONC_REQUEST_ID – This is one of the bind variable when ever we submit a request in SRS window that request ID will be passed to this bind variable. file.Standards to develop a report in Oracle Applications – 3 STANDARD STEPS. printer.USEREXIT(FND SRWEXIT) Report Triggers 1) 2) 3) 4) 5) Before Parameter Form Trigger After Parameter Form Trigger Before Report Trigger – Before retrieving the data from database Between Pages Trigger . email. based on this request id we can execute concurrent request process.e. Without this find variable we can’t use userexits. . After Report Trigger – After out is reached the destination i.USEREXIT(FND SRWINIT) 3) Call the userexit in after report trigger • SRW. 2) Call the userexit in Before Report Trigger • SRW.

We have 5 types of User Exits available in Oracle Applications. • SRW.USEREXIT (FND SRWEXIT) 3) FND FLEX SQL 4) FND FLEX IDVAL 5) FND FORMATCURRENCY CLASS .13 Purchase Order Application: Group of Forms. Reports and Programs Requisition Request for Quotation (RFQ) Quotation Purchase Order Receipts Purchase Documents AP Interface INV Interface • • • Requisition o Internal o Purchase RFQ o Standard o Bid o Catalog Quotation o Standard • • o Bid and Catalog Purchase Order o Standard o Planned o Contract o Blanket Receipts o Direct Delivery o Standard Receipt o Inspection Required. 1) FND SRWINIT: We will use this user exit in the before report trigger. It will initialize user profile values according to that profile values data will be retrieved from database.USEREXIT(FND SRWINIT) 2) FND SRWEXIT: We will call this user exit from ater report rigger to freeze the memory which is occupied by user profile values. . • SRW.

Buyer creation 1) Item Creation a.ORGANIZATION_NAME From MTL_SYSTEM_ITEM_B MSI ORG_ORGANIZATION_DEFINETIONS OOD Where MSI. Vision Operations(USA) b.• Before going to start PO application we have to define following things 1. Suppliers creation 3.Supply Base – Suppliers press enter c.Composite Primary Key Select MSI.Items – Master Item – enter. select the organization vision operations.SEGMENT ITEM OOD.ORGANIZATION_ID And MSI. e. Open the Items from . We can assign the item to the multiple organization by selecting tool menu – Organization assignment option check the check box called assigned. Vision Operations(USA) b.SEGMENT1 = ‘KEYBOARD’ 2) Supplier Creation a.Organizatin_ID .Inventory_item_ID . c.ORGANIZATION_ID = OOD. system will show the organization list.VENDOR_ID – Primary Key Select * from PO_VENDOR_SITESM_ALL where VENDOR_ID=’1010’ . Open the user from in System Administrator Responsibility attach the responsibility called Inventory. Go to purchasing tab check the check box called purchased and save the transactions. d. Items Creation 2.Organizatio_ID is primary key column Select * from MTL_SYSTEM_ITEM_S Where sgment1=’Keyboad’ . Open the suppliers form . Enter the suppliers name and save the transaction and we will get supplier number select status button enter site address select contact tab – enter contact details and save Select * from PO_VENDORS where SEGMENT1=’5080’ .VENDOR_SITE_ID – Primary Key Select * from PO_VENDOR_CONTACTS where VENDOR_SITE_ID= ‘2215’ . Go to Inventory tab check the check box called Inventory Item. Select the responsibility called Purchasing. enter the item name and description. Select * from ORG_ORGANIZATION_ DEFINETIONS .VENDOR_CONTACT_ID – Primary Key .

PERSON_ID d. Select FU. we will find 2 types of requisitions. Select * from PER_ALL_PEOPLE_F Where EMPLOYEE_NUMBER = ‘893’ PERSON_ID is Primary Key column c.EMPLOYEE_ID = PPF. Distributions.CLASS . Open the requisitions form – Requisitions – Requisitions and enter. Lines. Copy the employee name go to purchasing application open the Buyers form attach to the Buyers list . Select the requisition type at header level enter item details at line level (item Name. One header will be there at least one line multiple line we create for every line at least one distribution or multiple distributions will be there. We will enter the requisition information at 3 levels i. Select new button enter employee name and Date of Birth. when we receiving the materials from other organizations(Branches) b. select action as creation employment chose the option called buyer and save the transaction. b. Attach the Responsibility called HRMS Management. USER_NAME. PER_ALL_PEOPLE_F PPF Where FU. .e. PPF. Go to system administrator create user name attach employee name in the filed called Person and save the transaction. Open the Employee form (N) HRMS Manager – People – Enter and Maintain. c.Setup – Personnel – Buyers and enter. quantity. d. a. price and need by date) select bistributions buttion enter distribution details like quantity and account details and save the transactions. Internal Requisition: This will be created. when we are receiving the materials from outside means suppliers. f.USER_NAME = ‘20USER’ And FU. Purchase Requisition: This will be created. Select * from PO_AGENTS This contains only Buyer list and primary key is AGEN_ID PO PROCESS 1) Requisition: It is one of the purchasing document will be crated by employers when ever they required goods or services or training.FULL_NAME From FND_USER FU. e. Headers.13 3) Buyer Creation: a.

Catalog : If company is purchasing materials regularly fixed quantity location and date.ACTION_CODE PDF.EMPLOYEE_ID = PPF. CLASS . we can include price breaks at different quality levels. lines and shipments. where we are not specify any price breaks in Bid RFQ. Select AUTHORIZATION_STATUS from PO_REQUISITION_HEADER_ALL j. h.PERSON_ID k. Bid : If company is going to purchase large number of items which are expensive. it will show requisition approved status. We will go for creation of RFQ we have 3 types of RFQs.REQUISITION_LINE_ID Select * from PO_REG_DISTRIBUTIONS_ALL WHERE REQUISITION_LINE_ID= 9922 Primary Key . c. We can find out requisition history by using tools menu option called view action history. then we will select regularly we can include price breaks at different levels. Standard : This will be created for items we need only once or not regularly. Cancel the Requisition: Open the requisition summery form enter requisition number select find button go to tools menu select option called ‘Control’ and chose the option as cancel requisition. Select * from PO-ACTION_HISTORY Where OBJECT_ID = REQUISITION_HEADER_ID Select PAH.go to numbering tab select requisition number entry as manual type. Go to requisition number select find button. Enter manual requisition Number: Setup – Organization – Purchasing Options and enter .REQUISITION_HEAD_ID Select * from PO_REQUISTION_LINES_ALL WHERE REQUISITION_HEADER_ID = ‘11458’ Primary Key . Select * from PO_REQUISITON_HEADERS_ALL WHERE SEGMENT1 = ‘1656’ Primary key . .g.14 2) RFQ – REQUEST FOR QUOTATION: It is one of the purchasing document after requisition is approved. a. Select approve button press OK system will send the document for approval.DISTRIBUTION_ID i.FULL_NAME From PO_ACTION_HISTORY PAH PER_ALL_PEOPLE_F PPF Where OBJECT_ID = 11459 And PAH. We will create bid RFQ where we will specify Headers. b.

iii. If we are sending bid RFQ to the suppliers we will receive the bid quotation for catalog RFQ we will receive catalog quotation for standard RFQ we will receive standard quotation. Again quotation are 3 types i. Catalog and Standard b. c. iv. What ever the quotation we are received from the suppliers we will enter those quotation details in the system for future purpose. Navigation – Open the RFQ form – RFQs and Quotation – RFQs and enter . i. Bill to location details – select line level enter item details select price breaks button enter price break details select terms button enter terms and conditions details. Fright Terms: It is nothing by at transportation charges whether supplier will bear it or buyer. ii. Bid. Carrier : We will give the transportation company name so that supplier will supply the materials by this transportation company.select RFQ type from header level enter ship to location. d. a. RFQ – Terms and conditions. select suppliers button and enter supplier name who are going to receive RFQ document Select * from PO_HEADERS_ALL Where segment1=’306’ Primary Key. interest rates and so on. FOB(Foot on Board) : It is responsibility of material damage or material missing during the transportation. e.3) QUOTATIONS : After creation of RFQ document we will send this document to the different suppliers who are going to supply the materials. next we will receive quotations from the suppliers either by email or fax or by phone.PO_HEADER_ID Select * from PO_LINES_ALL Where PO_HEADERS_ID = ‘11845’ Primary Key – PO_LINE_ID Select * from PO_LINE_LOCATIONS_ALL where PO_LINE_ID 12233 Primary Key –LINE_LOCATION_ID Select * from FND_CURRIENCIES Primary Key –CURRENCY_CODE Select * from AP_TERMS Primary Key – TERM_ID Select * from AP_TERMS_LINES Select * from HR_LOCATIONS Primary Key – LOCATION_ID .e. Payment Terms – At the time of creating RFQ document we will specifying the payment terms like due date.

f. AUTO CRATE OPTION : This is one of the feature application to create
RFQ or PO documents automatically based on the approved requisition document. i. Create requisition and approve it ii. Open the auto create form select clear button enter requisition number select find button which will display requisition then details iii. Select the line by checking the checkbox select action as create, document types as RFQ iv. Select automatic button click the create button whichwill create RFQ document will selected requisition lines and displays RFQ No. g. QUOTATION : - RFQs and Quotation – Quotation and enter i. We will receive the quotations from suppliers against the RFQ either by fax or email we will enter those quotation details manually in the system to make the quote analysis and future purpose. ii. Quotation tables: One we create the quotation from front end data will be stored in the RFQs tables only by column type_lookup_code=’quotation’. Select * from PO_HEADERS_ ALL WHERE SEGMENT1 AND TYPE_LOOKUP_CODE CLASS - 15 4) Purchase Orders : It is one of the purchasing document at the time of purchasing from the supplier we will create this document by specifying terms and conditions and shipping details distribution details and so on. We have 4 types of Purchase Orders a. b. c. d. Standard Planned Blanket Contract = ’500’ =’QUOTATION’

Purchase Order Types Summery

Standard Purchase Order

When we require the materials from suppliers we will cerate standard PO by specifying terms and conditions price, quantity and so on. Select * from PO_HEADERS_ALL where segment1=’3445’ and type_lookup_id = ‘STANDARD’ Select * from Po_lines_all where PO_Header_id = 11858 Select * from PO_Line_locations_all where Po_line_id=12216 Primary Key – LINE_LOCATION_ID Select * from po_distributions_all where line_location_id Primary Key – PO_DISTRIBUTION_ID

• • • • • • •

(N) – Open the purchase order form – Purchase Orders-Purchase Orders and enter select PO type and suppliers information enter the line level details like Items quantity price and so on. Select shipments button enter shipping location details quantity promice date, need by date and so on select distribution button enter distribution details and save the transactions. Select approve button system will submit the document for approvals. Copy the PO number and go to purchase or summary form enter PO number select find button. To cancel the purchase order go the tools menu – control option. Tools menu copy document to create the same document. Auto Create o By using Auto Create option we can create purchase orders automatically from approved requisition by selecting document type as Purchase order.

SELECT PHA.SEGMENT1 PONUM, PHA.TYPE_LOOKUP_CODE POTYPE, TRUNC(PHA.CREATION_DATE) CDATE, PV.VENDOR_NAME PVS.VENDOR_SITE_CODE (PVC.FIRST_NAME ||','||pvc.LAST_NAME) HL1.LOCATION_CODE HL2.LOCATION_CODE PHA.CURRENCY_CODE PPF.FULL_NAME PHA.AUTHORIZATION_STATUS SUM((PLA.QUANTITY*PLA.UNIT_PRICE)) PHA.COMMENTS FROM PO_HEADERS_ALL PHA , PO_VENDORS PV , PO_VENDOR_SITES_ALL PVS, PO_VENDOR_CONTACTS PVC, HR_LOCATIONS HL1, HR_LOCATIONS HL2,

SUPPLIER, SUPPLIERSITE, Contact, ShipTO, BillTo, Currency, Buyer, PoStatus, LineLevelPrice, PODesc

PER_ALL_PEOPLE_F PPF, PO_LINES_ALL PLA WHERE PHA.SEGMENT1 = '3449' AND PHA.VENDOR_ID = PV.VENDOR_ID AND PHA.VENDOR_SITE_ID = PVS.VENDOR_SITE_ID AND PHA.VENDOR_CONTACT_ID = PVC.VENDOR_CONTACT_ID AND PHA.SHIP_TO_LOCATION_ID = HL1.LOCATION_ID AND PHA.BILL_TO_LOCATION_ID = HL2.LOCATION_ID AND PHA.AGENT_ID = PPF.PERSON_ID AND PHA.PO_HEADER_ID = PLA.PO_HEADER_ID GROUP BY PHA.SEGMENT1 , PHA.TYPE_LOOKUP_CODE , TRUNC(PHA.CREATION_DATE), PV.VENDOR_NAME , PVS.VENDOR_SITE_CODE , (PVC.FIRST_NAME ||','||PVC.LAST_NAME) , HL1.LOCATION_CODE , HL2.LOCATION_CODE , PHA.CURRENCY_CODE , PPF.FULL_NAME , PHA.AUTHORIZATION_STATUS , PHA.COMMENTS

CLASS - 16 Blanket Purchase Order

• • •

When ever company would like to have the agreement with supplier that time first we will create Blanket Agreement, when ever we require materials we will go for releasing the purchase orders. Open the purchase order form select Blanket Purchase agreement and enter the details and approve the purchase order. Select releases form either blanket PO Number and Item quantity details select distributions button enter distribution details, select approve button for approvals.

Match Approval 2 way 3 way 4 way PO Qty – 100 PO Qty – 100 PO Qty – 100 Receipt Qty 80 Invoice Qty 50 Invoice Qty 80 Invoice Qty 80 Invoice Qty 50

Receipt Qty 80

• • •

At the time of creation Purchase Order in the shipments, release we will specify the Match approval option. Two way matching is nothing but company purchase order quantity, price with Invoice price. Three way matching is nothing but comparing 3 documents Purchase Order, Receipt and Invoice.

select find button.FULL_NAME BUYER. system will show the PO Line details. Receipt Documents 1. Inspection Required 4 way • • • It is one of the purchasing document will be created while receiving the materials form the suppliers we have 3 types of receipt. • Create PO write 3 lines o Go to receipt – generate the receipt for only one Item and either the PO Number again – create another receipt until all the Items over.SEGMENT1 QUOTENO.CREATION_DATE) CDATE. PPF. PHA. system write automatically generate Receipt number Select * from RCV_SHIPMENT_HEADERS SELECT * FROM RCV_SHIPPMENT_LINES SELECT * FRO RCV_TRANSACTIONS SELECT * FORM ORG_ORGANIZATIONS_DEFINITIONS. TRUNC(PHA. .17 MD050 – Functional Design Document Based on above develop Quotation Report Query MASTER QUERY SELECT PHA. Select Receipt_Num From RCV_shippment_headers Where shipment_header_id IN (Select shipment_header_id From rcv_shpment_lines Where PO_header_id IN( Select Po_Header_ID From PO_heaer_all Where segment1=’3452’)) CLASS . check the check box save to transactions.• Four ways Matching is nothing but company PO receipt inspection and Invoice documents. Direct Delivery2 way 3. Standard 3 Way 2.PO_HEADER_ID. Navigation – Receiving – Receipts and enter.QUOTE_TYPE_LOOKUP_CODE. PHA. Create the purchase order and approve it open the receipts from enter PO Number.

MTL_SYSTEM_ITEMS_B MSI.UNIT_PRICE PRICE FROM PO_LINES_ALL PLA.ZIP FROM PO_HEADERS_ALL PHA .INVENTORY_ITEM_ID AND PLA. PHA. HR_LOCATIONS H1 . MSI. PHA. PO_VENDOR_SITES_ALL PVS.AGENT_ID = PPF.CATEGORY_ID = MC. PO_VENDORS PV WHERE TYPE_LOOKUP_CODE = 'QUOTATION' AND PHA.SEGMENT1 ITEM.ORG_ID = MSI.PERSON_ID AND PHA. PLA.H1.CATEGORY_ID Purchase Order Interview Questions. HR_LOCATIONS H2. PER_ALL_PEOPLE_F PPF . PVS.CITY.BILL_TO_LOCATION_ID = H2.LOCATION_ID AND PHA.VENDOR_SITE_ID AND PHA.LOCATION_ID AND PHA. MC. PV.PO_HEADER_ID.DESCRIPTION ITEMDESC.ORGANIZATION_ID AND PLA.ITEM_ID = MSI.SEGMENT1||'.LOCATION_CODE BILLTO .LOCATION_CODE SHIPTO.VENDOR_ID = :P_VENDOR_ID AND PHA.VENDOR_ID = PV.VENDOR_ID LINE – QUERY SELECT PLA.VENDOR_NAME.SHIP_TO_LOCATION_ID = H1.ADDRESS_LINE1. MTL_CATEGORIES MC WHERE PLA. 1) 2) 3) 4) 5) What is the Flow of Purchasing Module Where the types of Requisition and table Types of Purchase orders and tables What is the different between standard PO and Blanket PO We have created a Item but which is not available in the pO what will be the problem 6) What are the types of Match approvals 7) What are the Receipt types 8) When we enter a Blanket Release data where it will be stored 9) If give the requisition no how to find out corresponding PO Numbers 10) If give the PO Number how to find out corresponding Receipt Numbers 11) What is Auto Create and Advantage 12) In which table we can find out .CURRENCY_CODE CURR.SEGMENT2 CATEGORY.'||MC.VENDOR_SITE_ID = PVS. H2. PVS. PVS. MSI.QUOTE_VENDOR_QUOTE_NUMBER QUOTEAMT .

Function and Package Calling DBMS_OUTPTU.LOG.OUTPUT to write in the output file. ‘Write message’ || Variable name) FND_FILE. . 1-Warnining.LOG to write in the log file.PUT_LINE(FND_FILE. Create or Replace <Procedure Name> Local Variable declaration Cursor Declaration Collection Declaration Begin Space for Control Statements like IF LOOP s Procedure.----- we will not use this function. Retcode: It returns the status of concurrent program either 0-Normal. ( Errorbuff OUT Varchar2(10).PUT_LINE(FND_FILE. ‘Write message’ || Variable name) Exception When Others then FND_FILE. ‘Write message’ || Variable name) End <Procedure Name> ErrorBuf: While registering the procedure in concurrent Programe we are suppose define errorbuf out parameter.OUT. .LOG.18 PL / SQL Procedure registration with Oracle APPS. FND_FILE.PUT_LINE . Quotation.PUT_LINE(FND_FILE. instead of DBMS_OUTPUT package we will use FND_FILE. FND_FILE.i) Shipped Quantity ii) Received Quantity iii) Canceled Quantity 13) Can we create Purchase order directly without i) Requisition. Purchase Order CLASS . ) . which will give the error messages in the log file if any occurs in the procedure. ii) RFQ iii) Quotation 14) Can we have the Receipt without Purchase order 15) What are the tables for RFQ. 2Error API – Application Programe Interface – FND_FILE: API is nothing but Application Programming Interface. Retcode OUT Varchar2(20) . .

.NOTE: We can register procedure or package procedure as concurrent Programe to do some DML validation and some other programming logic. we can’t register function as concurrent Programe.

Begin FND_FILE. New Vendor Name System should find weather vendor ID is exist or not if it exists it should update the Vendor Name. V_Name IN Varchar2) as L_Flag Varchar2(10) Default ’Y’.PUT_LINE(FND_FILE. ‘Write message’ || L-Name) Exception When Other then FND_FILE. Create the Request Group and the Concurrent Programe Attach the Request Group to the Responsibility Attach Responsibility to the User User submit Request from SRS window Simple Example Create or Replace Procedure EX20( Errorbuf out Varchar2.PUT_LINE(FND_FILE.LOG.PUT_LINE(FND_FILE. ‘Error has occurred during the execution’) End EX20 Procedure with parameters Develop a Procedure which will take two parameters 1.Registration Steps • • • • • • • Develop the procedure and compile. Retcode out Varchar2) as L_no number(8) default 1000. Rajan Bhatnagar. specification of the procedure will be stored in the Database. Select System Administrator Responsibility . Parameters.Crate executable with execution method as ‘PL/SQL Stored Procedure” Create concurrent Programe and attach – Executable.LOG. Retcode OUT Varchar2. Begin Select Vendor_name INTO L_name from PO_vendors where vendor_ID=V_ID. ‘There no records in the Table’) . ‘Write message’ || L_no) FND_FILE. Create or Replace Procedure VEN_UPDATE20( Errorbuf OUT Varchar2.LOG. Exception When NO_DATA_FOUND then FND_FILE. Vendor ID 2. and Incompatibilities.VENDOR_NAME%TYPE. L_Name Varchar2(100) Default ‘Mr. V_ID IN Number. L_Name PO_VENDORS.PUT_LINE(FND_FILE.OUTPUT.

Total amount Number(8)). ‘There multiple records in the table’) L_Flag:=’E’. Varchar2(100). • • Program will accept one parameter supplier name LOV Vendor Name Internally Vendor_ID should pass Based on the Vendor_id find the Quotation Details and load in the temp tables. ‘vendor name changed ‘) Endif. When TOO_MENY_ROWS then FND_FILE. First parameter values will be passed to the first variable second parameter values will be second variable and so on Exercise Develop a procedure to transfer the following details in to the Temporary Table.LOG. End. select parameter button enter sequence number parameter name attach value sets if required attach default types.PUT_LINE(FND_FILE. Qno Qtype Cdate Buyer BillTo ShippTo Currency Number(8).L_Flag:=’E’.LOG. it is enabled for only reports because report builder find variable may or may not be in the sequence order but procedures variable or permits will be always in the same sequence. Create Table Quotation_temp( Create Table Quotation_Details ( Total Quotations Number(8). Date Varchar2(100). if we have user defined parameter we are suppose to define those parameter at the time of registering concurrent program. Exception WHEN OTHERS then FND_FILE. Varchar2(10). .OUTPUT. Varchar2(100). ‘Error occurred while updating’) End VEN_UPDATE20.PUT_LINE(FND_FILE. Number). If L_flag:= ‘Y’ then Update PO_VENDORS SET VENDOR_NAME=V_NAME Where Vendor_id=V_ID. • • While registering the procedure. Token filed will be disabled for procedures. Commit FND_FILE.PUT_LINE(FND_FILE.

(. Control File: It contains SQL * Loader program contains data file path. 4.txt) or excel sheet. Crate Two table 2. The extension of file is . the extension of file .txt. .log. 3. And save as . . Badfile: It contains the rejected records which are rejected by SQL*Loader..19 SQL * LOADER . during this data transfer.Oracle Tool It is one of the Oracles tool will be used to upload the data from flat files in to oracle database tables. the following files will be created. that time data will be transfer from file to Oracle Database Table. Column3. The Syntax of the control file is as follows: Load Data Infile ‘Data file Path’ Insert into table <Oracle Database Table Name> Fields terminated by ‘. those error messages will be available in segments.NOTE: 1. ). execution start time and end time. Transfer the data in to quotation temp and quotation details 4.ctl file. database table name and column mapping and soon. Log file: It contains information about control file execution like. successful records count. 5.csv – Comma Separated Value) 2. . .ctl. Column2. .bad.dat. . if there are any errors in the control file.’ or ’$’ ( Column1. Discard file: It contains the rejected records which are rejected by control file if we have specified any condition in the control file if record is not satisfying the condition the complete record will be inserted in the discard file. once we develop the control file we will execute this. . 1. . bad records count. Define local variable to count to calculation and transfer to quotation_temp CLASS . Define the cursor based on Vendor_ID 3. because of bad format or data type mismatch and so on. The extension of the bad file .dis. The extension of the control files is .ctl file For execution Command for . Flat file or Data file: It contains the data in specific format it will be either text file (.

Number(8).7\bin> Execute the control file with SQLLDR Command SQLLDER SCOTT/TIGER@PROD Control = C:\20\LOAD\EMP. Go to Command Prompt select following path o D:\Oracle\proddb\8.txt’ Insert into table emp_details Fields terminated by ‘.Table should be empty – New records will be inserted. Varchar2(100). Comm.ctl Load Data Infile ‘C:\20\load\emp.SQLLDER username/password@hoststring Control = <Control file Patch> Class Exercise • Connect to Scott Schema and create temporary table ( empno Ename JDate Deptno Sale Comm Tax Number(8). Number(8). Ename. JDate.’ ( Empno. Tax ). CLASS . Date. Develop the control file like as follows and save it with extension . Deptno. Number(8) ).1. Sale. Create table emp_details Select * from emp_details • • Prepare data file and save in the local machine. Number(8). . APPEND – New records will be add for existing records TRUNCATE – It will delete existing records and inserts new records from the file.20 Control File INSERT .CTL • • • To find path to execute the SQLLDR command is HOST Command from SQL prompt which will shows the path where we can execute control file o Select * from v$parameter.

TXT Truncate Into table emp_details ( Empno position(1:5). Jdate position(16:26). Ename – 10.5. Jdate Sysdate.’ Truncate into Table emp_details Fields Terminated by ‘ . ‘ optionally enclosed ‘ “ ‘ Trailing Nullcols ( Empno ‘emp_seq.for example Empno . Deptno – 2.csv file. Jdate – 11. Sal – 5. Sal position(29:33). Decode. Tax position(37:39)) . DML or TCL command in control file. Instr. we can not use any DDL. If any string contains commas we will enclosed this will in double quotation in the control file we will specify the following statement syntax Fields Terminated by ‘ . Ename position(6:15). Deptno. Tax ) Fixed format control file exampled Sometimes data may found in fixed format . LOAD DATA Infile ‘C:\20\load\emp.txt. Comm – 3.. NVL. Commn position(34:36). Commn.csv file (Comma Separated Valu) If data in excel sheet we can save that file as . Ename ‘upper(:ename)’. Deptno position(27:28). Rtrim.nextval’. Tax -3 If data is in the fixed format the control file will be developed in different format LOAD DATA Infile ‘C:\20\LOAD\FIXED. Trim and so on Training Nullcols – Inserts NULL columns if no data is there. Sal. ‘ optionally enclosed by ‘ ” ’ If one of the field is missing for the database column we can generate sequences and also we can use the some functions like to_char.

21 Data Uplaoding in to two tables Create Table emp1 ( Empno Number(5). Sal position(29:33). DnameVarchar2(30)). Positions of the data in datafile Empno 5. dname 7 . Ename position(6:15). Jdate position(16:26). Ename 10. Deptno position(27:28).for example LOAD DATA Infile * Discardfile ‘C:\emp_rejected.ORA file contains the default values for the commit point CLASS . Job1. Commn position(34:36). Create Table dept1( DeptnoNumber(2). Job Varchar2(30)). Ename Varchar2(30). Deptno2. Tax position(37:39)) Begin Data Fsfsd fgdfdsf Fsfsfsf fdfdsfsd gsfsdfg gdgd Along with the SQLLDR command we can also use the few commands like as bellow LOAD – Will be used to load the first ‘N’ records SQLLDER username/password@Hoststring Load=10 SKIP – TO skip the first ‘n’ records SQLLDER username/password@Hoststring skip=10 ROWS – It will be used to issue the commit after insert ’N’records for every 10 records internally auto commit will happen SQLLDER username/password@Hoststring rows=10 INIT.In control file itself we can specify the data and at the time of insertion we specify the specify the condition and we can also specify the discard file pat in control file it self .dis’ Truncate Into table emp_details When deptno=’20’ ( Empno position(1:5).

”Manager’)”) Insert Into table dept1 When deptno:=’ ‘ ( Deptno Position(17:18). Parameters Attach the concurrent program to the Request Group Attach the Request group to the Responsibility Attach Responsibility to the user will submit the request form SRS window. Number(8).’ Optionally Enclosed by ‘ “ ‘ Trailing NULLcols ( Item.0\BIN\ .txt Truncate Into table emp1 (Empno Position(1:5).CTL Create executable by seleting the execution method as SQL*Loader create concurrent Program attach executable. Item Desc. Job Position(16:16) “Decode (:Job . 4. Develop the control file and move the both data file and control file in the server CUS_TOP\11.:Itemtax)”) .’M’.DECODE Statement to be used to Code the ‘A” for Analyst ‘M’ for Manager and Multiple data files can also be called in single control file Example control file Load data Infile ‘C:\20load\multiple. 7. BasicCost “(:Itemcost .‘A’. DnamePosition(19:25)) Register Control file as Concurrent Program 1. Ename Position(6:15). Number(8)) Basic Cost to the calculated field in the Control file i. 6. Varchar2(100).e. 2.5. 3. ItemCost. Number(8). 5. Example Create the table in APPS Schema Create table MTL_ITEMS( Item ItemDesc ItemCost ItemTax BasicCost Varchar2(10). ItemTax. ItemCost – ItemTax Development of Control file Load Data Infile * Insert into Table MTL_ITEMS Fields Terminated by ‘. ‘Analyst’.

Yes.Begin Data Fdfdsf sgdfg fgdgdgds dgdgdgd gfgdgd hgdghdg Fdfdsf sgdfg fgdgdgds dgdgdgd gfgdgd hgdghdg • • • • Move the .ORA file where we will set parent called maximum errors allowed and max auto commit other parameter also. NO We can’t user defined functions 8.ctl file in the Inventory top i. DECODE. we can have fixed format that time we will use POSITION keyword 5. If control file rejected more than 10 records error the I would like to stop the process how to do it a. TO_CAHR. Can we have the data in Fixed format and how to upload a. LTRIM. can we use user defined functions a. What is the difference between Bad file and Discard file a. By using WHEN command 4. 7. Interview Questions 1. INSTER. RTRIM. By suing ROWS Command 2. Go to System Administrator and register with the applications and concurrent program and method should be SQL * Loader Data file pat can changed dynamically o Infile ‘&1’ o We muse use the ‘1` degit o We are allowed to submit only one parameter that should be data file path SQL * Loader with Parameters At the time of defining concurrent programe select parameter butiton define the parameter specify the ‘&1’ in the control file so that what ever the values we have passed that will be replaced in the control file. BIN Directory And register the control file with applications. TO_DATE. What are the types loading we have a. Direct Method Load b. What are the SQL functions we can use in the control file a. Conventional method load (Default) 3. 6. How to upload the data in to multiple table at with time a.e. Both file contains rejected records – Bad file contains records which are rejected by SQL*Loader and Discard file contains which are rejected by Control file. NVL and so on. SUBSTER. We have a file called INIT. How to issue the commit in the control file a. .

User_Name. 8. For example ( Empno. CUST_TOP\11.5. Submit request from SRS Window SQL * Plus Program Column Column Column Column User_id User_name Cration_Date &3 format Format Format Format 9999999999 A25 A11 A50 Prompt SQL Report with User Details Select User_ID. How to skip specific field data a. Attach responsibility to the user. Move the file form local machine to server in to respective path a. Deptno). CLASS . Submission of Concurrent Program from Back End because. Develop the SQL Program (. &3 …………… We are not suppose to skip the sequence WE can use same parameter values in multiple places in the script SQL * PLUS concurrent program to execute DDL and Connect to remote database and executes the scripts and so on. JDate FILLER.9. Attach concurrent program to the request group 6. Creation_Date. Crate concurrent program and attach executable and parameters 5. Create executable execution method as “SQL*PLUS” 4. By using FILLER command – In this position column will not accept the data and it inserts the NULL values.sql and create the parameters in Oracle apps systems administrator and column can be added dynamically NOTE • • • • • We can define Maximum 100 parameter We are suppose to use &1.sql 3.0\SQL\ . Ename . . Attach request group to the responsibility 7.sql) 2. &2.22 SQL * Plus 1. &3 from fnd_user Where User_id between &1 and &2 Save as the file . sometimes we don’t have the access to the front end.

log ‘Program not successfully submitted’). ‘Email_address’).Executable Concurrent Program Request Group SRS We need to use the Application Programe Interface details in 115devg. If l_request_id is != 0 Fnd_file. ‘FALSE’.EXECUTABLE FND_PROGRAM. Executable Concurrent Program Attach Parameter Create Request Group Add Concurrent Program R. 1000. Else Fnd_file.apps_initialize ( user_id.SUBMIT_REQUEST( ) . ‘Users Information Script’. End. l_request_id:= Fnd_request. Endif. ‘ ‘.PARAMETER FND_PROGRAM. Exception When other then Fnd_file. .log ‘Error occurred during the program submission’).Put_line (Fnd_file. ‘User Desc’.pdf 21 chapter FND_PROGRAM.submit_request ( ‘PO’.REQUEST_GROUP FND_PROGRAM.Put_line (Fnd_file. Resp_id Resp_appl_id).G Commit.ADD_TO_GROUPSubmission of CP from Back End SQL PL/SQL Report – Report Triggers Forms – Form Trigger FND_REQUEST.It will be used to submit the Request from Back end. 1200. Sample Program Declare l_request_id number(10).Put_line (Fnd_file. Begin Fnd_global.log ‘Program successfully submitted Request ID is’ || l_request_id).REQUEST FND_PROGRAM.

3. Periodically: WE can specify the from_date and to_date to submit program periodically no of.23 PROFILES Profile is one the changeable option it will change the way of application execution. when we crate user in oracle applications we will design the profile values for ever user by selecting any of this level. Profile levels User  Responsibility  Application  Site 1. Site Level: Site is the lowest profile level when we install Oracle Applications by default values will be assigned at this level.NOTE: If we are submitting concurrent program from the Form Trigger we are suppose to pass the 100 parameter. Days months. still we are suppose to pass NUL values Fnd_user Fnd_responsibility_vl Fnd_application_vl . 4. minutes and so on. site level values will be applicable for all the users.application_name Scheduling the Concurrent program We can submit the Concurrent program future date or date by using the schedule button in SRS window 1. Save this Schedule: This check box will be used to save the schedule and apply same schedule to other concurrent programs by selecting the button called ‘Apply save schedule’ NOTE: After schedule the Concurrent program we can also cancel by selecting the cancel button. Specific Days: If we want submit concurrent program in the specific days we write select this option 5. hours. If parameter are not defined. Once: It will submit the rest only once for future date. As soon as possible: This is default option whenever we submit the request it will submit the as soon as possible 2. CLASS .responsibility_key . .

4. MO: Operating Unit: This will be used to setup user operating unit name which operating unit user is working. and chart of accounts. Definition Application: It is collection of forms.press enter • • We will find profile name and validation access levels. Navigation Application Developer – Profile . GL Set of Books Name: It is one of the GL application profile. application level profile value will over write site level values. reports and programs which are related for specific business functionality Responsibility: It is also collection of forms. who are having access to the specified responsibility. Responsibility Level: We will select the responsibility name assign the profile value. reports and programs which are related for specific position in the organization. User Level: We will select the user name and assign the profit value this is only for specific user which we have specified at will over write responsibility. System will understand the user operating unit (Branch Name) . this is applicable only for the users. Navigation System Administrator – Profile – System – Press Enter • Select profile name and profile level by default site select find button. Application Level: If we want to assign profile value to the specific application users then we will select this level specify the application name and assign the value. 3. 2. We will assign this profile values at responsibility level based on this currency and calendar and accounts will get change. Most of the profile will setup at responsibility level because it will be creating responsibility for ever position in the organization we will also assign the profile values based on position.2. calendar. it will shows profile values at 4 levels Important Profiles: 1. when ever user login to the system by using this profile. set of books is nothing but collection of currency. Responsibility will overwrite the both application and site level values. application and site level values. Based on the access level we will go to system administrator open the profile form assign the profile values. weather we can visible the values or we can update the values.

• • • When we assign set of books to the user based on the that set of book name currency. HR: User_Type: This profile will give the user employment type which user is Permanent. Journals – Entry and press enter we will find the different currencies in currucy filed Personal Profile – To find (N) Help – Diagnosis – Examine and press enter . Contract or consultant will be identified. calendar and accounts structure will be changed Create there different users go to systems administrator assign the profile values. USER_ID USER_NAME RESP_NAME RESP_ID RESP_APPL_ID All these are user personal profile values for user will be there whenever we create it contains the values. Login with the user name select GL responsibility open the Journals form. We cannot change the values. CLASS . select user level enter user name and profile name select find futon and assign the user level values.24 GL: St of Books Currency Calendar Chart of Account Select Currency_code Period_set_name Chatof_account_id Name From gl_set_of_books 18user 19User 20User Currency Calendar Accounts SOBName Vision Operations(USA) Vision Swedan Vison Itely USD SEK ITL GL:Set of Books Name GL:Set of Books Name GL:Set of Books Name Go to Systems Administrator and open the profile form and select the profile name and assign the values.3. HR: Business Group: This profile will give the user business group which group user is working. 4.

TYPE.GET(Profilename.SEGMENT1 PHA.After Report Trigger And adjust the margin and design the layout Before Report Trigger Currency PONUMBER.CURRENCY_CODE From PO_HEADERS_ALL PHA Where VUNDER_ID=&PO_VENDOR_ID Report Development Process Lexical Parameters P_CONC_REQUEST_ID P_USER_ID P_RESP_ID P_SOB_NAME SRW. CDATE.USEREXIT(SRWEXIT) . and Reports.TYPE_LOOKUP_CODE TRUNC(PHA.VALUE(PROFILE Name). APIs will be used to retrieve the profile values form Backend like SQL.Before Report Trigger SRW. Local Variable:= FND_PROFILE. PL/SQL. CURRENCY . Simple PO Report User Name : Responsibility Name : Set Of Books Name : Supplier Name Supplier ID PO Type Date Query Select PHA. Local Variable).USEREXIT(SRWINIT) .CREATION_DATE) PHA.Select block as profile we will find profile names in the filed Profile values in the values field Technical Consultant Job Get .Procedure Value – Function 2 APIs to be used FND_PROFILE. Forms. NOTE: Here get() is a procedure and Values() is a function both will be used to get a profile value from the backend Example: In Select clause we can’t use procedure that time we can use function.

pdf FAQs 1. then use the find variable either in the layout or in the report builder FND_PROFILE.:P_RESP_ID := FND_PROFILE. 115devg.e.GET(‘USER_NAME’. What is profile What are the profiles you have come across in your experience Profile levels in sequential order How to get profile value from Backend How to pass profile values as default in parameter Default Types Constant Segment SQL Profile . 2.Concurrent Programe window Parameter • At the time of defining parameter select default type as profile and give the profile name in the default values field. 5. 4. :P_USER_ID) FND_PROFILE.VALUE(‘ORG_ID’) Select name from HR_OPERATING_UNITS Where organization_id=:x Chapter 15.GET(‘RESP_NAME’.Value(‘Resp_name’) User Name – Username Resp_name – Responsibility name i.VALUE(‘GL:SET_OF_BOOKS_NAME’) PL/SQL – Procedure as Concurrent Program Temp Table – Perfomr_taart User_name Varchar2(50) Resp_name Varchar2(50) SOBName Varchar2(50) ORGName Varchar2(50) Develop the procedure and register as Concurrent program and user submit the request form SRW window system should capture the dynamically and inserts in to the temp table :X:= FND_PROFILE. :P_RESP_ID) :P_SOBNAME := FND_PROFILE. 3. . go to before report trigger call the following APIs. personnel profiles GL_SET_BOOKS_ID MO: Operating Unit – ORG_ID Access the Profile values from the reports Define find variable to store the profile values.

Operating Unit: It is an organization where company is going to do the main business operations like sales. Oracle General Ledger application secures this transaction information like. Business Group secure human recourses information. sell.25 Multi Org Multi Org is nothing but implementing multiple organization under single oracle APPS implementation. chart of accounts and accounting calendar. stock Where company will store the product Business Group: It represents the highest level in the organization structure. balances.CLASS . operating unit information will be secured by following applications like PO. it can be a major division or operating company or consolidated enterprises. We will define the multi org levels like follows: Business Group Set of Books Top level org where employee will be define Currency. Example: When we request list of employees assigned to the business group where organization is a part Set Of Books: It is a financial reporting entity it uses particular functional currency. distribution center. Chart of accounts – Financial Entities Legal Entity Where company is going to create Income Tax Documents to Government Operating Unit Inventory Organization Sub inventories Stock Locations Items Under the Inventory it will come Where Company will procure. we will use the Set of Books to capture these financial information. the following application secures information by Inventory organization . AR. pay. it may be a sales office or division or department. receive. Inventory Organization means warehouse. Calendar. Legal Entity: it is a legal company for which we prepare physical or tax reports and we will submit company flanking sheet to Government. AP. journal entries. OM. purchasing payments. receiving and son. manufacturing plants and sales offices. CM Inventory Organization: It is an organization for which we will track Inventory transactions and balances.

which is related to their organization Multiple Organizations Reporting: We can setup Oracle applications implementation to allow the reporting across operating units we can allow the reports either at SOB level or legal entities level or operating unit level We can sell the products from one legal entity and ship the products from another level entity – that time we can easily create financial transactions. Advantages or Major functions • Data Secure: We can assign users to the particular organization when ever user logon to the application then we can get the data access.xls. • • • • 115multiorg. We can receive the good from the suppliers in any Inventory organization.multiorg.Implementing Multiple Organizations Chapter1 and 4 . Example: A branch employee will create the PO then we can rece4ive the material in B branch Inventory organization but these two organization should be defined under same set of books.pdf . When employee creates internal requisitions in one organization thesewe can ship the materials from another organization with corrent inter company inventory.- Oracle Inventory Bills of Material Work in process Enginering Capacity MRP and so on Again we will define Inventory Organization as 2 levels 1) sub Inventory 2) Stock location – inside of this location we will keep the items. .

CLASS . OE_ORDER_HEADERS CLIENT_INFO: It is one of the RDBMS variable. If we are using multi org views in the RICE components. Ex: PO_HEADERS. systems will understand user operating unit code (ORG_ID) Multi Org views – These are created based on. PO_LINES. If we are not using the user exit (FND SRWINIT) system will not initialize user profile values including MO operating Unit profile that time. client_info variable values is null.26 Multi Org Tables PO_HEADER_ALL PO_LINES_ALL AP_INVOICES_ALL AP_CHECKS_ALL Column ORG_ID ORG_ID ORG_ID ORG_ID Text Select * from po_header_all where org_id=client_info Select * from po_header_all where org_id=client_info Select * from ap_invoices_all where org_id=client_info Select * from ap_checks_all where org_id=client_info Select * from oe_order_header_all OE_ORDER_HEADERS_ALL ORG_ID • • • • • • where org_id=client_info Multi Org table contains multiples organization data. AP_CHECKS. AP_INVOICES.USER_EXIT(‘FND SRWINIT’) – it will initialize the user profile values (MO:OPERATING UNIT) Create 3 users. use multi org view. multi org table having the where clause like “where org_id=client_info”. This table names are goint to end with _all and this table contains common column called org_id Whenever user login to the systems by using MO:OPERATING UNIT profile. Submit request from SRS. In SQL & PL/SQL – We need to use API SQL> select count(*) from PO_HEADERS_ALL 2777 POs are created form multiple organizations SQL> select count(*) from PO_HEADERS – output ‘0’ becoz system doesnot know the branch working for which branch . It will display the output which is related for user organization. assign to them different branches by using MO:Operating Unit profile and develop the report. it contains user operating unit code (org_id) whenever user login to the application o Select * from hr_operating_units (you can get all the branch codes) To create Operating units navigation o HRMS Responsibility – Work Structures . use the multi org tables and register it as concurrent program and submit from SRS window form 3 users we will get all the operating units data in the output instead of multi table.Organization – Description In before report trigger we will write SRW. we will get the data from the database which is related for the user organization.

SQL> Begin FND_CLIENT_INFO. We are not supposed to use the Multi org tables. Set of Books.7 Y – Implemeted successfully (Business Group. release name from fnd_product_groups Multi_org_flag Releasename Y 11.5. operating Unit. I.SET_ORG_CONTEXT(204) END. By suing the following select statement we can find whether multi org is implemented successfully or not o Select multi_org_flag. SQL> select count(*) from PO_HEADERS .SET_ORG_CONTEXT(FND_PROFILE.VALUE(‘ORG_ID’) END It will retrieve User ORG_ID value Table shows details about the Multi Org structure table Organization Name Table Profile Business Group HRFV_BUSINESS_GROUPS HR:Business Group ID Set Of Books GL_SET_OF_BOOKS GL:Set of Books Name Legal Entity HR_LEGAL_ENTITIES Operating Unit HR_OPERATING_UNITS MO:Operating Unit Inventory Organization SubInventory Stock Locations Items ORG_ORGANIZATION_ DEFINITIONS MTL_SECONDARY_ INVENTORIES MTL_ITEM_LOCATIONSQ MTL_SYSTEM_ITEMS Column BUSINESS_GROUP_ID ORG_ID MFG_ORGANIZATION_ID ORGANIZATION_ID Requstions RFQ Quotations PO PO Receipts CLASS – 27 • • While developing or customizing the RICE component we will be using Multiorg views.Now it is showing the 1645 Pos fro branch 204 Begin FND_CLIENT_INFO.E.. Inventory organziaiton) • .

4. which are in HRMS tables like o PER_ALL_PEOPLE_F o PER_JOBS o PER_GRADES o PER_POSITIONS ORG_ID: It is at operating unit level it we will find this common column in all the table at operating unit level like o PO_REQUESITION_HEADERS_ALL o PO_HEADERS_ALL o PO_DISTRIBUTION_ALL NOTE: But PO receipts functionality will come at Inventory organization level.• BUSINESS_GROUP_ID: This at Business group level we can find them common column in all the table. How to populate ORG_ID from SQL prompt? 11. Because we are crating receipt means we are receiving the goods from supplier. We will be receiving the material at Inventories (stories. How to implement multi org in reports? 10. FAQs 1. 3. 6. What is application hierarchy or Multi org flow? What is Business Group? What is legal entity and operating unit What is meant by multi org table What are module will come at operating unit level Will PO Receipt will come tat Operating Unit level or Inventory Organization level? 7. Why there is no _ALL for PO_VENDORS table? 9. What is meant by Client_info? 12. What is difference between OR_ID and ORGANIZATION_ID? 8. 5. When user login in to the system how the system will identify user operating unit? . 2. Example: RCV_SHIPMENT_HEADERS table is not having the _ALL it is not having ORG_ID column ORGANIZATION_ID: It is at Inventory Organization level we will find all the manufacturing tables column this ORGANIZATION_ID column including PO Receipts Tables o MTL_SYSTEM_ITESM_B o WIP_ENTITITES o BOM_RESOURCES o BOM_DEPARTMENT • • • PO_VENDORS is not having _ALL PO_VENDORS_SITES_ALL is having _ALL Supplier is global we can access from any organization Supplier site is organization specific and we create site based on the user ORG_ID sites will retrieved. gowdans ) only.

ix. Key Flex Fields 1. Create the value set in system administrator. N – Flex field – Descriptive – Segments and enter and press F11 enter the title Ctrl + F11 iv. 2. v. To find DFF in form – PO Requisition Form d. Find the DFF title from following navigation 1. We can make the DFF column is optional or mandatory by selecting required check box in the segments form. vi. attach the value set at the time of creating DFF column name in the value set field. Open the form in application (PO. N – Flex Filed – Descriptive – Register c. . We will find all the DFF in Application Developer Responsibility i. Attribute13 Last Date From PO_REQUISITION_HEADER_ALL Where segment1=’15467’ viii. We will use the attribute column while working with DFF b. Go to the form where DFF is attached. Check the check box called Freeze Flex Field Definition click on compile button internally system will submit concurrent program (Flex field view Generation) to compile flex field it will generate one flex field view to capture the data. Customization of DFF i. The view name will be database table name _DFV vii. it will open DFF form enter the data save it go to backend query the records. Attribute9 Buyerlocaton. Descriptive Flex Fields . Select Attribute3 Buyertype. Help Menu – Diagnostics – Examine and enter password as apps and Block name $Descriptive Flex field$ we will find the list of DFFs in the fields select Field: PO_REQ_HDR_DESCRIPTIVE_F4 we will find the DFF in the value fields Value: Requisition Header (Oracle Purchasing) iii. Un check the checkbox called Freeze Flex field definition select segments button enter the column names select attribute column and value set and save the transactions. Copy the value go to Application Developer 1. place the cursor. AP…) we will find the fields which are enclosed with [ ] it is nothing but a DFF we can enable this DFF by using Application Developer Responsibility ii. Descriptive Flex Fields: DFF will be used to capture extra information from the end user without changing form code and without altering database table a.CLASS – 28 Flex Fields Flex Field is nothing but a normal field but it is a ore flexible in the application either to extend the form functionality or to capture the key information We have 2 types of flex fields in oracle applications 1.

Key Flex Field : These will be used capture key information which is in the code language for every code there will be a specific meaning in the application we will find all the KFF s in the Application Developer Responsibility. 2. Global Data Elements: While defining the context field we will enter the context field values based on the value we can change the DFF structure if we want to define any field globally we will select option called Global Data elements. Once we use the attribute column in Global Data elements it will not be available for the context field values. NOTE: Once we enter the value in the context field it will be stored in the Database column called Attribute Category Inventory Sub Inventory Item Location Stock Location Available Qty Item Details Item Quantity Reserved Qty Purchasable Item Item Attributes Inventory Item Customer Item Production Item xi. NOTE: One we use the attributes in one structure we can use the same attributes in another structure. Context Field: While creation of DFF we can define multiple structures based on the user selection we can change the DFF structure. 1. 1. Navigation – Flex . because user can enter only one structure details at a time. 2.CLASS – 29 x. select se4gments enter the details. While defining the context field we will enter context field values for every context value there will be a structure here we can use the entire attribute column from attribute 1 to 15.

DFF will be used to capture EXTRA 1. We can register MAX DFF 3. enter WE have context field 5.Quary will get KFF_List. Columns KFF KFF will be used to capture KEY Information Segment columns will be used We have 29 built in KFF we are not suppose to create new KFF KFF we can define rules to capture valid data WE have no Context field DFF codes will be stored in segments KFF description will be stored in FND_FLEX_VALUES tables. 3. Attribute columns will be used 2. DFF will be accept what ever Data we 4. Differences between DFF and KFF DFF 1.field – Key – Register and enter we can find the structure in the segments form Navigation Flex Field – Key – Segments and press enter when we enter the data in KFF it will be stored in segments columns we will find segments column around 30 based on the requirement. 5. DFF data will be stored in Attribute 6. 4. 6. Information 2.xls file contains all the important KFF to study Application KFF name Table Name Accounting Flexfield GL GL_CODE_COMBINATIONS Assets KFF FA FA_ASSET_KEYWORDS Category Flexfield FA FA_CATEGORIES_B Location Flexfield FA FA_LOCATIONS Sales Tax Location Flexfield AR AR_LOCATION_COMBINATIONS Territory Flexfield AR RA_TERRITORIES Item Catalogs INV MTL_ITEM_CATALOG_GROUPS Item Categories INV MTL_CATEGORIES_B Stock Locators INV MTL_ITEM_LOCATIONS System Items INV MTL_SYSTEM_ITEMS_B Staructure Column CHART_OF_ACCOUNTS_ID No No No LOCATION_STRUCTURE_ID No no STRUCTURE_ID ORGANIZATION_ID ORGANIZATION_ID CLASS – 30 • • • • • To Capture the Key Information We can query the Information at any level Data entry to the user will be very easy System will accept valid accounting transactions GL_CODE_COMBINATION – All Codes . To find a table of DFF – go to the segment form of DFF System Last Query Value .

Currency_code Currency Period_set_name Calendar Chat_of_account_id ChartOfA/C From GL_SET_OF_BOOKS ******* 16USER GL:SET OF BOOKS Vision Operation(USA) USD 101(5) 17USER GL:SET OF BOOKS Vision Italy ITL 50173(4) 18USER GL:SET OF BOOKS Vision Belgium BEL 50714(6) ******* Structure Column • While defining the KFF we will find structure column field if it is null value then KFF has got only one structure.USER_EXIT ('FND SRWEXIT'). 3) Define the following parameters 1) P_CONC_REQUEST_ID 2) P_FLEXDATA 3) P_STRUCT_NUM segment1||'\n'||segment2||'\n'||segment3||'\n'||... open the segments form query the records based on KFF title.. 2) Call another User Exit from After Report Trigger SRW. if there is a structure column that will find multiple structure...||'\n'||segment30 . ******* Set of Books o Currency o Calendar o Chat of Account ******* Select Name..• GLFV_CHARTS_OF_ACCOUNTS – Structure Details Accounting Key Flex Field: • This is one of the built in KFF available in GL application to capture accounting transactions. • Accounting KFF is nothing but Chart of accounts in the set of books when ever we assign the profile (GL: Set of Books Name) to the user based on the this profile system will assign Accounting KFF to the User. we will find structure details • For Accounting KFF structure column is CHART_OF_ACCOUNTS_ID • And we will get all the structure details from this table – GL_CHARTS_OF_ACCOUNTS.USER_EXIT ( 'FND SRWINIT').Process 1) Call the user ext from before report trigger SRW. • All the accounting KFF transaction will be stored in the data based table called GL_CODE_COMBINATIONS Developing the Reports on KFF .

USER_EXIT ( 'FND SRWINIT'). CLASS – 31 Flex Fields Reports development P_FLEXDATA: It is one of the lexical parameter having the default value it is a contribution of all the segment columns.USER_EXIT ('FND FLEXSQL CODE NUM APPL_SHORT_NAME OUTPUT MODE DISPLAY = "GL#" = ":P_STRUCT_NUM" = "SQLGL" = "P_FLEXDATA" = "SELECT" = "ALL").USER_EXIT ('FND FLEXIDVAL CODE = "GL#" NUM = ":P_STRUCT_NUM" APPL_SHORT_NAME = "SQLGL" DATA = "Column Name where the data is available" VALUE = "to get KFF Values we will give formula column Name" MODE = "SELECT" DISPLAY = "ALL").USER_EXIT ('FND SRWEXIT'). 6) Define Formula Column and CALL another User Exit from formula column SRW. 5) Define the Query like follows SELECT &P_FLEXDATA FROM KFF Table WHERE KFF Structure Column = :P_STRUCT_NUM.4) Call another User exit from before report trigger SRW. 2) Call another User Exit from After Report Trigger SRW. . we will use this lexical parameter in the select statement to retrieve the data from database P_STRUCT_NUM: This is a bind variable will be used to capture KFF structure number FND FLEX SQL: It is one of the User Exit we will define in the before report trigger to retrieve KFF segments data FND FLEXIDVAL: This is another user exit will called from formula column to display the KFF data in the output 1) Call the user ext from before report trigger SRW.

SRW. l_name :=fnd_profile. RETURN(:CF_DATA). SRW. function CF_DESCFormula return Char is begin SRW. SRW. 6) Take the Formula column and place it in query and edit the PL/SQL editor function CF_DATAFormula return Char is begin SRW.REFERENCE(:C_FLEXDATA). 5) Go to data model select query SELECT &P_FLEXDATA C_FLEXDATA. SRW.REFERENCE(:P_STRUCT_NUM). SRW.REFERENCE(:P_STRUCT_NUM).USER_EXIT( 'FND SRWINIT'). select chart_of_accounts_id into :P_STRUCT_NUM FROM gl_sets_of_books where name = l_name.USER_EXIT('FND FLEXIDVAL CODE NUM = "GL#" = ":P_STRUCT_NUM" . end.REFERENCE(:P_STRUCT_NUM). SRW.value('GL_SET_OF_BKS_NAME'). GCC. end.REFERENCE(:C_FLEXDATA).USER_EXIT('FND FLEXIDVAL CODE = "GL#" NUM = ":P_STRUCT_NUM" APPL_SHORT_NAME = "SQLGL" DATA = ":C_FLEXDATA" VALUE = ":CF_DATA" MODE = "SELECT" DISPLAY = "ALL" IDISPLAY = "ALL"'). begin SRW.USER_EXIT('FND FLEXSQL CODE = "GL#" NUM = ":P_STRUCT_NUM" APPL_SHORT_NAME = "SQLGL" OUTPUT = ":P_FLEXDATA" MODE = "SELECT" DISPLAY = "ALL" ').3) Define the following parameters 1) P_CONC_REQUEST_ID 2) P_FLEXDATA 3) P_STRUCT_NUM 4) Before Report Trigger function BeforeReport return boolean is L_NAME VARCHAR2(100). return (TRUE).LAST_UPDATE_DATE FROM GL_CODE_COMBINATIONS GCC WHERE CHART_OF_ACCOUNTS_ID = :P_STRUCT_NUM.

end. . • Write the following select statement to get the structure number based on the set of books name Select INTO From Where CLASS – 32 Develop the report on PO Module and display the charge account in PO Distributions Form Line Level Dist Level ReqNO Type Cdate Lineno Item ItemDesc DistNo ChargeA/C FAQ in Flex Fields 1.value(‘GL_SET_OFBKS_NAME’).APPL_SHORT_NAME DATA DESCRIPTION MODE DISPLAY IDISPLAY RETURN(:CF_DESC). What is KFF 3. Have u created any KFF? NO 5.REFERENCE( ) : It we are using bind variable in source column the user exit we will refer to get the latest values for variable and source column Changing the structure number dynamically: • KFF structure number is nothing but chat of accounts ID. = "SQLGL" = ":C_FLEXDATA" = ":CF_DESC" = "SELECT" = "ALL" = "ALL"'). Have u created any DF? Yes 6. • Set of books name is one of the user profile by using FND profile API we can get from report triggers • Go to before report trigger declare the local variable write the following API o L_name varchar2 (100) o L_name:=fnd_profile. if we know the user set of books name we can find out chart of Accounts ID. What is FND FLEX SQL and FND IDVAL? 7. What are parameters we suppose to pass for FND FLEXIDVAL? 9. 7) Go to layout model design the report and register with Oracle Applications and submit from the user SRS form SRW. What is SRW REFERENCE? 8. Is there any KFF in PO? NO 12. How to change structure number dynamically? 10. In you experience what are the KFF you have come across? 4. What are the KFF are there in Inventory module? 11. What is FLEX FIELD? 2. Where the KFF data will be stored? Segments Chart_of_account_id :P-STRUCT_NUM GL_SET_OF_BOOKS name=L_name.

13.5. Where the DFF data will be stored? Attributes 14. What in Attribute_Category? CLASS – 33 Form Executable Function Data Group Menu Concurrent Programe Request Group Responsibility User Forms Development Process 1)We Will download the TEMPLETE. Canvas .0\Forms\US\ .fmb) 6)compile the form we will get(.5.fmx) 7)Move the .fmb into au_top\11. II)Customize folooiwng two triggers1) Pre-Form -New Window Name 2) WHEN-NEW-FORM-INSTANCE -New form Name 3) APP_Custom package -New Window Name 5)Save the form we will get (. Window attach oracle apps Properties 4)Develop the from as per client requirement Note:We will change the Property called First Navigaction Data Block as Datablock Name in the Module Properties.0\Forms\US\ .fmb 8)Move the .fmx into CuS_top\11.fmb from AU_TOP\Resource Folder Application Utilities 2)Open with Forms6i builder and delete the existing Block Canvas Window 3)Create New Block .fmx 9)Goto Applicaton Developer and create Form .

Responsibility will be attached to the user so that user can open the from and enter/Query the Data.fmx is located enter user form name • Copy the user form name attach to the function. prompt. go to form tab attach user form name what ever we have created • Copy the user function name attach to menu Menu: • • Group of submenus and functions. profiles. Develop the User Form First Form User ID User Name Creation Date Second Form Supplier ID Supplier Name Supplier Creation Date Template. Form Registration: • After moving the .10)create Function attach form to the function 11)Create Menu attach function menu 12)Attach Menu to the responsibility . Form Setup First step . Function: • It is nothing but instance of form along with parameter navigation Applicatoin – Function and enter • Enter the function name and user function name go to properties tab select type as form. enter menu name sequence no. attach user function name in the function field. it has got 21 libraries to support menu functionality standard toolbar functionalities and other oracle apps functions like who columns.fmb and . multi org and so on.fmx in to the server we will take the .fmx name select application developer responsibility register the form Navigation Application Developer Application – Form and enter • Enter the . copy the user menu name. flex fields.fmx name and application name where the . go to responsibility form in system administrator attach in the menu field Select the responsibility we will find the form in object navigator window.fmb: It is a built in form available in AU_TOP resources folder.

register_table( p_appl_short_name . p_tab_name ..'t'.. 90).register_column ('po'.. 10.fmd file path CLASS – 34 Table registration Note: connect to custom top (wip) --wip/wip@prod 1) create table custom_vendors 2) grant all on custom_vendors to apps.'number'... 5) exec ad_dd. p_tab_name . 1. p_tab_type . p_translate .5. p_pct_free .register_column ( p_appl_short_name .-... Exec Ad_dd. p_col_type .. p_col_width .. p_next_extent .'vendor_id'.'custom_vendors'. .'custom_vendors'..custom_vendors. give the template. p_col_seq .. p_nullable .. p_pct_used ) 6) exec ad_dd.'y').register_table ('po'..fmb and appstand.0/FORM/US Copy the files in to resource folder like Templete.-. p_precision default null. 10.. 8. p_col_name .fmb Second Step Start menu – Run – Regedit Hkey_local_mechine -> software -> oracle Forms60 _path . p_scale default null) Note: register all columns 7)commit.AU/11.'n'. Exec ad_dd. 3) conn apps/apps@prod 4) create public synonym custom_vendors for po.

Last_Update_By Number(9). Attribute_Category Varchar2(100). ‘ITEM’.’WIP_ITEM_DETAILS’. V – View.> Table and press enter And query for the required table. .0. Create Public Synonym WIP_ITEM_DETAILS for WIP. ItemDate Date.90) EXEC AD_DD.REGISTER_COLUMN (‘WIP’. All the columns to be registered To know the table status about registration Navigation Application .WIP_ITEM_DETAIS Table type contains three values T – Table. Created_By Number(9).kff) Note : If we are registering table by using AD_DD package we can utilize following functions 1) Who columns 2) Flex fields 3) Multi org 4) Profile. Item Category Varchar2(50).Value sets Who columns Flexfield (dff. ItemDesc Varchar2(100).REGISTER_TABLE (‘WIP’. S – Synonym Exec AD_DD.’Y’). Attribute1 Varchar2(100). ItemCost Number(9).’VARCHAR2’. Table Value set creation and so on. Create Table wip_item_details( Item Varchar2(50).’WIP_ITEM_DETAILS’.10. Attribute5 Varchar2(100)) Grant all on WIP_ITEM_DETAILS to APPS. Attribute3 Varchar2(100). ItemLoc Varchar2(50). Last_update_date Date. Attribute4 Varchar2(100). Creation_Date Date.50.1. Conn APPS/APPS@PROD.’N’. Attribute2 Varchar2(100).> Database .’T’.

24th Chapter CLASS – 35 Development of Master Details Form Master Form PO-VENDORS Vendor_ID. o Fnd_standard.show() It is available in the library called ‘APPDAYPK.set_who(). • • Develop the form with master table by using template. change the property called list of values – Enable_List_Lamp Create the trigger called KeyListVal at Item level call the following API o Calender.pdf . City.PLL’ Attaching the list to the field • • • • Record Group-> LOV -> field Create Record Group by enter list of value or by enter select statement Create LOV attach record group Attach LOV to field property called list of values Reference: 115devg. can check the check box called Auto join data blocks. Vendor_name. select radio button called based on join condition. Site_Creation_Date. Address1. Creation_Date Detail Form PO_VENDOR_SITES_ALL Vendor_ID. select the button called create relationship.Implementing who columns • • • Create two triggers Pre_Insert and Pre_updata at Block level Call the following API from the both the triggers.fmb (Primary Key must be selected) Crate detailed data block after selecting the column click next futon. . Address2.PLL’ Implementing the calendar to the date field • • • Go to the field properties. This API is available in the library called ‘FNDSQF. Vendor_site_code.

Line_total(quantity*unitprice) Manual Development of Form Crate a table in WIP Item. Item_loc. Unit_price. system will automatically create join condition and select finish button. Attach property classes and save the . select segments button. At the time of selection layout style select tabular format and select number of records to be displayed in the layout. Practice development PO_HEADERS_ALL PO_header_id. quantity. item_desc.Ffmb generate .fmb select all the attribute column at the time of data block creation Define the field in the Canvas change the field property database items as "no" . Item_date.FMX CLASS – 36 Descriptive Flex Field Form Development Process • • • • • • Table should contain attribute column and also it should be registered Go to application developer open the DFF register form navigation Flex Field – Descriptive – Register and enter Create New DFF by giving database table name.FMX move in to the custom top. Open the template. • • • • • Create new data block by select the manual option Change the following the properties o Subclass: Block o Database source Name: Table Name o Database Column Name: Column Names Go to canvas create and change the property class to Frame_Rect Define the Text Item attach following properties o Subclass: Tex_Item o Column Name: DB column Register the column and compile and generate . Cration_Date POLINE_ALL Po_heder_id. enter DFF structure details. reference key from detail Item.• • • Select Primary Key from Master Item. type. Item_Desc. Copy the DFF table go to segments form query based on table. PO_NO.

END. NOTE: At the time of crating function select form tab pass the parameter in the field called parameter Calling another form from the existing form.DEFINE FND_FLEX. Form 6i feature – Call_Form. • • Call this Package from WHEN-NEW-FORM-INSTANCE Trigger o Packagename.DFF_PROC('WHEN-NEW-FORM-INSTANCE'). New_form.Procedure name('WHEN-NEW-FORM-INSTANCE').DEFINE( BLOCK FIELD APPL_SHORT_NAME DESC_FLEX_NAME END IF. => 'DFF_TEXT'. Call another API from WHEN-NEW-ITEM-ISNATCE Trigger o fnd_flex. Package Specification: ---------------------PACKAGE DFF_PKG IS PROCEDURE DFF_PROC(EVENT VARCHAR2). 'WIP'.• Define the Package like follows. Develop a form register in application developer at the time of creation function pass the parameter called QUERYONLY=”YES” Attach the functions to menu and menu to responsibility and responsibility to the user. Package Body: ------------PACKAGE BODY DFF_PKG IS PROCEDURE DFF_PROC(EVENT VARCHAR2) AS BEGIN IF (EVENT = 'WHEN-NEW-FORM-INSTANCE' FND_DESCR_FLEX. Note: FNDSQF library will support for all the flex field APIS like FND_DESC_FLEX.event('WHEN-NEW-ITEM-INSTANCE'). 'WIPDFF' ). => => => ) THEN 'WIP_ITEMS10'.EVENT FND_KEY_FLEX Function Security: • • • • For single form creation of multiple functions at the time of creation function passing the parameter which will change the form functionality. o It will Populate the DFF in the Form. Open_form . END. END DFF_PROC. o DFF_PKG.

:PO_VENDOR_SITES_ALL. Form Builder runs the new form with the same Runform options as the parent form. CLASS – 37 1) Develop both forms and register in application.execute ( function_name open_flag OTHER_PARAMS => 'Second from function Name'.Parametername 6) Goto the WHEN-NEW-FORM-INSTANCE Trigger at from level.VENDOR_ID := :PARAMETER.P1. => 'P1 = '||:PO_VENDORS. --:Blockname . that is. Form Builder releases memory (such as database cursors) that the terminated form was using. Form Builder keeps the higher call active and treats it as a call to the new form. EXECUTE_QUERY. When the called form is exited Form Builder processing resumes in the calling form at the point from which you initiated the call to CALL_FORM. write the following code: GO_BLOCK('PO_VENDOR_SITES_ALL'). Sub Menus Sub menu is nothing but is collection of function and menus we will create the submenus just like menus. If the parent form was a called form. Form Builder runs the called form with the same Runform preferences as the parent form. Use OPEN_FORM to create multiple-form applications.APPS - FND_FUNCTION. CALL_FORM built-in Runs an indicated form while keeping the parent form active.fieldname := :PARAMETER. applications that open more than one form at the same time. P1 is Second form parameter 4) Open the Second form and define the Parmaeter called P1 5) Go to PRE-QUERY trigger and write the following code to change the query dynamically. Form Builder runs the new form with the same options as the parent form. 2) Place the Button in first form 3) Write the following code in WHEN-BUTTON-PRESSED Trigger.VENDOR_ID). => 'Y' .EXECUTE( ) OPEN_FORM built-in Opens the indicated form. NEW_FORM built-in Exits the current form and enters the indicated form. If the calling form had been called by a higher form. Fnd_FunCtion. . then we will attach to main menu by using the field called submenu. The calling form is terminated as the parent form.

pll a. When-new-item-instance e. When_new_form_instance b. When-Validate-record f.5. Special g.Calling the SRS window from Menu • • Go to the function form in application developer (N) Application .fmb from au_top\11. CLASS – 38 Forms Customization Two Ways 1) Download . .pll by using this we can customize few events in the form.0\Forms\resource\US 2) Custom. Go to application developer create function for the form called “Run Report” and pass the following parameters in the parameter field o REQUEST_GORUP_CODE = “20SUPPLIER_CODE” o REQUEST_GROUP_APPL_SHORT_NAME=”PO” o TITLE = “20SUPPLIERS” Hide the menus and function at responsibility level (Menu Exclusions) • At the time of creating responsibility we will attach menu by default all the submenus and functions will be available if we want to hid we will go to Menu Exclusion tab in Responsibility form select type as function or menu and give the function name or menu name in the name field. Adding Multiple Request Groups to the Responsibility • • • Create Request Group in System Administrator Copy Request Group name application short name and Request group code. When-new-record-instance d.pll is available in the au_top – resource folder 1) 2) 3) 4) 5) Hiding the fields Chane the promplt Change visual attributes Make field is mandatory Attaching the menu options. Zoom If we want to customize standard oracle forms will going to use custom. When-new-block-instance c.funcatoin Create new function for the user form called Run Reports. This custom. copy user function name attach to menu.

end if.SET_PROPERTY( 'REGIONS.SET_PROPERTY( 'PO_HEADERS. CASE_RESTRICTION.REGION_LONG_NAME'.5.current_form'). PROPERTY_OFF).cursor_block'). end if. APP_ITEM_PROPERTY2.pll) 4) Compile the Library we can get .plx (Program Link Executable) (File ->Administration->Compile File) . varchar2(30) := name_in('system.Before going to customization the form should know following details • Form Name : • Block Name : • Field Name : • What Customization : • When we would like to do Data capture • Form Name : Help About Oracle Applications • Block Name : Help Diagnostics – examine • Minimum : Amount • Hide the filed • When form is opened (When-new-form-instance) Forms Customization Steps: 1) Download the CUSTOM.FieldName DISPLAYED. PROMPT_TEXT. APP_ITEM_PROPERTY2. if (event_name = 'WHEN-NEW-FORM-INSTANCE') then if (form_name = 'APXWCARD' and block_name = 'CARDS') then APP_ITEM_PROPERTY2.0\Resource folder. 3) Write the Following Code in the place of 'Real Code Starts Here' form_name block_name begin varchar2(30) := name_in('system.SEGMENT1'.DEPARTMENT_NAME'.pll (Program link Library) Execute the Library we will get . 'PO Number'). (attach the Library called APPCORE2. 2) Open with Forms 6i.SET_PROPERTY ( 'CARDS.pll from AU_TOP\11. UPPERCASE). -BlockName.

end if. We will use the special trigger to attach the menu options to the forms. end if. first we have to enable. end if.execute(function_name=>'PO_POXRQVRQ'.FMB? How to register table and primary key? Why do we need to register the table . by default zoom will be disabled for the form.cursor_block').Total 45 are available. FAQs: 1) 2) 3) 4) What are the steps we will follow for the form development What are the libraries are available in TEMPLETE. the \we will go for execution.pll and .plx files into the Resource folder in the AU top. Begin if (event_name = 'ZOOM') then if (form_name = 'POXRQERQ' and block_name = 'PO_REQ_HDR') then fnd_function.pll got the function call zoom available and creat the following code in the place of “Real Code Starts here” form_name varchar2(30) := name_in('system.pll and compile this execute the custom.cursor_block'). (Note: before going to copy into the server close the complete Application) CLASS – 39 Zoom Trigger Zoom event will be used to call the another forms from Oracle standard forms. Ave the custom.current_form'). block_name varchar2(30) := name_in('system. begin if (form_name = 'POXRQERQ' and block_name = 'PO_REQ_HDR') then return TRUE.plx in to the resource folder (Close the applications before copying in to the respective top) Special Trigger: .5) Transfer both .current_form'). open_flag => 'Y'). else return FALSE.pll Copy both . block_name varchar2(30) := name_in('system. • Open the Custom. • • • Go to the event procedure and write the following code in the place of “Real Code Starts Here” form_name varchar2(30) := name_in('system.pll and .

log Outbound Interface It will be used to extract the data from Oracle Applications base tables in to flat files Example: Client is using to applications one is for financial and another one is for manufacturing. We will be having the link file (crated by DBA).FMB USERNAME/PASSWORD@HOST F60GEN MODULE=CUSTOM. 13) How to generate . Inbound Interface It will be used to upload the data from legacy system into Oracle Applications base table Note: Legacy system is nothing but other applications which is used by client like SAP.0\FORMS\US CLASS – 40 INTERFACES Interface is nothing but a program will be used to transfer the data from flat files to database table or from database table to flat files with validations.5.ctl.fmx and .plx in LINIX operating system a.FMB including Navigator. that time CUSTOM.5) How t o implement who columns? 6) How to attach a calendar? 7) How to call another form from the standard forms? 8) How to implement DFF in the forms? 9) What are the events we can use in custom. JAVA.PLL IS being used by the application we can not update the library. Example: In implementation project we can implement forms and report so that users can enter the data after implementation but the previous data will be available in the legacy system we need to bring that data in to Oracle Applicatoins with validations. .dis. IN AU_TOP\11.txt. Mainframe so on. so that we can generate the Invoices in financial applications. .pll? 10) What is meant by zoom? 11) We can’t copy the CUSTOM. . So that.bad.PLL TYPE=LIBRARY USERNAME/PASSWORD@HOST 14) In which top we will execute this F60GEN command a. a.PLL in to the server when applications is opened? a. In windows we will use CTRL + T b. WE have two types of Interfaces like Inbound Interface Outbound Interface. . In linix we will use F60GEN command F60GEN MODULE=TEST. . . we have to transfer manufacture data in to financial applications. 12) When we are working in the project we are not able to close all the users application that time how to copy in to server. we will copy in to that path only we have to logout and login then we can find the customization effects. Usage: SQL*Loader. In oracle applications all the forms are developed by TEMPLETE.

l-id UTL_FILE.. Type.... UTL_FILE.creation_date) CDate. PoNum C2.. Creation date..Crate / Open file UTL_FILE.PUT_LINE() 5) Close the cursor and close the file by using UTL_FILE. ‘W’) For c2 in c1 loop Utl_file. Ppf.FOPEN() 4) Open the cursor for loop and transfer the data in to file by using UTL_FILE.. c2.segment1 PoNum. Pha. ‘PO_ORDERS.Close file Exercise – OUTBOUND INTERFACE We can generate flat file only in specified directory ..Buyer)..full_name Buyer From po-headers_all PHA Per_all_people_f PPF Where PHA..Put_line (l_id.FCLOSE() Create or Replace PO_Information ( Errbuf OUT varchar2.type_lookup_code POType...agent_id = ppf.Usage: UTL_FILE_PACKAGE UTL_FILE... Buyer Name.FCLOSE() . Flat file Requirement PO Number...ORA” file contains the information about active directory list..PUT_LINE() .FOPEN() .person_id. Trunc( pha. ||’$’|| ||’$’|| ||’$’|| Inventory Outbound Interface .. Retcode ouT varchar2.to find directory list Select * from V$PARAMETER Where NAME like ‘%UTL_% Or “INIT... CDate C2.Transfer the data in to file UTL_FILE. End loop.) as Cursor c1 is Select pha.type_lookup_code = ‘STANDARD’ AND PHA.POType C2.FCLOSE(L_ID)....TXT’.’.FOPEN(‘d:\. PO Type – STANDARD Purchase orders only Process Steps 1) Develop a procedure or package and register it as Concurrent Program 2) Writ the cursor to retrieve the data from database 3) Define the file by using UTL_FILE. End PO_Informaton.FILE_TYPE Begin l_id := UTL_FILE.

primary_uom_code Uom.Value('USERNAME')). .category_id and msi.Put_line(fnd_File. name.dat'. mc .organization_id and mic.Put_line(Fnd_file.'W').Item. msi. Fnd_File. Fnd_File. itemid. category CREATE OR REPLACE procedure INV_Out( Errbuf OUT varchar2. Fnd_File.'No of Records transfered to the data file :'||l_count).7\plsql\temp'. mtl_categories mc where msi.segment2 Category from mtl_system_items_b msi. segment1||'.inventory_item_id = mic.Requirement Fields .'Submitted User name '|| Fnd_Profile.fopen('d:\oracle\proddb\8.put_line(x_id. uom.segment1 item.' ').Output. --select * from v$parameter where name like '%utl_file%' for x1 in c1 loop l_count:=l_count+1.' ').'||mc. l_count number(5) default 0. utl_file.Output. Fnd_File.'Submitted Responsibility name '|| Fnd_profile.organization_name name.itemid ||'-'|| x1.fclose(x_id).Put_line(fnd_File.Output.' '). ood.uom ||'-'|| x1.item ||'-'|| x1. ood.inventory_item_id and msi.organization_id = mic.Output.inventory_item_id Itemid. id .file_type.output. mtl_item_categories mic. Fnd_File. Retcode ouT varchar2.itemdesc||'-'|| x1.value('RESP_NAME')).Put_line(fnd_File.organization_id id. f_id in number. msi.category_id = mc.x1. org_organization_definitions ood.description itemdesc.category ).organization_id = ood. utl_file. msi. itemdesc.organization_id and msi. end loop.1. Fnd_file. t_id in varchar2) as cursor c1 is select msi.Output.Put_line(fnd_File.id ||'-'|| x1. begin x_id:=utl_file. x_id utl_file.'invoutdata.name ||'-'|| x1.purchasing_item_flag = 'Y' and msi.organization_id between f_id and t_id.Put_line(fnd_File.

log.'Submission Date :'|| SYSDATE).'internal error').'invalid filehandle').log. .invalid_mode THEN fnd_file. utl_file. WHEN utl_file. utl_file.fclose_all.invalid_path THEN fnd_file. Exception WHEN utl_file.log. WHEN utl_file.fclose_all.put_line(fnd_File.log.'other error').put_line(fnd_File. utl_file. utl_file. utl_file.'invalid operation').invalid_filehandle THEN fnd_file. End INV_Out.Output.'read error').put_line(fnd_File.invalid_operation THEN fnd_file. utl_file.Put_line(fnd_File.fclose_all.Fnd_File.log.internal_error THEN fnd_file. WHEN utl_file.read_error THEN fnd_file. utl_file.log. WHEN utl_file.put_line(fnd_File.log.put_line(fnd_File.fclose_all.put_line(fnd_File.'invalid mode'). WHEN utl_file.fclose_all.fclose_all. WHEN OTHERS THEN fnd_file.fclose_all.put_line(fnd_File.'invalid path').

Develop the PL/SQL program to validate the data weather it is valid or not. We will receive the flat file from the client then we will create staging table upload the data from flat file in to stage table. if it is valid we will insert in to interface table. . if it is not valid we will insert in to error table. Note o o • • Staging table is required because the flat file structure may or may not be compatibles with base table structure.dis SQL* Loader Staging or Temp or Pre-Interface tables Error Message Error Tables PL/SQL Block Flat File Interface Table Error Table Error Field Error Report Standard Program Base Tables Process Steps: 1) Stage Table Cration 2) Control file development 3) PL/SQL Program 4) Submit Standard Program • • • Inbound interface will be used to upload the data from legacy system in to Oracle applications base tables. and we will transfer the data from interface table to base tables. Interface table is required to make the pre validation and populate dynamic records.bad or . Once the data is available in interface table submit the standard program from SRS window.CLASS – 41 Inbound Interface Flat File .

bad or . otherwise i8t is invalid.dis SQL* Loader XXXX Staging Table Error Message Error Tables PL/SQL Block GL_Interface GL Execution Report Journal Import GL_JE_HEADERS. USER_JE_CATEGORY_NAME: WE have to find out weather journal category is available in the GL_JE_CATEGORIES table. otherwise we will reject. GL_JE_LINES. It is is available then we will insert. GL_JE_BATCHES CLASS – 42 GL_INTERFACE_TABLE STATUS: This column will accept any string but we will always insert standards string called new it indicates that we are brining new data in to General Ledge Applications. it should be valid set of books id is available in GL_SETS_BOOKS table it is valid.GL PO AP AR OM • • • Journals Currency Conversion Daily Conversion Rates • • • • Requisitions RFQ Quotations Purchase Orders • • Invoices Payments • Customers Invoices Receipts • Sales Orders • GL Interface Journal Flat File . . USER_JE_SOURCES_NAME: We have to enter the journal sources name for the transaction we can find all the valid source names in the tabled called GL_JE_SOURCES. SET_OF_BOOKS_ID: We have to enter the appropriate set of books ID.

.Encumbrance Amounts AP AR GL_JE_HEADERS GL_JE_LINES GL_JE_BATCHES INV GL_INTERFACE FA CM F FIELS Reference 1 Reference 2 Reference 3 Reference 4 Reference 5 Reference 11 to 20 Chart_of_accounts_id Transationc_date Je-Batch_id Je_header_id - Batch Name Batch Description Don’t Enter any value Journal Entry Name Journal Entry Description Don’t enter any values. CREATED_BY: WE have to enter valid user_id from FND_USER table we can identify weather it is valid user_id or not. Don’t enter any values. Don’t enter any values. ACCOUNTING_DATE and CREATION_DATE: Both columns will accept valid date but that date should be less than or equal to System date. both debit and credit should be equal otherwise account will be imported as suspense account. CTUAL_FLAG: This column will accept single character either ‘A’ or ‘B’ or ‘E’ a.Budget Amounts. E. from GL_PERIOD_STATUS table we can find out period is in the open status or not. PERIOD_NAME: We have to enter valid period name and period should be in the open status from GL_PERIODS table we can find out weather it is valid period or not. Don’t enter any values. GROUP_ID: WE will enter unique group number while importing from interface table to base table it will be used as parameter.Actual amounts. ENTERED_DR and ENTERED_CR: Both columns will accept positive number Debit and credit amount.CURRENCY_CODE: We have to enter the valid currency code in FND_CURREINCES table we can find out weather it is valid or not. B. Don’t enter any values.

Validate each record iv. SEGMENT1 Varchar2(100). SEGMENT4 Varchar2(100). . Chart of Accounts) 2) Currency Conversion Rates needs to be defined. Date. 153 Pre requisites for GL Interface: 1) 2) 3) 4) Set of books should be defined (Currency. 5) Run the journal import from GL => Journal => Import => Run i. If no invalid record then insert into interface table. open cursor iii.pdf . SOURCE Varchar2(10). 7) open Journal Enter screen Query the records based on the %requestid% As batch Name . CATEGORY Varchar2(10). ACTUAL_FLAG Varchar2(1). ENTERED_DR Number(8). Calendar. CURRENCY Number(8). DATE_CREATED Date. CURR_CONVERSION Number(8). SEGMENT2 Varchar2(100).Select Review journal button we can see the journal detailed transaction 8) If we want correct the journals we can correct from Journal=>Import=>Correct 9) If we want delete the journals we can delete from Journal=>Import=>Delete Temporary Table Creation Create Table GL_INT_TEMP ( STATUS Varchar2(10). declare Cursor ii. ACCOUNTING_DATE. CREATED_BY Number(8).Page no. Accounting Period should be defined and also opened Source name and as well as category name should be defined. SET_OF_BOOKS_ID Number(8).Reference PDF : 115glup. ENTERED_CR Number(8). SEGMENT3 Varchar2(100). Give the two parameters 1)Source 2)Group ID 6) Open the Output if status is 'SUCEESS' then take Request ID. SEGMENT5 Varchar2(100). Process Steps: 1) We have received flat file from client 2) We have created Staging table as per flat file structure 3) Developed Control file and uploaded data 4) Developed PL/SQL Program to upload the data from stage into interface table i.

"11-AUG-2002".431.1500."11-AUG-2002"."000". SOURCE.1."1410"."1410"."01".321."USD".321. DATE_CREATED."Inventory"."000"."01".555.1. ACCOUNTED_CR."K"."11-AUG-2002"."1410"."Corporate". SET_OF_BOOKS_ID."000"."JETFORMS". Number(8) ).321."11-AUG2002"."USD"."000". SEGMENT3."11-AUG2002".ACCOUNTED_DR ACCOUNTED_CR GROUP_ID Number(8)."11-AUG2002"."Corporate"."01"."1410". LOAD DATA INFILE * INSERT INTO TABLE GL_INT_TEMP FIELDS TERMINATED BY '."11-AUG2002". ENTERED_CR.1318. 66 "NEW"."Inventory"."Inventory".555.554.431."SGD".555.554."1410".66 "NEW"."Inventory". SEGMENT4.1600. 66 "NEW"."0000"."000"."0000"."Corporate"."000"."Inventory". CREATED_BY."000".1318.431."11-AUG-2002". CATEGORY. SEGMENT2. 1500. 66 "NEW"."Corporate".555. ENTERED_DR.1600."USD"."EUR"."A"."000"."1410"."JETFORMS". ACCOUNTED_DR. SEGMENT1.1318.321."000". ACCOUNTING_DATE. ACTUAL_FLAG.554."0000"."0000"."000".1318. GROUP_ID) BEGINDATA "NEW"."11-AUG-2002"."000".66 Creation of PL/SQL procedure – to transfer the data from staging table to interface table after validation."JETFORMS"."01"."JETFORMS". 1600.1."USD".' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS (STATUS.554."JETFORMS"."A".1318."0000"."11-AUG2002".1. ."11-AUG-2002". Number(8)."Corporate". Control File Creation – To transfer the data from flat file to staging table. 66 "NEW"."Corporate".1. CURRENCY."A"."11-AUG2002"."A"."01".1318."Inventory"."000".1.431. CURR_CONVERSION.1500.1600. SEGMENT5."A".1500."JETFORMS"."0000"."01".

l_err_flag VARCHAR2(10).cursor declaration CURSOR gl_cur IS SELECT status . END.LOG. COMMIT. segment1 . --End Category Column Validation . segment4 . l_flag VARCHAR2(2). EXCEPTION WHEN OTHERS THEN l_category:=NULL. L_USERID NUMBER(10). curr_conversion . segment3 . date_created . currency .put_line (Fnd_File. source . accounted_dr . set_of_books_id . l_error_msg:='Category does not exist '. accounting_date .CREATE OR REPLACE PROCEDURE GL_IN_PRO( Errbuf OUT VARCHAR2. --This PL/SQL Block will do the currency validation --end of the currency validation --Category Column Validation BEGIN SELECT USER_JE_CATEGORY_NAME INTO l_CATEGORY FROM GL_JE_CATEGORIES WHERE USER_JE_CATEGORY_NAME = REC_CUR. accounted_cr . created_by . FOR rec_cur IN gl_cur LOOP l_flag:='A'. segment5 . segment2 . l_set_of_books_id NUMBER(3). Fnd_File. l_category VARCHAR2(100). group_id FROM GL_INT_TEMP. actual_flag . entered_dr . l_error_msg VARCHAR2(100). l_flag:='E'. BEGIN DELETE FROM gl_interface.'Inserting data into the Interface TABLE'||L_FLAG). Retcode OUT VARCHAR2) IS -.Category. category . l_err_flag:='A'. entered_cr . l_currencycode VARCHAR2(25).

END. l_flag:='E'.'Status column has got invalid data'). l_flag:='E'.status = 'NEW' THEN l_flag:= 'A'. --End of Actual Flag Column validation IF l_flag!='E' THEN Fnd_File.put_line (Fnd_File. ELSE l_flag:= 'E'.'Inserting data into the Interface TABLE'||L_FLAG).put_line (Fnd_File. END IF.put_line (Fnd_File. set_of_books_id.'Inserting data into the Interface TABLE').--User ID column validation BEGIN SELECT USER_ID INTO L_USERID FROM FND_USER WHERE USER_ID = REC_CUR.LOG.'Inserting data into the Interface TABLE'||L_FLAG). EXCEPTION WHEN OTHERS THEN L_userid:=NULL.put_line (Fnd_File.LOG. -.LOG. l_error_msg:='User ID does not exist '. EXCEPTION WHEN OTHERS THEN l_set_of_books_id:=NULL. Fnd_File.created_by. END.LOG. Fnd_File. INSERT INTO gl_interface(status.End Set of books Validation --Status Column validation /* BEGIN IF rec_cur. END. Fnd_File. l_flag:='E'.put_line (Fnd_File.'Inserting data into the Interface TABLE'||L_FLAG).set_of_books_id. END.*/ BEGIN SELECT currency_code INTO l_currencycode FROM fnd_currencies WHERE currency_code=rec_cur. Fnd_File. Fnd_File. l_error_msg:='set of Books ID does not exist '.put_line (Fnd_File.LOG.LOG.'Inserting data into the Interface TABLE'||L_FLAG). . EXCEPTION WHEN OTHERS THEN l_currencycode:=NULL. --End of Created_by OR UserID column Validation --Set of books Validation BEGIN SELECT set_of_books_id INTO l_set_of_books_id FROM GL_SETS_OF_BOOKS WHERE set_of_books_id=rec_cur. l_error_msg:='currency code does not exists'.currency AND currency_code='USD'.

END IF.segment2 . user_je_source_name. segment5.entered_dr . segment3. rec_cur. rec_cur. group_id) VALUES (rec_cur.accounting_date . entered_cr. segment4. rec_cur. rec_cur.segment1 . l_flag:=NULL. rec_cur. rec_cur. date_created. user_currency_conversion_type. rec_cur.segment5 . .group_id).date_created .actual_flag . rec_cur. rec_cur. accounted_dr. rec_cur.status . segment1. COMMIT. entered_dr.source . currency_code. rec_cur. rec_cur.curr_conversion . rec_cur. segment2. rec_cur.accounted_dr . user_je_category_name. rec_cur. accounted_cr.entered_cr . rec_cur. rec_cur.currency . END GL_IN_PRO.created_by . actual_flag.accounting_date. rec_cur.segment3 .accounted_cr . l_error_msg:=NULL. created_by.segment4 .category . END LOOP.set_of_books_id . rec_cur.

CLASS – 43 Purchase Order Inbound Interface PO Flat File .dis SQL* Loader XXXX Staging Table Headers XXXX Staging Table Lines Error Message Error Tables PL/SQL Block PO_HEADERS_INTERFACE PO_LINES_INTERFACE PO_INTERFACE _ERROR Standard Program PO_HEADERS_ALL PO_LINES_ALL PO_LINE_LOCATIONS_ALL PO_DISTRIBUTIONS CLASS – 44 PO_HEADERS_INTEFACE Column Name VENDOR_ID VENDOR_SITE_ID VENDOR_CONTACT_ID AGENT_NAME ORG_ID DOCUMENT_LOOKUP_CODE CREATION_DATE CURRENCY_CODE SHIP_TO BILL_TO PO_LINES_INTERFACE Column Name LINE_NUM LINE_TYPE ITEM ITEM_ID ITEM_DESCRIPTION ITEM_CATEGORY ITEM_UOM QUANTITY Validation Table Name PO_VENDORS PO_VENDOR_SITES_ALL PO_VENDOR_CONTANTCT PER_ALL_PEOPLE_F HR_OPERATING_UNITS Standard. Planed.bad or . Contract. Blanket < = SYSDATE FND_CURREINCES HR_LOCATIONS HR_LOCATIONS Validation Table Name PRIMARY KEY PO_LINE_TYPES MTL_SYSTEM_ITEM_B MTL_CATEGORIES MTL_UNITS_OF_MEASURE Any Positive number .

FREIGHT_CARRIER .BILL_TO_LOCATION .CURRENCY_CODE .ACTION . item categories.APPROVAL_STATUS . buyer setup should be defined.ORG_ID . Process Steps 1) Create the Staging tables 2) Develop the Control files and register as concurrent program 3) Develop the PL/SQL Program and write the validations and insert into interface table 4) Run the standard program called Import Standard Purchase orders from PO Responsibility Parameter : Default Buyer : Null Create or update items : No PO Status : APPROVED Batch ID : 13 (We can get from headers interface table) 5) Take the Request ID execute following query we can get the PO numbers select segment1 Ponumber from po_headers_all where request _id = 145233. Control File: .AGENT_NAME .BATCH_ID . UOM needs to be defined Employee creation.VENDOR_SITE_CODE . 6) Go to the PO Application and Query the PO from as per the PO number.UNIT_PRICE NEED_BY_DATE PROMISED_DATE SHIP_TO_ORG_ID SHIP_TO_LOCAITONS ORG_ID Any Positive number > = PO CRATION DATE ORG_ORGANIZATION_DEFINITIONS HR_LOCATIONS HR_OPERATING_UNITS Pre Requisites 1) 2) 3) 4) 5) 6) Supplier sites contact details should be defined Organization structure should be defined Ship to bill to locations needs to be defined Set of books needs to be defined Items.PO_HEADERS_INTERFACE load data infile * TRUNCATE into table XX_HEADERS fields terminated by "." optionally enclosed by '"' TRAILING NULLCOLS ( INTERFACE_HEADER_ID .SHIP_TO_LOCATION .VENDOR_NAME .DOCUMENT_TYPE_CODE .

"M1". Pat"."Ea"."Origin"."UPS"." optionally enclosed by '"' TRAILING NULLCOLS ( interface_header_id .222.2.6076. Pat".item_id . l_item varchar2(150).1.1.1.204.Detroit"."UPS"."USD".3."AS54999".2155."Adelaide".SHIP_TO_LOCATION .13."Origin".45 1.4.5."M1".ITEM_DESCRIPTION .1400.. CREATE OR REPLACE PROCEDURE PO_Int1(Errbuf OUT VARCHAR2.2.LINE_TYPE .2.Detroit"."AS54999"."Ea".interface_line_id .10."V1.3. .11."Adelaide"."Goods"."APPROVED"."Adelaide".204."Stock."AS54999".UNIT_PRICE ."ORIGINAL"."STANDARD"."Adelaide"."H1."V1."Ea".UOM_CODE ."Goods".65 2.SHIP_TO_ORGANIZATION_CODE ."IBM-BAN"."Due" 2."SONY"."H1.3."M1"."Ea".list_price_per_unit) BEGINDATA 1."Colour Cartidge".QUANTITY .FOB .105 Procedure for Insertions of data from Interface tables to Base tables after validating."APPROVED".LINE_NUM ."IBM".PO_LINES_INTERFACE load data infile * insert into table XX_LINES fields terminated by ". Ms.13.New York City". CURSOR c2 IS SELECT * FROM PO_LINE_TABLE."Stock.4."Due" Control File: . Retcode OUT VARCHAR2) AS CURSOR c1 IS SELECT * FROM PO_HEADER_TABLE.234.New York City".55 1.111.SHIPMENT_NUM .ITEM ."USD".FREIGHT_TERMS ) BEGINDATA 1."STANDARD". Ms."75100005"."ORIGINAL"."Sentinel Standard Desktop Rugged"."Sentinel Standard Desktop Rugged".120.2155."SONY-CHN"."Goods". l_vendor_id number(10)."M1"."Goods"."Sentinel Standard Desktop Rugged".4.2155.

l_site_code := 0. END. l_org_id number(6). EXCEPTION WHEN OTHERS THEN l_flag := 'E'.*/ --End of Site Code Validation --Currency Code Validation Begin select currency_code into l_curr_code from fnd_currencies where currency_code = x1. --Vendor Site code Validation /* begin select vendor_site_code into l_site_code from po_vendor_sites_all where vendor_site_code = x1.vendor_site_code.VENDOR_NAME. l_site_code varchar2(100). l_msg := 'Currency Code is Invalid'. l_msg := 'Vendor id is Not in SYSTEM'.AND ORG_ID = Fnd_Profile. BEGIN DELETE FROM PO_HEADERS_INTERFACE.Value('ORG_ID'). -. l_vendor_id := 0. l_curr_code varchar2(10). END. DELETE FROM PO_LINES_INTERFACE.CURRENCY_CODE. l_msg := 'Vendor Site Code is Not in SYSTEM'. --End of te Currency Validation --Operating Unit ID Validation Begin select organization_id . l_msg varchar2(200). COMMIT. EXCEPTION WHEN OTHERS THEN l_flag := 'E'. FOR x1 IN c1 LOOP BEGIN SELECT vendor_id INTO l_vendor_id FROM po_vendors WHERE vendor_name = x1.l_flag varchar2(4) default 'A'. END. EXCEPTION WHEN OTHERS THEN l_flag := 'E'. l_curr_code := 0.

INTERFACE_HEADER_ID .BATCH_ID .creation_date .CURRENCY_CODE .APPROVAL_STATUS .APPROVED_DATE . EXCEPTION WHEN OTHERS THEN l_flag := 'E'.DOCUMENT_TYPE_CODE . END LOOP.ORG_ID .x1.BILL_TO_LOCATION .document_type_code .x1. l_org_id := 0. FOR x2 IN c2 LOOP l_flag := 'A'.x1.x1.AGENT_NAME .x1. .VENDOR_SITE_CODE .SHIP_TO_LOCATION . l_msg := 'Invalid Organization ID'.SHIP_TO_LOCATION .FREIGHT_TERMS ).x1.action .x1.BILL_TO_LOCATION .SYSDATE .x1.VENDOR_SITE_CODE .ACTION . END.FREIGHT_TERMS ) VALUES ( x1.CURRENCY_CODE .x1.x1.APPROVAL_STATUS .x1.org_id .VENDOR_NAME .batch_id .VENDOR_NAME . --End of the ORG ID Validation IF l_flag != 'E' THEN INSERT INTO po_headers_interface ( INTERFACE_HEADER_ID .x1.org_id.SYSDATE-10 . end if.AGENT_NAME .into l_org_id from hr_operating_units where organization_id = x1.

l_vendor_id := 0.NEED_BY_DATE.SHIPMENT_NUM . . l_msg := 'Item is not valid Item'.ITEM .LINE_NUM .item_id .ITEM_DESCRIPTION .x2.item_id . --End of the Item Validation if l_flag != 'E' then INSERT INTO PO_LINES_INTERFACE ( INTERFACE_LINE_ID . exception when others then l_flag := 'E'.PROMISED_DATE .SHIP_TO_ORGANIZATION_CODE .QUANTITY.list_price_per_unit ) VALUES ( x2.ITEM_DESCRIPTION .LINE_TYPE .UNIT_PRICE.PROMISED_DATE.item AND ORGANIZATION_ID = fnd_profile.SHIPMENT_NUM .x2.x2.INTERFACE_HEADER_ID .x2. END. X2.UOM_CODE .x2.LINE_TYPE .x2.LINE_NUM .x2.QUANTITY .SHIP_TO_LOCATION . X2.UNIT_PRICE .ITEM .INTERFACE_LINE_ID .SHIP_TO_ORGANIZATION_CODE.x2.SHIP_TO_LOCATION. X2.NEED_BY_DATE .x2.value('ORG_ID').--Item Validation begin select segment1 into l_item from mtl_system_items_b where segment1 = x2. X2.UOM_CODE . X2.INTERFACE_HEADER_ID .

which will be used to submit more than one program at a time from SRS windows .X2. COMMIT. END IF.LIST_PRICE_PER_UNIT). Enhancement or customization projects Implementation. one time data transfer like • Customer Conversion • Supplier Conversion • Employee Conversion • Items Conversion and so on Differences between Inbound Interface and Conversion Inbound Interface Conversion It is schedule concurrent process which will One time data transfer be executed multiple times WE will not be knowing the flat file volume We will be knowing the exact flat file volume We need to handle the all the expected We do not need to know all the exceptions exceptions Error Reports and sending email alerts. END LOOP. CLASS – 45 Conversion Conversion is one of the program which will be used to upload the data from legacy system in to oracle applications. Request Set • It is nothing but collection of concurrent programs and report. END PO_INT1. Migrations or up-gradation projects we will find. base tables. if It is not required we have to upload all the any error occurs records and close.

Go to SRS window select Request set option instead of single request. Go to the request group.Select Request Set Wizard button. select type as set attach request set. enter request set name and enter concurrent programs select finish button.Executable Concurrent Programe Request Set Request Group Responsibility User SRS • Navigation – Concurrent – Set and enter . select sequentially or parallel option. • • .

We will give the PO number according to that it will generate the Invoices.for negative amount Debit Memo . the on be half of the supplier company will pay the tax. fixed amount. 8) Expense Report – Employee expenses 9) Quick Match – 2 Way. .CLASS – 46 Accounts Payables Procure to Pay Cycle GL AP PO Requisition Invoices RFQ Payments Quotation PO Receipts Transfer to GL • • Without supplier we cann’t create invoices Without Invoices we can’t make payments.If company is going to deduct the amount .If supplier give the discount . 4 Way 10) Mixed Invoice – Miscellaneous expenses After creating the invoice we have to do the 3 steps 1) Validate Invoice with Distribution lines – Invoice Amount = Distribution Amount 2) Approve Invoice 3) Create Accounting Transactions. Prepayment . Types of Invoices 1) 2) 3) 4) 5) Standard – For all the normal payments we will crate this.for negative amount With holding tax – if supplier is not recognized. 3 Way. 6) PO Default . 7) Recurring Invoices – WE will generate the Invoices multiple times for fixed supplier.Advance Payment to the supplier based on the requirement. Credit Memo . fixed duration.

Distribution Set: • • • (N) Setup – Invoices – Distribution Set and press enter – It will be used to generate the invoice distributed automatically. .Creating Invoice Payables. Compare Invoice table and distribution total Select actions button check the checkbox called approve to get the Invoice approval Select actions button check the check box called crate accounting. Select tools menu view accounting option to find the accounting entries. go to SRS window select the following program  Payables Transfer to General Ledger • From Date • To Date o After completion of this program system will automatically submits the ‘Journal Import’ program to transfer in the GL Base Tables. o Copy the Invoice data. it will crate invoice accounting transactions. o Copy the Request ID of ‘Journal Import’ program go to GL application o Open the journal enter screen and enter %Request Id% in the batch filed which will shows the Invoice date o Select the Review Journal button which will displays the invoices detailed transactions. AP_AE_HEADERS AP_AE_LINES NOTE: WE can give same number to other invoice number for other suppliers. Vision Operations (USA) Tools – View Accounting AP_INVOICES_ALL AP_INVOICES-DISTRIBUTIONS_ALL Creating accounting transactions these data will be stored in the following tables. Select distributions button and enter the distribution details save the transactions. • • • • • • Open the Invoice form N-Invoices-Entry-Invoices select Invoice type supplier data enter Invoice number and amount. AT the time of creating invoices we will attach distribution set which will distribute the amounts Tables o AP_DISTRIBUTION_SETS_ALL o AP_DISTRIBUTION_SETS_LINES_ALL After creation of invoice we have to submit the transfer program called – Paybles transfer to General Ledger.

• Important AP Payment Tables • AP_INVOICES_ALL • AP_INVOICE_PAYMENTS_ALL • AP_CHECK_ALL • AP_BANK_ACCOUNTS • AP_BANK_BRANCHES Payment Holds – Invoice needs re-approval then we can check hold buttoned and see • AP_HOLD_ALL • AP_HOLD_RELEASE_NAME_V . select tools menu. select payments from (N) Payments – Entry – Payments and enter select Payment type. and credit transactions. select the button called enter invoices select invoice number save the transactions. AP_INVOICES_DISTRIBUTIONS_ALL 2) Payables transfer to General Ledger 3) Select * from GL_INTERFACE 4) Journal import program a.System will automatically generate check 2) Refund – Refund Approval payments 3) Manual – Cash or check • Crate the Invoice validate approve it and crate accounting transactions. GL_JE_LINES c. GL_JE_BATCHES b. GL_HEADERS 5) Positing Journals a. select the button called payment overview it will give complete payment details. CLASS – 47 Payment in Payables 1) Quick . check the check box called crate accounting to create accounting transactions. Select * form GL_BALANCES. AP_INVOICES_ALL b. view accounting option. Bank Account Name. it will displays accounting debit.Process Steps 1) AP Table – a. Select actions button. Document as check system will automatically generate check number enter supplier details.

> Revision MTL_ITEM_REVISOINS .Payment Terms • AP_TERMS • AP_TERM_LINES • AP_APYMENT_SHEDULES – It contains the scheduled payment details Expense Report • AP_EXPENSE_REPORTS_HEADERS_ALL • AP_EXPENSE_REPORTS_LINES_ALL Recurring Invoices • AP_RECURRING_PAYMENTS_ALL ORACLE INVENTORY Items Item Attributes Assign Organizations Assign to categories Define lot / serial no Define revisions Unit of Measure Sub Inventory Transfer Miscellaneous Transfer Move Orders Inter Organization Transfer Inventory Sub Inventory Stock locations Items on Hand Qty Items Resserved Qty Item Available Qty Item Attributes Purchasable Inventory WIP Item Customer Stackable Item Transactions Item Locations Item Quantities Items Items Defining – Master Items ORG-ORGANIZATIONS_DEFNINITIONS MTL_SYSTEM_ITEMS_B To Assign the Multiple Organizations (N) Tools -> Organization To Revisions – Tools .Inventory_item_id and Org_id To know quantity – MTL_ONHAND_QUANTITIES Do PO Cycle Inventory – Receiving – Receiving Transactions .

Enter the receipt number select find button check the check box save the transactions. enter Item name and description select the tabs and check the check box called Inventory items.Sub inventories and press enter o WE can transfer the Item form one sub Inventory to another sub inventory by using sub inventory transfer o MTL_TRANSACTION_TYPES o MTL_MATERIAL_TRANSCATIONS o MTL_TRANSACTION_ACCOUNTS Other Tables o MTL_PARAMETERS – Contains both Master and child organization o FINANCIAL_SYSTEM_PARAMETERS – Financial setup details o CST_ITEM_COST – Item cost Details o CST_ITEM_COST_TYPES o ITEM_LOT_SERIAL_NUMBERS o MTL_LOT_NUMBERS o MTL_SERIAL_NUMBER o MTL_UNITS_OF_MEASURE CLASS – 48 Order Management Enter Sales Order Book Order Pick release Ship confirm We get orders from Customer Customer Confirmation Release the Materials from Inventory Delivery Details. Shipping Details.• • • • • • Open the Items form. open the receiving transaction form (N) Transactions – Receiving – Receiving Transactions ----. and Purchased Item .Go to tools menu select option called organization assignment to assign the item to the organization. it will give item quantity and details report. o MTL_SECONDARY_INVENTORIES o MTL_ITEM_LOCATIONS o MTL_ITEM_CATEGORIES o MTL_CATEGORIES o MTL_MATERIAL_TRANSACTIONS o MTL_MATERIAL_ACCOUNTS o MTL_TRANSACTION_ACCOUNTS (N) Setup – Organization. Once we create item quantity will be zero we have to purchase from suppliers or we have to receive from other organizations. Select PO Applications create requisitions purchase order and receipt copy the receipt number to Inventory applications. Open the on hand quantity form enter Item name select find button. . Select Revision option to create Item revisions.

Select actions button to cancel the sales order to calculate the tax and to keep the sales orders on hold and release the hold and so on. OTHERs Concurrent programs – Incompatibilities . quantity. price and other details select the button called book order to book the sale orders select availability button it will gives the Item available on hand reserved quantity details select ATP details button it will give the available to promise date details. it will submit the concurrent program to release the sales order it picks Items from Inventory tables and user in to deliver tables. we will confirm the materials packing. o OE_ORDER_HEADERS_ALL o OE_ORDERS_LINES_ALL • Release the Sales Orders • (N) Shipping – Release Sales Orders – Release shipments and enter the. Pick confirmation and Ship Confirmation • Once the Items are released. and the enter sales order number select the button called concurrent. select line items tab enter the Item. then we will give the shipping date (N) shipping – Transaction and enter o RA_CUSTOMER_TRS_ALL o RA_CUSTOMER_TRS_LINES_ALL o WSH_DELIVER_DETAILS o OE_ORDER_LINES_ALL o OE_ORDER_HEADER_ALL o WSH_NEW_DELIVERS.Auto Invoice - Generate the Invoice After Pick Release if the goods are not available again PO cycle we have to follow Drop Shipping : Sales and Purchase the materials without having the Inventory Client Supplier Sales Order Creations: Customer • (N) Orders & Returns – Sales Orders and data 2 levels headers and lines header level customer Information customer ship to bill to and sales person other tax details.

Structure number and so on o Example: GL_SRS_LEDGER_FLEXFIELD $FLEX$ • It will be used to retrieve the previous parameter value in to the next parameter values set o : $FLEX$. Copy to Button: By using this button we can create new concurrent program including the parameters and incompatible programs. org_id from PO_HEADERS_ALL WHERE ORG_ID=$PROFILE$.• • • It is nothing but not compatible for other programs we will select this button we will list out the programs which are not compatible.get o Select segment1. Pair Value Set: • We want to pass KFF data as a parameter to the executable then we will use validation type as paid select edit information button.Previous Value set name $PROFILE$ • To Get the front end the table value set where clause from backend we will o Fnd_profile. Run Alone check box: By using this check box we can make the program is incompatible for all other concurrent programs.ORG_ID .value o Fnd_profile. Pass the parameters like applications short name KFF CODE.

2006 Tuesday 18th April. 2006 Wednesday 26th April. 2007 Thursday 28th May.26 March 2007 – Monday . 2006 Wednesday 12th April. 2006 Sunday 16th April. 2007 Monday 1st May. 2007 Thursday 27th April. 2007 Thursday . 2006 Monday 11th April. 2007 Wednesday 10th May. 2007 Sunday 21st May. 2006 Friday 14th April. 2007 – Sunday 2nd April 2007 – Monday 05th April. 2007 Friday 28th April. 2006 Thursday 13th April. 2007 Monday 8th May. 2007 – Tuesday 29th March. 2007 Friday 12th May. 2007 Saturday 30th April. 2006 Saturday 15th April. 2007 Thursday 30th March 2007 Friday 31st March 2007 – Saturday 1st April. 2007 Monday 15th May. 2007 Sunday 7th May.Thursday 07th April. 2006 Sunday 09th April. 2006 Monday 24th April. 2007 Wednesday 6th May. 2007 . 2007 Friday 19th May. 2007 Tuesday 9th May. 2007 Monday 22nd May. 2007 Monday 29th May 2007 Tuesday 30th May 2007 Wednesday 31st May 2007 Thursday .Class 27th March. 2006 Saturday 08th April. 2006 Monday 17th April. 2007 Tuesday 2nd May. 2007 Wednesday 24th May. 2006 Wednesday 22nd April. 2007 Saturday 20th May. 2007 Tuesday 17th May. 2007 Thursday 18th May. 2007 Saturday 14th May.Holiday 11th May. 2006 Sunday 23rd April. 2007 Tuesday 23rd May. 2006 Tuesday 25th April.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.