Friday, 30 September 2011

General Interview Questions


GENERAL INTERVIEW QUESTIONS

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

2.Can we define exceptions twice in same block ?
No.

3.What is the difference between a procedure and a function ?
Functions return a single variable by value whereas procedures do not return any variable by value. Rather they return multiple variables by passing variables by reference through their OUT parameter.

4.Can you have two functions with the same name in a PL/SQL block ?
Yes.

5.Can you have two stored functions with the same name ?
Yes.

6.Can you call a stored function in the constraint of a table ?
No.

7.What are the various types of parameter modes in a procedure ?
IN, OUT AND INOUT.

8.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.

9.Can functions be overloaded ?
Yes.

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

11.What are the constructs of a procedure, function or a package ?
The constructs of a procedure, function or a package are :
variables and constants
cursors
exceptions

12.Why Create or Replace and not Drop and recreate procedures ?
So that Grants are not dropped.

13.Can you pass parameters in packages ? How ?
Yes. You can pass parameters to procedures or functions in a package.

14.What are the parts of a database trigger ?
The parts of a trigger are:
A triggering event or statement
A trigger restriction
A trigger action

15.What are the various types of database triggers ?
There are 12 types of triggers, they are combination of :
Insert, Delete and Update Triggers.
Before and After Triggers.
Row and Statement Triggers.
(3*2*2=12)

16.What is the advantage of a stored procedure over a database trigger ?
We have control over the firing of a stored procedure but we have no control over the firing of a trigger.

17.What is the maximum no. of statements that can be specified in a trigger statement ?
One.

18.Can views be specified in a trigger statement ?
No

19.What are the values of :new and :old in Insert/Delete/Update Triggers ?
INSERT : new = new value, old = NULL
DELETE : new = NULL, old = old value
UPDATE : new = new value, old = old value

20.What are cascading triggers? What is the maximum no of cascading triggers at a time?
When a statement in a trigger body causes another trigger to be fired, the triggers are said to be cascading. Max = 32.

21.What are mutating triggers ?
A trigger giving a SELECT on the table on which the trigger is written.

22.What are constraining triggers ?
A trigger giving an Insert/Updat e on a table having referential integrity constraint on the triggering table.

23.Describe Oracle database's physical and logical structure ?
Physical : Data files, Redo Log files, Control file.
Logical : Tables, Views, Tablespaces, etc.

24.Can you increase the size of a tablespace ? How ?
Yes, by adding datafiles to it.

25.Can you increase the size of datafiles ? How ?
No (for Oracle 7.0)
Yes (for Oracle 7.3 by using the Resize clause ----- Confirm !!).

26.What is the use of Control files ?
Contains pointers to locations of various data files, redo log files, etc.

27.What is the use of Data Dictionary ?
Used by Oracle to store information about various physical and logical Oracle structures e.g.
Tables, Tablespaces, datafiles, etc

28.What are the advantages of clusters ?
Access time reduced for joins.

29.What are the disadvantages of clusters ?
The time for Insert increases.

30.Can Long/Long RAW be clustered ?
No.

31.Can null keys be entered in cluster index, normal index ?
Yes.

32.Can Check constraint be used for self referential integrity ? How ?
Yes. In the CHECK condition for a column of a table, we can reference some other
column of the same table and thus enforce self referential integrity.

33.What are the min. extents allocated to a rollback extent ?
Two

34.What are the states of a rollback segment ?
 the difference between partly available and needs recovery ?
The various states of a rollback segment are :
ONLINE, OFFLINE, PARTLY AVAILABLE, NEEDS RECOVERY and INVALID.

35.What is the difference between unique key and primary key ?
Unique key can be null; Primary key cannot be null.

36.An insert statement followed by a create table statement followed by rollback ? Will the rows be inserted ?
No.

37.Can you define multiple savepoints ?
Yes.

38.Can you Rollback to any savepoint ?
Yes.

40.What is the maximum no. of columns a table can have ?
254.

41.What is the significance of the & and && operators in PL SQL ?
The & operator means that the PL SQL block requires user input for a variable. The && operator means that the value of this variable should be the same as inputted by the user previously for this same variable.
If a transaction is very large, and the rollback segment is not able to hold the rollback information, then will the transaction span across different rollback segments or will it terminate ?
It will terminate (Please check ).

42.Can you pass a parameter to a cursor ?
Explicit cursors can take parameters, as the example below shows. A cursor parameter can appear in a query wherever a constant can appear.
CURSOR c1 (median IN NUMBER) IS
SELECT job, ename FROM emp WHERE sal > median;

43.What are the various types of RollBack Segments ?
Public Available to all instances
Private Available to specific instance

44.Can you use %RowCount as a parameter to a cursor ?
Yes

45.Is the query below allowed :
Select sal, ename Into x From emp Where ename = 'KING'
(Where x is a record of Number(4) and Char(15))
Yes

46.Is the assignment given below allowed :
ABC = PQR (Where ABC and PQR are records)
Yes

47.Is this for loop allowed :
For x in &Start..&End Loop
Yes

48.How many rows will the following SQL return :
Select * from emp Where rownum < 10;
9 rows

49.How many rows will the following SQL return :
Select * from emp Where rownum = 10;
No rows

50.Which symbol preceeds the path to the table in the remote database ?
@

51.Are views automatically updated when base tables are updated ?
Yes

52.Can a trigger written for a view ?
No

53.If all the values from a cursor have been fetched and another fetch is issued, the output will be : error, last record or first record ?
Last Record

54.A table has the following data : [5, Null, 10]. What will the average function return ?
7.5

55.Is Sysdate a system variable or a system function?
System Function

56.Consider a sequence whose currval is 1 and gets incremented by 1 by using the nextval reference we get the next number 2. Suppose at this point we issue an rollback and again issue a nextval. What will the output be ?
3

56.Definition of relational DataBase by Dr. Codd (IBM)?
A Relational Database is a database where all data visible to the user is organized strictly as tables of data values and where all database operations work on these tables.

57.What is Multi Threaded Server (MTA) ?
In a Single Threaded Architecture (or a dedicated server configuration) the database manager creates a separate process for each database user. But in MTA the database manager can assign multiple users (multiple user processes) to a single dispatcher (server process), a controlling process that queues request for work thus reducing the databases memory requirement and resources.

58.Which are initial RDBMS, Hierarchical & N/w database ?
RDBMS - R system
Hierarchical - IMS
N/W - DBTG

59.Difference between Oracle 6 and Oracle 7
ORACLE 7 ORACLE 6
Cost based optimizer · Rule based optimizer
Shared SQL Area · SQL area allocated for each user
Multi Threaded Server · Single Threaded Server
Hash Clusters · Only B-Tree indexing
Roll back Size Adjustment · No provision
Truncate command · No provision
Database Integrity
Constraints · Provision at Application Level
Stored procedures, functions
packages & triggers · No provision
Resource profile limit. It
prevents user from running
away with system resources · No provision
Distributed Database · Distributed Query
Table replication & snapshots· No provision
Client/Server Tech. · No provision

60.What is Functional Dependency
Given a relation R, attribute Y of R is functionally dependent on attribute X of R if and only if each X-value has associated with it precisely one -Y value in R

61.What is Auditing ?
The database has the ability to audit all actions that take place within it.
a) Login attempts, b) Object Accesss, c) Database Action
Result of Greatest(1,NULL) or Least(1,NULL)
NULL

62.While designing in client/server what are the 2 imp. things to be considered ?
Network Overhead (traffic), Speed and Load of client server

63.What are the disadvantages of SQL ?
Disadvantages of SQL are :
· Cannot drop a field
· Cannot rename a field
· Cannot manage memory
· Procedural Language option not provided
· Index on view or index on index not provided
· View updation problem

64.When to create indexes ?
To be created when table is queried for less than 2% or 4% to 25% of the table rows.

65.How can you avoid indexes ?
TO make index access path unavailable
· Use FULL hint to optimizer for full table scan
· Use INDEX or AND-EQUAL hint to optimizer to use one index or set to
indexes instead of another.
· Use an expression in the Where Clause of the SQL.

66.What is the result of the following SQL :
Select 1 from dual
UNION
Select 'A' from dual;
Error

67.Can database trigger written on synonym of a table and if it can be then what would be the effect if original table is accessed.
Yes, database trigger would fire.

68.Can you alter synonym of view or view ?
No

69.Can you create index on view
No.

70.What is the difference between a view and a synonym ?
Synonym is just a second name of table used for multiple link of database. View can be created with many tables, and with virtual columns and with conditions. But synonym can be on view.

71.What is the difference between alias and synonym ?
Alias is temporary and used with one query. Synonym is permanent and not used as alias.

72.What is the effect of synonym and table name used in same Select statement ?
Valid

73.What's the length of SQL integer ?
32 bit length

74.What is the difference between foreign key and reference key ?
Foreign key is the key i.e. attribute which refers to another table primary key.
Reference key is the primary key of table referred by another table.

75.Can dual table be deleted, dropped or altered or updated or inserted ?
Yes

76.If content of dual is updated to some value computation takes place or not ?
Yes

77.If any other table same as dual is created would it act similar to dual?
Yes

78.For which relational operators in where clause, index is not used ?
<> , like '% ...' is NOT functions, field +constant, field || ''

79.Assume that there are multiple databases running on one machine. How can you switch from one to another ?
Changing the ORACLE_SID

80.What are the advantages of Oracle ?
Portability : Oracle is ported to more platforms than any of its competitors, running on more than 100 hardware platforms and 20 networking protocols.
Market Presence : Oracle is by far the largest RDBMS vendor and spends more on R & D than most of its competitors earn in total revenue. This market clout means that you are unlikely to be left in the lurch by Oracle and there are always lots of third party interfaces available.
Backup and Recovery : Oracle provides industrial strength support for on-line backup and recovery and good software fault tolerence to disk failure. You can also do point-in-time recovery.
Performance : Speed of a 'tuned' Oracle Database and application is quite good, even with large databases. Oracle can manage > 100GB databases.
Multiple database support : Oracle has a superior ability to manage multiple databases within the same transaction using a two-phase commit protocol.

81.What is a forward declaration ? What is its use ?
PL/SQL requires that you declare an identifier before using it. Therefore, you must declare a subprogram before calling it. This declaration at the start of a subprogram is called forward declaration. A forward declaration consists of a subprogram specification terminated by a semicolon.

82.What are actual and formal parameters ?
Actual Parameters : Subprograms pass information using parameters. The variables or expressions referenced in the parameter list of a subprogram call are actual parameters. For example, the following procedure call lists two actual parameters named emp_num and amount:
Eg. raise_salary(emp_num, amount);

Formal Parameters : The variables declared in a subprogram specification and referenced in the subprogram body are formal parameters. For example, the following procedure declares two formal parameters named emp_id and increase:
Eg. PROCEDURE raise_salary (emp_id INTEGER, increase REAL) IS current_salary REAL;

83.What are the types of Notation ?
Position, Named, Mixed and Restrictions.

84.What all important parameters of the init.ora are supposed to be increased if you want to increase the SGA size ?
In our case, db_block_buffers was changed from 60 to 1000 (std values are 60, 550 & 3500) shared_pool_size was changed from 3.5MB to 9MB (std values are 3.5, 5 & 9MB) open_cursors was changed from 200 to 300 (std values are 200 & 300) db_block_size was changed from 2048 (2K) to 4096 (4K) {at the time of database creation}.
The initial SGA was around 4MB when the server RAM was 32MB and The new SGA was around 13MB when the server RAM was increased to 128MB.

85.If I have an execute privilege on a procedure in another users schema, can I execute his procedure even though I do not have privileges on the tables within the procedure ?
Yes

86.What are various types of joins ?
Equijoins, Non-equijoins, self join, outer join

87.What is a package cursor ?
A package cursor is a cursor which you declare in the package specification without an SQL statement. The SQL statement for the cursor is attached dynamically at runtime from calling procedures.
88.If you insert a row in a table, then create another table and then say Rollback. In this case will the row be inserted ?
Yes. Because Create table is a DDL which commits automatically as soon as it is executed. The DDL commits the transaction even if the create statement fails internally (eg table already exists error) and not syntactically.

89.What are the various types of queries ?
Normal Queries
Sub Queries
Co-related queries
Nested queries
Compound queries

90.What is a transaction ?
A transaction is a set of SQL statements between any two COMMIT and ROLLBACK statements.


91.What is implicit cursor and how is it used by Oracle ?
An implicit cursor is a cursor which is internally created by Oracle. It is created by Oracle for each individual SQL.

92.Which of the following is not a schema object : Indexes, tables, public synonyms, triggers and packages ?
Public synonyms

93.What is the difference between a view and a snapshot ?

94.What is PL/SQL?
PL/SQL is Oracle's Procedural Language extension to SQL. The language includes object oriented programming techniques such as encapsulation, function overloading, information hiding (all but inheritance), and so, brings state-of-the-art programming to the Oracle database server and a variety of Oracle tools.

95.Is there a PL/SQL Engine in SQL*Plus?
No. Unlike Oracle Forms, SQL*Plus does not have a PL/SQL engine. Thus, all your PL/SQL are send directly to the database engine for execution. This makes it much more efficient as SQL statements are not stripped off and send to the database individually.

96.Is there a limit on the size of a PL/SQL block?
Currently, the maximum parsed/compiled size of a PL/SQL block is 64K and the maximum code size is 100K. You can run the following select statement to query the size of an existing package or procedure.
SQL> select * from dba_object_size where name = 'procedure_name'

97.Can one read/write files from PL/SQL?
Included in Oracle 7.3 is a UTL_FILE package that can read and write files.
The directory you intend writing to has to be in your INIT.ORA file
 (see UTL_FILE_DIR=... parameter). Before Oracle 7.3 the only means of writing a file was to use DBMS_OUTPUT with the SQL*Plus SPOOL command.
DECLARE
fileHandler UTL_FILE.FILE_TYPE;
BEGIN
fileHandler := UTL_FILE.FOPEN('/home/oracle/tmp', 'myoutput','W');
UTL_FILE.PUTF(fileHandler, 'Value of func1 is %s\n', func1(1));
UTL_FILE.FCLOSE(fileHandler);
END;



98.How can I protect my PL/SQL source code?
PL/SQL V2.2, available with Oracle7.2, implements a binary wrapper for PL/SQL programs
 to protect the source code. This is done via a standalone utility that transforms the
PL/SQL source code into portable binary object code (somewhat larger than the original).
 This way you can distribute software without having to worry about exposing your
 proprietary algorithms and methods. SQL*Plus and SQL*DBA will still understand
and know how to execute such scripts. Just be careful, there is no "decode" command available.
The syntax is:
wrap iname=myscript.sql oname=xxxx.yyy

99.Can one use dynamic SQL within PL/SQL? OR Can you use a DDL in a procedure ? How ?
From PL/SQL V2.1 one can use the DBMS_SQL package to execute dynamic SQL statements.
Eg: CREATE OR REPLACE PROCEDURE DYNSQL
AS
cur integer;
rc integer;
BEGIN
cur := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(cur,'CREATE TABLE X (Y DATE)', DBMS_SQL.NATIVE);
rc := DBMS_SQL.EXECUTE(cur);
DBMS_SQL.CLOSE_CURSOR(cur);
END;



1. What is Referential Integrity rule?
Differentiate between
2. Delete & Truncate command.
3. Implicit Cursor & Explicit Cursor.
4. Ref. key & Foreign key.
5. Where & Having Clause.
6. What are various kinds of Integrity Constraints in Oracle?
7. What are various kind of joins?
8. What is Raise_Application_Error?
9. What are various kinds of exceptions in Oracle?
10. Normal Forms


Oracle Notes :

Oracle 8i -
It is a DB of internet computing , It changes the of information managed and accessed to
 meet the demandof internet age.
-- Significant new feature for OLTP(Online trans Processing) and data ware housing Appl.
-- To mange all types of datain web site.
-- iFS Internet file Syatem
-- interMedia to manage and access multimedia data,audio,video
-- Support to java(to install JVM on server)
-- Security enhancement(authentication and authorization,centralizing user management)

Oracle 8(ORDBMS) -
-Parrallel enhancement ,faster connection
-Table partitioning , Connection inc to 30000 ,Table column upto 1000
-DB size inc from few tera byte to 10 tera. , Data file inc 65,533
-Support MTS,provides LOB

Oracle Start -
1. Oracle instance start -Allocates SGA and start BAckground processes.
2. Mount Oracle DB-Method of Associating DB with previous started instance
3.Opening DB-To make available.

Normalization -
It's a technique thr. which we can design the DB.
During normalization dependancies can be identified which can cause pbs during deletion &
updation .It is used in simplifing the structure of table.
1NF-Unnorma;ised data transfer to normalised form.
2NF-Functional dependancies can be find out & decompose the table without loss of data.
3NF-Transist dependancies ,Every non key attrbute is functionally dependant on just PK.
4NF(BCNF)-The relation which has multiple candidate keys ,then we have to go for BCNF.
Denormalization-
At the same time when information is required from more than one table at faster rate then
it is wiser to add some sort of dependancies.

Rooling Forward -To reapply to Data file to all changes that are recorded in Redo log file due
 to which datafile contains commited & uncommited dat.
Forward Declaration-To declare variable and procedures before using it.
2- Tier Arch. Disadv-When Business Rule changes.
PL/SQL Record-To represent more than one row at time.
PL/SQL Table -To define single variable comprises several data element.
To delete define one more empty table and assign it.
Tablespace -
Profile-To control system resources ,memory ,diskspace and CPU time.
We can find rows effected by %rowcount.
Data Binding-Dividing the cursor in appl as per select stamt.
Trancate -Faster than delete ,doesn't fire ny DB trigger ,Allocate space ,No roolback.
Defered Integrity constraints-When we refere PK in the same table where we defined .
Cascading trigger-
Temporary Table-Delete operation table.
Log Table-to store information abt error.
Coordinity-
Err Trap -To trap error use SQLERRM,SQLCODE
Modularity-PL/SQL allows to create program module to improve software reliability and to
hide complexity
Positional and Named Notation -
The actual arguments are associaed with formal arguments by position k/s Positional Notation.
It's commonly used.
A Trigger doesn't accept argument & have same name as table or procedure as it exist in
seperate namespace.
How we ref FK in Sql -Join Condition.
Security/Lock-
Shared/exclusive -When 2 transaction wants to read/write from db at the same time.
Dead- 1trans updates emp and dep
2 trans update dep and emp
TO add a not null column to a table which has already some records -
Alter table a
Add(b number default 1 not null)
Sequence- Start with,increment by,Cache/No cache,Order/No order,Max,Min
ER Dia.- Entity Relation Dia.
Set Transaction -To set a current transaction online offline
Oracle err-
ORA-06500 stiorage err
ORA-00923 from keyword not found
ORA-06501program err
ORA-00904 Invalid Col
ORA-00001Uk violated.
Dynamic Sql -Which uses late binding
File I/O-To read and write dat to and from text file thr. Oracle procedure.
Joins-Equi,Non EQui,Self,inner joins,outer joins
Index-16 col per table.
Parsing-Syntax checking.
Optimization-Use of index (HINT)
Corelated Subquery -Which fires only once/ per row for entire stmt.
Simple Query--Which fires everytime for entire stmt
Packages- Encapsulation,Overloading,improve performance as I/O reduces.
PL/SQL Signature Method- To determine when remote dependant object get invalid.
Object Previledge - On a particular object- I/U/D/Exec
System Previledge -Entire collection object -C/A/D
SGA Comprises -Data Buffer, Redo Log Buffer,Shared pool Buffer.
Shared Pool - Req to process unique SQL stmt submitted to DB.
It contains information such as parse tree and execusion plan .
PGA -A memry buffer that contains data and control information for a server process.
Dedicated server - Handles request. for single user.
Multithresd Server-Handles request. for multiple user.
Background process -DBWR,LGWR,PMON,SMON,CKPT
DBWR-Writes modified data blocks from DB buffer to data file.
LGWR-
CKPT-Responsible to check DBWR and update control file to indicate most recent CKPT.
SMON-Instance recovery at start up,Clean Temporary. Segment.
PMON-Responsible for process recovery and user process fails,Cleaning up cache,
freeing resources which was using process.
Segment-Data/Index/Rollback/Temp
Data Dictionary -V$SESSION, information abt integrity constraints,space allocated
for schema object.
USER_TAB_COLUMNS gives you a list of tables as per Column.
EOD Procedure-

Mutating/Constraining Err/Table
Diff of where and group by
Connect,Allocate.Analyse Command.
Queries--
1. 3rd Max
select distinct sal
from emp a
where 3=(select count(distinct sal)
from emp b
where a.sal=2. Delete Duplicate rows
Delete Emp
where rowid not in(select max(rowid)
from emp
group by emp_no)
3. First 5 Max No
select sal
from (select abs(-sal) sal
from emp
group by -sal)
where rownum<6
Views--
-No Aggr function,group by,having
-U/D without PK but not Insert.
-Join -No DML
-No join-DML
Index -are used for row selection in where and order by only if indexing on column


You can launch the DBA Studio or the individual tools directly from the Windows NT
 Start menu. Or, you can use the following syntax to launch them from a command line prompt:

oemapp tool_name

where tool_name may be dbastudio, instance, security, storage, schema, or worksheet,
 if installed.

DBMS_ALERT is a Transaction Processing Package while DBMS_PIPE is an Application
 Development package

Developed By Satish Shrikhande

DBA—

If to_date(sysdate,'DAY')='Tuesday' then ..
Buffer Cache-To improve data block recently used by user in order to improve the performance.
Ordinality-Emp, Expences-Emp may expense sheet and Expense sheet has only one Emp. This fact k/s Referred Ordinality.
Three Steps in creating DB.--
-Creating physical location for data in tables and indexes to be stored in DB.
-To create the file that still store log entries.
-To create logical structure of data dictionary.
This is accomplished by create DB
1. Back up existing DB.
2.Create or Edit the init.ora file
3.Varify the instance name
4. Start Application management DB tool.
5.start instance
6.Create and Backup the new DB.
Control file -250K
Oracle Administration Assistant for W-NT is a DB management tool that enables to create DB administartor, operator, Users and role. To manage Oracle DB services, DB start up, shut down, Edit registry parameter setting, views oracle process information.
Database Configuration Assistant -To create DB
Oracle environment-
OLTP-Many users can read and update, hight response time.
DSS-Read only.
Hybrid-both OLTP & DSS App. are running with this App.
Init.ora-is a parameter file like DB_NAME, CONTROL_FILE, DB_BLOCK _SIZE
RowID-BlockIDRowIdDatafileId
Cluster Segment-To support use of cluster on the DB.
Hash Cluster-By placing data in close proximity k/s Hashing.
Optimization-
Decides line of execution of query.
First apply condition and then make Cartesian product. The cost can reduce by reducing no of rows.
Oracle ways for optimization-
-Evaluation of expression and condition amt>500/100--amt>5
Like convert to equal
IN - OR condition
Any -OR
Between/ALL -AND
NOT-Avoid
Transitivity-where a.id=b.id and a.id=1 use a.id=1 and b.id =1
Merging views
Index column be in order by clause.

Bitmap Index- If the column has very few distinct entries
We have to specify in init.ora Rate, Cost Choose mode based Approach
-Avoid full table scan.
-Access by Rowid
-No function on Index column as it prevents the optimization.
-Avoid IN, NOT and LIKE operator.
-Column in where clause should be indexed.
DATABASE-
Profile -To control system resources like memory, diskspace, and CPU time.
Role -Collection of privileges.
Type of segment- Rollback, Temp, Data, Index
Snapshot-It's a read only table, to improve efficiency of query, which referred remote db, therefore reduce remote traffic.
DB trigger-is a PL/SQL block that are associated with given table.
Diff bet Trigger and Procedure-
-Trigger need not required to be call (Implicitly fire on event)
-No TCL used
-Proc/fun can be used in trigger
-No use of Long raw,LOB,LONG
-Procedure is prefered over trigger as proc stored in compile form as trigg p_code stores.
TO check time nbetwen 8 am and 6 pm.
Create or replace trigger ptpt
before insert on batch
for each row
declare
A varchar2 (20);
begin
Select substr (to_char (sysdate,'HH: MI: SSSS’) 1,2) into a from dual;

If (a between '08' and ‘18’) then
Raise_application_error (-20001,'Invalid Time');
End if;
End;
Snapshot too old-We have to refresh the snapshot
Alter snapshot as
Select * from batch@dmaster.link
Refresh after seven days.
We can reduce network traffic-
-By using snapshot
-By storing related table in same tablespace
-By avoiding Row chain.
Oracle DB uses three types of file structure.
Data files-store actual data for tablespace, which is a logical unit of storage. Every tablespace has one or more data file to store actual data for tables, indexes, and clusters. Data is read and write to data file as needed.
Redo log file-Two or more redo log file make up a logical redo log, which is used to recover modifications that have not been written to data files in event of power outage.
Control file-Used at start up to identify the DB and determine which redo log file and data file are created.
1 data file, 1 control file, 2 redo log file.
SET TRANSACTION-We use set transaction statement to login a read only or read-write or to assign the current transaction to specified rollback segment.
Where date=sysdate-daily sale
>sysdate-7 weekly sale
>sysdate-30 monthly sale.
A function must contain atleast one return value else PL/SQL raises predefined exception program_error.
Actual parameter- when call
Formal parameter
Parametric Cursor - The cursor in which we can pass value when it is being opened
Sql Stmt Execu-
-Reserves an area in memory called Private Sql Area.
-Populate this area with app. data.
-Process data in memory area.
-Free the, memory area when exec is complete.
Active set- A set of rows return by a mult-row query.
Export-Putting data of tables in file, which can be, handles by OS.
Auditing-
is used for noting down user's activity and statistics abt the operations in data objects. The auditing are
1-Stmt
2-Preveledge
3-Object
1-It is done to audit stmt activity .The auditing information abt. date & time of information, nature of operation is stored in table AUD$ which is used by user sys.
Audit select on itemmaster;
Then app. auditing is done and stored in table .
-To record the usage of privilege
-To record the activity on object.
Nature of Auditing-
Auditing is done on
-Per session basis-one record is generated.
Per statement basis per session/stmt
Audit any allows user to audit any schema object in the DB.
Table partitioning-
Table partitioning divides table data between two or more tablespaces and physical data file on separa

Interview Questions


1.WHAT IS THE DIFFERENCE BETWEEM APPS SCHEMA AND OTHER SCHEMAS?

ANS:    APPS SCHEMA DOESN'T CONTAIN DATABASE OBJECTS, IT CONTAINS ONLY SYNONYMS AND THESE SCHEMA WILL HAVE THE RIGHTS TO ACCESS OTHER SCHEMA DATABASE OBJECTS.


2.WHAT IS MEANT BY CUSTOM TOP? WHATS THE PUPOSE?

ANS:    CUSTOM TOP WILL BE CREATED OR DEVELOPED BY CLIENT FOR CUSTOMER DEVELOPMENT AND CUSTOMIZATION.
            IF WE DONT HAVE CUSTOM TOP, WE CAN ALSO USE THE PRODUCT TOP FOR DEVELOPMENT AND CUSTOMIZATION.
            EVERY CLIENT WILL HAVE ATLEAST ONE CUSTOM TOP OR MULTIPLE CUSTOM TOPS...

3.WHAT THE SIGNIFICANCE OF US FOLDER?

ANS:    THIS IS LANGUAGE SPECIFIC FOLDER. WHEN WE ARE USING MULTIPLE LANGUAGES FOR THE CLIENT, WE             WILL USE THIS US FOLDER.BY DEFAULT AMERICAN LANGUAGE. US FOLDER IS AVAILABLE ONLY FOR             FORMS AND REPORTS, BECAUSE BOTH ARE GUI(GRAPHICAL USER INTERFACE)'S.

4.WHAT ARE THE FOLDERS WE WILL FIND BELOW 11.5.0 FOLDER?

ANS: AVAILABLE FOLDERS
            ADMIN,BIN,FORMS,REPORTS,LOG,OUT,SQL........


5.CAN WE CREATE THE TABLES IN APPS SCHEMA?

ANS:   

6.CAN WE HAVE CUSTOMS SCHEMA?WHEN IT REQUIRED?

ANS:

7.WHAT IS MEANT BY CONCURRENT PROGRAM?

ANS:    THIS IS AN INSTANCE OF EXECUTION FILE ALONG WITH PARAMETERS AND INCOMPATABLE PROGRAMS.
            WE CAN REGISTER 11 TYPES OF EXECUTABLE AS CONCURRENT PROGRAMS..
            LIKE FORMS,REPORTS,PL/SQL STORED PROCEDURE,SQL *LODER,SQL *PLUS....


8.WHAT ARE THE STEPS WILL FOLLOW TO REGISTER REPORTS AS CONCURRENT PROGRAM?

ANS:    1)DEVELOP THE REPORT(.RDF) AS PER CLIENT REQUIREMENT BY USING REPORTS 6I BUILDER.
            2)MOVE THE REPORT FROM LOCAL MACHINE INTO SERVER.
            3)SELECT SYSTEM ADMINSTRATOR AND CREATE EXECUTABLE
            4)CREATE CONCURRENT PROGRAM AND ATTACH
                        A)EXECUTABLE
                        B)PARAMETERS
                        C)INCOMPATIBILITIES
            5)CREATE REQUEST GROUP AND ATTACH CONCURRENT PROGRAM
            6)CREATE RESPONSIBILITY AND ATTACH REQUEST GROUP.
            7)CREATE USER, ATTACH RESPONSIBILITY TO USER.
            8)USER SELECT THE RESPONSIBILITY AND GOTO SRS WINDOW,SUBMIT THE REQUEST

9)WHAT IS MEANT BY REQUEST GROUP?

ANS:    GROUPS OF CONCURRENT PROGRAMS..

10)WHAT IS USER EXIT?

ANS:    THIS ONE OF BUILT-IN PROGRAM IN  REPORT 6I, IT WILL BE USED TO TRANSFER THE REPORT BUILDER             CONTROL TO SOME OTHER 3RD GENERATION LANGUAGE GET SOME INFORMATION COMPLETE THE             REMAING EXECUTION PROCESS.

11)TYPES OF USER EXITS?

ANS:    TYPES OF USER EXISTS ARE
                            FND SRWINIT
                            FND SRWEXIT
                            FND FLEXSQL
                            FND FLEXIDVAL
                            FND FORMATCURRENCY

12)WHAT ARE MANDITORY STEPS WE HAVE TO FOLLOW WHILE REGISTERING THE REPORT?

ANS:    1)DEVELOP THE REPORT(.RDF) AS PER CLIENT REQUIREMENT BY USING REPORTS 6I BUILDER.
            2)MOVE THE REPORT FROM LOCAL MACHINE INTO SERVER.
            3)SELECT SYSTEM ADMINSTRATOR AND CREATE EXECUTABLE
            4)CREATE CONCURRENT PROGRAM AND ATTACH
                        A)EXECUTABLE
                       
            5)CREATE REQUEST GROUP AND ATTACH CONCURRENT PROGRAM
            6)USER SELECT THE RESPONSIBILITY AND GOTO SRS WINDOW,SUBMIT THE REQUEST

13)HOW TO PRINT REQUEST_ID IN THE OUTPUT?

ANS:    P_CONC_REQUEST_ID CAPTURES CONCURRENT PROGRAM REQUEST ID WHEN EVER WE SUBMIT AT SRS             WINDOW.

14)WHAT IS MEANT BY RESPONSIBILITY?

ANS:    THIS IS GROUP OF FORMS,CONCURRENT PROGRAMS,USERS. THIS IS USED FOR POSITION             REQUIREMENTS.


15)WHAT ARE THE THINGS ARE MANDITORY AT THE TIME CREATING RESPONSIBILITY?

ANS:    MANDITORY FIELDS ARE RESPONSIBILITY NAME,APPLICATION,RESPONSIBILITY KEY, DATA GROUP,REQUEST GROUP,MENU

16)WHAT IS MEANT BY DATA GROUP?

ANS:    GROUPS OF USERS.

17)CAN WE DELETE THE RESPONSIBILITY?

ANS:    NO WE CANN'T DELETE..WE CAN DISABLE AND ENABLE THE RESPONSIBILITY USING EFFECTIVE DATES(FROM AND TO)


18)WHAT IS ERRBUF AND RETCODE?

ANS:    ERRBUF:THIS IS ONE OF THE OUT PARAMETER WILL BE USED TO GET ERROR MESSEGES INTO LOG FILE
            RETCODE: THIS PARAMETER RETURNS STATUS OF CONCURRENT PROGRAM
             '0' FOR NORMAL
            '1' FOR WARNING AND '2' FOR ERROR.

19)HOW TO WRITE THE MESSEGE INTO THE OUT PUT FILE FROM PL/SQL PROCEDURE?

ANS:FND_FILE.PUT_LINE()

20)WHAT IS CONTROL FILE? SYNTAX?

ANS:    IT IS SQL LOADER PROGRAM,WE WILL DEVELOP AND EXECUTE AT THE TIME OF DEVELOPMENT, WE WILL SPECIFY DATA FILE PATH, DATABASE           ABLE NAME AND COLUMN MAPPING, WHEN WE EXECUTE THE CONTROL FILE FOLLOWING 3 FILES WILL BE CREATED AUTOMATICALLY.
            3 FILES ARE 1. BAD FILE
                                    DISCARD FILE
                                    LOG FILE
            EXTENSION OF CONTROL FILE IS .CTL.
            SYNTAX: LOAD DATA
                        INFILE 'DATA FILE PATH'
                        INSERT INTO TABLE <DATABASE TABLE NAME>
                        FIELDS TERMINATED BY ',' (COLUMN1,COLUMN2....)

21)WHAT IS THE DIFFERENCE BETWEEN BAD FILE AND DISCARD FILE?

ANS:    BAD FILE IT CONTAINS RECORDS WHICH ARE REJECTED BY THE SQL LOADER, SQL LOADER WILL REJECT RECORDS IF THERE IS ANY DATA TYPE         ISMATCH OR ANY BAD FORMAT. EXTENSION OF BAD FILE IS .BAD

            DISCARD FILE CONTAINS THE RECORDS WHICH ARE REJECTED BY CONTROL FILES,  CONTROL FILE WILL REJECT THE RECORD IF IT CONTAINS ANY     CONDITIONS. EXTENSION OF DISCARD FILE IS .DIS .

22)HOW TO ISSUE COMMIT IN CONTROL FILE?

ANS:    WE CANN'T ISSUE THE COMMIT INSIDE OF THE CONTROL FILE, INSTEAD OF THAT WE WILL USE AUTO COMMIT BY USING 'ROWS COMMAND'.
            IF WE SPECIFY ROWS=10 FOR EVERY 10 RECORDS COMMIT WILL BE EXECUTED.

23)HOW TO INSERT DATA INTO MULTIPLE TABLES AT A TIME?

ANS:    WE ARE CREATING THE TWO OR MORE TABLES.
            BASED ON THE POSITIONS WE HAVE TO WRITE THE PROGRAM.

24)HOW TO PASS THE PARAMETERS TO THE CONTROL FILE?

ANS:    BY USING THE  '&'  EX: &1,&2.....UPTO 100.  WE CANN'T SKIP THE SEQUENCE, WE CANN'T USE ANOTHER USER DEFINED PARAMETERS. SOME            PARAMER VALUES WE CAN USE IN THE MULTIPLE LOCATIONS


25)WHAT IS THE VALUE SET? TYPES OF VALUE SETS?

ANS:    LIST OF VALUES WITH VALIDATION WILL BE USED TO RESTRICT THE USER WITHOUT ENTERING INVALID VALUES.
            THERE ARE 8 SET OF VALUES

            NONE
            INDEPENDENT
            DEPENDENT
            TABLE
            TRANSLATED INDEPENDENT
            TRANSLATED DEPENDENT
            SPECIAL
            PAIR

26)WHAT IS TOKEN?

ANS:    CONCURRENT PROGRAM PARAMETERS MAPPING WITH REPORT BUILDER BIND VARIABLES


27)IS TOKEN IS REQUIRED FOR PROCEDURE PARAMETERS?

ANS:    NOT REQUIRED. IT IS ONLY USED IN REPORT BUILDER BIND VARIABLES MAPPING. REPORT BUILDER BIND VARIABLE MAY OR MAYNOT BE IN      SEQUENCE. WHERE AS IN PROCEDURE PARAMETERS WILL BE IN THE SEQUENCE ORDER, FIRST PARAMETER VALUE WILL BE PASSED TO THE    FIRST VARIABLE...

28)CAN WE DEFINE PARAMETERS FOR LEXICAL PARAMETERS?

ANS:   

29)WHAT ARE THE DEFAULT TYPES WE HAVE?

ANS:    DEFAULT TYPES:         CONSTANT,SQL STATEMENT,SEGMENT,CURRENT DATE, CURRENT TIME.

30)HOW TO MAKE THE PARAMETERS AS MANDITORY OR OPTIONAL?

ANS: WHEN WE ARE DEFINING THE PARAMETERS AT THE TIME WE HAVE TO CHECK THE CHECK BOX CALLED 'REQUIRED' FOR MANDITORY, OTHERWISE    OPTIONAL.

31)HOW TO DISPLAY THE ONE COLUMN DATA TO THE USER AND PASSWORD OTHER COLUMN DATA INTERNALLY?

ANS:

32)HOW TO REGISTER PROGRAM FROM BACKEND?

ANS:    FOR EXECUTABLE

            BEGIN
            FND_PROGRAM.EXECUTABLE('EXECUTABLE NAME','APPLICATION NAME','SHORT NAME','DESCRIPTION','EXECUTION METHOD','EXECUTION FILE          NAME','','','US','');
            COMMIT;
            END;

33)HOW TO SUBMIT CONCURRENT PROGRAM FORM BACKEND?

ANS:    DECLARE
            L_REQUEST_ID NUMBER(8);
            BEGIN
            FND_GLOBAL.APPS_INITIALIZE(USER_ID,RESP_ID,RESP_APPL_ID);
            L_REQUEST_ID:=FND_REQUEST.SUBMIT_REQUEST('APPLICATION NAME',
                                                                                    'CONCURRENT PROGRAM NAME'
                                                                                    'DESCRIPTION'
                                                                                    'STARTING TIME DEFAULT NULL',
                                                                                    'SUB REQUEST DEFAULT FALSE'
                                                                                    PARAMETER1,PARAMETER2......);
            COMMIT;
            IF L_REQUEST_ID!=0 THEN
            FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'PROGRAM SUCCESSFULLY COMPLETED');
            ELSE
            FND_FILE.PUT_LINE(FND_FILE.LOG,'PROGRAM NOT SUCCESSFULLY COMPLETED');
            END IF;
            EXCEPTION
            WHEN OTHERS THEN
            FND_FILE.PUT_LINE(FND_FILE.LOG,'ERROR OCCURED AT THE TIME OF SUBMISSION');
            END;

34)DO U NEED TO ISSUE THE COMMIT STATEMENT AFTER CALLING CONCURRENT PROGRAM?

ANS:   

35)WHAT ARE THE TYPES OF PO'S WE HAVE?

ANS:    1.BLANKET PUCHASE AGREEMENT
            2.CONTRACT PURCHASE AGREEMENT
            3.PLANNED PURCHASE ORDER
            4.STANDARD PURCHASE ORDER

36)WHAT ARE THE MATCH APPROVALS WE HAVE?

ANS:    AT THE TIME OF CREATING PURCHASE ORDER WE WILL SPECIFY THE MATCH APPROVAL AT SHIPPMENT             LEVEL IN THE MORE TAB.
            THE MATCH APPORVALS ARE:
            2-WAY---PO, INVOICE
            3-WAY---PO, RECEIPT,INVOICE
            4-WAY---PO, RECEIPT,INSPECTION,INVOICE


37)WHERE THE ITEM NAME WILL BE STORED?

ANS:    CREATED ITEM CAN BE AVAILABLE IN THE TABLE 'MTL_SYSTEM_ITEMS_B'.. ITEM NAME WILL BE STORED IN 'SEGMENT1' COLUMN.

38)WHAT ARE THE LEVELS WE HAVE IN PURCHASE ORDERS FORM?

ANS:    THERE ARE 4 LEVELS

            HEADERS
            LINES
            SHIPPMENTS
            DISTRIBUTIONS

39)WHAT ARE THE PO MAIN TABLES? LIKE REQUISITION,RFQ,PO,RECEIPT,SUPPLIER TABLES?

ANS:    PO MAIN TABLES ARE
           
            PO_HEADERS_ALL
            PO_VENDORS
            PO_VENDOR_SITES_ALL
            PO_VENDOR_CONTACTS

            REQUISITION,RFQ,PO THESE ROWS WILL APPEARED IN        'SELECT TYPE_LOOKUP_CODE FROM PO_HEADERS_ALL'
            SUPPLIERS WILL BE AVAILABLE IN 'SELECT VENDOR_NAME FROM PO_VENDORS'
            RECEIPT WILL BE AVILABLE IN 'SELECT RECEIPT_NUM FROM RCV_SHIPMENT_HEADERS'

40)WHAT IS AUTO CREATE?

ANS:    THIS IS ONE OF THE PURCHASING APPLICATION FEATURE WILL BE USED TO CREATE RFQ DOCUMENTS AUTOMATICALLY BASED         ON REQUISATION NUMBER.

41)WHAT ARE THINGS WE HAVE TO SPECIFY IN TERMS AND CONDITIONS?

ANS:    TERMS & CONDITIONS ARE
            PAYMENT,FREIGHT,CARRIER,FOB(FOOT ON BOARD),PAY ON

42)WHAT IS THE DIFFERENCE BETWEEN STANDARD AND BLANKET PO?

ANS:    STANDARD PURCHASE ORDER TYPE WILL BE CREATED FOR THE MOST OF THE ITEMS.
            IT INCLUDES TERMS&CONDITIONS, ITEMS,PRICE AND QUANTITY...
                       
            BLANKET AGREEMENT CONTAINS TERMS& CONDITIONS AND GOODS PRICE MAY OR MAYNOT BE AVAILABLE AT THE TIME OF           RELEASING THE AGREEMENT WE WILL SPECIFY THE            QUANTITY & PRICE OTHER DETAILS.

43)WHERE THE BLANKET PO DATA WILL BE STORED?

ANS:    EG:      SELECT *FROM PO_HEADERS_ALL WHERE SEGMENT1=501

                        SELECT *FROM PO_HEADERS_ALL WHERE PO_HEADER_ID=61

44)HOW TO FIND THE PO DETAILS, IF WE GIVE THE REQUISITION NUMBER?

ANS:   

45)HOW TO FIND THE RECEIPT NUMBER, WE GIVE PO NUMBER?

ANS:    SELECT RECEIPT_NUM
            FROM RCV_SHIPMENT_HEADERS
            WHERE SHIPMENT_HEADER_ID
                        IN
                        (SELECT SHIPMENT_HEADER_ID
                        FROM RCV_SHIPMENT_LINES
                        WHERE PO_HEADER_ID
                                    IN
                                    (SELECT PO_HEADER_ID
                                    FROM PO_HEADERS_ALL
                                    WHERE SEGMENT1='3482'))

46)WHAT ARE THE RECEIPT TABLES AND AS WELL AS RECEIPT TYPES?

ANS:    RECEIPT TABLES ARE

            RCV_SHIPMENT_HEADERS
            RCV_SHIPMENT_LINES
            RCV_TRANSACTIONS  




47)IN THE SAME TABLE RFQ,QUOTATIONS,PO DATA WILL BE STORED.THEN HOW TO IDENTIFY THE INFORMATION WETHER IT IS RFQ DATA OR QUOTAION DATA OR PO DATA?

ANS:    WE HAVE TO FIND THE ABOVE DATA THROUGH 'TYPE_LOOKUP_CODE' COLUMN IN PO_HEADERS_ALL TABLE.

48)WHAT IS THE FLOW OF ORACLE PURCHASING APPLICATION?

ANS:

49)IS ITEM FIELD IS MANDITORY IN PO FORM?

ANS: MANDITARY...WITH OUT ITEM NAME WE WILL NOT SPECIFY THE CATEGORY...

50)WHERE SHIPTO BILL TO DATA WILL BE STORED?

ANS:    HR_LOCATIONS

51)WHY WHILE CREATION OF EXECUTABLE,WE ARE GIVEN THE APPLICATION NAME AND ALSO AT THE TIME OF CREATING THE CONCURRENT PROGRAM, WE ARE GIVING APPLICATION NAME, WHAT IS THE DIFFERENCE BETWEEN THESE TWO?

ANS: AT THE TIME OF CREATING CONCURRENT PROGRAM, WE HAVE COPY THE EXECUTABLE FILE INTO THE APPLICATION TOP LIKE PO,INV. THATS WHY WE HAVE TO GIVE APPLICATION NAME IN EXECUTABLE,CONCURRENT PROGRAM CREATION.

Thursday, 25 August 2011

R12:How MOAC enviornment is setup programmatically

Interfaces and Conversions

Interface/Conversion examples and details:
The below list of interfaces/conversions are covered in this section. Details like pre-requisites required, interface tables, interface program, base tables, validations that need to be performed after inserting the details into the interface tables and required columns that need to be populated in the interface table are discussed for each interface.
·         Order Import Interface (Sales Order Conversion)
·         Item import (Item conversion)
·         Inventory On-hand quantity Interface
·         Customer conversion
·         Auto Invoice Interface
·         AR Receipts
·         Lockbox Interface
·         AP Invoices
·         Vendor
·         Purchase Orders
·         Requisition
·         Receiving
·         Journal import
·         Budget import
·         Daily Conversion Rates 
  • Order Import Interface (Sales Order Conversion)
Order Import enables you to import Sales Orders into Oracle Applications instead of manually entering them.
Pre-requisites:
Order Type
Line Type
Items
Customers
Ship Method/ Freight Carrier
Sales Person
Sales Territories
Customer Order Holds
Sub Inventory/ Locations
On hand Quantity



Interface tables:
o   OE_HEADERS_IFACE_ALL
o   OE_LINES_IFACE_ALL
o   OE_ACTIONS_IFACE_ALL
o   OE_ORDER_CUST_IFACE_ALL
o   OE_PRICE_ADJS_IFACE_ALL
o   OE_PRICE_ATTS_IFACE_ALL

Base tables:
·         OE_ORDER_HEADERS_ALL
·         OE_ORDER_LINES_ALL

Pricing tables:    QP_PRICING_ATTRIBUTES
 Concurrent Program:
Order Import
Validations:
·         Check for sold_to_org_id. If does not exist, create new customer by calling      create_new_cust_info API.
·         Check for sales_rep_id. Should exist for a booked order.
·         Ordered_date should exist (header level)
·         Delivery_lead_time should exist (line level)
·         Earliest_acceptable_date should exist.
·         Freight_terms should exist

Notes:
During import of orders, shipping tables are not populated.
1.      If importing customers together with the order, OE_ORDER_CUST_IFACE_ALL has to be populated and the base tables are HZ_PARTIES, HZ_LOCATIONS.
Orders can be categorized based on their status:
·         Entered orders
·         Booked orders
·         Closed orders
Order Import API OE_ORDER_PUB.GET_ORDER and PROCESS_ORDER can also be used to import orders.

Some important columns that need to populated in the interface tables:
OE_HEADERS_IFACE_ALL:
·         ORIG_SYS_DOCUMENT_REF
·         ORDER_SOURCE
·         CONVERSION_RATE
·         ORG_ID
·         ORDER_TYPE_ID
·         PRICE_LIST
·         SOLD_FROM_ORG_ID
·         SOLD_TO_ORG_ID
·         SHIP_TO_ORG_ID
·         SHIP_FROM_ORG_ID
·         CUSTOMER_NAME
·         INVOICE_TO_ORG_ID
·         OPERATION_CODE
OE_LINES_IFACE_ALL:
·         ORDER_SOURCE_ID
·         ORIG_SYS_DOCUMENT_REF
·         ORIG_SYS_LINE_REF
·         ORIG_SYS_SHIPMENT_REF
·         INVENTORY_ITEM_ID
·         LINK_TO_LINE_REF
·         REQUEST_DATE
·         DELIVERY_LEAD_TIME
·         DELIVERY_ID
·         ORDERED_QUANTITY
·         ORDER_QUANTITY_UOM
·         SHIPPING_QUANTITY
·         PRICING_QUANTITY
·         PRICING_QUANTITY_UOM
·         SOLD_FROM_ORG_ID
·         SOLD_TO_ORG_ID
·         INVOICE_TO_ ORG_ID
·         SHIP_TO_ORG_ID
·         PRICE_LIST_ID
·         PAYMENT_TERM_ID


  • Item import (Item conversion): The Item Interface lets you import items into Oracle Inventory.
Pre-requisites:
·         Creating an Organization
·         Code Combinations
·         Templates
·         Defining Item Status Codes
·         Defining Item Types

Interface tables:
·         MTL_SYSTEM_ITEMS_INTERFACE
·         MTL_ITEM_REVISIONS_INTERFACE (If importing revisions)
·         MTL_ITEM_CATEGORIES_INTERFACE (If importing categories)
·         MTL_INTERFACE_ERRORS (View errors after import)

Concurrent Program:
Item import
            In the item import parameters form, for the parameter ‘set process id’, specify the ‘set process id’ value given in the mtl_item_categories_interface table. The parameter ‘Create or Update’ can have any value. Through the import process, we can only create item category assignment(s). Updating or Deletion of item category assignment is not supported.

Base tables:
o   MTL_SYSTEM_ITEMS_B
o   MTL_ITEM_REVISIONS_B
o   MTL_CATEGORIES_B
o   MTL_CATEGORY_SETS_B
o   MTL_ITEM_STATUS
o   MTL_ITEM_TEMPLATES
Validations:
·         Check for valid item type.
·         Check for valid part_id/segment of the source table.
·         Validate part_id/segment1 for master org.
·         Validate and translate template id of the source table.
·         Check for valid template id. (Attributes are already set for items, default attributes for
·         that template, i.e., purchasable, stockable, etc)
·         Check for valid item status.
·         Validate primary uom of the source table.
·         Validate attribute values.
·         Validate other UOMs of the source table.
·         Check for unique item type. Discard the item, if part has non-unique item type.
·         Check for description, inv_um uniqueness
·         Validate organization id.
·         Load master records and category records only if all validations are passed.
·         Load child record if no error found.

Some important columns that need to populated in the interface tables:
MTL_SYSTEM_ITEMS_INTERFACE:
PROCESS_FLAG = 1 (1= Pending, 2= Assign Complete,
3= Assign/Validation Failed, 4= Validation succeeded; Import failed, 5 = Import in Process,
7 = Import succeeded)
TRANSACTION_TYPE = ‘CREATE’, ‘UPDATE’
SET_PROCESS_ID = 1
ORGANIZATION_ID
DESCRIPTION
ITEM_NUMBER and/or SEGMENT (n)
MATERIAL_COST
REVISION
TEMPLATE_ID
SUMMARY_FLAG
ENABLED_FLAG
PURCHASING_ITEM_FLAG
SALES_ACCOUNT (defaulted from]
MTL_PARAMETERS.SALES_ACCOUNT)
COST_OF_SALES_ACCOUNT (defaulted from MTL_PARAMETERS.
COST_OF_SALES_ACCOUNT)

MTL_ITEM_CATEGORIES_INTERFACE:
 INVENTORY_ITEM_ID or ITEM_NUMBER.
ORGANIZATION_ID or ORGANIZATION_CODE or both.
            TRANSACTION_TYPE = ‘CREATE’ (‘UPDATE’ or ‘DELETE’ is not
possible through Item Import).
CATEGORY_SET_ID or CATEGORY_SET_NAME or both.
CATEGORY_ID or CATEGORY_NAME or both.
PROCESS_FLAG = 1
SET_PROCESS_ID (The item and category interface records should have the
same set_process_id, if you are importing item and category assignment together)

MTL_ITEM_REVISIONS_INTERFACE:
·         INVENTORY_ITEM_ID or ITEM_NUMBER (Must match the item_number in mtl_system_items_interface table)
§  ORGANIZATION_ID or ORGANIZATION_CODE or both
§  REVISION
§  CHANGE_NOTICE
§  ECN_INITIATION_DATE
§  IMPLEMENTATION_DATE
§  IMPLEMENTED_SERIAL_NUMBER
§  EFFECTIVITY_DATE
§  ATTRIBUTE_CATEGORY
§  ATTRIBUTEn
§  REVISED_ITEM_SEQUENCE_ID
§  DESCRIPTION
·         PROCESS_FLAG = 1
·         TRANSACTION_TYPE = ‘CREATE’
·         SET_PROCESS_ID = 1
§  Each row in the mtl_item_revisions_interface table must have the REVISION
§  and EFFECTIVITY_DATE in alphabetical (ASCII sort) and chronological
order.

  • Inventory On-hand quantity Interface
This interface lets you import the on hand inventory into Oracle.
Interface tables:
MTL_TRANSACTIONS_INTERFACE
MTL_MTL_TRANSACTION_LOTS_INTERFACE (If the item is Lot controlled)
MTL_SERIAL_NUMBERS_INTERFACE (If the item is Serial controlled)

Concurrent Program:
Launch the Transaction Manager through Interface Manager or explicitly call the API – INV_TXN_MANAGER_PUB.PROCESS_TRANSACTIONS () to launch a dedicated transaction worker to process them.
The Transaction Manager picks up the rows to process based on the LOCK_FLAG, TRANSACTION_MODE, and PROCESS_FLAG. Only records with TRANSACTION_MODE of 3, LOCK_FLAG of ’2′, and PROCESS_FLAG of ’1′ will be picked up by the Transaction Manager and assigned to a Transaction Worker. If a record fails to process completely, then PROCESS_FLAG will be set to ’3′ and ERROR_CODE and ERROR_EXPLANATION will be populated with the cause for the error.
Base Tables:
MTL_ON_HAND_QUANTITIES
MTL_LOT_NUMBERS
MTL_SERIAL_NUMBERS

Validations:
Validate organization_id
Check if item is assigned to organization
Validate disposition_id
Check if the item for the org is lot controlled before inserting into the Lots interface table.
Check if the item for the org is serial controlled before inserting into Serial interface table.
Check if inventory already exists for that item in that org and for a lot.
Validate organization_id, organization_code.
Validate inventory item id.
Transaction period must be open.

Some important columns that need to be populated in the interface tables:
MTL_TRANSACTIONS_INTERFACE:
TRANSACTION_SOURCE_NAME (ANY USER DEFINED VALUE),
TRANSACTION_HEADER_ID (MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL)
TRANSACTION_INTERFACE_ID (MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL – If item is lot or serial controlled, use this field to link to mtl_transactions_interface otherwise leave it as NULL),
TRANSACTION_DATE,
TRANSACTION_TYPE_ID,
PROCESS_FLAG (1 = Yet to be processed, 2 = Processed, 3= Error)
TRANSACTION_MODE (2 = Concurrent – to launch a dedicated transaction worker
to explicitly process a set of transactions.
3 = Background – will be picked up by transaction manager
polling process and assigned to transaction
worker. These will not be picked up until the
transaction manager is running)
SOURCE_CODE,
SOURCE_HEADER_ID,
SOURCE_LINE_ID (Details about the source like Order Entry etc for tracking purposes)
TRANSACTION_SOURCE_ID

Source Type
Foreign Key Reference
Account
GL_CODE_COMBINATIONS.CODE_COMBINATION_ID
Account Alias
MTL_GENERIC_DISPOSITIONS.DISPOSITION_ID
Job or schedule
WIP_ENTITIES.WIP_ENTITY_ID
Sales Order
MTL_SALES_ORDERS.SALES_ORDER_ID

ITEM_SEGMENT1 TO 20,
TRANSACTION_QTY,
TRANSACTION_UOM,
SUBINVENTORY_CODE,
ORGANIZATION_ID,
LOC_SEGMENT1 TO 20.

MTL_TRANSACTION_LOTS_INTERFACE:
TRANSACTION_INTERFACE_ID,
LOT_NUMBER,
LOT_EXPIRATION_DATE,
TRANSACTION_QUANTITY,
SERIAL_TRANSACTION_TEMP_ID (This is required for items under both lot and serial control to identify child records in mtl_serial_numbers_interface)

MTL_SERIAL_NUMBERS_INTERFACE:
TRANSACTION_INTERFACE_ID,
FM_SERIAL_NUMBER,
TO_SERIAL_NUMBER,
VENDOR_SERIAL_NUMBER

  • Customer conversion
Customer Interface helps you create customers in Oracle Applications.
Interface tables:
RA_CUSTOMERS_INTERFACE_ALL
RA_CUSTOMER_PROFILES_INT_ALL
RA_CONTACT_PHONES_INT_ALL
RA_CUSTOMER_BANKS_INT_ALL
RA_CUST_PAY_METHOD_INT_ALL

Base tables:
RA_CUSTOMERS
RA_ADDRESSES_ALL
RA_CUSTOMER_RELATIONSHIPS_ALL
RA_SITE_USES_ALL

Concurrent program:
Customer Interface
Validations:
Check if legacy values fetched are valid.
Check if customer address site is already created.
Check if customer site use is already created.
Check is customer header is already created.
Check whether the ship_to_site has associated bill_to_site
Check whether associated bill_to_site is created or not.
Profile amounts validation:
Validate cust_account_id, validate customer status.
Check if the location already exists in HZ_LOCATIONS. If does not exist, create new location.

Some important columns that need to be populated in the interface tables:
RA_CUSTOMERS_INTERFACE_ALL:
ORIG_SYSTEM_CUSTOMER_REF
SITE_USE_CODE
ORIG_SYSTEM_ADDRESS_REF
INSERT_UPDATE_FLAG (I = Insert, U = Update)
CUSTOMER_NAME
CUSTOMER_NUMBER
CUSTOMER_STATUS
PRIMARY_SITE_USE_FLAG
LOCATION
ADDRESS1
ADDRESS2
ADDRESS3
ADDRESS4
CITY
STATE
PROVINCE
COUNTY
POSTAL_CODE
COUNTRY
CUSTOMER_ATTRIBUTE1
CUSTOMER_ATTRIBUTE2
CUSTOMER_ATTRIBUTE3
CUSTOMER_ATTRIBUTE4
CUSTOMER_ATTRIBUTE5
LAST_UPDATED_BY
LAST_UPDATE_DATE
CREATED_BY
CREATION_DATE
ORG_ID
CUSTOMER_NAME_PHONETIC

RA_CUSTOMER_PROFILES_INT_ALL:
INSERT_UPDATE_FLAG
ORIG_SYSTEM_CUSTOMER_REF
ORIG_SYSTEM_ADDRESS_REF
CUSTOMER_PROFILE_CLASS_NAME
CREDIT_HOLD
LAST_UPDATED_BY
LAST_UPDATE_DATE
CREATION_DATE
CREATED_BY
ORG_ID

RA_CONTACT_PHONES_INT_ALL:
ORIG_SYSTEM_CONTACT_REF
ORIG_SYSTEM_TELEPHONE_REF
ORIG_SYSTEM_CUSTOMER_REF
ORIG_SYSTEM_ADDRESS_REF
INSERT_UPDATE_FLAG
CONTACT_FIRST_NAME
CONTACT_LAST_NAME
CONTACT_TITLE
CONTACT_JOB_TITLE
TELEPHONE
TELEPHONE_EXTENSION
TELEPHONE_TYPE
TELEPHONE_AREA_CODE
LAST_UPDATE_DATE
LAST_UPDATED_BY
LAST_UPDATE_LOGIN
CREATION_DATE
CREATED_BY
EMAIL_ADDRESS
ORG_ID

  • Customer API
Trading Community Architecture (TCA) is an architecture concept designed to support complex
trading communities. These APIs utilize the new TCA model, inserting directly to the HZ tables.

API Details:
1.      Set the organization id
Exec dbms_application_info.set_client_info(’204′);
2.      Create a party and an account
HZ_CUST_ACCOUNT_V2PUB.CREATE_CUST_ACCOUNT()
HZ_CUST_ACCOUNT_V2PUB.CUST_ACCOUNT_REC_TYPE
HZ_PARTY_V2PUB.ORGANIZATION_REC_TYPE
HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE

3.      Create a physical location
HZ_LOCATION_V2PUB.CREATE_LOCATION()
HZ_LOCATION_V2PUB.LOCATION_REC_TYPE

4.      Create a party site using party_id you get from step 2 and location_id from step 3.
HZ_PARTY_SITE_V2PUB.CREATE_PARTY_SITE()
HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE

5.      Create an account site using account_id you get from step 2 and party_site_id from step 4.
HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_ACCT_SITE()
HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_ACCT_SITE_REC_TYPE

6.      Create an account site use using cust_acct_site_id you get from step 5 ans site_use_code = ‘BILL_TO’.
HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_SITE_USE()
HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_SITE_USE_REC_TYPE
HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE

Base table:
HZ_PARTIES
HZ_PARTY_SITES
HZ_LOCATIONS
HZ_CUST_ACCOUNTS
HZ_CUST_SITE_USES_ALL
HZ_CUST_ACCT_SITES_ALL
HZ_PARTY_SITE_USES

Validations:
Check if legacy values fetched are valid.
Check if customer address site is already created.
Check if customer site use is already created.
Check is customer header is already created.
Check whether the ship_to_site has associated bill_to_site
Check whether associated bill_to_site is created or not.
Profile amounts validation:
Validate cust_account_id, validate customer status.
Check if the location already exists in HZ_LOCATIONS. If does not exist, create new location.

For detailed explanation refer to the below article:


  • Auto Invoice interface
This interface is used to import Customer invoices, Credit memos, Debit memos and On Account credits.
Pre-requisites:
Set of Books
Code combinations
Items
Sales representatives
Customers
Sales Tax rate
Payment Terms
Transaction Types
Freight Carriers
FOB
Batch Sources
Accounting Rules

Interface tables:
RA_INTERFACE_LINES_ALL
RA_INTERFACE_SALESCREDITS
RA_INTERFACE_DISTRIBUTIONS
RA_INTERFACE_ERRORS (details about the failed records)

Base tables:
RA_BATCHES
RA_CUSTOMER_TRX_ALL
RA_CUSTOMER_TRX_LINES_ALL
AR_PAYMENT_SCHEDULES_ALL     RA_CUSTOMER_TRX_LINE_SALESREPS
RA_CUST_TRX_GL_DIST_ALL
RA_CUSTOMER_TRX_TYPES_ALL

Concurrent Program:
Auto invoice master program
Validations:
Check for amount, batch source name, conversion rate, conversion type.
Validate orig_system_bill_customer_id, orig_system_bill_address_id, quantity.
Validate if the amount includes tax flag.

Some important columns that need to be populated in the interface tables:
RA_INTERFACE_LINES_ALL:
AGREEMENT_ID
COMMENTS
CONVERSION_DATE
CONVERSION_RATE
CONVERSION_TYPE
CREDIT_METHOD_FOR_ACCT_RULE
CREDIT_METHOD_FOR_INSTALLMENTS
CURRENCY_CODE
CUSTOMER_BANK_ACCOUNT_ID
CUST_TRX_TYPE_ID
DOCUMENT_NUMBER
DOCUMENT_NUMBER_SEQUENCE_ID
GL_DATE
HEADER_ATTRIBUTE1–15
HEADER_ATTRIBUTE_CATEGORY
INITIAL_CUSTOMER_TRX_ID
INTERNAL_NOTES
INVOICING_RULE_ID
ORIG_SYSTEM_BILL_ADDRESS_ID
ORIG_SYSTEM_BILL_CONTACT_ID
ORIG_SYSTEM_BILL_CUSTOMER_ID
ORIG_SYSTEM_SHIP_ADDRESS_ID
ORIG_SYSTEM_SHIP_CONTACT_ID
ORIG_SYSTEM_SHIP_CUSTOMER_ID
ORIG_SYSTEM_SOLD_CUSTOMER_ID
ORIG_SYSTEM_BATCH_NAME
PAYMENT_SERVER_ORDER_ID
PREVIOUS_CUSTOMER_TRX_ID
PRIMARY_SALESREP_ID
PRINTING_OPTION
PURCHASE_ORDER
PURCHASE_ORDER_DATE
PURCHASE_ORDER_REVISION
REASON_CODE
RECEIPT_METHOD_ID
RELATED_CUSTOMER_TRX_ID
SET_OF_BOOKS_ID
TERM_ID
TERRITORY_ID
TRX_DATE
TRX_NUMBER

  • Receipt API
To bring in Unapplied Receipts and Conversion Receipts for Open Debit items to reduce the balance to the original amount due.
Pre-requisites:
Set of Books
Code combinations
Items
Quick Codes
Sales representatives
Customers
Sales Tax rate

API:
AR_RECEIPT_API_PUB.CREATE_CASH
AR_RECEIPT_API_PUB.CREATE_AND_APPLY

Base tables:
AR_CASH_RECEIPTS
Validations:
Check the currency and the exchange rate type to assign the exchange rate.
Validate bill to the customer.
Get bill to site use id.
Get the customer trx id for this particular transaction number.
Get payment schedule date for the customer trx id.

  • Lockbox interface
AutoLockbox lets us automatically process receipts that are sent directly to the bank instead of manually feeding them in Oracle Receivables.
AutoLockbox is a three step process:
1. Import: During this step, Lockbox reads and formats the data from your bank file
into interface table AR_PAYMENTS_INTERFACE_ALL using a SQL *Loader
script.
2. Validation: The validation program checks data in this interface table for
compatibility with Receivables. Once validated, the data is transferred into
QuickCash tables (AR_INTERIM_CASH_RECEIPTS_ALL and
AR_INTERIM_CASH_RCPT_LINES_ALL).
3. Post QuickCash: This step applies the receipts and updates your customer’s
balances.

Pre-Requisites:
Banks
Receipt Class
Payment Method
Receipt Source
Lockbox
Transmission format
AutoCash Rule sets

Interface tables:
AR_PAYMENTS_INTERFACE_ALL (Import
data from bank file)
AR_INTERIM_CASH_RECEIPTS_ALL
AR_INTERIM_CASH_RCPT_LINES_ALL (Validate data in interface table and place in quick cash tables)

Base Tables:
AR_CASH_RECEIPTS
AR_RECEIVABLES_APPLICATIONS
AR_ADJUSTMENTS
AR_DISTRIBUTIONS_ALL
AR_PAYMENT_SCHEDULES_ALL

Concurrent program:
Lockbox

Validations:
Check for valid record type, transmission record id.
Validate sum of the payments within the transmission.
Identify the lockbox number (no given by a bank to identify a lockbox).

Some important columns that need to be populated in the interface tables:
AR_PAYMENTS_INTERFACE_ALL:
STATUS
RECORD_TYPE
LOCKBOX_NUMBER
BATCH_NAME
TRANSIT_ROUTING_NUMBER
ACCOUNT
CHECK_NUMBER
REMITTANCE_AMOUNT
DEPOSIT_DATE
ITEM_NUMBER
CURRENCY_CODE
DEPOSIT_TIME

  • AP invoice interface
This interface helps us to import vendor invoices into Oracle applications from external systems into Oracle Applications.
Pre-requisites:
Set of Books
Code combinations
Employees
Lookups

Interface tables:
AP_INVOICES_INTERFACE
AP_INVOICE_LINES_INTERFACE


Base tables:
AP_INVOICES_ALL – header information
AP_INVOICE_DISTRIBUTIONS_ALL – lines info

Concurrent program:
Payables Open Interface Import

Validations:
Check for valid vendor
Check for Source, Location, org_id, currency_code’s validity
Check for valid vendor site code.
Check if record already exists in payables interface table.

Some important columns that need to be populated in the interface tables:
AP_INVOICES_INTERFACE:
INVOICE_ID
INVOICE_NUM
INVOICE_DATE
VENDOR_NUM
VENDOR_SITE_ID
INVOICE_AMOUNT
INVOICE_CURRENCY_CODE
EXCHANGE_RATE
EXCHANGE_RATE_TYPE
EXCHANGE_DATE
DESCRIPTION
SOURCE
PO_NUMBER
PAYMENT_METHOD_LOOKUP_CODE
PAY_GROUP_LOOKUP_CODE
ATTRIBUTE1 TO 15
ORG_ID

AP_INVOICE_LINES_INTERFACE:

INVOICE_ID
INVOICE_LINE_ID
LINE_TYPE_LOOKUP_CODE
AMOUNT
DESCRIPTION
TAX_CODE
PO_NUMBER
PO_LINE_NUMBER
PO_SHIPMENT_NUM
PO_DISTRIBUTION_NUM
PO_UNIT_OF_MEASURE
QUANTITY_INVOICED
DIST_CODE_CONCATENATED
DIST_CODE_COMBINATION_ID
ATTRIBUTE1
ATTRIBUTE2
ATTRIBUTE3
ATTRIBUTE4
ATTRIBUTE5
ORG_ID

  • Vendor conversion/interface
This interface is used to import suppliers, supplier sites and site contacts into Oracle applications.

Pre-requisites setup’s required:
Payment terms
Pay Groups
CCID
Supplier classifications
Bank Accounts
Employees (if employees have to set up as vendors)

Interface tables:
AP_SUPPLIERS_INT
AP_SUPPLIER_SITES_INT
AP_SUP_SITE_CONTACT_INT

Base Tables:
PO_VENDORS
PO_VENDOR_SITES_ALL
PO_VENDOR_CONTACTS

Interface programs:
Supplier Open Interface Import
Supplier Sites Open Interface Import
Supplier Site Contacts Open Interface Import

Validations:
Check if vendor already exists
Check if vendor site already exists
Check if site contact already exists
Check if term is defined.

Some important columns that need to be populated in the interface tables:
AP_SUPPLIERS_INT:
VENDOR_NUMBER, VENDOR_NAME, VENDOR_TYPE, STATE_REPORTABLE, FED_REPORTABLE, NUM_1099, TYPE_1099, PAY_GROUP_LOOKUP_CODE, VENDOR_ID is auto generated.

AP_SUPPLIER_SITES_INT:
VENDOR_SITE_ID, ORG_ID, VENDOR_SITE_CODE, INACTIVE_DATE, PAY_SITE, PURCHASING_SITE, SITE_PAYMENT_TERM, ADDRESS1, ADDRESS2.ADDRESS3, CITY, STATE, COUNTRY, ZIP, PH_NUM, FAX_NUMBER, TAX_REPORTING_SITE_FLAG.

AP_SUP_SITE_CONTACTS_INT:
VENDOR_ID, VENDOR_SITE_ID, FIRST_NAME, LAST_NAME, AREA_CODE, PHONE, EMAIL, ORG_ID


  • Purchase Order conversion:
The Purchasing Document Open Interface concurrent program was replaced by two new concurrent programs Import Price Catalogs and Import Standard Purchase Orders. Import Price Catalogs concurrent program is used to import Catalog Quotations, Standard Quotations, and Blanket Purchase Agreements. Import Standard Purchase Orders concurrent program is used to import Unapproved or Approved Standard Purchase Orders.
Import Standard Purchase Orders
Pre-requisites:
Suppliers, sites and contacts
Buyers
Line Types
Items
PO Charge account setup

Interface Tables:
PO_HEADERS_INTERFACE
PO_LINES_INTERFACE
PO_DISTRIBUTIONS_INTERFACE
PO_INTERFACE_ERRORS (Fallouts)

Interface Program:
Import Standard Purchase Orders.

Base Tables:
PO_HEADERS_ALL
PO_LINES_ALL
PO_DISTRIBUTIONS_ALL
PO_LINE_LOCATIONS_ALL

Validations:
Header:
Check if OU name is valid
Check if Supplier is valid
Check if Supplier site is valid
Check if buyer is valid
Check if Payment term is valid
Check if Bill to and ship to are valid
Check if FOB, freight terms are valid

Lines:
Check if Line_type, ship_to_org, item, uom, ship_to_location_id, requestor, charge_account, deliver_to_location are valid

General:
Check for duplicate records in interface tables
Check if the record already exists in base tables.

Some important columns that need to be populated in the interface tables:

PO_HEADERS_INTERFACE:
INTERFACE_HEADER_ID (PO_HEADERS_INTERFACE_S.NEXTVAL), BATCH_ID, ORG_ID, INTERFACE_SOURCE_CODE, ACTION (‘ORIGINAL’,'UPDATE’,'REPLACE’), GROUP_CODE, DOCUMENT_TYPE_CODE, PO_HEADER_ID (NULL), RELEASE_ID, RELEASE_NUM, CURRENCY_CODE, RATE, AGENT_NAME, VENDOR_ID, VENDOR_SITE_ID, SHIP_TO_LOCATION, BILL_TO_LOCATION, PAYMENT_TERMS

PO_LINES_INTERFACE:
INTERFACE_LINE_ID, INTERFACE_HEADER_ID, LINE_NUM, SHIPMENT_NUM, ITEM, REQUISITION_LINE_ID, UOM, UNIT_PRICE, FREIGHT_TERMS, FOB

PO_DISTRIBUTIONS_INTERFACE:
INTERFACE_LINE_ID, INTERFACE_HEADER_ID, INTERFACE_DISTRIBUTION_ID, DISTRIBUTION_NUM, QUANTITY_ORDERED, QTY_DELIVERED, QTY_BILLED, QTY_CANCELLED, DELIVER_TO_LOCATION_ID, DELIVER_TO_PERSON_ID, SET_OF_BOOKS, CHARGE_ACCT, AMOUNT_BILLED.

Import Blanket Purchase Agreements:
Interface Tables:
PO_HEADERS_INTERFACE
PO_LINES_INTERFACE

Interface program:
Import Price Catalogs

Base tables:
PO_HEADERS_ALL
PO_LINES_ALL
PO_LINE_LOCATIONS_ALL

Example:
Suppose you want to create a blanket with one line and two price breaks and the details for the price break are as below:
1) Quantity = 500, price = 10, effective date from ’01-JAN-2006′ to
’31-JUN-2006′
2) Quantity = 500, price = 11, effective date from ’01-JUL-2006′ to
’01-JAN-2007′
To create the above the BPA, you would create ONE record in PO_HEADERS_INTERFACE and THREE records in PO_LINES_INTERFACE
LINE1: It will have only the line information. LINE NUM would be 1.

LINE2: For the first Price Break details, LINE NUM will be the same as above i.e. 1. SHIPMENT_NUM would be 1 and SHIPMENT_TYPE would be ‘PRICE BREAK’

LINE3: For the second Price Break details, LINE NUM will be the same as above i.e. 1. SHIPMENT_NUM would be 2 and SHIPMENT_TYPE would be ‘PRICE BREAK’

All the line-level records above must have the same INTERFACE_HEADER_ID.
For detailed explanation refer to the below article:
http://www.erpschools.com/Apps/oracle-applications/articles/financials/Purchasing/Import-Blanket-Purchase-Agreements/index.aspx


  • Requisition import
You can automatically import requisitions into Oracle Applications using the Requisitions Open Interface
Pre-requisites:
Set of Books
Code combinations
Employees
Items
Define a Requisition Import Group-By method in the Default region of the Purchasing
Options window.
Associate a customer with your deliver-to location using the Customer Addresses
window for internally sourced requisitions.

Interface tables:
PO_REQUISITIONS_INTERFACE_ALL
PO_REQ_DIST_INTERFACE_ALL    

Base tables:
PO_REQUISITIONS_HEADERS_ALL
PO_REQUISITION_LINES_ALL
PO_REQ_DISTRIBUTIONS_ALL

Concurrent program:
REQUISITION IMPORT

Validations:
Check for interface transaction source code, requisition destination type.
Check for quantity ordered, authorization status type.

Some important columns that need to be populated in the interface tables:
PO_REQUISITIONS_INTERFACE_ALL:
INTERFACE_SOURCE_CODE (to identify the source of your imported
Requisitions)
DESTINATION_TYPE_CODE
AUTHORIZATION_STATUS
PREPARER_ID or PREPARER_NAME
QUANTITY
CHARGE_ACCOUNT_ID or charge account segment values
DESTINATION_ORGANIZATION_ID or DESTINATION_ORGANIZATION_
CODE
DELIVER_TO_LOCATION_ID or DELIVER_TO_LOCATION_CODE
DELIVER_TO_REQUESTOR_ID or DELIVER_TO_REQUESTOR_NAME
ORG_ID
ITEM_ID or item segment values (values if the SOURCE_TYPE_CODE or
DESTINATION_TYPE_CODE is ‘INVENTORY’)

PO_REQ_DIST_INTERFACE_ALL:
CHARGE_ACCOUNT_ID or charge account segment values
DISTRIBUTION_NUMBER
DESTINATION_ORGANIZATION_ID
DESTINATION_TYPE_CODE
INTERFACE_SOURCE_CODE
ORG_ID
DIST_SEQUENCE_ID (if MULTI_DISTRIBUTIONS is set to Y)



  • PO Receipts Interface
The Receiving Open Interface is used for processing and validating receipt data that
comes from sources other than the Receipts window in Purchasing.

Pre-requisites:
Set of Books
Code combinations
Employees
Items

Interface tables:
RCV_HEADERS_INTERFACE
RCV_TRANSACTIONS_INTERFACE
PO_INTERFACE_ERRORS

Concurrent program:
RECEIVING OPEN INTERFACE

Base tables:
RCV_SHIPMENT_HEADERS
RCV_SHIPMENT_LINES
RCV_TRANSACTIONS

Validations:
Check that SHIPPED_DATE should not be later than today.
Check if vendor is valid.
If Invoice number is passed, check for its validity
Check if Item is valid

Some important columns that need to be populated in the interface tables:

RCV_HEADERS_INTERFACE:
HEADER_INTERFACE_ID
GROUP_ID
PROCESSING_STATUS_
CODE
RECEIPT_SOURCE_CODE
TRANSACTION_TYPE
SHIPMENT_NUM
RECEIPT_NUM
VENDOR_NAME
SHIP_TO_
ORGANIZATION_CODE
SHIPPED_DATE
INVOICE_NUM
INVOICE_DATE
TOTAL_INVOICE_
AMOUNT
PAYMENT_TERMS_ID
EMPLOYEE_NAME
VALIDATION_FLAG (Indicates whether to validate a row or not, values ‘Y’, ‘N’)

RCV_TRANSACTIONS_INTERFACE:
INTERFACE_TRANSACTION_ID
GROUP_ID
TRANSACTION_TYPE (‘SHIP’ for a standard shipment (an ASN or ASBN)
or ‘RECEIVE’ for a standard receipt)
TRANSACTION_DATE
PROCESSING_STATUS_CODE =’PENDING’
CATEGORY_ID
QUANTITY
UNIT_OF_MEASURE
ITEM_DESCRIPTION
ITEM_REVISION
EMPLOYEE_ID
AUTO_TRANSACT_CODE
SHIP_TO_LOCATION_ID
RECEIPT_SOURCE_CODE
TO_ORGANIZATION_CODE
SOURCE_DOCUMENT_CODE
PO_HEADER_ID
PO_RELEASE_ID
PO_LINE_ID
PO_LINE_LOCATION_ID
PO_DISTRIBUTION_ID
SUBINVENTORY
HEADER_INTERFACE_ID
DELIVER_TO_PERSON_NAME
DELIVER_TO_LOCATION_CODE
VALIDATION_FLAG
ITEM_NUM
VENDOR_ITEM_NUM
VENDOR_ID
VENDOR_SITE_ID
ITEM_ID
ITEM_DESCRIPTION
SHIP_TO_LOCATION_ID


  • GL Journal interface
This interface lets you import journals from other applications like Receivables, Payables etc to integrate the information with General Ledger.
Pre-requisites:
Set of Books
Flex field Value sets
Code Combinations
Currencies
Categories
Journal Sources

Interface tables:
GL_INTERFACE

Base tables:
GL_JE_HEADERS
GL_JE_LINES
GL_JE_BACTHES

Concurrent Program:
Journal Import
Journal Posting — populates GL_BALANCES

Validations:
Validate SOB, journal source name, journal category name, actual flag
A – Actual amounts
B – Budget amounts
E – Encumbrance amount
If you enter E in the interface table, then enter appropriate encumbrance ID, if
B enter budget id.
Check if accounting date or GL date based period name is valid (i.e., not closed).
Check if accounting date falls in open or future open period status.
Check chart of accounts id based on Sob id.
Check if code combination is valid and enabled.
Check if record already exists in GL interface table.
Check if already journal exists in GL application.

Some important columns that need to be populated in the interface tables:
GL_INTERFACE:
STATUS
SET_OF_BOOKS_ID
ACCOUNTING_DATE
CURRENCY_CODE
DATE_CREATED
CREATED_BY
ACTUAL_FLAG
USER_JE_CATEGORY_NAME
USER_JE_SOURCE_NAME
CURRENCY_CONVERSION_DATE
ENCUMBRANCE_TYPE_ID
BUDGET_VERSION_ID
USER_CURRENCY_CONVERSION_TYPE
CURRENCY_CONVERSION_RATE
SEGMENT1 to
ENTERED_DR
ENTERED_CR
ACCOUNTED_DR
ACCOUNTED_CR
TRANSACTION_DATE
PERIOD_NAME
JE_LINE_NUM
CHART_OF_ACCOUNTS_ID
FUNCTIONAL_CURRENCY_CODE
CODE_COMBINATION_ID
DATE_CREATED_IN_GL
GROUP_ID


  • GL budget interface
Budget interface lets you load budget data from external sources into Oracle Applications.

Pre-requisites:
Set of Books
Flex field Value sets
Code Combinations

Interface tables:
GL_BUDGET_INTERFACE

Base tables:
GL_BUDGETS
GL_BUDGET_ASSIGNMENTS
GL_BUDGET_TYPES

Concurrent program:
Budget Upload

Validations:
Check if CURRENCY_CODE is valid.
Check if SET_OF_BOOKS_ID is valid.
Check if BUDGET_ENTITY_NAME (budget organization) is valid.


Some important columns that need to be populated in the interface tables:

GL_BUDGET_INTERFACE:

BUDGET_NAME NOT
BUDGET_ENTITY_NAME
CURRENCY_CODE
FISCAL_YEAR
UPDATE_LOGIC_TYPE
BUDGET_ENTITY_ID
SET_OF_BOOKS_ID
CODE_COMBINATION_ID
BUDGET_VERSION_ID
PERIOD_TYPE
DR_FLAG
STATUS
ACCOUNT_TYPE
PERIOD1_AMOUNT through PERIOD60_AMOUNT
SEGMENT1 through SEGMENT30


  • GL daily conversion rates
This interface lets you load the rates automatically into General Ledger.
Pre-requisites:
Currencies
Conversion rate Types

Interface tables:
GL_DAILY_RATES_INTERFACE

Base tables:
GL_DAILY_RATES
GL_DAILY_CONVERSION_TYPES

Concurrent Program:
You do not need to run any import programs. The insert, update, or deletion of rates in GL_DAILY_RATES is done automatically by database triggers on the GL_DAILY_RATES_INTERFACE. All that is required is to develop program to populate the interface table with daily rates information.

Validations:
Check if
FROM_CURRENCY and TO_CURRENCY are valid.
Check if USER_CONVERSION_TYPE is valid.

Some important columns that need to be populated in the interface tables:

GL_DAILY_RATES_INTERFACE:

FROM_CURRENCY
TO_CURRENCY
FROM_CONVERSION_DATE
TO_CONVERSION_DATE
USER_CONVERSION_TYPE
CONVERSION_RATE
MODE_FLAG (D= Delete, I = Insert, U = Update)
INVERSE_CONVERSION_RATE