Vous êtes sur la page 1sur 97

1

ERP - ORACLE APPLICATIONS Pre-requisites to learn Oracle Applications Oracle 9i SQL DDL Commands DML Commands TCL Commands Quarries, Sub Quarries Operators Reference books

PL/SQ Reference books by author Scott L 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 - like Summery, Placeholder, Columns Formula Report Triggers 6 types and sequence Format Triggers and Validate triggers Layout o objects Frame o Repeat o frame Anchor o Boilerplat e

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

I)

Types of Projects a. Implementation Project: Client will be using another software maintain the business to Now the client wants to have Applications solutions. package to capture the OracleThat time we will start data. data conversions, gap analysis, functions document preparation from setups, scratch. - first the time Old New
System Coba l Fox Pro System Oracle Apps

b. Customization Project: Client was already using Oracle now the client Applications, would like to have few more modules to cover business, for that we will customize new modules and integrate the existing with modules.
Existin Ora g Apps Few Financial Modules modules Migratio n Manufacturing Modules (Customization and Integration)

c. Migration or Up-gradation Project: Client was already using Applications older version now client would like to move new version Oracle Oracle Applications that time we will migrate older version objects in of new to version. Existin New
Ora g Apps Versio n 10.7 Version 11.5.9 or 11.5.10

Version Database 10.7 11.0.3 11.5.3 11.5.4 11.5.5 11.5.6 11.5.7 11.5.8 11.5.9 11.5.10

GUI Oracle 7 4.5, Reports 2.5 Forms Oracle 8 6i, Reports 6i Forms Oracle 9i 6i, Reports 6i Forms Oracle 9i 6i, Reports 6i Forms Oracle 9i 6i, Reports 6i Forms Oracle 9i 6i, Reports 6i Forms Oracle 9i 6i, Reports 6i Forms Oracle 9i 6i, Reports 6i Forms Oracle 9i 6i, Reports 6i Forms Oracle 10g 6i, Reports 6i, Java, JDeveloper Forms

d. Support or Maintenance: Once the implementation, customization migration are over, then supporting project will be started where we and give will supporting for the objects which were already developed, and migrated. customized

5 4

II) Types of Modules 4) Types Module is nothing but one application it contains forms, reports Module of Documents: The methodology of behind programs which are related for specific business : is and AIM Application Implementation Methodology developed by Oracle functionality. Corporation Example: PO Module This will be used to capture purchasing information suppliers, theirNumbe by like contact material, unit price and discounts and RIC Prepared details, supplying Nam on. so E r 50 e Modul MDO Functional Consultant Functional Design D e esig DocumentDesign MDO 70 Technical Consultant Technical ERP F n orms & Document MDO120 Technical Consultant Migration Report Document Financial Manufacturing Conversion functional CRM s Conversions CVO40 Functional Consultant AP HRMS Accounts PO Peopl Customer Interfac Documen Design Payabl Order Technical Consultant Purchase t e Relationship e CVO 60 Conversion Technical e Management Documen and Design AR Tele Services t Inv Payroll Suppor CR Technical Consultant Change Receivable Accounts Invoicing Request t Document s Fixed FA Benefits Service Contract WIP Work NOTE Assets Document is in Process M : igration two CM 1) Installation Process: Installation Stages or three types development, MobileBOM Bills Process OTL Oracle types Managemen Cash testing, Material of of the form or reportTime &is developed, when it is moving from production. If any t one s Labour GL OM instance, to be moved all the components of that. instance to another Ledge ExampleManagementpackages etc. This process will be done by General Order functions, procedure, r DBA. PA 2) Execution Production In this the execution of the form or report with a Accounting to Project Process:be specified along with the shoot screen MRP functionality Schedules Enquiring CR The document tell about the request made by the client, it could be very small Document: like single change filed to be added or deleted to the form or procedure to be deleted. III) Modules Integration : 5) Oracle Applications File Architecture
Supplier Linux (Server) Inventory BO MRP M Scheduling
FTP

WI P Production

PO Windows (Client) AP GL HRMS FA CM Windows (Client) QA Testing

AR

O Sales,M Shipping

Custom_ TOP: Custom top will be created by customer (client) for the custom development customizations. At least one custom top is required for every client. We and have can multiple custom tops also as per the NOTE requirements 1 : ) We are not suppose to develop are customize the product tops like AP, AR, GL, 2) PO If oracle applies the patches (scripts) against the application the script will over both right developments and customization whatever we have done. That is the we will reason us custom top. Oracle will not touch the custom top and it will not provide type any of support. US Folder: This folder is language specific by default American English language will be implemented. If we want to have multiple languages we can implement in Applications by specifying different Oracle This folder is only applicable Forms folders.and Reports because both are GUI for objects. Select * from FND_LANGUAGE where installed_flag in (B, I) Flag B - Base Flag I - Installed Flag D language, Disable language, FTP 11.5.0 Folder: language This oracle application release name based on the release it will be specified 10.7 10.7

APPL_TOP

CUS_TOP 11.5.0

PO_TOP 11.5.0 0

AP_TOP 11.5.0

GL_TOP 11.5.0

INV_TOP 11.5.0

AR_TOP 11.5.

Forms

Reports

SQL

PL/SQL

BIN

Mesg.,

Out

Admin

US

US

.SQL

..fmx

..rdf

.proc script .func .pkg .pkgsc .pks

C Prog .java .ctl .shel l script

.msg

.outfile

Admi n

11.0.3 11.0.3 11.5.3 11.5.4 11.5.0 11.5.5 11.5.6 11.5.7 11.5.8 11.5.9 11.5.10 11.5.10

Oracle Applications Database Predefined database Oracle Design 9i Schema Diagram


GL PO APP S AR HRMS AP INV

Item Details Report Item Supper Cheque Buyer Monitor IBM Invoice Schema 1745/- Stockpet PO Schema AP Schema HRM Schema

User connect only one schema at time approximately 4000 schemas Total 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 This one of the Schema in Oracle Applications database it contains Schema: synonyms. It has got access other schema database only objects PO Schema: It contains only PO Objects like PO Tables Indexes, Sequences, and views materialized views and so on. It will connect to PO Schema we can access and PO onlyobjects. We cant access other schema database objects. NOT E We are not suppose to create tables in apps schema, we will create the custom schema then we will provide grants to apps tables in schema While development of forms, reports, programs we will always connect to schema in oracle apps applications. AOL Application Object Library After o development / n the objects customizationto be registered with this. This has got the two responsibilities. Administrator: Which has got the functions like 1) users, 1) System Responsibilities 3) Reports development / customization 4) Procedure 5) 2) Installation 6) Admin activities - Server Monitoring, Request Printer submission 2) Application Developer: Which has got the functions like 1) Forms 2) Menus Messages 4) Flexi fields 5) Profiles 3)

After installation of Oracle Applications the default User details as follows User Name : Password : OPERATIONSWELCOM E And connect and select System Administrator responsibility To create New Security User Define User Enter To move in the form some shortcut keys 1) If you want to query all the record Ctrl + 2) F11 want to query few records for If you form a. Open the b. Press F11 Query form c. mode criteria by using Search d. % Press Ctrl + F11 3) To close the form F4 To Connect to database or Bank User End ID : Password : APPS Host string: APPS PRODUCTIONS Creation of New User Front End 1) Connect to the 2) application Enter application User Name : OPERATION and Password: 3) WELCOME Select the Responsibility called System 4) Administrator Form - Security User- Define and Open the user 5) enter Username and password and attach Enter 6) Responsibility Save the 7) Transaction. created we cant Once user is delete WE can find all the user details in FND_USER table Select * from FND_USER where user_name = user 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

Yellow Color Mandatory Fields, White Color Optional Fields, Gray Color Read Only Effective Dates : From To Some of the records we cant delete in Oracle applications instead of the we effective dates From and To to enable or disable the will record. Who columns in Oracle Applications Ever Database table contains following Colums. CRETED_B User Id Y When we create CREATION_DATE System date LAST_UPDATED_B User ID Y When we Updated LAST_UPDATED_DATE System Date LAST_LOGIN_DAT Login system date System E date When we go to Record History option we can find all the who columns Help Record History Executable s Reports .rdf .sh .sql SQL .proc, .fun, .pck Programe .C C .proC ProC .ctl .prl Perl

Unix Shell Script PL/SQL Sql * loader

10

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

11

Executable After moving .rdf in to the server, we will crate executable by specifying : name execution method and application execution name. Concurrent Programe: creation of executable we will create concurrent Programe by After attaching if parameters are there we will attach parameter if executable, programs are incompatibilitythere we will add those programs , for single executable we multiple create concurrent programs with different parameters. Request Group: After creation of concurrent program we must add the programme to the group. request Request Group is nothing but collection of Concurrent Programs Reports and . Responsibility : It is level of authority where we will combine Data Group, Request Group Menu. Request Group is optional menu and data group is and mandatory. Data Group: Data Group is nothing but collection of applications names and Oracle Names User 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 Navigatio n Executable Window Concurrent Programem Window Concurrent=>Programme=>Executable Request Group Concurrent=>Programme=>Define Responsibility Security=>Responsibility=>Request User Security=>Responsibility=>Define SRS Window View Menu Security=>User=>Define => Requests To find out output file path and log file path we will write the below statemen select S t elect logfile_name, outfile_name from fnd_concurrent_requests = Where Request_ID ;

12

Reports with Parameters Data Select Model * from FND_USER USER_ID, USER_NAME, CRATION_DATE Parameter F s rom USER_ID, To USER_ID Layout Model Designing of layout User Parameters P_From P_To P_Titl e 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.

13

If report is having the parameters then we have to register those parameters the at time of creation Concurrent Programe. Value Set: values set is nothing but list values. It will be used to validate while entering the values parameters. Token: Token is one the filed wile be used to map concurrent parameters Programe with report builder find variable. We will enter the find variable in the name toke field so that parameters will be passed to the find variable. Required check box: By using this check box we cant make the mandatory parametersor 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 window. SRS Range Option: While defining the from and to parameters if we wanted to values accept in accession order menus from values is low and to value is high we select the options called low and will high. Default Types: If we are hiding the parameters user cant enter the values time that 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 Programe list Concurrent with parameters in SRS Window. Default Types

14

When we are hiding the parameter in SRS windows user cant enter the values that we can pass values internally by using defaults time types. 1) Constant: If we want to pass constant values as default then we will default select type constant and we will specify the values in default value 2) field. Current Date: System 3) Current Time: System Date 4) Time By using the profile option we can pass user profile values as Profile: 5) default SQL Statement: When we want to pass select statement to rest as values default that time we will select default types as SQL statement and write select statement in the default values filed. Select statement should not the more returnthen one 6) value. Segment: When we wanted to pass previous parameter values as default to next the parameter then we will use segment, select default type as segment the giveparameter name in the default values field. Report Builders Data Model Select User_ID, User_name, Trunc(creation_date) from fnd_user; Layout Model Object Navigator User Parameters 1) P_From_Date - Date - Input 2) Mask P_To_Date Date Input 3) Mask Character P_Title 100 Data Model Select User_ID, 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. P_From_Date Current P_To_Date Current Date Date

15

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 Select MAX(TRUNC(CREATION_DATE)) FROM FND_USER FND_USER Default values type SQL Statement Default option Value field SQL Statement Segment Default Type as Segment Default Option Values Specify the previous parameter VLUES SETS - Application Validation Set

Value set is nothing but list of values with validation. It will restrict the user to enter values. These are 8 valid types. NONE : When we write maintain some format conditioning NO 1) LOV Emp => Only nos. 0 9 NO: => 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 paramete previous r Country City Code: Code: i.e. based on the selection of country code lov city code lov will change

16

4) TABLE: Combination functionality of Independent and Dependent to database provide 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. 1) NONE - a. When we want to restrict the user to enter the values based on conditions then we will use NONE type. Here no list of values some manually will enter the value based on the conditions values will user accepted be b. . Enter the values set name select format type enter the minimum select size validation type as c. NONE. value set is created we can use it for any concurrent Once the program either single time or multiple d. times.the value set is created we cant delete if value if value set is Once used beingby concurrent program if we want to delete release from concurrent program then we can delete by using delete option. the

2) INDEPENDENT a. Provide the values to the user either number or character creates independent value set to enter the values for the value set the ValidationApplicationb. Values If we want to provide list values to the user we will go for independent values set type user must select the values from the selecting c. list. the value set for an enter value set name select format type Open select and validation type as Independent.

17

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

18

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

19

from

wher e an an d an d d Parameters : Lexical parameter to change the query dynamically. Bind parameter to be register before Oracle applications. If title parameter is null i.e. if user doesnt pass the value to the title parameter Format trigger. Begin If :P_Title is NULL then Return Els (True) Return e End (False) if

fnd_concurrent_programs_vl fnd_application_v fnd_executables_form_v l fnd_lookups fcp.application_i d fcp.EXECUTABLE_I fl.lookup_typ D fcp.execution_method_code e =

fcp, fav, fev, fl = fav.application_i d = ='CP_EXECUTION_METHOD_COD fev.EXECUTABLE_ID E' fl.lookup_code&p_lexica l

En d If parameters were not passed to the :P_From_Date and :P_To_Date report display should all the records. After Parameter Form Begin Trigger If :P_From_Date is NULL and :P_To_Date is NULL then :P_lexical:= Els e :P_lexical:= and Trunc(fcp.creation_date) between :P_From_Date and End :P_To_Date End if . ================ Exercis e From User ID, To User ID, From Date, To Titl Date e User_ID CDate Responsibility Application From To User_Name Security Date Name Group Date Query prepared by SIR in Master class Level

20

SELECT USER_ID, USER_NAM TRUNC(CREATION_DATE) E, FROM CDATE FND_USER WHERE USER_ID BETWEEN :P_FROM_ID AND :P_TO_DATE Detail Level SELECT FU.USER_ID, FRV.RESPONSIBILITY_NAM E, FAV.APPLICATION_NAM FSG.SECURITY_GROUP_KE E, TRUNC(FRG.START_DATE) Y, TRUNC(FRG.END_DATE) FROMDATE, FROM FND_USER TODATE FU, FND_USER_RESP_GROUPS FRG, FND_RESPONSIBILITY_V FRV FND_APPLICATION_V L FAV, , FND_SECURITY_GROUPS_VL L WHEREFSG = FRG.USER_I AND FU.USER_ID = FRV.RESPONSIBILITY_I D AND FRG.RESPONSIBILITY_ID = D FAV.APPLICATION_I AND FRG.SECURITY_GROUP_ID FRV.APPLICATION_ID FSG.SECURITY_GROUP_I D = D Steps to develop a report Data Model Data link to be given between both the quarries. margin and comeback to main Adjust the page width to be increased - 13 Report 135 the main from and other frames expand Select variable the text Place all fields.the repeating frame and source to master Take o query Put all the fields which are related to master query and what ever needed are . Take another repeating frame and place that on the first repeating frame source to detail and o query. Put all the fields which are related to details query and what ever needed are . Select all the fields and no fill and no line Define the User parameters P_From_ID and P_To_ID Application s o Create the table value set for select the parameters

21

Standards to develop a report in Oracle Applications 3 STANDARD STEPS. 1) Define the mandatory parameter called P_CONC_REQUEST_ID This is the of onebind variable when ever we submit a request in SRS window that will be passed to this bind variable, based on this request id we can request ID execute concurrent request process. Without this find variable we cant use 2) userexits. Call the userexit in Before Report Trigger SRW.USEREXIT(FND 3) Call theSRWINIT) after report userexit in trigger SRW.USEREXIT(FND SRWEXIT) Report Triggers 1) Before Parameter Form 2) Trigger After Parameter Form 3) Trigger Report Trigger Before retrieving the data from Before 4) database Pages Trigger - when ever courser goes between pages at first Between 5) time. Report Trigger After out is reached the destination i.e. printer, file, After email. 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 execution process for sometime and transfer the control to the rd Generation report get 3 the data and completes the remain execution Language process.

22

We have 5 types of User Exits available in Oracle Applications. 1) FND SRWINIT: We will use this user exit in the before report trigger. It initialize user profile values according to that profile values data will be will from retrieved database. SRW.USEREXIT(FND SRWINIT) 2) FND SRWEXIT: We will call this user exit from ater report rigger to freeze memory which is occupied by user profile the values. SRW.USEREXIT (FND SRWEXIT) 3) FND FLEX 4) FND FLEX SQL 5) FND IDVAL FORMATCURRENCY

Purchase Order Application: Group of Forms, Reports and Programs


Requisition Request for Quotation (RFQ) Purchase Documents Quotation Purchase Order Receipts

AP Interface

INV Interface

Requisitio n o Interna o l Purchas RFQ e o Standar o d Bid o Catalog Quotation o Standar o d and Bid Catalog

Purchase o Order Standar o d Planne o d Contract o Blanke Receiptt s o Direct o Delivery Standard o Receipt Required. Inspection

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

3) Buyer a. Creation: Attach the Responsibility called HRMS Management; Open the Employee (N) HRMS Manager People Enter and form b. Maintain. button enter employee name and Date of Birth, select action Select new creation employment chose the option called buyer and save the as transaction. Select * from Where EMPLOYEE_NUMBER = PER_ALL_PEOPLE_F K PERSON_ID is Primary Key column c. Go to system administrator create user name attach employee name in the called filed Person and save the transaction. FU. Select USER_NAME, PPF.FULL_NAM From E FU FND_USER PER_ALL_PEOPLE_ PPF , Where F = And FU.EMPLOYEE_ID = PUSER FU.USER_NAME PPF.PERSON_ID d. Copy the employee name go to purchasing application open the Buyers attach form to the Buyers list - Setup Personnel Buyers and enter. 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 ever whenthey required goods or services or training, we will find 2 types of requisitions. a. Internal Requisition: This will be created, when we receiving the materials other from b. organizations(Branches) will be created, when we are receiving the Purchase Requisition: This from outside means materials c. suppliers. We will enter the requisition information at 3 levels i.e. Headers, Distributions Lines, d. . One header will be there at least one line multiple line we create for every least one distribution or multiple distributions will be line at e. there. the requisitions form Requisitions Requisitions and Open f. enter. the requisition type at header level enter item details at line level Select Name, (item quantity, price and need by date) select bistributions buttion enter distribution details like quantity and account details and save the g. transactions. button press OK system will send the document for Select approve h. approval. Go to requisition number select find button, it will show requisition status. approved Select * from PO_REQUISITON_HEADERS_ALL

WHERE SEGMENT1 = 1656 Primary key REQUISITION_HEAD_ID Select * from PO_REQUISTION_LINES_ALL WHERE REQUISITION_HEADER_ID = 0 Primary Key REQUISITION_LINE_ID Select * from PO_REG_DISTRIBUTIONS_ALL WHERE REQUISITION_LINE_ID= 9922 Primary Key DISTRIBUTION_ID i. Cancel the Requisition: Open the requisition summery form enter number select find button go to tools menu select option called Control requisition chose and the option as cancel requisition. Select AUTHORIZATION_STATUS from PO_REQUISITION_HEADER_ALL j. We can find out requisition history by using tools menu option called view history. action Select * from POACTION_HISTORY Where OBJECT_ID = REQUISITION_HEADER_ID Select PAH.ACTION_CODE PDF.FULL_NAM From E PAH PER_ALL_PEOPLE_ PPF PO_ACTION_HISTORY Where OBJECT_ID = F 11459 PAH.EMPLOYEE_ID = And PPF.PERSON_ID k. Enter manual requisition Number: Setup Organization Purchasing and enter Options - go to numbering tab select requisition number entry as manual type. 2) RFQ REQUEST FOR QUOTATION: It is one of the purchasing document requisition is approved. We will go for creation of RFQ we have 3 types of after RFQs. Bid : If company is going to purchase large number of items which a. expensive. We will create bid RFQ where we will specify Headers, lines are shipments, where we are not specify any price breaks in Bid and b. RFQ. : If company is purchasing materials regularly fixed quantity location Catalog date, and then we will select regularly we can include price breaks at different c. levels. Standard : This will be created for items we need only once or not regularly, can we include price breaks at different quality levels. 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 from the suppliers either by email or fax or by quotations phone, Again quotation are 3 types i.e. Bid, Catalog and a. b. Standard the quotation we are received from the suppliers we will enter What ever quotation details in the system for future those c. purpose. sending bid RFQ to the suppliers we will receive the bid quotation If we are for catalog RFQ we will receive catalog quotation for standard RFQ we will standard receive quotation.

d. RFQ Terms and conditions. i. Payment Terms At the time of creating RFQ document we specifying the payment terms like due date, interest rates and so will ii. on. Terms: It is nothing by at transportation charges whether Fright supplier it or will bear iii buyer. FOB(Foot on Board) : It is responsibility of material damage or . material during the missing iv. Carrier : We will give the transportation company name so that transportation. will suppliersupply the materials by this transportation e. Navigation Open the RFQ form RFQs and Quotation RFQs and company. select RFQ type from header level enter ship to location, Bill to location enter select detailsline level enter item details select price breaks button enter price details break select terms button enter terms and conditions details, select button and suppliers enter supplier name who are going to receive RFQ document Select * from PO_HEADERS_ALL Where segment1= Primary KeyPO_HEADER_ID Select * from PO_LINES_ALL Where PO_HEADERS_ID = % 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 f. AUTO CRATE OPTION : This is one of the feature application to create PO documents automatically based on the approved requisition RFQ or document. i. Create requisition and approve ii. it Open the auto create form select clear button enter requisition select find number button which will display requisition then iii details the line by checking the checkbox select action as Select . create, document types as RFQ iv. Select automatic button click the create button whichwill create RFQ document will selected requisition lines and displays RFQ g. QUOTATION : - RFQs and Quotation Quotation and No. enter. We will receive the quotations from suppliers against the RFQ either i fax by or email we will enter those quotation details manually in the to make system the quote analysis and future ii. purpose. tables: One we create the quotation from front end data will Quotation stored in the RFQs tables only by column be type_lookup_code=quotation.

Select * from PO_HEADERS_ WHERE ALL = @ AN =QUOTATION SEGMENT1 TYPE_LOOKUP_COD D E 4) Purchase Orders : It is one of the purchasing document at the time of purchasing the supplier we will create this document by specifying terms and conditions from shipping details distribution details and so on. We have 4 types of Purchase and Orders a. b. Standard Planned c. d. Blanket Contract Purchase Order Types Summery

Standard Purchase Order When we require the materials from suppliers we will cerate standard PO by specifying and conditions price, quantity and so terms on. Select * from where segment1=% PO_HEADERS_ALL 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 select enter PO type and suppliers information enter the line level details like Items price and quantity so on. Select shipments button enter shipping location details quantity promice date, need date by and so on select distribution button enter distribution details and save transactions the .

Select approve button system will submit the document for approvals. number and go to purchase or summary form enter PO number select Copy the PO button find . cancel the purchase order go the tools menu control To option. Tools menu copy document to create the same document. Auto o Create By using Auto Create option we can create purchase orders automatically approved requisition by selecting document type as Purchase from order. SELECT PHA.SEGMENT1 PONUM, PHA.TYPE_LOOKUP_CODE TRUNC(PHA.CREATION_DATE) POTYPE, PV.VENDOR_NAM SUPPLIER CDATE, PVS.VENDOR_SITE_COD E , SUPPLIERSIT (PVC.FIRST_NAME ||','|| E Contact, E, HL1.LOCATION_COD pvc.LAST_NAME) ShipTO HL2.LOCATION_COD E BillTo , PHA.CURRENCY_COD E Currency, , PPF.FULL_NAM E Buyer, PHA.AUTHORIZATION_STATU E PoStatus, SUM((PLA.QUANTITY*PLA.UNIT_PRIC S LineLevelPrice PHA.COMMENT E)) PODesc , FROM S PHA PO_HEADERS_ALL PO_VENDOR PV , , PO_VENDOR_SITES_ALL S PO_VENDOR_CONTACT PVS, PVC, S HR_LOCATION HL1, HR_LOCATION S HL2 PER_ALL_PEOPLE_ PPF, S , PO_LINES_AL F PLA WHERE L = '3449' AN PHA.SEGMENT1 PHA.VENDOR_I = D D PV.VENDOR_ID AN PHA.VENDOR_SITE_I = AN D PHA.VENDOR_CONTACT_I D PVS.VENDOR_SITE_ID = AN D PHA.SHIP_TO_LOCATION_I D = PVC.VENDOR_CONTACT_ID AN D PHA.BILL_TO_LOCATION_I D HL1.LOCATION_ID = AN D PHA.AGENT_I D = HL2.LOCATION_ID AN D PHA.PO_HEADER_I D PPF.PERSON_ID = D PLA.PO_HEADER_ID GROUP D PHA.SEGMENT1 BY P , HA.TYPE_LOOKUP_CODE T , RUNC(PHA.CREATION_DAT PV.VENDOR_NAM E), , PVS.VENDOR_SITE_CODE E ( , PVC.FIRST_NAME ||','|| HL1.LOCATION_COD PVC.LAST_NAME) , , HL2.LOCATION_COD E , PHA.CURRENCY_COD E , PPF.FULL_NAM E , PHA.AUTHORIZATION_STATU E , S

PHA.COMMENT S

Blanket Purchase Order When ever company would like to have the agreement with supplier that time first we create Blanket Agreement, when ever we require materials we will go for releasing will purchase the orders. purchase order form select Blanket Purchase agreement and enter the Open the and approve the purchase details order. releases form either blanket PO Number and Item quantity details Select distributions button enter distribution details, select approve button for select approvals. Match Approval 2 way PO Qty Invoice Qty 80 100 3 way 4 way PO Qty Invoice Qty 80 100 PO Qty Invoice Qty 50 Qty 100 Receipt 80 Receipt Qty 80 Invoice Qty 50

At the time of creation Purchase Order in the shipments, release we will specify Match approval the option. matching is nothing but company purchase order quantity, price with Two way price Invoice . Three way matching is nothing but comparing 3 documents Purchase Order, and Receipt Invoice. Matching is nothing but company PO receipt inspection and Four ways documents. Invoice Receipt Documents 1. Standar 3 Way 2. d Direct Delivery 2 way 3. Inspection Required 4 way It is one of the purchasing document will be created while receiving the materials the suppliers we have 3 types of form receipt. Navigation Receiving Receipts and enter. the purchase order and approve it open the receipts from enter PO Create select find Number, button, system will show the PO Line details, check the check box save transactions, system write automatically generate Receipt to number Select * from RCV_SHIPMENT_HEADERS SELECT * FROM RCV_SHIPPMENT_LINES

SELECT * FRO RCV_TRANSACTIONS SELECT * FORM ORG_ORGANIZATIONS_DEFINITIONS. Create PO write 3 o lines Go to receipt generate the receipt for only one Item and either the PO again Number create another receipt until all the Items over. Select From Receipt_Num Where shipment_header_id RCV_shippment_headers IN (Select shipment_header_id From Where PO_header_id IN( Select rcv_shpment_lines Po_Header_ID From Where PO_heaer_all segment1=*))

------------ ------------ ------------ -------MD050 Functional Design ----------Document Based on above develop Quotation Report Query MASTER SELECT QUERY PHA.PO_HEADER_ID, PHA.SEGMENT1 PHA.QUOTE_TYPE_LOOKUP_COD QUOTENO, TRUNC(PHA.CREATION_DATE) E, PPF.FULL_NAM CDATE, BUYER H1.LOCATION_COD E , SHIPTO PHA.QUOTE_VENDOR_QUOTE_NUMBER E , H2.LOCATION_COD QUOTEAMT , BILLTO PHA.CURRENCY_COD CURR , E E PV.VENDOR_NAM , E, PVS.ADDRESS_LINE PVS.CITY 1, P , VS.ZI FROM PO_HEADERS_ALL P PHA , PER_ALL_PEOPLE_F PPF H , R_LOCATION H1 , S HR_LOCATIONS H2, PO_VENDOR_SITES_ALL PVS, PO_VENDORS WHERE PV = AND TYPE_LOOKUP_CODE 'QUOTATION' = AN PHA.VENDOR_ID PHA.AGENT_I = :P_VENDOR_ID AND D D PPF.PERSON_ID = PHA.SHIP_TO_LOCATION_ID H1.LOCATION_ID

AND = AND PHA.BILL_TO_LOCATION_ID = H2.LOCATION_ID AND PHA.VENDOR_SITE_ID PVS.VENDOR_SITE_ID = PHA.VENDOR_ID PV.VENDOR_ID LINE QUERY SELECT PLA.PO_HEADER_ID, MSI.SEGMENT1 MSI.DESCRIPTION ITEM, MC.SEGMENT1||','||MC.SEGMENT2 ITEMDESC, PLA.UNIT_PRIC CATEGORY, PRIC E FROM E PLA, PO_LINES_ALL MTL_SYSTEM_ITEMS_ MSI MTL_CATEGORIE B MC , WHERES PLA.ITEM_ID = AN MSI.INVENTORY_ITEM_ID PLA.ORG_I = AND D PLA.CATEGORY_ID = D MSI.ORGANIZATION_ID MC.CATEGORY_ID Purchase Order Interview Questions. 1) What is the Flow of Purchasing 2) Modulethe types of Requisition and Where 3) table of Purchase orders and Types 4) tablesis the different between standard PO and Blanket What 5) PO have created a Item but which is not available in the pO what will be the We 6) problem the types of Match What are 7) approvalsthe Receipt What are 8) types we enter a Blanket Release data where it will be When 9) stored the requisition no how to find out corresponding PO If give 10) Numbers PO Number how to find out corresponding Receipt If give the 11) What Numbers is Auto Create and 12) In which Advantage table we can find out i) Shipped ii) Received Quantity iii) Canceled Quantity 13) Quantity create Purchase order directly Can we without i) ii) Requisition, iii) RFQ 14) Quotation Can we have the Receipt without Purchase 15) What are the tables for RFQ, Quotation, Purchase order Order PL / SQL Procedure registration with Oracle APPS. Create or Replace <Procedure ( Name> Local Variable Cursor declaration Collection Declaration Declaration

Errorbuff OUT Retcode OUT Varchar2(10), Varchar2(20) , , , , )

10

Begin Space for Control Statements like IF LOOP s Procedure, Function and Package Calling we will not use this DBMS_OUTPTU.PUT_LINE ----function. FND_FILE.PUT_LINE(FND_FILE.LOG, Write message || Variable name) FND_FILE.PUT_LINE(FND_FILE.OUT, Write message || Variable name) Exceptio W n hen Others FND_FILE.PUT_LINE(FND_FILE.LOG, Write message || Variable then name) End <Procedure Name> ErrorBuf: While registering the procedure in concurrent Programe we are suppose errorbuf define out parameter, which will give the error messages in the log file if any occurs in procedure the . Retcode: It returns the status of concurrent program either 0-Normal, 1-Warnining, 2Error API Application Programe Interface FND_FILE: API is nothing but Programming Application Interface, instead of DBMS_OUTPUT package we will use write in the log file, FND_FILE.LOG to FND_FILE.OUTPUT to write in the output file. NOTE: We can register procedure or package procedure as concurrent Programe to do DML some validation and some other programming logic, we cant register function as Programe. concurrent

11

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

12

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

13

1. 2. 3. 4.

Crate Two Define table the cursor based on Transfer the Vendor_ID data in to quotation temp and quotation Define details local variable to count to calculation and transfer to quotation_temp

SQL * LOADER - Oracle Tool It is one of the Oracles tool will be used to upload the data from flat files in to oracle tables database . 1. Flat file or Data file: It contains the data in specific format it will be either text file or excel sheet. (.txt, .dat, .csv Comma Separated (.txt) Value) 2. Control File: It contains SQL * Loader program contains data file path, database name table and column mapping and soon, once we develop the control file we will this, that execute time data will be transfer from file to Oracle Database Table, during this transfer, the following files will be created. The extension of the control files data is .ctl. 3. Badfile: It contains the rejected records which are rejected by SQL*Loader, because bad of format or data type mismatch and so on. The extension of the bad file .bad. 4. Discard file: It contains the rejected records which are rejected by control file if we specified any condition in the control file if record is not satisfying the condition have complete record will be inserted in the discard file. The extension of file the is .dis. 5. Log file: It contains information about control file execution like, execution start and time end time, successful records count, bad records count, if there are any errors in control file, those error messages will be available in segments, the extension of file the .log. The Syntax of the control file is as follows: Load Infile Data Data file Path into table <Oracle Database Table Insert Fields terminated by , or Name> ( Column1, $ Column2, Column3, , , , , ,, ) ; And save as .ctl file For execution Command for .ctl file. SQLLDER Control = <Control file username/password@hoststring Patch> Class Exercise Connect to Scott Schema and create temporary table

14

Create table emp_details

empno Enam JDat e Deptno e Number(8), Sal Comm e Tax

Number(8) , Varchar2(100), Date , Number(8) Number(8) , Number(8) ) , ;

Select * from emp_details Prepare data file and save in the local machine. Develop the control file like as follows and save it with extension .ctl Load Infile Data Insert into table C:\20\load\emp.txt Fields terminated by emp_details ,Empno ( , Ename J , Date D , eptno S , ale C , omm, Tax ); Go to Command Prompt select following o path D:\Oracle\proddb\8.1.7\bin > Execute the control file with SQLLDR Command SQLLDER Control = SCOTT/TIGER@PROD C:\20\LOAD\EMP.CTL To find path to execute the SQLLDR command is HOST Command from SQL which will prompt shows the path where we can execute control file o Select * from v$parameter. Control INSERT - Table should be empty New records will be File APPEND inserted. New records will be add for existing TRUNCATE It will delete existing records and inserts new records from the records file. .csv file (Comma Separated Valu) If data in excel sheet we can save that file as .csv file. If any string contains commas we will enclosed this will in double quotation in the control file will we specify the following statement syntax

15

Fields Terminated by , optionally enclosed by If one of the field is missing for the database column we can generate sequences and also can we use the some functions like to_char, NVL, Decode, Instr, Rtrim, Trim and so on Training Nullcols Inserts NULL columns if no data is there, we can not use any DDL, TCL or DML command in control file. LOAD Infile DATA Truncate into Table C:\20\load\emp.txt. Fields Terminated by , optionally enclosed emp_details Trailing ( Empno Nullcols emp_seq.nextval, Ename Jdate upper(:ename), Deptno Sysdate, S , al, Commn, Tax ) Fixed format control file exampled Sometimes data may found in fixed format - for example Empno - 5, Ename 10, Jdate 11, Deptno 2, Sal 5, Comm 3, Tax -3 If data is in the fixed format the control file will be developed in different format LOAD Infile DATA C:\20\LOAD\FIXED.TXT Truncate Into table ( Empno emp_details position(1:5), Enam position(6:15), Jdat e position(16:26), Deptn e position(27:28), Sal o position(29:33), Commn position(34:36), Tax position(37:39)) In control file itself we can specify the data and at the time of insertion we specify the specify condition and we can also specify the discard file pat in control file it self - for the example LOAD Infile DATA D * iscardfile Truncate Into table C:\emp_rejected.dis When deptno= emp_details ( Empno position(1:5), Enam position(6:15), e

16

Jdat Deptn e Sal o Commn Tax

position(16:26), position(27:28), position(29:33), position(34:36), position(37:39))

Begin Fsfsd Data Fsfsfsf fgdfdsf 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 SKIP TO skip the first n Load=10 records SQLLDER username/password@Hoststring skip=10 ROWS It will be used to issue the commit after insert Nrecords for every 10 records auto commit will internally happen SQLLDER username/password@Hoststring rows=10 INIT.ORA file contains the default values for the commit point Data Uplaoding in to two tables Create Table emp1 ( Empno Number(5), EnameVarchar2(30) , ob Varchar2(30)); J Create Table dept1( Deptno Number(2), DnameVarchar2(30)) ; Positions of the data in datafile Empno 5, Ename 10, Job1, Deptno2, dname 7 DECODE Statement to be used to Code the A for Analyst M for Manager and Multiple files data can also be called in single control file Example control file Load Infile data Truncate Into table C:\20load\multiple.txt (Empno emp1 Enam Position(1:5), Position(6:15), e Job Position(16:16) Decode (:Job ,A, Insert Into table Analyst,M,Manager)) dept1

17

When deptno:= ( Deptno Position(17:18), Dname Position(19:25)) Register Control file as Concurrent Program 1. Develop the control file and move the both data file and control file in the 2. CUS_TOP\11.5.0\BIN\ server 3. Create executable by seleting the execution method as .CTL 4. SQL*Loader create concurrent Program attach executable, 5. Parameters Attach the concurrent program to the Request 6. Group the Request group to the Attach 7. Responsibility Attach Responsibility to the user will submit the request form SRS window. Exampl e Create the table in APPS Schema Create table Item Varchar2(10) ItemDesc MTL_ITEMS( , ItemCost Varchar2(100), ItemTax Number(8), BasicCost Number(8), Number(8)) Basic Cost to the calculated field in the Control file i.e. ItemCost ItemTax Development of Control file Load Infile Data I *nsert into Table Fields Terminated by , Optionally Enclosed by MTL_ITEMS Trailing NULLcols ( Item, Item ItemCost, Desc, ItemTax, BasicCost (:Itemcost :Itemtax)) Begin Fdfdsf Data sgdfg fgdgdgds dgdgdgd gfgdgd Fdfdsf sgdfg fgdgdgds dgdgdgd gfgdgd hgdghdg hgdghdg Move the .ctl file in the Inventory top i.e. BIN Directory And register the control file with applications. Administrator and register with the applications and concurrent Go to System and method should be SQL * program Loader pat can changed Data file o Infile dynamically o &1 muse use the ` We degit

18

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 specify the parameter &1 in the control file so that what ever the values we have passed that will replaced in the control be file. Interview Questions 1. How to issue the commit in the control file a. By suing ROWS Command 2. What are the types loading we have . Direct Method a b. Load Conventional method load (Default) 3. How to upload the data in to multiple table at with time By using WHEN a. command 4. Can we have the data in Fixed format and how to upload Yes, we can have fixed format that time we will use POSITION a. keyword 5. What is the difference between Bad file and Discard file a. Both file contains rejected records Bad file contains records which are rejected SQL*Loader and Discard file contains which are rejected by Control by file. 6. What are the SQL functions we can use in the control file a. TO_CAHR, TO_DATE, INSTER, SUBSTER, RTRIM, LTRIM, DECODE, NVL on. and so o 7. can we use user defined functions We cant user defined a. NO functions 8. If control file rejected more than 10 records error the I would like to stop the process how do to it a. We have a file called INIT.ORA file where we will set parent called maximum errors and max auto commit other parameter allowed also. 9. How to skip specific field data By using FILLER command In this position column will not accept the data a. inserts and it the NULL values. For example ( Empno , Ename J , Date Deptno) FILLER, ; SQL * Plus

19

1. Develop the SQL Program 2. (.sql) the file form local machine to server in to respective Move a. path CUST_TOP\11.5.0\SQL\ 3. Create .sql executable execution method as 4. SQL*PLUS Crate concurrent program and attach executable and 5. parameters Attach concurrent program to the request 6. group request group to the Attach 7. responsibility Attach responsibility to the 8. user. request from SRS Submit Window SQL * Plus Program Column User_id Column format User_nam Format Column Cration_Date Format e Column A11 &3 Format 9999999999 A25 A50

Prompt SQL Report with User Details Select User_ID, User_Name, Creation_Date, &3 from fnd_user Where User_id between &1 and &2 Save as the file .sql and create the parameters in Oracle apps systems administrator column can be added and dynamically NOT E We can define Maximum 100 parameter We are suppose to use &1, &2, &3 suppose to skip the We are not sequence same parameter values in multiple places in the WE can use script* PLUS concurrent program to execute DDL and Connect to remote database SQL executes the scripts and so and on. Submission of Concurrent Program from Back End because, sometimes we dont the access to the front have end. Executabl C e oncurrent Program Request SR Group W S e need to use the Application Programe Interface details in 115devg.pdf 21 chapter FND_PROGRAM.EXECUTABL Executabl FND_PROGRAM.REQUES E Concurrent Program e FND_PROGRAM.PARAMETE T Attach FND_PROGRAM.REQUEST_GROU R Create Request Parameter FND_PROGRAM.ADD_TO_GROU P Add Concurrent Program Group PR.G Submission of CP from Back End

20

SQL PL/SQ R L eport Report Forms Triggers Form Trigger FND_REQUEST.SUBMIT_REQUEST( ) - It will be used to submit the Request from Back end. Sample Program Declar e l_request_id Begin number(10); Fnd_global.apps_initialize ( user_id, Resp_i R d esp_appl_id) ; l_request_id:= Fnd_request.submit_request PO, ( Users Information User Script, , Desc, FALSE 1 , 000, 1200, Email_address) Commit; ; If l_request_id is != 0 Fnd_file.Put_line Program successfully submitted Request ID is l_request_id) (Fnd_file.log || Els ; e Fnd_file.Put_line (Fnd_file.log Program not successfully Endif submitted); E ; xceptio n When other Fnd_file.Put_line (Fnd_file.log Error occurred during the program then End submission); ; NOTE: If we are submitting concurrent program from the Form Trigger we are suppose to the 100 parameter. If parameter are not defined, still we are suppose to pass NUL pass values Fnd_use F r nd_responsibility_v l Fnd_application_vl application_name responsibility_key -

Scheduling the Concurrent program We can submit the Concurrent program future date or date by using the schedule button in window SRS

21

1. As soon as possible: This is default option whenever we submit the request it submit the as soon as will possible 2. Once: It will submit the rest only once for future date. 3. Periodically: WE can specify the from_date and to_date to submit program no of. Days periodically months, hours, minutes and so on. 4. Specific Days: If we want submit concurrent program in the specific days we select write this option 5. Save this Schedule: This check box will be used to save the schedule and apply schedule to other concurrent programs by selecting the button called Apply same schedule save NOTE: After schedule the Concurrent program we can also cancel by selecting the button cancel . PROFILE S Profile is one the changeable option it will change the way of application execution, when crate we user in oracle applications we will design the profile values for ever user by selecting any of this level. Profile levels User Responsibilit Applicatio Site y n 1. Site Level: Site is the lowest profile level when we install Oracle Applications by values default will be assigned at this level, site level values will be applicable for all the users. 2. Application Level: If we want to assign profile value to the specific application then we users will select this level specify the application name and assign the application level profile value will over write site level value, values. 3. Responsibility Level: We will select the responsibility name assign the profile this is value, applicable only for the users, who are having access to the responsibility. Responsibility will overwrite the both application and site level specified Most of values. the profile will setup at responsibility level because it will be responsibility for ever position in the organization we will also assign the profile creating based values on position. 4. User Level: We will select the user name and assign the profit value this is only specific user which we have specified at will over write responsibility, application and for level site values. Definitio n Application: It is collection of forms, reports and programs which are related for business specific functionality

22

Responsibility: It is also collection of forms, reports and programs which are related for position specific in the organization. Navigatio n Application Developer Profile - press enter We will find profile name and validation access levels, weather we can visible the or we valuescan update the values.on the access level we will go to system administrator open the profile Based assign form the profile values. Navigatio n System Administrator Profile System Press Enter Select profile name and profile level by default site select find button, it will shows values profile at 4 levels Important Profiles: 1. GL Set of Books Name: It is one of the GL application profile, set of books is but collection of currency, calendar, and chart of accounts. We will assign this nothing values profile at responsibility level based on this currency and calendar and accounts will change get . 2. MO: Operating Unit: This will be used to setup user operating unit name operating unit user is working, when ever user login to the system by using this which System profile. will understand the user operating unit (Branch Name) 3. HR: Business Group: This profile will give the user business group which group user working. is 4. HR: User_Type: This profile will give the user employment type which Permanent, Contract or consultant will be user is identified. USER_I U DSER_NAM R E ESP_NAM R E ESP_I R DESP_APPL_I D All these are user personal profile values for user will be there whenever we create it the values. We cannot change the contains values. GL: St of Books Currency

23

Calenda C r hart of Account Select Currency_code Period_set_name Calendar Chatof_account_id Nam From gl_set_of_books e 18user 19User 20User

Currency Accounts SOBNam e

GL:Set of Books Vision US GL:Set Name of Books Vision Operations(USA) SE D GL:Set Name of Books Vison Swedan ITL K Name Itely Go to Systems Administrator and open the profile form and select the profile name and assign the values. When we assign set of books to the user based on the that set of book name calendar currency, and accounts structure will be changed Create there different users go to systems administrator assign the profile values, user level enter user name and profile name select find futon and assign the user select values level . Login with the user name select GL responsibility open the Journals form, Entry and Journals press enter we will find the different currencies in currucy filed Personal Profile To find (N) Help Diagnosis Examine and press enter Select block as profile we will find profile names in the filed Profile values in the values field Technical Consultant Job Get Value Procedure Function 2 APIs to be used FND_PROFILE.GET(Profilename, Local Local Variable:= FND_PROFILE.VALUE(PROFILE Variable); Name); APIs will be used to retrieve the profile values form Backend like SQL, PL/SQL, Forms, Reports and . NOTE: Here get() is a procedure and Values() is a function both will be used to get a value profilefrom the backend Example: In Select clause we cant use procedure that time we can use function. Simple PO Report

24

User : Responsibility Name Name S : et Of Books : Supplier Name Supplier Name ID PO Type Dat Currency Query e Select PONUMBER PHA.SEGMENT1 PHA.TYPE_LOOKUP_CODE , TRUNC(PHA.CREATION_DATE) TYPE, PHA.CURRENCY_COD CDATE, CURRENC E Y From PO_HEADERS_ALL Where PHA VUNDER_ID=&PO_VENDOR_ID Report Development Process Lexical Parameters P_CONC_REQUEST_I P D_USER_I P D_RESP_I P D_SOB_NAM E SRW.USEREXIT(SRWINIT) - Before Report SRW.USEREXIT(SRWEXIT) - After Report Trigger Trigger And adjust the margin and design the layout Before Report :P_RESP_ID := Trigger FND_PROFILE.Value(Resp_name) User Name Resp_name Username Responsibility name i.e. personnel GL_SET_BOOKS_I profiles D MO: Operating Unit ORG_ID Access the Profile values from the Define reports find variable to store the profile values, go to before report trigger call the following then APIs,use the find variable either in the layout or in the report builder FND_PROFILE.GET(USER_NAME, FND_PROFILE.GET(RESP_NAME, :P_USER_ID) :P_RESP_ID) := :P_SOBNAME FND_PROFILE.VALUE(GL:SET_OF_BOOKS_NAME) PL/SQL Procedure as Concurrent Program Temp Table User_nam Perfomr_taart Varchar2(50) Resp_nam e Varchar2(50) SOBName e ORGNam Varchar2(50) Varchar2(50) e

25

Develop the procedure and register as Concurrent program and user submit the request SRW form window system should capture the dynamically and inserts in to the temp table :X:= FND_PROFILE.VALUE(ORG_ID) Select name from HR_OPERATING_UNITS Where organization_id=:x Chapter 15, 115devg.pdf FAQs 1. 2. 3. 4. 5. What is What profileare the profiles you have come across in your Profile levels experience in sequential How orderto get profile value from How to pass profile values as default in Backend parameter Default Types Constant Segment SQL Profile - Concurrent Programe window Parameter At the time of defining parameter select default type as profile and give the name profile in the default values field.

26

Multi Org Multi Org is nothing but implementing multiple organization under single oracle implementation. We will define the multi org levels like APPS follows: Business Top level org where employee will be define Group Set of Books Currency, Calendar, Chart of accounts Entitie s Where company is Documents to Government going to create Income Tax Financia l

Legal Entity

Operating Unit Inventory Organization Sub inventories Stock Locations Items

Where Company will procure, sell, pay, receive, stock Where company will store the product

Under the Inventory it will come

Business Group: It represents the highest level in the organization structure, it can be a division major or operating company or consolidated enterprises, Business Group secure recourses information. Example: When we request list of employees assigned to the human group where organization is a business part Set Of Books: It is a financial reporting entity it uses particular functional currency, accounts chart of and accounting calendar, Oracle General Ledger application secures this transaction like, journal entries, balances, we will use the Set of Books to capture these information information financial . Legal Entity: it is a legal company for which we prepare physical or tax reports and we submit company flanking sheet to will Government. Operating Unit: It is an organization where company is going to do the main operations business like sales, purchasing payments, receiving and son, it may be a sales office or

27

division or department, operating unit information will be secured by following applications PO, like AP, AR, OM, CM Inventory Organization: It is an organization for which we will track Inventory transactions balances, Inventory Organization means warehouse, distribution center, manufacturing and plants and sales offices, the following application secures information by Inventory organization - Oracle Bills of - Inventory Work in - Material Enginerin - process Capacit - g MRP and so - y on Again we will define Inventory Organization as 2 1) sub levels 2) Stock Inventory location inside of this location we will keep the items. Advantages or Major functions Data Secure: We can assign users to the particular organization when ever logon user to the application then we can get the data access, which is related to organizatio their n Multiple Organizations Reporting: We can setup Oracle implementation to allow the reporting across operating units we can allow applications reports either at SOB level or legal entities level or operating unit the level We can sell the products from one legal entity and ship the products another level entity that time we can easily create financial from transactions. We can receive the good from the suppliers in any Inventory Example: A branch employee will create the PO then we can rece4ive organization. material in B branch Inventory organization but these two organization should the defined under same set of be books. When employee creates internal requisitions in one organization thesewe ship can the materials from another organization with corrent inter inventory. company 115multiorg.pdf - Implementing Multiple Organizations Chapter1 and 4 multiorg.xls.

28

Multi Org Tables PO_HEADER_AL L

Column ORG_I D

Text

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

29

SQL> select count(*) from PO_HEADERS output becoz system doesnot know the working branch for which branch SQL> Begin FND_CLIENT_INFO.SET_ORG_CONTEXT(20 4) END ; SQL> select count(*) from PO_HEADERS - Now it is showing the 1645 Pos fro branch 204 Begin FND_CLIENT_INFO.SET_ORG_CONTEXT(FND_PROFILE.VALUE(ORG_ EN ID) D It will retrieve User ORG_ID value Table shows details about the Multi Org structure table Organizatio n Name Profile Column Table Business HRFV_BUSINESS_GROUP BUSINESS_GROUP_ID HR:Business Group Group Books S Set Of GL_SET_OF_BOOKS Name ID GL:Set of Books Legal HR_LEGAL_ENTITIES Entity Operating HR_OPERATING_UNIT ORG_ID MO:Operating Unit S Unit Inventory ORG_ORGANIZATION Organizatio D _ EFINITIONS MFG_ORGANIZATION_ID ORGANIZATION_ID n MTL_SECONDARY SubInventor INVENTORIES _ y Stock Locations MTL_ITEM_LOCATIONSQ Items MTL_SYSTEM_ITEMS Requstions RFQ Quotations PO PO Receipts

While developing or customizing the RICE component we will be using Multiorg We are views. not supposed to use the Multi org tables. the following select statement we can find whether multi org is By suing successfully implementedor not o Select multi_org_flag, release name from fnd_product_groups Multi_org_flag Releasename Y 11.5.7 Y Implemeted successfully (Business Group, I.E., Set of Books, operating Inventory Unit, organziaiton)

30

BUSINESS_GROUP_ID: This at Business group level we can find them column in common all the table, which are in HRMS tables like o PER_ALL_PEOPLE_ o F PER_JOB o S PER_GRADE o S PER_POSITION S ORG_ID: It is at operating unit level it we will find this common column in all the operating table at unit level like o PO_REQUESITION_HEADERS_A o LL PO_HEADERS_AL o L PO_DISTRIBUTION_AL NOTE: L PO receipts functionality will come at Inventory organization level. But we are crating receipt means we are receiving the goods from supplier. We will Because receiving the material at Inventories (stories, gowdans ) only. be RCV_SHIPMENT_HEADERS table is not having the _ALL it is not having Example: column ORG_ID ORGANIZATION_ID It is at Inventory Organization level we will find all manufacturing tables column this ORGANIZATION_ID column including PO : the Table Receipts s o MTL_SYSTEM_ITESM_ o B WIP_ENTITITE o S BOM_RESOURCE o S BOM_DEPARTMEN T PO_VENDOR is not having PO_VENDORS_SITES_ALL is S _ALL _ALL having Supplier is global we can access from any Supplier site organization is organization specific and we create site based on the user ORG_ID sites retrieved will . FAQs 1. What is application hierarchy or Multi org 2. flow? is Business What 3. What is legal entity and operating Group? 4. unit is meant by multi org What 5. table are module will come at operating unit What 6. levelPO Receipt will come tat Operating Unit level or Inventory Organization Will 7. level?is difference between OR_ID and What 8. ORGANIZATION_ID? for PO_VENDORS Why there is no _ALL 9. table? implement multi org in How to 10. reports? How to populate ORG_ID from SQL prompt? is meant by 11. What 12. When user login in to the system how the system will identify user operating Client_info? unit?

31

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

32

x. Context Field: While creation of DFF we can define multiple based on structuresthe user selection we can change the DFF structure. defining While the context field we will enter context field values for context every value there will be a structure here we can use the entire column attributefrom attribute 1 to 15. 1. NOTE: One we use the attributes in one structure we can use same the attributes in another structure, because user can enter one only structure details at a 2. time. Once we enter the value in the context field it will be NOTE: in the storedDatabase column called Attribute Category Inventor
y 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. Global Data Elements: While defining the context field we will enter the context field values based on the value we can change the DFF if we want structure to define any field globally we will select option called Data elements, select se4gments enter the Global details. Once we use the attribute column in Global Data elements it 1. not will be available for the context field values.

2. Key Flex Field : These will be used capture key information which is in the language for every code there will be a specific meaning in the application we will code the all find KFF s in the Application Developer Responsibility. Navigation Flex field Key and enter we can find the structure in the segments form Navigation Flex Register Key Field Segments and press enter when we enter the data in KFF it will be segments stored in columns we will find segments column around 30 based on the requirement. Differences between DFF and KFF

33

1. 2. 3. 4. 5. 6.

KFF DF DFF will be usedF capture EXTRA to InformationInformation 1. Attribute columns will be Segment columns will be used 2. used We can register MAX 3. DFF suppose to create new KFF DFF will be accept what ever Data we enter 4. valid data WE have context WE have no Context field 5. field data will be stored in Attribute DFF Columns 6. FND_FLEX_VALUES tables.

KFF will be used to capture KEY We have 29 built in KFF we are not KFF we can define rules to capture DFF codes will be stored in KFF description will be stored segments in

To find a table of DFF go to the segment form of DFF System Last Value Query - Quary will get KFF_List.xls file contains all the important KFF to study Applicatio KFF Table Staructure n Nam name Column Accounting GL e GL_CODE_COMBINATIONS Flexfield CHART_OF_ACCOUNTS_ID Assets KFF FA FA_ASSET_KEYWORD S Category FA FA_CATEGORIES_ Flexfield B Location FA FA_LOCATION Sales Tax Flexfield S Flexfiel Location AR AR_LOCATION_COMBINATIONS d LOCATION_STRUCTURE_I Territory AR RA_TERRITORIE Flexfield S Item Catalogs IN MTL_ITEM_CATALOG_GROUP V S Item IN MTL_CATEGORIES_ Categories V B Stock Locators IN MTL_ITEM_LOCATIONS V ORGANIZATION_ID System Items IN MTL_SYSTEM_ITEMS_ V B

No No No No no STRUCTURE_I D ORGANIZATION_I D

To Capture the Key Information the Information at any We can query level entry to the user will be very Data easy System will accept valid accounting transactions GL_CODE_COMBINATION All Codes GLFV_CHARTS_OF_ACCOUNTS Structure Details Accounting Key Flex Field: This is one of the built in KFF available in GL application to capture transactions accounting .

34

Accounting KFF is nothing but Chart of accounts in the set of books when ever assign the profile (GL: Set of Books Name) to the user based on the this profile we will assign Accounting KFF to the system ******* User. Set of Books o Currency o Calenda o r Chat of ******* Account Select Name, Currency_code Period_set_name Currency Chat_of_account_id ChartOfA/ Calendar From GL_SET_OF_BOOKS C ******* 16USE GL:SET OF 101(5) Vision US R BOOKS OF Operation(USA) D 17USE GL:SET 50173(4) Vision ITL R BOOKS OF Italy 18USE GL:SET 50714(6) Vision BE R BOOKS Belgium L ******* Structure ColumnWhile defining the KFF we will find structure column field if it is null value then KFF got has only one structure, if there is a structure column that will find multiple structure, the segments form query the records based on KFF title, we will find structure open details For Accounting KFF structure column is CHART_OF_ACCOUNTS_ID details from this table And we will get all the structure GL_CHARTS_OF_ACCOUNTS. will be stored in the data based table All the accounting KFF transaction GL_CODE_COMBINATION called S Developing the Reports on KFF Process 1) Call the user ext from before report trigger SRW.USER_EXIT ( 'FND SRWINIT'); 2) Call another User Exit from After Report Trigger SRW.USER_EXIT ('FND SRWEXIT'); 3) Define the following parameters 1) 2) P_CONC_REQUEST_ID P_FLEXDATA 3) P_STRUCT_NUM segment1||'\n'||segment2||'\n'||segment3||'\n'||.......||'\n'|| segment30 4) Call another User exit from before report trigger SRW.USER_EXIT ('FND FLEXSQL COD NU E M

= "GL#" = ":P_STRUCT_NUM"

35

APPL_SHORT_NAM = "SQLGL" OUTPU E = MOD T = "P_FLEXDATA" DISPLA = "ALL"); E "SELECT" Y 5) Define the Query like follows SELEC & T P_FLEXDAT F ARO K MFF WHERE KFF Structure Column = Table :P_STRUCT_NUM; 6) Define Formula Column and CALL another User Exit from formula columnSRW.USER_EXIT ('FND COD FLEXIDVAL = "GL#" NU E = APPL_SHORT_NAME = M ":P_STRUCT_NUM" DAT "SQLGL" = "Column Name where the data is VALU A = "to get KFF Values we will give formula column available" MOD E Name" = DISPLA E "SELECT" = "ALL"); Y Flex Fields Reports development P_FLEXDATA: It is one of the lexical parameter having the default value it is a all the segment contribution of columns, we will use this lexical parameter in the select statement to the data retrieve 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 KFF segments retrieve data FND FLEXIDVAL: This is another user exit will called from formula column to display the data KFF in the output 1) Call the user ext from before report trigger SRW.USER_EXIT ( 'FND SRWINIT'); 2) Call another User Exit from After Report Trigger SRW.USER_EXIT ('FND SRWEXIT'); 3) Define the following parameters 1) 2) P_CONC_REQUEST_ID 3) P_FLEXDATA 4) Before Report P_STRUCT_NUM function Trigger BeforeReport return boolean is L_NAME begi VARCHAR2(100); n

36

SRW.USER_EXIT( 'FND l_name SRWINIT'); select chart_of_accounts_id :=fnd_profile.value('GL_SET_OF_BKS_NAME'); into FROM gl_sets_of_books :P_STRUCT_NUM where name = SRW.REFERENCE(:P_STRUCT_NU l_name; SRW.USER_EXIT('FND M); FLEXSQL COD = "GL#" NU = E APPL_SHORT_NAME = M ":P_STRUCT_NUM" OUTPU "SQLGL" = MOD T = ":P_FLEXDATA" DISPLA E "SELECT" = "ALL" '); return Y end (TRUE); ; 5) Go to data model select query SELEC &P_FLEXDATA T GCC.LAST_UPDATE_DAT C_FLEXDATA, E FRO GL_CODE_COMBINATIONS WHER M CHART_OF_ACCOUNTS_ID = GCC E :P_STRUCT_NUM; 6) Take the Formula column and place it in query and edit the PL/SQL editor function CF_DATAFormula return Char is begi n SRW.REFERENCE(:P_STRUCT_NU SRW.REFERENCE(:C_FLEXDAT M); SRW.USER_EXIT('FND A); FLEXIDVAL COD = "GL#" NU E = APPL_SHORT_NAM M = "SQLGL" ":P_STRUCT_NUM" DAT E = VALU A = ":CF_DATA" ":C_FLEXDATA" MOD E = DISPLA E "SELECT" = "ALL" IDISPLA Y = "ALL"'); RETURN(:CF_DATA Y end ); ; function CF_DESCFormula return Char is begi n SRW.REFERENCE(:P_STRUCT_NU SRW.REFERENCE(:C_FLEXDAT M); SRW.USER_EXIT('FND A); = "GL#" FLEXIDVAL COD NU E = M ":P_STRUCT_NUM" APPL_SHORT_NAM = "SQLGL" DAT E = A ":C_FLEXDATA"

37

DESCRIPTIO = MOD N = ":CF_DESC" DISPLA E "SELECT" = "ALL" IDISPLA = "ALL"'); Y RETURN(:CF_DESC Y ); end ; 7) Go to layout model design the report and register with Oracle Applications and submit the user SRS from form SRW.REFERENCE( ) : It we are using bind variable in source column the user exit refer to we will get the latest values for variable and source column Changing the structure number dynamically:structure number is nothing but chat of accounts ID, if we know the user set KFF books name we can find out chart of Accounts of ID. of books name is one of the user profile by using FND profile API we can get Set report from triggers Go to before report trigger declare the local variable write the following APIo L_name varchar2 o (100) L_name:=fnd_profile.value(GL_SET_OFBKS_NAME ); Write the following select statement to get the structure number based on the set books name of Select INT Chart_of_account_id :PFrom O GL_SET_OF_BOOKS STRUCT_NUM Where name=L_name; Develop the report on PO Module and display the charge account in PO Distributions Form Line Dist ReqN Type Cdate Level Item ItemDes DistN Level ChargeA/ O Lineno c o C FAQ in Flex 1. Fields What is FLEX 2. FIELD? What is 3. KFF experience what are the KFF you have come In you 4. across?created any KFF? Have u 5. NO u created any DF? Have 6. Yes is FND FLEX SQL and FND What 7. IDVAL? SRW What is 8. REFERENCE? What are parameters we suppose to pass for FND 9. FLEXIDVAL? structure number How to change 10. dynamically? KFF are there in Inventory What are the 11. Is there module? any KFF in PO? 12. NO Where the KFF data will be stored? Segments the DFF data will be stored? 13. Where 14. What Attributes in Attribute_Category?

38

Form

Executable

Function Data Group Menu

Concurrent Programe

Request Group

Responsibility

User

Forms Development Process 1)We Will download the TEMPLETE.fmb from AU_TOP\Resource Folder Application Utilities 2)Open with Forms6i builder and delete the existing Block Canvas Window 3)Create New Block , Canvas , 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 Module the Properties. II)Customize folooiwng two triggers1) Pre-New Window Form 2) WHEN-NEW-FORM-INSTANCE -New form Name 3) APP_Custom package -New Window Name Name 5)Save the form we will get 6)compile the form we will (.fmb) get(.fmx) 7)Move the .fmb into au_top\11.5.0\Forms\US\ 8)Move the .fmx into CuS_top\11.5.0\Forms\US\ .fmb .fmx 9)Goto Applicaton Developer and create Form 10)create Function attach form to the function 11)Create Menu attach function menu

39

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

40

Start menu Run Regedit Hkey_local_mechine -> software -> oracle Forms60 _path - - - - - - - - - - -- - - -- - - ; give the template.fmd file path Table registration Note: connect to custom top (wip) --wip/wip@prod 1) create table custom_vendors 2) grant all on custom_vendors to apps; 3) conn apps/apps@prod 4) create public synonym custom_vendors for po.custom_vendors; 5) exec ad_dd.register_table ('po','custom_vendors','t', 8, 10, 90); Exec Ad_dd.register_table( p_appl_short_name p , , _tab_nam p_tab_typ e , e p_next_exten , p_pct_free t , p_pct_used ) 6) exec ad_dd.register_column ('po','custom_vendors','vendor_id', 1,'number', 10,'n','y'); Exec ad_dd.register_column ( p_appl_short_name , _tab_nam p , p_col_name e , p_col_seq , p_col_type , p_col_width , p_nullabl , p_translat , e e p_precision default null, p_scale default null) Note: register all columns 7)commit; Value Who sets columns

41

Flexfield (dff,kff) Note I :f we are registering table by using AD_DD package we can utilize following functions columns 1) Who 2) Flex 3) Multi fields org 4) Profile, Table Value set creation and so on. Create Table wip_item_details( Item Varchar2(50) ItemDes Varchar2(100), , ItemDat c Date ItemLoc e Varchar2(50) , Item Category , Varchar2(50), ItemCost Number(9) Created_B Number(9) , Creation_Date y , Last_Update_By Date, Last_update_date Number(9), Attribute_Category Date, Attribute Varchar2(100), Varchar2(100), Attribute 1 Varchar2(100), Attribute 2 Varchar2(100), Attribute 3 Varchar2(100), Attribute Varchar2(100)) 4 5 Grant all on WIP_ITEM_DETAILS to APPS; Conn APPS/APPS@PROD; Create Public Synonym WIP_ITEM_DETAILS for WIP.WIP_ITEM_DETAIS Table type contains three T Table, V View, S values Synonym Exec AD_DD.REGISTER_TABLE (WIP,WIP_ITEM_DETAILS,T,0,10,90) EXEC AD_DD.REGISTER_COLUMN (WIP,WIP_ITEM_DETAILS, ITEM,1,VARCHAR2,50,N,Y); All the columns to be registered To know the table status about registration Navigatio A n pplication - > Database - > Table and press enter And query for the required table.

42

Implementing who columns Create two triggers Pre_Insert and Pre_updata at Block levelthe following API from the both the Call o Fnd_standard.set_who() triggers. ; This API is available in the library called FNDSQF.PLL Implementing the calendar to the date field Go to the field properties, change the property called list of values Enable_List_Lampcalled KeyListVal at Item level call the following Create the trigger APIo Calender.show( ) It is available in the library called APPDAYPK.PLL Attaching the list to the field Record Group-> LOV -> field Create Record Group by enter list of value or by enter select statement attach record Create LOV group LOV to field property called list of Attach values th Reference: 115devg.pdf Chapte 24 r Development of Master Details Form Master Form POVENDORS Vendor_ID, Vendor_name, Creation_Date Detail Form PO_VENDOR_SITES_AL L Vendor_ID, Vendor_site_code, Address1, Address2, Site_Creation_Date, City. Develop the form with master table by using template.fmb (Primary Key must selected be ) Crate detailed data block after selecting the column click next futon, can check the box called Auto join data blocks, select the button called create relationship, select check button radio called based on join condition. Select Primary Key from Master Item, reference key from detail Item, system automatically create join condition and select finish will button. At the time of selection layout style select tabular format and select number of records be to displayed in the layout.

43

Attach property classes and save the .Ffmb generate .FMX move in to the custom top. Practice development PO_HEADERS_AL L PO_header_id, PO_NO, type, Cration_Date POLINE_AL L Po_heder_id, item_desc, quantity, Line_total(quantity*unitpric Unit_price, e) Manual Development of Form Crate a table in WIP Item, Item_Desc, Item_date, Item_loc. Create new data block by select the manual option the following the Change o Subclass: properties o Block Database source Name: Table o Name Database Column Name: Column Names Go to canvas create and change the property class to Frame_Rect Define the Text Item attach following o Subclass: properties o Tex_Item Column Name: DB column Register the column and compile and generate .FMX 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 Descriptive Register and Field enter New DFF by giving database table Create name.the DFF table go to segments form query based on table, select segments Copy enter DFF structure button, details. template.fmb select all the attribute column at the time of data block Open the creation field in the Canvas change the field property database items as Define the "no" Define the Package like Package follows. ------------ ----Specification: ---PACKAGE DFF_PKG IS PROCEDURE DFF_PROC(EVENT END VARCHAR2); P ; ackage ---------Body: ---

4 4

PACKAGE BODY DFF_PKG IS PROCEDURE DFF_PROC(EVENT VARCHAR2) BEGI AS IF (EVENT = 'WHEN-NEW-FORM) N INSTANCE' THEN FND_DESCR_FLEX.DEFIN E( BLOCK => 'WIP_ITEMS10' FIEL => , 'DFF_TEXT' APPL_SHORT_NAM D => 'WIP', , DESC_FLEX_NAM => 'WIPDFF ); E E ' END END IF; END DFF_PROC; ; Call this Package from WHEN-NEW-FORM-INSTANCE o Trigger Packagename.Procedure name('WHEN-NEW-FORMo INSTANCE'); DFF_PKG.DFF_PROC('WHEN-NEW-FORMINSTANCE'); Call another API from WHEN-NEW-ITEM-ISNATCE o Trigger fnd_flex.event('WHEN-NEW-ITEMo INSTANCE'); the DFF in the It will Populate Form. Note F : NDSQF library will support for all the flex field APIS like FND_DESC_FLEX.DEFIN F END_FLEX.EVEN TND_KEY_FLE F X Function Security: For single form creation of multiple functions at the time of creation function passing parameter which will change the form the functionality. Develop a form register in application developer at the time of creation function pass parameter called the QUERYONLY=YES Attach the functions to menu and menu to responsibility and responsibility to the user. NOTE: At the time of crating function select form tab pass the parameter in the called field parameter Calling another form from the existing form. Form 6i Call_Form, New_form, feature Open_form APPS FND_FUNCTION.EXECUTE () OPEN_FORM builtin Opens the indicated form. Use OPEN_FORM to create multiple-form applications, is, applications that open more than one form at the same that time.

45

NEW_FORM builtin Exits the current form and enters the indicated form. The calling form is terminated the as parent form. If the calling form had been called by a higher form, Form keeps Builderthe higher call active and treats it as a call to the new form. Form Builder memory (such as database cursors) that the terminated form was releases Form using.Builder runs the new form with the same Runform options as the parent form. the If parent form was a called form, Form Builder runs the new form with the options same as the parent form. CALL_FORM builtin Runs an indicated form while keeping the parent form active. Form Builder runs called form with the same Runform preferences as the parent form. When the the form is called exited Form Builder processing resumes in the calling form at the point which from you initiated the call to CALL_FORM. 1) Develop both forms and register in 2) Place the application. Button in first 3) Write the following code in WHEN-BUTTON-PRESSED form Trigger. Fnd_FunCtion.execute ( function_nam => 'Second from function open_flag e => Name', OTHER_PARAM => , 'Y' 'P1 = S '||:PO_VENDORS.VENDOR_ID); 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. :PO_VENDOR_SITES_ALL.VENDOR_ID := --:Blockname .fieldname :PARAMETER.P1; := :PARAMETER.Parametername 6) Goto the WHEN-NEW-FORM-INSTANCE Trigger at from level. write the following code: GO_BLOCK('PO_VENDOR_SITES_ALL' ); EXECUTE_QUER Y; Sub Menus Sub menu is nothing but is collection of function and menus we will create submenus just like menus, then we will attach to main menu by using the field the submenu called . Calling the SRS window from Menu Go to the function form in application developer (N) Application funcatoin function for the user form called Run Reports, copy user function Create new attach name to menu.

46

Adding Multiple Request Groups to the Responsibility Create Request Group in System Administrator Group name application short name and Request group Copy Request code. application developer create function for the form called Run Report and Go to the following parameters in the parameter pass fieldo REQUEST_GORUP_CODE SUPPLIER_CODE o = REQUEST_GROUP_APPL_SHORT_NAME=P o O TITLE = SUPPLIERS 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 functions will be available if we want to hid we will go to Menu Exclusion and Responsibility form select type as function or menu and give the function name or tab in name menu in the name field. Forms Customization Two Ways 1) Download .fmb from 2) au_top\11.5.0\Forms\resource\US Custom.pll a. When_new_form_instance b. When-new-blockc. When-new-recordinstance d. When-new-iteminstance e. When-Validateinstance f. record g. Zoom Special If we want to customize standard oracle forms will going to use custom.pll by using this we customize few events in the form. This custom.pll is available in the au_top resource can folder 1) Hiding the 2) fields the Chane 3) promplt visual Change 4) attributes is Make field 5) mandatory menu Attaching the options. Before going to customization the form should know following details Form : Name Block : Name Field : Name What Customization : like to When we would do Data capture

47

Form : Help About Oracle Name Applications Block : Help Diagnostics Name examine Minimu : Amount m Hide the filed form is opened (When-new-formWhen instance) Forms Customization Steps: 1) Download the CUSTOM.pll from AU_TOP\11.5.0\Resource folder. 2) Open with Forms 6i. 3) Write the Following Code in the place of 'Real Code Starts Here' form_name varchar2(30) := block_name varchar2(30) := name_in('system.current_form'); name_in('system.cursor_block'); begi n if (event_name = 'WHEN-NEW-FORM-INSTANCE') then if (form_name = 'APXWCARD' and block_name = 'CARDS') then APP_ITEM_PROPERTY2.SET_PROPERT Y ('CARDS.DEPARTMENT_NAME', -BlockName.FieldName DISPLAYE PROPERTY_OFF) D, ; APP_ITEM_PROPERTY2.SET_PROPERT Y( 'PO_HEADERS.SEGMENT PROMPT_TEXT 1', ' ,PO APP_ITEM_PROPERTY2.SET_PROPERT Number'); Y( 'REGIONS.REGION_LONG_NAM CASE_RESTRICTIO E', UPPERCASE) N, end ; end if; if; (attach the Library called APPCORE2.pll) 4) Compile the Library we can get .pll (Program link Library) Execute the Library we will get .plx (Program Link Executable) (File ->Administration->Compile File) 5) Transfer both .pll and .plx files into the Resource folder in the AU top. (Note: before going to copy into the server close the complete Application) Zoom Trigger Zoom event will be used to call the another forms from Oracle standard forms, by default will be zoom disabled for the form, first we have to enable, the \we will go for execution.

48

Open the Custom.pll got the function call zoom available and creat the following code the in place of Real Code Starts here form_name varchar2(30) := block_name varchar2(30) := name_in('system.current_form'); begi name_in('system.cursor_block'); nif (form_name = 'POXRQERQ' and block_name = 'PO_REQ_HDR') then return else TRUE; return FALSE; end if; Go to the event procedure and write the following code in the place of Real Code Here Starts f orm_name varchar2(30) := block_name name_in('system.current_form'); varchar2(30) := Begin name_in('system.cursor_block'); if (event_name = 'ZOOM') then (form_name = 'POXRQERQ' and block_name = 'PO_REQ_HDR') if then fnd_function.execute(function_name=>'PO_POXRQVRQ ', open_flag => end 'Y'); end if; Aveif; custom.pll and compile this execute the the custom.pll .pll and .plx in to the resource folder (Close the applications before copying Copy both to in the respective top) Special Trigger: - Total 45 are available. will use the special trigger to attach the menu options to the We forms. FAQs: 1) What are the steps we will follow for the form 2) development libraries are available in What are the 3) TEMPLETE.FMB? and primary How to register table 4) key? do we need to register the Why 5) table t o implement who How 6) columns? How to attach a 7) calendar? another form from the standard How to call 8) forms? implement DFF in the How to 9) forms? the events we can use in What are 10) custom.pll? What is meant by 11) We zoom? cant copy the CUSTOM.PLL in to the server when applications is opened?. In oracle applications all the forms are developed by TEMPLETE.FMB a Navigator. including So that, that time CUSTOM.PLL IS being used by the application can we not update the 12) When we are working in the project we are not able to close all the users library. application how to copy in to that time server.

49

a. We will be having the link file (crated by DBA), we will copy in to that path we have to logout and login then we can find the customization only 13) How to effects. .fmx and .plx in LINIX operating generate system a. In windows we will use CTRL + b. T linix we will use F60GEN In command F60GEN USERNAME/PASSWORD@HO F60GEN MODULE=CUSTOM.PLL TYPE=LIBRARY MODULE=TEST.FMB ST USERNAME/PASSWORD@HOST 14) In which top we will execute this F60GEN commandIN a. AU_TOP\11.5.0\FORMS\US INTERFACE S Interface is nothing but a program will be used to transfer the data from flat files to table or from database table to flat files with validations. WE have two types of Interfaces database Inbound Interface Outbound like Interface. Inbound It will be Interfaceused 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, JAVA, Mainframe so on. Example: In implementation project we can implement forms and report so that users can the data after implementation but the previous data will be available in the legacy system enter need we to bring that data in to Oracle Applicatoins with validations. Usage: SQL*Loader, .txt, .ctl, .dis, .bad, .log Outbound It will be Interfaceused 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 manufacturing, we have to transfer manufacture data in to financial applications, so that we for generate the Invoices in financial can applications. Usage: UTL_FILE_PACKAGE UTL_FILE.FOPEN - Crate / Open UTL_FILE.PUT_LINE - Transfer the data in to () file UTL_FILE.FCLOSE() - Close file () file Exercise OUTBOUND INTERFACE We can generate flat file only in specified directory - to find directory list Select * from V$PARAMETER Where NAME like %UTL_% Or INIT.ORA file contains the information about active directory list.

50

Flat file PO Number, Type, Creation date, Buyer Requirement PO Type Name, STANDARD Purchase orders only Process Steps 1) Develop a procedure or package and register it as Concurrent 2) Programcursor to retrieve the data from Writ the 3) database file by using Define the 4) UTL_FILE.FOPEN()loop and transfer the data in to file by using Open the cursor for 5) UTL_FILE.PUT_LINE() Close the cursor and close the file by using UTL_FILE.FCLOSE() Create or Replace PO_Information ( Errbuf OUT varchar2, Retcode ouT varchar2,) as Cursor c1 is Select pha.segment PoNum, Pha.type_lookup_code 1 POType, Trunc( pha.creation_date) Ppf.full_nam CDate, Buyer From po-headers_all e PHA Per_all_people_f Where PPF = AND PHA.type_lookup_code = STANDARD PHA.agent_id ppf.person_id; l-id UTL_FILE.FILE_TYPE Begin l_id := UTL_FILE.FOPEN(d:\........................, PO_ORDERS.TXT, W) For c2 in c1 loop Utl_file.Put_line (l_id, c2, ||$|| PoNum C2.POTyp ||$|| C2. e ||$|| CDate C2.Buyer) ; End UTL_FILE.FCLOSE(L_ID loop; End ); PO_Informaton; Inventory Outbound Interface Requirement Fields - Item, itemid, itemdesc, uom, name, id , category CREATE OR REPLACE procedure Errbuf OUT INV_Out( varchar2,ouT Retcode f_id in varchar2, t_id in number,varchar2) cursor c1 is select as msi.segment1 item, msi.inventory_item_id msi.description Itemid, itemdesc,

51

msi.primary_uom_code Uom, ood.organization_name ood.organization_i id, name, mc d . segment1||','||mc.segment2 Category from mtl_system_items_b org_organization_definitions msi, mtl_item_categories ood, mic, mtl_categories mc wher m e si.organization_i = and d msi.inventory_item_id = ood.organization_id and msi.organization_id = mic.inventory_item_id and mic.category_id mic.organization_id = and msi.purchasing_item_flag = mc.category_id and 'Y' msi.organization_id between f_id and x_id t_id; l_count number(5) default utl_file.file_type; begi 0; x n_id:=utl_file.fopen('d:\oracle\proddb\8.1.7\plsql\temp','invoutdata.dat',' --select * from v$parameter where name like '%utl_file W'); %' x1 in c1 loop for l_count:=l_count+1; utl_file.put_line(x_id,x1.ite ||'-'|| m x1.itemid x1.itemdesc||'-'|| ||'-'|| x1.uom ||'-'|| x1.name x1.id ||'-'|| x1.category ); ||'-'|| end utl_file.fclose(x_id) loop; F ; nd_file.Put_line(Fnd_file.output,'No of Records transfered to the data file :'|| Fnd_File.Put_line(fnd_File.Output,' l_count); Fnd_File.Put_line(fnd_File.Output,'Submitted User name '|| '); Fnd_File.Put_line(fnd_File.Output,' Fnd_Profile.Value('USERNAME')); Fnd_File.Put_line(fnd_File.Output,'Submitted Responsibility '); '|| name Fnd_File.Put_line(fnd_File.Output,' Fnd_profile.value('RESP_NAME')); Fnd_File.Put_line(fnd_File.Output,'Submission Date :'|| '); Exceptio SYSDATE); W n HEN utl_file.invalid_operation THEN fnd_file.put_line(fnd_File.log,'invalid operation'); utl_file.fclose_all WHEN utl_file.invalid_path ; THEN fnd_file.put_line(fnd_File.log,'invalid utl_file.fclose_all path'); WHEN utl_file.invalid_mode ; THEN fnd_file.put_line(fnd_File.log,'invalid mode'); utl_file.fclose_all WHEN utl_file.invalid_filehandle ; THEN

52

fnd_file.put_line(fnd_File.log,'invalid utl_file.fclose_all filehandle'); WHEN utl_file.read_error ; fnd_file.put_line(fnd_File.log,'read THEN utl_file.fclose_all error'); ; WHEN utl_file.internal_error THEN fnd_file.put_line(fnd_File.log,'internal utl_file.fclose_all error'); WHEN OTHERS ; fnd_file.put_line(fnd_File.log,'other THEN utl_file.fclose_all error'); End ; INV_Out;

53

Inbound Interface

Flat File
.bad or .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 3) PL/SQL Program development 4) Submit Standard Program Inbound interface will be used to upload the data from legacy system in to applications base Oracle tables. We will receive the flat file from the client then we will create staging table upload data the from flat file in to stage table. Develop the PL/SQL program to validate the data weather it is valid or not, if valid it is we will insert in to interface table, if it is not valid we will insert in to error table. Once the data is available in interface table submit the standard program from window, and we will transfer the data from interface table to base SRS tables. Note o Staging table is required because the flat file structure may or may not compatibles with base table be o structure.table is required to make the pre validation and populate Interface records. dynamic GL PO AP AR OM HRM

54

Journals Currency Conversi on Dail C y onversi on Rates GL Interface

Requisition s RFQ Quotations Purchas O e rders

Invoices Payments

Customers Invoices Receipt s

Sales Orde rs

Emp

Journal Flat File


.bad or .dis SQL* Loader

XXXX Staging Table


Error Message Error Tables PL/SQL Block

GL_Interface
GL Execution Report Journal Import

GL_JE_HEADERS, GL_JE_LINES, GL JE BATCHES

CLASS 42 GL_INTERFACE_TABL E STATUS: This column will accept any string but we will always insert standards string new it called indicates that we are brining new data in to General Ledge Applications. SET_OF_BOOKS_ID: We have to enter the appropriate set of books ID, it should be valid of books id is available in GL_SETS_BOOKS table it is valid, otherwise i8t is set invalid. USER_JE_SOURCES_NAME: We have to enter the journal sources name for the we can find transaction all the valid source names in the tabled called GL_JE_SOURCES. USER_JE_CATEGORY_NAME: WE have to find out weather journal category is the GL_JE_CATEGORIES table. It is is available then we will insert, otherwise we will available in reject. CURRENCY_CODE: We have to enter the valid currency code in FND_CURREINCES we can table find out weather it is valid or not.

55

ACCOUNTING_DATE and CREATION_DATE: Both columns will accept valid date but date that should be less than or equal to System date. CREATED_BY: WE have to enter valid user_id from FND_USER table we can identify it is valid weather user_id or not. PERIOD_NAME: We have to enter valid period name and period should be in the open from GL_PERIODS table we can find out weather it is valid period or not, status GL_PERIOD_STATUS table we can find out period is in the open status or from not. ENTERED_DR and ENTERED_CR: Both columns will accept positive number Debit and amount, credit both debit and credit should be equal otherwise account will be imported as account. suspense GROUP_ID: WE will enter unique group number while importing from interface table to table base it will be used as parameter. CTUAL_FLAG: This column will accept single character either A or B or E aamounts, B- Budget Amounts, E- Encumbrance Actual Amounts
AP AR GL_JE_HEADERS GL_JE_LINES GL_JE_BATCHES INV GL INTERFACE FA CM F FIELS

Reference Reference 1 Reference 2 Reference 3 Reference 4 Reference 11 to 5 20 Chart_of_accounts_id Transationc_dat Jee Je_header_i Batch_id d

Batch Name Batch Dont Enter any Description Journal value Entry Journal Name Entry Dont enter any Description values. Dont enter any Dont enter any values. values. Dont enter any Dont enter any values. values.

Reference PDF : 115glup.pdf - Page no. 153

56

Pre requisites for GL Interface: 1) Set of books should be defined (Currency, Calendar, Chart of 2) Accounts) Conversion Rates needs to be 2) Currency 3) defined. Accounting Period should be defined and also 4) opened name and as well as category name should be Source defined. Process Steps: 1) We have received flat file from 2) client We have created Staging table as per flat file 3) structure Control file and uploaded Developed 4) data Developed PL/SQL Program to upload the data from stage into interface table declare i. ii. Cursor open cursor iii Validate each . record iv. If no invalid record then insert into interface 5) Run the journal import from GL => Journal => Import => table. Run i. Give the two parameters 1)Source 2)Group 6) Open the Output if status is 'SUCEESS' then take Request ID 7) ID. Journal Enter screen Query the records based on the %requestid% open batch Name - Select Review journal button we can see the journal As detailed transactio 8) n we want correct the journals we can correct from If 9) Journal=>Import=>Correct If we want delete the journals we can delete from Journal=>Import=>Delete Temporary Table Creation Create Table GL_INT_TEMP S ( TATU Varchar2(10) SET_OF_BOOKS_ID S , ACCOUNTING_DAT Number(8), Date CURRENC E, , Number(8) DATE_CREATE Y Date , CREATED_B D , Number(8) ACTUAL_FLA Y Varchar2(1) , CATEGOR G Varchar2(10) , SOURC Y Varchar2(10) , E , CURR_CONVERSION SEGMENT Number(8), Varchar2(100), SEGMENT 1 Varchar2(100), SEGMENT 2 Varchar2(100), SEGMENT Varchar2(100), 3 SEGMENT 4 Varchar2(100), 5 ENTERED_D Number(8) ENTERED_C R , Number(8) ACCOUNTED_D R Number(8) , ACCOUNTED_C R Number(8) , GROUP_I Number(8) ) R , D ;

57

Control File Creation To transfer the data from flat file to staging table. LOAD INFILE DATA I *NSERT INTO TABLE GL_INT_TEMP FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED TRAILING BY '"' (STATUS NULLCOLS ,SET_OF_BOOKS_ID A , CCOUNTING_DAT CURRENC E, Y, DATE_CREATE CREATED_B D, ACTUAL_FLAG Y, C , ATEGORY S , OURCE C , URR_CONVERSIO SEGMENT1 N, S , EGMENT2 S , EGMENT3 S , EGMENT4 S , EGMENT5 E , NTERED_D ENTERED_C R, ACCOUNTED_D R, ACCOUNTED_CR R, G , ROUP_ID ) BEGINDAT A "NEW",1,"11-AUG-2002","USD","112002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",555,555,5 AUG55,555,66 "NEW",1,"11-AUG-2002","USD","112002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",554,554,5 AUG54,554,66 "NEW",1,"11-AUG-2002","USD","112002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",321,321,3 AUG21,321,66 "NEW",1,"11-AUG-2002","USD","112002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",431,431,4 AUG31,431,66 "NEW",1,"11-AUG-2002","SGD","112002",1318,"K","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",1500,1500 AUG,1500,1500,66 "NEW",1,"11-AUG-2002","EUR","112002",1318,"A","Inventory","JETFORMS","Corporate","01","000","1410","0000","000",1600,1600 AUG,1600,1600,66

58

Creation of PL/SQL procedure to transfer the data from staging table to interface after table validation. CREATE OR REPLACE PROCEDURE Errbuf OUT GL_IN_PRO( VARCHAR2, Retcode OUT VARCHAR2) IS -- cursor CURSOR gl_cur declaration IS SELEC T status , set_of_books_id , accounting_date c , urrency d , ate_created c , reated_by a , ctual_flag c , ategory s , ource , curr_conversion , segment1 s , egment2 s , egment3 s , egment4 s , egment5 e , ntered_dr e , ntered_cr a , ccounted_dr , ccounted_cr a g , roup_id FROM l_currencycode GL_INT_TEMP;VARCHAR2(25) l_set_of_books_id NUMBER(3) ; l_flag VARCHAR2(2) ; ; l_error_msg VARCHAR2(100) l_err_flag VARCHAR2(10) ; l_category VARCHAR2(100) ; L_USERI ; NUMBER(10) BEGI D ; N DELETE FROM COMMIT gl_interface; FOR rec_cur IN gl_cur ; l_flag:='A'; LOOP l_err_flag:='A'; --This PL/SQL Block will do the currency validation currency --end of the --Category Column validation BEGI Validation SELECT N INTO USER_JE_CATEGORY_NAME l_CATEGORY FROM WHERE USER_JE_CATEGORY_NAME = GL_JE_CATEGORIES REC_CUR.Category;

59

EXCEPTIO N WHEN OTHERS THEN l_category:=NULL l ;_flag:='E' l ;_error_msg:='Category does not exist '; END Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'|| ; L_FLAG); --End Category Column --User ID Validationcolumn BEGI validation S NELECT INTO USER_ID FROM L_USERID WHERE USER_ID = FND_USER EXCEPTIO REC_CUR.created_by; W N HEN OTHERS THEN L_userid:=NULL l ;_flag:='E' l ;_error_msg:='User ID does not exist END '; F ; nd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'|| L_FLAG); --End of Created_by OR UserID column --Set of books Validation BEGI Validation N SELECT INTO l_set_of_books_id set_of_books_id FROM GL_SETS_OF_BOOKS WHERE EXCEPTIO set_of_books_id=rec_cur.set_of_books_id; W N HEN OTHERS THEN l_set_of_books_id:=NULL l ;_flag:='E' l ;_error_msg:='set of Books ID does not exist END '; F ; nd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'|| -- End Set of books L_FLAG); Validation --Status Column /* validation BEGIN IF rec_cur.status = 'NEW' l_flag:= THEN 'A'; ELS l_flag:= E Fnd_File.put_line (Fnd_File.LOG,'Status column has got invalid 'E'; data'); END END;* IF; B / EGI N SELECT INTO currency_code FROM l_currencycode fnd_currencies WHERE AND currency_code=rec_cur.currency currency_code='USD';

60

EXCEPTIO N WHEN OTHERS THEN l_currencycode:=NULL l ;_flag:='E' l ;_error_msg:='currency code does not exists'; END Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'|| ; Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface TABLE'|| L_FLAG); --End of Actual Flag Column L_FLAG); IF l_flag!='E' validation Fnd_File.put_line (Fnd_File.LOG,'Inserting data into the Interface THEN INSERT TABLE');INTO gl_interface(status, set_of_books_id, accounting_date c , urrency_code, date_created c , reated_by a , ctual_flag u , ser_je_category_name, user_je_source_name, user_currency_conversion_type, segment1, segment2, segment3, segment4, segment5, entered_dr , ntered_cr e a , ccounted_dr a , ccounted_cr, group_id) VALUE (rec_cur.status S ,rec_cur.set_of_books_id , rec_cur.accounting_date r , ec_cur.currency r , ec_cur.date_created r , ec_cur.created_by r , ec_cur.actual_fla , rec_cur.category g r , ec_cur.source r , , ec_cur.curr_conversion rec_cur.segment1 , rec_cur.segment2 r , ec_cur.segment3 , rec_cur.segment4 r , ec_cur.segment5 , rec_cur.entered_dr r , ec_cur.entered_cr , ec_cur.accounted_dr r r , ec_cur.accounted_cr ,

61

rec_cur.group_id); END l_flag:=NULL IF; l ;_error_msg:=NULL ;END LOOP; COMMIT E ; ND GL_IN_PRO; Purchase Order Inbound Interface

PO Flat File
.bad or .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_INTERFAC E _ERROR Standard Program

PO_HEADERS_ALL PO_LINES_ALL PO_LINE_LOCATIONS_ALL PO_DISTRIBUTIONS

PO_HEADERS_INTEFAC E Column Validation Table Name Name VENDOR_I PO_VENDORS D VENDOR_SITE_ID PO_VENDOR_SITES_ALL VENDOR_CONTACT_ID PO_VENDOR_CONTANTCT AGENT_NAME PER_ALL_PEOPLE_F ORG_ID HR_OPERATING_UNITS DOCUMENT_LOOKUP_CODE Standard, Planed, Contract, Blanket CREATION_DAT < = SYSDATE E CURRENCY_CODE FND_CURREINCES SHIP_TO HR_LOCATIONS

62

BILL_TO HR_LOCATIONS PO_LINES_INTERFAC E Column Validation Table Name Name LINE_NUM PRIMARY KEY LINE_TYP PO_LINE_TYPES E ITEM MTL_SYSTEM_ITEM_B ITEM_ID ITEM_DESCRIPTIO N ITEM_CATEGORY MTL_CATEGORIES ITEM_UOM MTL_UNITS_OF_MEASURE QUANTIT Any Positive number Y UNIT_PRIC Any Positive number E NEED_BY_DATE PROMISED_DAT > = PO CRATION DATE E SHIP_TO_ORG_ID ORG_ORGANIZATION_DEFINITIONS SHIP_TO_LOCAITONS HR_LOCATIONS ORG_ID HR_OPERATING_UNITS Pre Requisites 1) Supplier sites contact details should be 2) defined Organization structure should be 3) defined bill to locations needs to be Ship to 4) defined Set of books needs to be 5) defined Items, item categories, UOM needs to be 6) defined creation, buyer setup should be Employee defined. Process Steps 1) 2) 3) 4) Create the Staging Develop tables the Control files and register as concurrent Develop program the PL/SQL Program and write the validations and insert into interface Run tablethe standard program called Import Standard Purchase orders from Responsibilit PO y Parameter Default : : Create Buyer or update : No Null items PO : Status APPROVED Batch : 13 ID (We can get from headers interface 5) Take the Request ID execute table) following query we can get the PO numbers select segment1 from Ponumber where request po_headers_all _id = 145233; 6) Go to the PO Application and Query the PO from as per the PO number.

63

Control File: PO_HEADERS_INTERFACE load infile data T * RUNCATE into table XX_HEADERS by "," optionally enclosed by fields terminated TRAILING '"' ( INTERFACE_HEADER_I NULLCOLS D, , BATCH_ID , ACTION ORG_ID , , DOCUMENT_TYPE_COD , CURRENCY_COD E , AGENT_NAME E , VENDOR_NAM , VENDOR_SITE_COD E E , SHIP_TO_LOCATION , BILL_TO_LOCATION , APPROVAL_STATUS ,FOB FREIGHT_CARRIE , R ) FREIGHT_TERM S BEGINDAT 1 A,13,"ORIGINAL",204,"STANDARD","USD","Stock, Ms. Pat","IBM","IBMDetroit","V1BAN","H1- New York City","APPROVED","UPS","Origin","Due" 2,13,"ORIGINAL",204,"STANDARD","USD","Stock, Ms. Pat","SONY","SONYDetroit","V1CHN","H1- New York City","APPROVED","UPS","Origin","Due" Control File: PO_LINES_INTERFACE load infile data i *nsert into table fields terminated by "," optionally enclosed by XX_LINES TRAILING '"' NULLCOLS ( interface_header_i d, , interface_line_id , LINE_NUM , SHIPMENT_NU , LINE_TYPE M ITEM , , ITEM_DESCRIPTIO , item_id N , UOM_CODE , QUANTITY , UNIT_PRICE , SHIP_TO_ORGANIZATION_COD SHIP_TO_LOCATION E , list_price_per_unit)

64

BEGINDAT 1 A,1,2,2,"Goods","AS54999","Sentinel Standard Desktop R - ugged",2155,"Ea",10,120,"M1","Adelaide",4 5 1,2,3,3,"Goods","75100005","Colour Cartidge",6076,"Ea",11,111,"M1","Adelaide",55 1,3,4,4,"Goods","AS54999","Sentinel Standard Desktop R - ugged",2155,"Ea",1,1400,"M1","Adelaide",65 2,4,5,1,"Goods","AS54999","Sentinel Standard Desktop R - ugged",2155,"Ea",222,234,"M1","Adelaide",10 5 Procedure for Insertions of data from Interface tables to Base tables after validating. CREATE OR REPLACE PROCEDURE PO_Int1(Errbuf OUT VARCHAR2, Retcode OUT VARCHAR2) CURSOR c1 IS SELECT * FROM AS CURSOR c2 IS SELECT PO_HEADER_TABLE; * FROM l_vendor_id PO_LINE_TABLE; l_item number(10); l_flag varchar2(4) default varchar2(150); 'A'; l_msg l_site_code varchar2(200);varchar2(100); l_curr_code varchar2(10); l_org_id BEGI number(6); D NELETE FROM PO_HEADERS_INTERFACE; DELETE FROM COMMIT PO_LINES_INTERFACE; F ; OR x1 IN c1 LOOP BEGI NSELECT INTO vendor_id FROM l_vendor_id WHERE vendor_name = po_vendors -- x1.VENDOR_NAME; AND ORG_ID = Fnd_Profile.Value('ORG_ID'); EXCEPTIO NWHEN OTHERS THEN l_flag := l_vendor_id := 0; 'E'; l_msg := 'Vendor id is Not in END SYSTEM'; ; -Vendor Site code Validation /* begin select into vendor_site_code from po_vendor_sites_all l_site_code where vendor_site_code = EXCEPTIO x1.vendor_site_code; N WHEN OTHERS THEN l_flag := 'E';

65

l_site_code := 0; l_msg := 'Vendor Site Code is Not in END;* SYSTEM'; --End of Site Code / --Currency Validation Code Validation Begin select currency_code into l_curr_code from where currency_code = fnd_currencies EXCEPTIO x1.CURRENCY_CODE; N WHEN OTHERS THEN l_flag := l_curr_code 'E'; 0; := l_msg := 'Currency Code is END Invalid'; --End of te Currency ; --Operating Validation Unit ID Begin Validation select into l_org_id organization_id from where organization_id = hr_operating_units EXCEPTIO x1.org_id; N WHEN OTHERS l_flag := THEN l_org_id := 0; 'E'; l_msg := 'Invalid Organization END ID'; --End of the ORG ID ; Validation!= 'E' IF l_flag THEN INSERT INTO ( po_headers_interface INTERFACE_HEADER_I ,D , BATCH_ID ACTION , ,ORG_ID , DOCUMENT_TYPE_COD E , CURRENCY_COD , AGENT_NAME E , VENDOR_NAM , VENDOR_SITE_COD E SHIP_TO_LOCATION E , , BILL_TO_LOCATION , creation_date , APPROVAL_STATUS , APPROVED_DAT )E FREIGHT_TERM S VALUE ( S

66

x1.INTERFACE_HEADER_I ,D ,x1.action x1.batch_id ,x1.org_id ,x1.document_type_code , , x1.CURRENCY_COD , x1.AGENT_NAME E , x1.VENDOR_NAM , x1.VENDOR_SITE_COD E , x1.SHIP_TO_LOCATION E ,SYSDATEx1.BILL_TO_LOCATION , 10 , x1.APPROVAL_STATUS ,SYSDATE ); x1.FREIGHT_TERM end S END if; FOR x2 LOOP; IN c2 l_flag LOOP:= 'A'; --Item Validation begi nselect segment1 into from l_item mtl_system_items_b where segment1 = AND x2.itemORGANIZATION_ID = fnd_profile.value('ORG_ID'); exception when others then l_flag := l_vendor_id := 0; 'E'; l_msg := 'Item is not valid END Item'; --End of the Item ; Validation 'E' if l_flag != INSERT INTO then ( PO_LINES_INTERFACE INTERFACE_LINE_I , D , INTERFACE_HEADER_I , LINE_NUM D , SHIPMENT_NU , LINE_TYPE M ITEM , , ITEM_DESCRIPTIO , item_id N , UOM_CODE , QUANTITY , UNIT_PRICE SHIP_TO_ORGANIZATION_COD , , SHIP_TO_LOCATION E NEED_BY_DAT E

67

, , PROMISED_DAT )E list_price_per_unit VALUE ( S x2.INTERFACE_LINE_I ,D , x2.INTERFACE_HEADER_I , x2.LINE_NU D , x2.SHIPMENT_NU M , x2.LINE_TYP M E , x2.ITEM , x2.ITEM_DESCRIPTIO , x2.item_id N , x2.UOM_CODE x2.QUANTITY, X2.UNIT_PRIC X2.SHIP_TO_ORGANIZATION_COD E, X2.SHIP_TO_LOCATION E, X , 2.NEED_BY_DAT X2.PROMISED_DAT E, X2.LIST_PRICE_PER_UNIT E, ); END END IF; COMMIT LOOP; E ; ND PO_INT1; Conversion Conversion is one of the program which will be used to upload the data from legacy system in oracle applications, base tables, one time data transfer to like Customer Conversion Supplier Conversion Employee Conversion Items Conversion and so on Differences between Inbound Interface and Conversion Inbound Conversion Interface It is schedule concurrent process which will One time data be executed multiple times transfer WE will not be knowing the flat file We will be knowing the exact flat volume volume file We need to handle the all the expected We do not need to know all the exceptions Error Reports and sending email alerts, It is not required we have to upload all any if error occursrecords and close. the Enhancement or customization Implementation, Migrations or upprojects projects we will find. gradation

68

Request Set It is nothing but collection of concurrent programs and report, which will be used submit more than one program at a time from SRS to windows Executable
Concurrent Programe Request Set Request Group Responsibility User SRS

Navigation Concurrent Set and enter - Select Request Set Wizard button, sequentially or parallel option, enter request set name and enter concurrent select select finish programs button. Go to the request group, select type as set attach request set. Go to SRS window select Request set option instead of single request.

69

Accounts Payables Procure to Pay Cycle


GL AP PO Requisition Invoices RFQ Payments Quotation PO Receipts

Transfer to GL

Without supplier we cannt create invoices Invoices we cant make Without payments. Types of Invoices Standar For all the normal payments we will crate Prepaymen this. d - Advance Payment to the supplier based on the Credit Memo -requirement. the discount - for negative If supplier give t amount Debit - If company is going to deduct the amount - for negative With holding tax if supplier is not recognized, the on be half of the supplier Memo amount will pay the company 6) tax. PO - We will give the PO number according to that it will generate Invoices. Default the 7) Recurring Invoices WE will generate the Invoices multiple times for fixed supplier, fixed amount, fixed 8) duration. Report Employee Expense 9) expenses Quick Match 2 Way, 3 Way, 4 10) Way Invoice Miscellaneous Mixed expenses After creating the invoice we have to do the 3 steps 1) Validate Invoice with Distribution lines Invoice Amount = Distribution 2) Approve Amount 3) Create Accounting Transactions. Invoice 1) 2) 3) 4) 5)

70

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

71

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

72

AP_TERM_LINE S AP_APYMENT_SHEDULES It contains the scheduled payment details Expense Report AP_EXPENSE_REPORTS_HEADERS_A LL AP_EXPENSE_REPORTS_LINES_A LL Recurring Invoices AP_RECURRING_PAYMENTS_A LL ORACLE INVENTORY Items Item Item Attributes Assign Purchasabl Attributes Assign to categories Organizations Inventory e Define lot / serial WIP Define Customer no Item Unit of revisions Stackable Measure Item Sub Inventory Transactions Transfer Miscellaneous Move Orders Transfer Inter Organization Transfer Item Locations Inventory Sub Stock locations Inventory Item Items on Hand Quantities Qty Resserved Items Item Qty Available Qty Items Items Defining Master Items ORGORGANIZATIONS_DEFNINITIONS MTL_SYSTEM_ITEMS_ B To Assign the Multiple Organizations (N) Tools -> Organization To Revisions Tools - > Revision MTL_ITEM_REVISOINS - Inventory_item_id and Org_id To know quantity MTL_ONHAND_QUANTITIES Do PO Cycle Inventory Receiving Receiving Transactions Open the Items form, enter Item name and description select the tabs and check check box called Inventory items, and Purchased Item - Go to tools menu select the option

73

called organization assignment to assign the item to the organization. Select option to Revision create Item revisions. on hand quantity form enter Item name select find button, it will give Open the quantity and details item report. create item quantity will be zero we have to purchase from suppliers or Once we have we to receive from other organizations. Select PO Applications create requisitions purchase order and receipt copy the number receipt to Inventory applications, open the receiving transaction form (N) Receiving Transactions Receiving Transactions ----- Enter the receipt number select find check button the check box save the o MTL_SECONDARY_INVENTORI transactions. o ES MTL_ITEM_LOCATION o S MTL_ITEM_CATEGORIE o S MTL_CATEGORIE o S MTL_MATERIAL_TRANSACTION o S MTL_MATERIAL_ACCOUNT o S MTL_TRANSACTION_ACCOUNT S (N) Setup Organization- Sub inventories and press o enter WE can transfer the Item form one sub Inventory to another sub inventory using sub inventory by o transfer MTL_TRANSACTION_TYPE o S MTL_MATERIAL_TRANSCATION o S MTL_TRANSACTION_ACCOUNT Other S o Tables MTL_PARAMETERS Contains both Master and child o organization FINANCIAL_SYSTEM_PARAMETERS Financial setup o details CST_ITEM_COST Item cost o Details CST_ITEM_COST_TYPE o S ITEM_LOT_SERIAL_NUMBER o S MTL_LOT_NUMBER o S MTL_SERIAL_NUMBE o R MTL_UNITS_OF_MEASUR E Order Management Enter Sales Order Book Order Pick release Ship confirm Auto Invoice

We get orders from Customer Customer Confirmation Release the Materials from Inventory Delivery Details, Shipping Details. Generate the Invoice

After Pick Release if the goods are not available again PO cycle we have to follow

74

Drop Shipping : Sales and Purchase the materials without having the Inventory Clien t Supplie r Customer

Sales Order Creations: (N) Orders & Returns Sales Orders and data 2 levels headers and lines header customer Information customer ship to bill to and sales person other tax details, level line items tab enter the Item, quantity, price and other details select the button select book calledorder to book the sale orders select availability button it will gives the Item on hand availablereserved quantity details select ATP details button it will give the promise to availabledate details. Select actions button to cancel the sales order to calculate the tax and to keep the orders sales on hold and release the hold and so on. o OE_ORDER_HEADERS_A o LL OE_ORDERS_LINES_AL L Release the Sales Orders (N) Shipping Release Sales Orders Release shipments and enter the, and the sales enter order number select the button called concurrent, it will submit the program to concurrent release the sales order it picks Items from Inventory tables and user in deliver to tables. Pick confirmation and Ship Confirmation Once the Items are released, we will confirm the materials packing, then we will give shipping date (N) shipping Transaction and the o enter RA_CUSTOMER_TRS_AL o L RA_CUSTOMER_TRS_LINES_AL o L WSH_DELIVER_DETAIL o S OE_ORDER_LINES_AL o L OE_ORDER_HEADER_A o LL WSH_NEW_DELIVER S. OTHER s Concurrent programs Incompatibilities It is nothing but not compatible for other programs we will select this button we will out list the programs which are not compatible.check box: By using this check box we can make the program is Run Alone for all other concurrent incompatible programs. Copy to Button: By using this button we can create new concurrent program the parameters and incompatible programs. including

Vous aimerez peut-être aussi