Tuesday, August 27, 2013

Imp Oracle Stuff

1. What is the Diff between APPS Schema and other Schemas?
Apps schema contains only Synonyms we can't create tables in apps schema, where as other schemas contains tables, & all the objects. Here only we will create the tables and giving grants on created tables. Almost all every time we will connect to apps schema only.
            
2. What is meant by Custom Top and what is the Purpose?
Custom Top is nothing but Customer Top, which is created for customer only. we can have multiple custom
tops based on client requirement. It is used to store developed & customized components. whenever oracle
corp appling patches it will over ride on all the modules except custom top. that's why we will use custom top.
             
3. What is the Significancy of US Folder?
It is nothing but language specification by default it is in American language. We can have multiple languages folders  based on installed languages. from backend we can get it from
FND_LANGUAGES -- COL --INSTALLED_FLAG I,B,D

              I--INSTALLED,
              B--BASE,
              D--DISABLE
              select language_code,nls_language from fnd_languages where installed_flag like 'B'
4. Where did U find the Application short name and base path names?
select basepath,application_short_name from fnd_application from the backend. From the from end we can get it Navigation Application Developer.-----> Application---->Register The application name we will get from FND_APPLICATION_TL
             
5. Where can U find the release version from backend?SELECT release_name from FND_PRODUCT_GROUPS; ---11.5.10.2             .

6. What are the Folders we will find below the 11.5.0 Folder?
Reports,forms,sql,lib,log,out,bin,admin,html,xml,msg,def, etc          
   
7. Can we create Tables in the Apps Schema?
No.             

8. Can we have custom schema when it required?
yes, we can have custom schema, when we want to create a new table we required custom schema.            
  
9. What is meant by concurrent Program?
It is nothing but Instance of the execution along with parameters & Incompatibles. Here Incompatibles nothing but if we  are submitting cc programs if anyone can be execute in those program , which programs r not imp yet this time we will  mention those programs in incompatibles tab.
              
10.What are the steps we will follow to register Reports as Concurrent Program?
 First develop the report & save it in local machine. upload into custom_top/11.5.0/reports/us/ go to system  administrator  open executable form create executable by mentioning executable method as reports ,executable  as report name which  was created. go to cc program form create ccprogram by attach executable name in executable section. then attach this  ccprogram to request group, Request group to Responsibility.Responsibility to User.                   

11. What is meant by Request group?
It is nothing but collection of cc programs.         

12. What is Application Top? What are the types and Purpose?
 A) When we connect to the server we will find the top called application top. Under application top we have
 Product top.
 Custom top
 Product top is the default top built by the manufacturer. Custom top is used to select the Client for his business purposes. Customizations are done with the Custom top.

13. What is US folder in the Custom Top?
             It is a language specific folder used to store the G.U.I like reports and forms.

14. What are mandatory parameters of Procedures and what the use of those? 
 Errorbuf: It is used to returns the error messages and sent it to the log file.
 Retcode: It is used to show the status of the Procedure with 0, 1, and 2
 0 for Completed Normal
 1 for Completed Warning
2 for Completed Error

15 What is Apps Schema and Schema?
 Schema: Schema is the location in database contains database objects like views, tables, and synonyms.
 Apps Schema: It is used to connect the all schemas to get the information from The database.

16. What is Token?
            a) Use to transfer values to report builder and it is not case sensitive.

17. Difference between FORM, Function and Menu?
a) A menu is a hierarchical arrangement of functions and menus. Each responsibility has a menu assigned to it. A function is a part of an application that is registered under a unique name for the purpose of assigning it to be including it from a menu.

18.Tell me something about SQL-LOADER.
Sql * loader is a bulk loader utility used for moving data from external files into the oracle database.
Sql* loader supports various load formats, selective loading, and multi-tables loads.

1) Conventional --The conventional path loader essentially loads the data by using standard ‘insert’ statement.
2) Direct -- The direct path loader (direct = true) by possess of logic involved with that, and loads directly in to the oracle data files.
EX:- My data.csv file
1001, “scott tiger”,1000,40
1002,”gvreddy”,2345,50
Load data
Infile ‘c:\data\mydata.csv’
insert Into table emp Fields terminated by “,” optionally enclosed by‘”’
(empno, empname,sal,deptno)
>sqlldr scott/tiger@vis control=loader.ctl log= gvlog.log bad=gvbad.bad discard=gvdis.dsc .

19. What is SET-OF-BOOKS?
Collection of Chart of Accounts and Currency and Calendars is called SOB

20. Tell me what r the Base tables in the AR?
hz_parties (party_id) (store info about org, groups and people)
HZ_PARTIES stores information about parties such as organizations,
people, and groups, including the identifying address information for the party.
hz_cust_accounts (cust_account_id)
HZ_CUST_ACCOUNTS stores information about customer relationships. If a
party becomes a customer, information about the customer account is stored in this table. You can establish multiplecustomer relationships with a single party, so each party can have multiple customer account records in this table.
hz_cust_acct_sites_all (cust_acct_site_id)
HZ_CUST_ACCT_SITES_ALL stores information about customer sites. One
customer account can have multiple sites. The address is maintained in HZ_LOCATIONS.
hz_cust_site_uses_all (site_use_id)
HZ_CUST_SITE_USES_ALL stores information about site uses or business
purposes. A single customer site can have multiple site uses, such as bill to or ship to, and each site use is stored as a record in this table.
hz_party_sites (party_site_id)
HZ_PARTY_SITES stores information about the relationship between Parties
and Locations. The same party can have multiple party sites. Physical addresses are stored in HZ_LOCATIONS.
hz_locations (location_id)
HZ_LOCATIONS stores information about physical locations.
hz_Person_Profiles (person_profile_id)
HZ_PERSON_PROFILES stores detail information about people.
hz_Organization_Profiles (organization_profile_id)
HZ_ORGANIZATION_PROFILES stores credit rating, financial statistics,
socioeconomic and corporate linkage information for business sites. The primary key for this table is ORGANIZATION_PROFILE_ID.

21. FND USER EXITS:-
FND SRWINIT sets your profile option values, multiple organizations and allows
Oracle Application Object Library user exits to detect that they have been called by an Oracle Reports program.
FND SRWEXIT ensures that all the memory allocated for AOL user exits have been freed up properly.
FND FLEXIDVAL are used to display flex field information like prompt, value etc
FND FLEXSQL these user exits allow you to use flex fields in your reports
FND FORMAT_CURRENCY is used to print currency in various formats by using formula column

22. What is Value Set?
The value set is a collection (or) container of values.
Whenever the value set associated with any report parameters. It provides list of values to the end user to accept one of the values as report parameter value.

If the list of values needed to be dynamic and ever changing and define a table
based values set.

 What are the validation types?

1) None -------- validation is minimal.
2) Independent ------input must exist on previously defined list of values
3) Dependent ------input is checked against a subset of values based on a
Prior value.
3) Table ----- input is checked against values in an application table
4) Special ------values set uses a flex field itself.
5) Pair ------ two flex fields together specify a range of valid values.
6) Translatable independent ----- input must exist on previously defined list
of values; translated values can be used.
7) Translatable dependent ------- input is checked against a subset of values
based on a prior values; translated value can be used.

23. Form development process?
a) Open template form
b) Save as <your form>.fmb
c) Change the form module name as form name.
d) Delete the default blocks, window, and canvas
e) Create a window.
f) Assign the window property class to window
g) Create a canvas (subclass info)
h) Assign canvas property class to the canvas
I) assign the window to the canvas and canvas to the window
j) Create a data block
k) Modify the form level properties. (sub class item Text item)
l) Modify the app_custom package. In the program unit.
m) Modify the pre-form trigger (form level)
n) Modify the module level properties ((console window, First navigation
p) Save and compile the form.
Place the .fmx in the server directory.

24. How does u customize the Reports?
a. Identify the Short name of the standard report in which module we have
to customize
Ex: - if u wants to customize in the AR module path is
Appl top\ar\11.5.0\reports\US\ .rdf
b. Open the .rdf file in Report builder and change the name of the module.
c. Open the data module and modify the query (what is client requirements)
assign the columns to the attributes.
d. Go to report wizard and select, what r the newly created columns.
e. Then Compile it. Then u will get a .rep file in the specified module. If it is
not in the specified directory then we have to put in the server directory.
f. Then Register in the AOL Concurrent Executable and
Concurrent Program.
g. Go to system administrator Security àResponsibility àrequest.
h. Add and assign a concurrent program to a request group

25. FLEX FIELDS?
Used to capture the additional business information.
DFF:-
Additional
Captured in attribute prefixed columns
Not reported on standard reports
To provide expansion space on your form With  the  help of [].
 [] Represents descriptive Flex field.
 FLEX FILED : DESCRIPTIVE : REGISTER
KFF:-
Unique Info, Mandatory
Segment prefixed
Is reported on standard reports
Used for entering and displaying key information
For example Oracle General uses a key Flex field called Accounting Flex field to uniquely identify a general account.
FLEX FILED : KEY : REGISTER

26. Difference between Bind and Lexical parameters?
BIND VARIABLE:are used to replace a single value in sql, pl/sql
bind variable may be used to replace expressions in select, where, group, order
by, having, connect by, start with cause of queries.
bind reference may not be referenced in FROM clause (or) in place of
reserved words or clauses.
LEXICAL REFERENCE:
You can use lexical reference to replace the clauses appearing AFTER select,
from, group by, having, connect by, start with.
You can’t make lexical reference in pl/sql statements.

27. what is Flex mode and Confine mode?
Confine mode:
On: child objects cannot be moved outside their enclosing parent objects.
Off: child objects can be moved outside their enclosing parent objects.

Flex mode:
On: parent borders "stretch" when child objects are moved against them.
Off: parent borders remain fixed when child objects are moved against
them.

28. What is Place holder Columns?
A placeholder is a column is an empty container at design time. The placeholder can hold a value at run time has been calculated and placed in to It by pl/sql code from anther object.
You can set the value of a placeholder column is in a Before Report trigger.
Store a Temporary value for future reference. EX. Store the current max salary as records are retrieved.

29. What is Formula Column?
A formula column performs a user-defined computation on another column(s) data, including placeholder columns.

30. What is Summary columns?
A summary column performs a computation on another column's data. Using the Report Wizard or Data Wizard, you can create the following summaries: sum, average, count, minimum, maximum, % total. You can also create a summary column manually in the Data Model view, and use the Property Palette to create the following additional
summaries: first, last, standard deviation, variance.

31. What is TCA (Trading Community Architecture)?
Ans. Oracle Trading Community Architecture (TCA) is a data model that allows you to manage complex information about the parties, or customers, who belong to your commercial community, including organizations, locations, and the network of hierarchical relationships among them. This information is maintained in the TCA Registry, which is the single source of trading community information for Oracle E-Business Suite applications.

32. Difference between Application Developer and System Administrator?
Ans.Role of Technical Consultant:

a. Designing New Forms, Programs and Reports
b. Forms and Reports customization
c. Developing Interfaces
d. Developing PL/SQL stored procedures
e. Workflow automations
Role of System Administrator:
a. Define Logon Users
b. Define New/Custom Responsibility
c. Define Data Groups
d. Define Concurrent Managers
e. Define Printers
f. Test Network Preferences
g. Define/Add new Modules
Role of an Apps DBA:
a. Installing of Application
b. up gradation
c. Migration
d. Patches
e. Routing maintenance of QA
f. Cloning of OA

33. What are Flex fields?
Ans.
Ans. A Flex field is a customizable field that opens in a window from a regular Oracle Applications window. Defining flex fields enables you to tailor Oracle Applications to your own business needs. By using flex fields, you can:
(a) Structure certain identifiers required by oracle applications according to your own business environment.
(b) Collect and display additional information for your business as needed.
Key Flex fields: You use key flex fields to define your own structure for many of the identifiers required by Oracle Applications. Profile – ‘Flexfields:Open Key Window’ (FND_ID_FLEXS)
Descriptive Flex field: You use descriptive flex fields to gather additional information about your business entities beyond the information required by Oracle Applications. Profile – Flex fields: Open Descr Window’ (FND_DESCRIPTIVE_FLEXS)

34. Report registration process?
Ans.
1. Create the report using the report builder.
2. Place the report definition file in the module specific reports directory.
3. Create an executable for the report definition file.
4. Create a concurrent program to that executable.
5. Associate the concurrent program to a request group.

35. Define Request Group?
Ans.
A request security group is the collection of requests, request sets, and concurrent programs that a user, operating under a given responsibility, can select from the Submit Requests window.

36. Value Sets?
Ans.
Oracle Application Object Library uses values, value sets and validation tables as important components of key flex fields, descriptive flex fields, Flex Builder, and Standard Request Submission.
When you first define your flex fields, you choose how many segments you want to use and what order you want them to appear. You also choose how you want to validate each of your segments. The decisions you make affect how you define your value sets and your values.
You define your value sets first, either before or while you define your flex field
segment structures. You typically define your individual values only after your flex field has been completely defined (and frozen and compiled). Depending on what type of value set you use, you may not need to predefine individual values at all before you can use your flex field.
You can share value sets among segments in different flex fields, segments in
different structures of the same flex field, and even segments within the same flex field structure. You can share value sets across key and descriptive flex fields. You can also use value sets for report parameters for your reports that use the Standard Report Submission feature.
Navigation Path:
Login – Application Developer -> Application -> Validation -> Set

37. Value Validation Types?
Ans.
1. Dependant
2. Independent
3. None
4. Pair
5. Special
6. Table
7. Translate Independent
8. Translate Dependent

38. Incompatibility in report registration and Run Alone?
Ans.
Identify programs that should not run simultaneously with your concurrent program because they might interfere with its execution. You can specify your program as being incompatible with itself.
Application: Although the default for this field is the application of your concurrent program, you can enter any valid application name.
Name: The program name and application you specify must uniquely identify a
concurrent program. Your list displays the user-friendly name of the program, the short name, and the description of the program.
Scope: Enter Set or Program Only to specify whether your concurrent program is zincompatible with this program and all its child requests (Set) or only with this program (Program Only).
Run Alone: Indicate whether your program should run alone relative to all other programs in the same logical database. If the execution of your program interferes with the execution of all other programs in the same logical database (in other words, if your program is incompatible with all programs in its logical database, including itself), it should run alone.

39.What are the various types of Exceptions ?
 User defined and Predefined Exceptions.

40. Can we define exceptions twice in same block ?
No.
           
41.What is the difference between a procedure and a function ?
Functions return a single variable by value where as procedures do not return any variable by  value. Rather they return  multiple variables by passing variables by reference through their OUT parameter.
         
42. Can you have two functions with the same name in a PL/SQL block ?
Yes.
               
43. Can you have two stored functions with the same name ?
               Yes.
              
44. Can you call a stored function in the constraint of a table ?
No.
            
45. What are the various types of parameter modes in a procedure ?
IN, OUT AND INOUT.
              
46. What is Over Loading and what are its restrictions ?
OverLoading means an object performing different functions depending upon the no. of parameters or the data type of  the parameters passed to it.
             
47.Can functions be overloaded ?
Yes.

48. Can 2 functions have same name & input parameters but differ only by return datatype
No.

49. Different types of NVL's

1)  NVL     
NVL (COMMISSION, 0)

2)  NVL2     
NVL2 ( string1, value_if_NOT_null, value_if_null)
returns second parameter if value_1 is not null
returns third parameter     if value_1 is null

Example
        SELECT NVL2 (COMMISSION, 'Commission','No Commission')
This is equivelent to
        DECODE (COMMISSION, NULL, 'No Commission', 'Commission');
NVL2 first appeared in the 9i documentation,
but it appears in most (all ?) 8.x versions of Oracle as an undocumented feature.
This function is not well understood, so it might be better for you to use CASE instead to avoid confusion

3)  LNNVL

LNNVL (condition)
returns TRUE if the condition is FALSE or NULL
return FALSE if the condition is TRUE
There is something fairly unique about LNNVL - it is one of the few functions that can be used by SQL that use a BOOLEAN value or condition.
Exists in 8i, 9i as an undocumented feature.
I would be careful using this feature as it appears to be unstable in 10gr1 and 10gr2.  Other people have reported that the following query crashes the SQL session - try it for yourself    ... SELECT * FROM DUAL WHERE NOT LNNVL(1=1)
LNNVL is similar to IS NOT TRUE and IS FALSE in the SQL/Foundation 2003 SQL standard.
LNNVL is similar to NOT, except NOT converts NULL to NULL
LNNVL treats FALSE as NULL
This function can only be used in the WHERE section, not in the SELECT <columns> section
LNNVL was first documented in 10gr2 at least.  It works in earlier versions as an undocumented and unsupported feature (I have tested and verified it works in Oracle 8.1.7)
Oracle Database sometimes uses the LNNVL function internally to rewrite NOT IN conditions as NOT EXISTS conditions

Example
   SELECT  *
 from    EMP
 where   LNNVL(SAL > 1000)
This is the same as ...
   SELECT *
 from   EMP
 where  NOT (SAL > 1000)
Truth Table
              NOT   LNNVL
      ===== =====
TRUE  FALSE FALSE
FALSE TRUE  TRUE
NULL  NULL  TRUE
This function  is not well understood, so it might be better to CASE or NOT to avoid confusion

4)  NULLIF
NULLIF (A, B)
return NULL if A = B, else return A
SELECT NULLIF ('A', 'A'),  -- returns NULL
       NULLIF ('A', ''),   -- returns A
       NULLIF ('', 'A'),   -- returns NULL
       NULLIF ('A', NULL), -- returns A
       NULLIF ('', '')     -- returns NULL
from DUAL

5)  COALESCE
COALESCE (my_variable, last_name, salary, <n>)
returns the first not null value in the list
SELECT COALESCE (null,null,30,null,40) -- this returns 30
FROM   DUAL
SELECT COALESCE (SALARY, BONUS, COMM)
FROM   EMP

6)  DECODE
One for the old school fans.  DECODE has gradually fallen out of use and CASE now tends to be used instead of DECODE.
SELECT decode (daily_rate
              ,null ,'No Value'
              ,1    ,'Low'
              ,2    ,'High'
              ,daily_rate
              )
SELECT ename,
       comm,
       DECODE (comm,
               NULL, 'No Commission',
               'Commission'
               ),
from   emp
CASE does not match NULL
DECODE does matches NULL - old school works better !

7)  CASE
SELECT ename,
       job,
       CASE job
          WHEN 'PRESIDENT' THEN 'Grand Pooh Bah'
          WHEN 'CLERK'     THEN 'Worker Bee
          ELSE 'Other Jobs'
       END
from   emp
SELECT last_name,
       CASE status
         WHEN 'A' THEN 'Active'
         WHEN 'I' THEN 'Inactive'
         ELSE 'Unknown'
       END
from   employees
There is a minor difference between CASE and DECODE
CASE       does not match NULL
DECODE matches NULL




Wednesday, August 21, 2013

Alerts

Oracle Alerts is something that can be used to Notify/Alert to one or multiple
persons about an activity or change that occurs in the system. The alerts can also
be used to call a procedure, run some sql script etc.

There are 2 types of alert
1) Periodic Alert
2) Event Alert

Periodic Alerts:
These alerts are trigger periodically, hourly, daily, weekly, monthly etc. based
upon how it is setup to be triggered. When alert runs and the condition (SQL
Query etc.) in the alerts fetches record, then the events specified in the alert are
triggered.
Ex. 1) Daily alert to send notification on the sales order on which credit check
hold is applied for a day
2) Hourly alert to send notification on all the concurrent request that completed
with error
3/If you want to know list of items created on that day at the end of day you can
use periodic alerts repeating periodically by single day. This alert is not based on
any changes to database. This alert will notify you every day regardless of data exists
or not that means even if no items are created you will get a blank notification.

Event Alerts:
These Alerts are fired/triggered based on some change in data in the database.
This is very similar to the triggers written on the table. Unlikely, event alerts can
only fire on After Insert or After Update.
Ex. 1) an alert that sends notification when new item is created.
Ex: If u want to notify your manager when you create an item in the inventory
you can use event based alerts. When you create an item in the inventory it will
create a new record in mtl_system_items_b, here inserting a record in the table
is an event so whenever a new record is inserted it will send the alert. In same
alert you can also send the information related to that particular item.

Uses of Alerts:
1.You can send notifications
2.You can send log files as attachments to notifications
3.You can call PL/SQL stores procedures
4.You can send approval emails and get the results
5.Print some content dynamically


How to create an Alert?
1. Study your Business requirement and decide what type of alert you need either
periodic alert or event based alert.
2. If you are going for periodic alert decide the frequency.
3. If you have chosen event based alert then find out on which event (insert,update,delete) you want to fire the alert.
4. Decide what data need to be included in the alert.
5. Based on the data you want in the alert write a SELECT SQL statement to pull
the data.
6. Create a distribution list grouping all the people to whom you want to send the
alert.

Just for example, assume a requirement to send Happy birthday mail to employees in an organization.

We have to choose Periodic alert for our requirement.

Employee Birthday can be any calendar day of the year. So we will tell oracle apps
to check daily once every calendar day and see if today is employee's birthday and send email if true.

You need Alert Manager Responsibility to define a new Alert.
Navigate through Alert Manager -> Alert -> Define
Fill the options as given in the screenshot below.

Note that we need to write SQL which satisfies our condition and also to fetch required details. Here is the SQL

select global_name, date_of_birth, email_address
into &emp_name, &dob, &emp_email
from per_all_people_f
where trunc(sysdate) between effective_start_date and effective_end_date
AND to_char(to_date(date_of_birth),'dd') = to_char(to_date(sysdate),'dd')
AND to_char(to_date(date_of_birth),'mm') = to_char(to_date(sysdate),'mm');
We have to dump these query into "Select Statement" at alert form then you can check the SQL for syntax using "verify" button.

One point here, if any row that matches condition, it is called exception in Alert.
So when you click "run" button, it will display the number of exceptions occurred (number of rows that satisfied the condition).


Next step is to define action if condition matches. Don't forget to select action level of type "Detail". This is because action should be performed once for every Alert Exception.
Then click on "Action Details" button and define the email message.

we also need "Action Sets" and attach the action which we just created.
We can test the alert as follows :

Go to Alert Manager -> Request -> Check, and schedule the Alert to run it sometime after current time.
It will submit a concurrent program.


Once concurrent program is successfully run, the number of exceptions can be verified from Alert Manager -> History and query for alert.
Which means our Alert is working.Note that you can do many more than just sending mails. Alert can execute SQL code/function/procedures and it can also run concurrent programs.



Tuesday, August 20, 2013

Procure to Pay Cycle

Below steps are involved in Procure to Pay Cycle


Pictorial Representation of Procure to Pay Cycle



1) Create Requisition:
Requisition is one of the purchasing documents will be prepared by the employee whenever he required the materials or Services or Training and so on.

We have two types of Requisitions 1) Internal   2) Purchase

Internal requisition will be created if materials are receiving from another Inventory inside of the organization.
Purchase requisition will be created while purchasing the materials from the Suppliers.

Tables Effected:-
PO_REQUISITION_HEADERS_ALL
PO_REQUISITION_LINES_ALL
PO_REQ_DISTRIBUTIONS_ALL


2) RFQ (REQUEST FOR QUOTATION):
Once the Requisition is Approved Buyer will prepare there RFQ document which will be delivered to the supplier. Supplier will respond for that with quotation.

We have three types of RFQ documents
BID RFQ: This will be prepared for the specific fixed quantity and there won't be any Price Breaks (Discounts).

Catalog RFQ: This will be creating for the materials which we will purchase from the suppliers regularly, and large number of quantity. Here we can specify the Price Breaks.

Standard RFQ:  This will be prepared for the Items which we will purchase only once not very often, Here we can include the Discounts information at different quantity levels.

RFQ Information will be entered at 3 Levels
  1) Headers
  2) Lines
  3) Price Breaks (CATALOG, STANDARD) or Shipments (Only for Bid RFQ)

Terms and Conditions:
While creation of the RFQ documents we will select the Terms button and we will enter the terms and condition details.

Payment Terms: When Organization is going to make the payment and Interest rates

Fright Terms: Who is going to bear the Transportation chargers whether Buyer or Supplier

FOB (Free On board): If any materials damage or any missing quantity is there then the responsibility of those materials.

Carrier: In which Transportation Company Organization Required Materials Transportation Company Name.

Tables Effected:-
PO_HEADERS_ALL.TYPE_LOOKUP_CODE IN ('RFQ')
PO_HEADERS_RFQQT_V
PO_LINES_RFQQT_V
PO_RFQ_VENDORS_V




3) QUOTATION:
Quotation is another purchasing document we will receive from the Supplier which contains the supplier quote details, Price, Payment terms and so on.
Whatever the quotations we have received from the supplier we will enter in the system through form.

We have three types of Quotations 1) Bid 2) Catalog 3) Standard
For Bid RFQ we will receive Bid quotation from the Supplier.
For Catalog RFQ we will receive Catalog quotation from the Supplier.
For Standard RFQ we will receive Standard quotation from the Supplier.

Tables Effected:-
PO_HEADERS_ALL.TYPE_LOOKUP_CODE IN ('QUOTATION')
PO_HEADERS_RFQQT_V
PO_LINES_RFQQT_V
PO_RFQ_VENDORS_V




4) PURCHASE ORDER:
PO is one of the Main document which will be prepared and approved by the buyer and
send it to the supplier. This contains the following information terms and Conditions, Items details, Quantity, Price, distributions and Shipment Details and so on.

We have four types of Purchase Order 1) STANDARD 2) PLANNED 3) BLANKET 4) CONTRACT 


Standard P.O
Planned P.O
Blanket P.O
Contract P.O

Terms and Conditions

Goods or Service Known

Pricing Known

Quantity known

Account Distributions Known

Delivery Schedule Known

Can be Encumbered

Can Encumber releases
Yes

Yes

Yes

Yes

Yes



Yes

Yes

N/A
Yes

Yes

Yes

Yes

Yes



May be

Yes

Yes
Yes

Yes

May be

No

No



No

No

Yes
Yes

No

No

No

No



No

No

N/A


Match Approval Level: - While creating the Purchase Order we will mention the Match Approval Level at Shipments we will have 3 types they are

2-way: - Purchase Order and Invoice Quantities must match within tolerance before the corresponding invoice can be paid.
3-way: - Purchase Order, Receipts and Invoice Quantities must match with in tolerance before the corresponding invoice can be paid.
4-way: - Purchase Order, Receipts, Inspection and Invoice Quantities must match with in tolerance before the corresponding invoice can be paid.

Tables Effected:-
PO_HEADERS_ALL
PO_LINES_ALL
PO_DISTRIBUTIONS_ALL (REQ_HEADER_REFERENCE_NUM in Distributions table is the Requisition number for this PO)
PO_LINE_LOCATIONS_ALL



5. RECEIPTS:

           Receipts are one of the documents it will be used to find out how much quantity Supplier has supplied. We will find out Purchase Order status if it is successfully approved then we will create the Receipt. We will give the PO Number and then select find button check the PO lines and mark those and then save. It will create the Receipt number for that select Header button it will shows the receipt number and date. 

Tables Effected:-
RCV_SHIPMENT_HEADERS
RCV_SHIPMENT_LINES (Lines Table has PO_HEADER_ID)
Once Receipt created then checks in Inventory module whether the requested items are received or not by using the below tables
MTL_ONHAND_QUANTITIES




 6) Create Invoice in Payables:
 Account payables will be used to do the payment transactions. A.P Module is integrated with both P.O and G.L Modules. In Account Payables we will create the invoices and we will approve once invoice is approved successfully we will make the payment. Once payment is over we will move the transactions from A.P to GL.

Invoice Holds: -    If invoice is not approved then that invoice will be keeping under hold status. By selecting holds button in invoice form we can see the holds details
ap_holds_all
ap_holds_release_name_v

Tables Effected:-
AP_INVOICES_ALL
AP_INVOICE_DISTRIBUTIONS_ALL
Accounting Entries Tables:
AP_ACCOUNTING_EVENTS_ALL
AP_AE_HEADERS_ALL
AP_AE_LINES_ALL




7) Making a Payment:
Once the Invoice is approved then we can go for payments. The Payments are or 3 types. They were

1.     Manual
2.     Quick
3.     Refund

Manual: -    Here we will issue the checks manually to the supplier and we will capture that information in the payment scheme by using manual payment option.

Quick: -     Through the Quick Payment type we can generate checks through the system and we can have the transactions directly in the system.

Refund: -   Whenever company is going to give advance back to the customer that time we will select payment type as Refund.

Tables Effected:-
AP_INVOICE_PAYMENTS_ALL
AP_PAYMENT_SCHEDULES_ALL
AP_CHECKS_ALL
AP_CHECK_FORMATS
AP_BANK_ACCOUNTS_ALL
AP_BANK_BRANCHES
AP_TERMS




8) Reconcile:
We will perform the reconciliation process of bank accounts in Cash Management Module

Tables Effected:-
CE_STATEMENT_HEADERS_ALL
CE_STATEMENT_LINES




9) Transfer to General Ledger:
 We will execute the concurrent program from SRS Window. This program will transfer all the payment transactions into the G.L Module. It will take following parameters.

Program Name: -   Payables Transfer to General Ledger
Parameters:-
           Set of Books Name
           Transfer Reporting Book(s)
           From Date
           To Date
           Journal Category

Tables Effected:-
GL_INTERFACE

Journal Import: To transfer the data from General Ledger Interface table to General Ledger, run the Journal Import program from Oracle General Ledger.

Tables Effected:-
GL_JE_BATCHES
GL_JE_HEADERS
GL_JE_LINES

Post Journals "Posting"

GL_BALANCES