0% found this document useful (0 votes)
38 views13 pages

Questions and Answers

The document discusses various order management and procure-to-pay tables in Oracle along with examples of joins between some of the tables. It also provides explanations around initializing values in procedures, handling exceptions in loops, collection initialization, different types of DML triggers, and released status values in a delivery details table.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views13 pages

Questions and Answers

The document discusses various order management and procure-to-pay tables in Oracle along with examples of joins between some of the tables. It also provides explanations around initializing values in procedures, handling exceptions in loops, collection initialization, different types of DML triggers, and released status values in a delivery details table.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

1.

    Tell order management tables you know.?

OE_ORDER_HEADERS_ALL  header_id

OE_ORDER_LINES_ALL  header_id

WSH_DELIVERY_DETAILS 

WSH_DELIVERY_ASSINGNMENTS

WSH_NEW_DELIVERIES

OE_ORDERS_HOLDS_ALL

2.     Tell p2p tables.?

PO_REQUISITION_HEADERS_ALL

PO_REQUISISTION_LINES_ALL

PO_REQ_DISTRIBUTIONS_ALL

PO_HADERS_ALL

PO_LINES_ALL

PO_LINE_LOCATIONS_ALL

PO_DISTRIBUTIONS_ALL

RCV_SHIPMENT_HEDERS

RCV_SHIPMENT_LINES

RCV_TRANSACTIONS

AP_INVOICES_ALL

AP_INVOICE_LINES_ALL

AP_INVOICE_DISTRIBUTIONS_ALL

AP_CHECKS_ALL

AP_PAYMENT_SCHEDULES_ALL
XLA_EVENTS

XLA_AE_HEADERS

XLA_AE_LINES

GL_JE_BATCHES

GL_JE_HEADERS

GL_JE_LINES

3.     Tell the flow of p2p.?

P2p start with 1.requisition

2.RFQ

3.QUOTATION

4.QUOTE ANALYSIS

5.PO

6.RECEIPT

7.INVOICE

8.PAYMENTS

9.JOURNAL ENTRY

10.POSTING TO JOURNAL

4.     How will you analyse based on which column tables should be joined.?

Based on primary key ,foreign key relationship and based on matching data between two table
columns.

 
5.     The tables are oe_order_headers_all, oe_order_lines_all, oe_drop_ship_sourec,
po_headers_all,po_lines_all. Write join conditions for these tables.?

OE_DROP_SHIP_SOURCE table has both OE_HEADER_ID,OE_LINE_ID columns


and PO_HEADER_ID, PO_LINE_ID columns.Based on those columns we can write a
join condition.

6.     The tables are oe_order_headers_all ,oe_order_lines_all write join conditions .

SELECT *

FROM OE_ORDER_HEADERS_ALLOOHA,OE_ORDER_LINES_ALL OOLA

WHERE OOHA.HEADER_ID = OOLA.HEADER_ID;

7.     In the above query I want the order that got cancelled in headers table only.

SELECT *

FROM OE_ORDER_HEADERS_ALL OOHA,OE_ORDER_LINES_ALL OOLA

WHERE OOHA.HEADER_ID = OOLA.HEADER_ID

AND  OOHA.CANCELLED_FLAG =’Y’

8.     In the above query I want the order that got approved in headers table and cancelled in lines
table.

SELECT *

FROM OE_ORDER_HEADERS_ALL OOHA,OE_ORDER_LINES_ALL OOLA


WHERE OOHA.HEADER_ID = OOLA.HEADER_ID

AND  OOHA.CANCELLED_FLAG =’N’

AND  OOLA.CANCELLED_FLAG =’Y’;

9.     Table name :car_masters

Owner car_colour
A RED

B BLUE

C WHITE

B RED

B BLUE

D RED

E RED

E BLUE

E WHITE

F BLUE

F BLUE

IN this I want the query to find who have more than 1 car.

SELECT OWNER

FROM CAR_MASTERS

GROUP BY (OWNER)

HAVING COUNT(*) > 1;

10.  In this I want the query to find more than one car and who is having same colour should not be    
shown in output.

SELECT *
FROM CAR_MASTERS

WHERE (OWNER,CAR_COLOUR) NOT IN

(SELECT OWNER,CAR_COLOUR

FROM CAR_MASTERS

GROUP BY (owner,car_colour)

HAVING COUNT(*)>1)

AND OWNER IN

(SELECT OWNER

FROM EMPLOYEES

GROUP BY OWNER

HAVING COUNT(*) >1);

11.  Your procedure is having parameters, can we initialize the values to the parameters inside the
procedure.

We can’t initialize a value for the in parameters inside the procedure and function.
Only while executing we can pass values to the parameters.

12.  In for loop I am processing some rows and outside loop some statements are there suppose inside
loop 3rows processed 4 row got error, it should not end the program it should come out of the
th

loop and process remaining statements, How will you handle it?

We need to use nested block inside loop and handle exception in the block and come out of the
block  then process the remaining statement’s.

EXAMPLE.

CREATE TABLE T1(ID NUMBER PRIMARY KEY, SALARY NUMBER);


 

INSERT INTO T1 VALUES (106,60000);

COMMIT;

SELECT * FROM T1;

SET SERVEROUTPUT ON;

DECLARE

CURSOR CUR1 IS SELECT EMPLOYEE_ID,SALARY FROM EMPLOYEES WHERE


EMPLOYEE_ID < 110;

V_NAME VARCHAR2(30);

BEGIN

FOR I IN CUR1 LOOP

begin

INSERT INTO T1 VALUES (I. EMPLOYEE_ID,I.SALARY);

COMMIT;

EXCEPTION

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE(SQLERRM);

end;

end loop;

SELECT DEPARTMENT_NAME INTO V_NAME FROM DEPARTMENTS WHERE


DEPARTMENT_ID = 100;

DBMS_OUTPUT.PUT_LINE(V_NAME);
UPDATE T1 SET SALARY = 20000;

END;

13.  Tell some holds table in O2C.

OE_ORDER_HOLDS_ALL

OE_HOLD_SOURCE_ALL

OE_HOLD_DEFINITIONS

OE_HOLD_AUTHORIZATION

14.  Reference to uninitialized collection error when it will occur?

Whenever we are using a nested table and VARRAY, we need to initialize values to these
datatypes. Otherwise, we will get this error.

15.  How will you initialize values to the collection with constructs?

The syntax for initialization of collection is

TYPE T1 IS TABLE OF DATATYPE

T11 T1 := T1(Values);

16.  In simple loop Exit when is when is mandatory?

No when is not mandatory, if we didn’t give when condition then it will loop for only one time
and it will exit.

 
17.  After exit can we use any other command than when?

No, we can’t use any other command other than when after the EXIT.

18.  What are the AOL concepts you know?

19.  Have you created lookups or you used existing lookups?

20.  Tell concurrent program registration.

21.  I am having one package whenever I run that package it wants to run concurrent program how
will you do?

We need to use the API( FND_REQUEST.SUBMIT_REQUEST(parameters));

22.  You had created requisition then which concurrent program you will run to create po?

23.  Had you developed any workflow manually?

24.  Tell some predefined errors?

NO_DATA_FOUND

TOO_MANY_ROWS

DUP_VAL_ON_INDEX

ZERO_DIVIDE

INVALID_CURSOR

CURSOR_ALREADY_OPEN

INVALID_NUMBER
VALUE_ERROR

25.  When cursor is open error will come, when we will go for open fetch cursor and when we will
go for, for loop cursor and what is the difference?

WHEN WE KNOW THE ITERATIONS WE WILL GO WITH THE FOR LOOP OTHERWISE
WE NEED TO GO WITH OPEN FETCH

IF CURSOR IS A PARAMETERED CURSOR WE WE NEED TO GO WITH OPEN FETCH

26.  Write a query to find out the released status that got released, what are the released status you
know.

SELECT released_status

           FROM wsh_delivery_details

          WHERE released_status=’S’;

         The released status are ,

B: Backordered- Line failed to be allocated in Inventory

C: Shipped -Line has been shipped

D: Cancelled -Line is Cancelled

N: Not Ready for Release -Line is not ready to be released

R: Ready to Release: Line is ready to be released

S: Released to Warehouse: Line has been released to Inventory for processing

X: Not Applicable- Line is not applicable for Pick Release

Y: Staged- Line has been picked and staged by Inventory


 

27.  Have you created any triggers?

28.  What are the types of DML Triggers?

There are 12 type types of DML Triggers .They are

STATEMENT LEVEL                                ROW LEVEL

Before update                                             Before update for each row

Before insert                                   Before insert for each row

Before delete                                  Before deletefor each row

After update                                    After update for each row

After insert                                     After insert for each row

After delete                                     After delete for each row

When will you use autonomous transactions in triggers?

We cannot perform commit inside triggers ,To perform commit we will go for

Autonomous transactions (pragma autonomous_transaction).

----------------------------------- person 2
Shashikanth
1. what are the areas you know Oracle and plsql?
2. what topics you will feel you are confident?
3. Based on the sicario write a procedure by using parameter as colur and by using simple
loop you need to insert data into car_log table which is having 2 columns
1.owner,2.car_colour?
Scenario
Table name : car_masters
------------------------------------------------------

Owner car_colour
A RED
B BLUE
C WHITE
B RED
B BLUE
D RED
E RED
E BLUE
E WHITE
F BLUE
F BLUE
----------------------------------------------------
Destination table is car_log which is having two columns Those are owner,car_colour.
(we need to insert into this table.)

4. Do you know aggregate functions? What are those?


5. can we change character to number function?
Ans:
We can change character to Number and also Number to Character.
  Only number to Date and Date to Number can’t be changed.

6. How you will find out current date?


7. how will you find out last day of particular month?

SELECT last_day (TO_DATE(‘12-JAN-2023’)) FROM dual;

8. min- max group functions will work for string columns?


Min-max function will work for characters also (Alphabets).

9. string to number how will you convert into number?


10. have you used any regular expressions.?
11. How will find out differences between two dates? how will get difference in days and
how will get difference in months?
12. whenever we are joining two tables is it necessary to join put alias name or table name
before the column name? for which sicario it is mandatory? and when it is optional?
13. un initialized collection error when it will occur?
Ans:
Whenever we are using a nested table and VARRAY, we need to initialize values to these
datatypes. Otherwise, we will get this error.

14. In this code (ref question no 3) after insert statement exit when condition will come? its
before insert statement.? or after a insert statement?
15. what is bulk collect why we will use bulk collect? write a bulk collect code for the same
loop((ref question no 3) condition?
16. what is p2p and how many ways you can generate po ?
 ans:- Manually, using the Requisition Expeditor program (P43E060).
 Automatically, using the Batch Requisition Consolidation program (R43E060).

17. what is the API’S to approve the po explain the scenerio?


ans:- https://doyensys.com/blogs/api-to-approve-the-pos/
api link is -- po_document_action_pvt.do_approve
18. where we will find out whether we received goods or not where we will check?

MTL_ONHAND_QUANTITY_DETAILS in this table we can check whether goods are


increased or decreased.
We can check the information in primary transaction qty column.
19. what are the concurrent programs will run in the backend after ship confirm?
1)BILL OF LADING
2) PACKING SLIP REPORT
3) COMMERCIAL INVOICE
4) VEHICLE LOAD SHEET DETAILS
5) INTERFACE TRIP STOP.

20. what is auto invoice in o2c what are the affecting source table and target tables while
creating auto invoice?

We need to run the WORKFLOW BACKGROUND PROCESS concurrent program to


generate auto invoice.
Affecting tables are RA_CUSTOMER_INTERFACE_ALL,
RA_CUSTOMER_TRX_LINES_ALL, RA_CUST_TRX_LINE_GL_DIST_ALL.

21. what is outbound interface?


22. what is the utl function to write data to the file

UTL_FILE.FOPEN(‘d/…’,file_name,operation_mode(R,W,A));
UTL_FILE.FCLOSE

23. explain about utl file?


UTL_FILE PACKAGE IS USED TO LOAD THE DATA INTO OS FILE AND AS WELL AS
READ DATA FROM OS FILE.
step_1 we need to declare File pointer variable.
Step_2 we must open the file through fopen pre defined procedure in utl_package
it will accept 3 parameters( directory alias name, file name, mode )
modes are 3
1. R TO READ WE WILL USE THIS ONE.
2. W TO WRITE WE WILL USE THIS.
3. A TO APPEND THE DATA.
STEP3 IF YOU WANT WRITE A DATA INTO FILE AFTER OPENING THEN WE MUST
USE PUTF(FILE POINTER CARIABLE NAME ,'<CONTENT>')) OR PUT_LINE()
PROCEDURS

STEP4 UTL_FILE.FCLOSE(<FILE POINTER VARIABLE NAME>);


WE MUST CLOSE OTHERWISE WE WILL GET AN ERROR.

You might also like