Interview questions on column alias
Hi
Interviewer asked me this question.
Why do we need an alias for column and is it improving query performance?
I said
if we select columns with same name from different table, alias is useful but no way related to query performance.
is it correct? Please explain me on alias topic
925896 wrote:
Hi
Interviewer asked me this question.
Why do we need an alias for column and is it improving query performance?
I said
if we select columns with same name from different table, alias is useful but no way related to query performance.
is it correct? Please explain me on alias topicYou are correct, alias is not related to performance..
Similar Messages
-
Oracle SQL and PL/SQL interview questions.
Can anyone forward me all Oracle SQL and PL/SQL Interview questions and answers asap.
Many Thanks.
BbaDear Pal
I not sure all the all answers are correct. I got one mail couple yrs back. I am just sharing mail contents. Kindly keep question and compare answers.
1 Which is more faster - IN or EXISTS?
EXISTS is more faster than IN because EXISTS returns a Boolean value whereas IN returns a value.
2 Which datatype is used for storing graphics and images?
LONG RAW data type is used for storing BLOB's (binary large objects).
3 When do you use WHERE clause and when do you use HAVING clause?
HAVING clause is used when you want to specify a condition for a group function and it is written after GROUP BY clause. The WHERE clause is used when you want to specify a condition for columns, single row functions except group functions and it is written before GROUP BY clause if it is used.
4 What WHERE CURRENT OF clause does in a cursor?
LOOPSELECT num_credits INTO v_numcredits FROM classesWHERE dept=123 and course=101;UPDATE studentsSET current_credits=current_credits+v_numcreditsWHERE CURRENT OF X;END LOOPCOMMIT;END;
5 What should be the return type for a cursor variable.Can we use a scalar data type as return type?
The return type for a cursor must be a record type.It can be declared explicitly as a user-defined or %ROWTYPE can be used. eg TYPE t_studentsref IS REF CURSOR RETURN students%ROWTYPE
6 What is use of a cursor variable? How it is defined?
A cursor variable is associated with different statements at run time, which can hold different values at run time. Static cursors can only be associated with one run time query. A cursor variable is reference type (like a pointer in C).Declaring a cursor variable:TYPE type_name IS REF CURSOR RETURN return_type type_name is the name of the reference type,return_type is a record type indicating the types of the select list that will eventually be returned by the cursor variable.
7 What is the purpose of a cluster?
Oracle does not allow a user to specifically locate tables, since that is a part of the function of the RDBMS. However, for the purpose of increasing performance, oracle allows a developer to create a CLUSTER. A CLUSTER provides a means for storing data from different tables together for faster retrieval than if the table placement were left to the RDBMS.
8 What is the maximum buffer size that can be specified using the DBMS_OUTPUT.ENABLE function?
1,000,00
9 What is syntax for dropping a procedure and a function .Are these operations possible?
Drop Procedure procedure_nameDrop Function function_name
10 What is OCI. What are its uses?
Oracle Call Interface is a method of accesing database from a 3GL program. Uses--No precompiler is required,PL/SQL blocks are executed like other DML statements. The OCI library provides· -functions to parse SQL statemets· -bind input variables· -bind output variables· -execute statements· -fetch the results
11 What is difference between UNIQUE and PRIMARY KEY constraints?
A table can have only one PRIMARY KEY whereas there can be any number of UNIQUE keys. The columns that compose PK are automatically define NOT NULL, whereas a column that compose a UNIQUE is not automatically defined to be mandatory must also specify the column is NOT NULL.
12 What is difference between SUBSTR and INSTR?
SUBSTR returns a specified portion of a string eg SUBSTR('BCDEF',4) output BCDEINSTR provides character position in which a pattern is found in a string. eg INSTR('ABC-DC-F','-',2) output 7 (2nd occurence of '-')
13 What is difference between SQL and SQL*PLUS?
SQL*PLUS is a command line tool where as SQL and PL/SQL language interface and reporting tool. Its a command line tool that allows user to type SQL commands to be executed directly against an Oracle database. SQL is a language used to query the relational database(DML,DCL,DDL). SQL*PLUS commands are used to format query result, Set options, Edit SQL commands and PL/SQL.
14 What is difference between Rename and Alias?
Rename is a permanent name given to a table or column whereas Alias is a temporary name given to a table or column which do not exist once the SQL statement is executed.
15 What is difference between a formal and an actual parameter?
The variables declared in the procedure and which are passed, as arguments are called actual, the parameters in the procedure declaration. Actual parameters contain the values that are passed to a procedure and receive results. Formal parameters are the placeholders for the values of actual parameters
16 What is an UTL_FILE.What are different procedures and functions associated with it?
UTL_FILE is a package that adds the ability to read and write to operating system files. Procedures associated with it are FCLOSE, FCLOSE_ALL and 5 procedures to output data to a file PUT, PUT_LINE, NEW_LINE, PUTF, FFLUSH.PUT, FFLUSH.PUT_LINE,FFLUSH.NEW_LINE. Functions associated with it are FOPEN, ISOPEN.
17 What is a view ?
A view is stored procedure based on one or more tables, its a virtual table.
18 What is a pseudo column. Give some examples?
It is a column that is not an actual column in the table.eg USER, UID, SYSDATE, ROWNUM, ROWID, NULL, AND LEVEL.
19 What is a OUTER JOIN?
Outer Join--Its a join condition used where you can query all the rows of one of the tables in the join condition even though they dont satisfy the join condition.
20 What is a cursor?
Oracle uses work area to execute SQL statements and store processing information PL/SQL construct called a cursor lets you name a work area and access its stored information A cursor is a mechanism used to fetch more than one row in a Pl/SQl block.
21 What is a cursor for loop?
Cursor For Loop is a loop where oracle implicitly declares a loop variable, the loop index that of the same record type as the cursor's record.
22 What are various privileges that a user can grant to another user?
· SELECT· CONNECT· RESOURCES
23 What are various constraints used in SQL?
· NULL· NOT NULL· CHECK· DEFAULT
24 What are ORACLE PRECOMPILERS?
Using ORACLE PRECOMPILERS, SQL statements and PL/SQL blocks can be contained inside 3GL programs written in C,C++,COBOL,PASCAL, FORTRAN,PL/1 AND ADA.The Precompilers are known as Pro*C,Pro*Cobol,...This form of PL/SQL is known as embedded pl/sql,the language in which pl/sql is embedded is known as the host language. The prcompiler translates the embedded SQL and pl/sql ststements into calls to the precompiler runtime library.The output must be compiled and linked with this library to creater an executable.
25 What are different Oracle database objects?
· TABLES· VIEWS· INDEXES· SYNONYMS· SEQUENCES· TABLESPACES etc
26 What are different modes of parameters used in functions and procedures?
· IN· OUT· INOUT
27 What are cursor attributes?
· %ROWCOUNT· %NOTFOUND· %FOUND· %ISOPEN
28 What a SELECT FOR UPDATE cursor represent. [ANSWER]SELECT......FROM......FOR......UPDATE[OF column-reference][NOWAIT] The processing done in a fetch loop modifies the rows that have been retrieved by the cursor. A convenient way of modifying the rows is done by a method with two parts: the FOR UPDATE clause in the cursor declaration, WHERE CURRENT OF CLAUSE in an UPDATE or declaration statement.
29 There is a string 120000 12 0 .125 , how you will find the position of the decimal place?
INSTR('120000 12 0 .125',1,'.')output 13
30 There is a % sign in one field of a column. What will be the query to find it?
'' Should be used before '%'.
31 Suppose a customer table is having different columns like customer no, payments.What will be the query to select top three max payments?
SELECT customer_no, payments from customer C1
WHERE 3<=(SELECT COUNT(*) from customer C2
WHERE C1.payment <= C2.payment)
32 minvalue.sql Select the Nth lowest value from a table
select level, min('col_name') from my_table where level = '&n' connect by prior ('col_name') <
'col_name')
group by level;
Example:
Given a table called emp with the following columns:
-- id number
-- name varchar2(20)
-- sal number
-- For the second lowest salary:
-- select level, min(sal) from emp
-- where level=2
-- connect by prior sal < sal
-- group by level
33 maxvalue.sql Select the Nth Highest value from a table
select level, max('col_name') from my_table where level = '&n' connect by prior ('col_name') >
'col_name')
group by level;
Example:
Given a table called emp with the following columns:
-- id number
-- name varchar2(20)
-- sal number
-- For the second highest salary:
-- select level, max(sal) from emp
-- where level=2
-- connect by prior sal > sal
-- group by level
34 How you will avoid your query from using indexes?
SELECT * FROM emp
Where emp_no+' '=12345;
i.e you have to concatenate the column name with space within codes in the where condition.
SELECT /*+ FULL(a) */ ename, emp_no from emp
where emp_no=1234;
i.e using HINTS
35 How you will avoid duplicating records in a query?
By using DISTINCT
36 How you were passing cursor variables in PL/SQL 2.2?
In PL/SQL 2.2 cursor variables cannot be declared in a package.This is because the storage for a cursor variable has to be allocated using Pro*C or OCI with version 2.2, the only means of passing a cursor variable to a PL/SQL block is via bind variable or a procedure parameter.
37 How you open and close a cursor variable.Why it is required?
OPEN cursor variable FOR SELECT...Statement
CLOSE cursor variable In order to associate a cursor variable with a particular SELECT statement OPEN syntax is used. In order to free the resources used for the query CLOSE statement is used.
38 How will you delete duplicating rows from a base table?
delete from table_name where rowid not in (select max(rowid) from table group by duplicate_values_field_name); or
delete duplicate_values_field_name dv from table_name ta where rowid <(select min(rowid) from table_name tb where ta.dv=tb.dv);
39 How do you find the numbert of rows in a Table ?
A bad answer is count them (SELECT COUNT(*) FROM table_name)
A good answer is :-
'By generating SQL to ANALYZE TABLE table_name COUNT STATISTICS by querying Oracle System Catalogues (e.g. USER_TABLES or ALL_TABLES).
The best answer is to refer to the utility which Oracle released which makes it unnecessary to do ANALYZE TABLE for each Table individually.
40 Find out nth highest salary from emp table
SELECT DISTINCT (a.sal) FROM EMP A WHERE &N = (SELECT COUNT (DISTINCT (b.sal)) FROM EMP B WHERE a.sal<=b.sal);
For Eg:-
Enter value for n: 2
SAL
3700
41 Display the records between two range?
select rownum, empno, ename from emp where rowid in (select rowid from emp where rownum <=&upto minus select rowid from emp where rownum<&Start);
42 Display the number value in Words?
SQL> select sal, (to_char(to_date(sal,'j'), 'jsp'))
from emp;
the output like,
SAL (TO_CHAR(TO_DATE(SAL,'J'),'JSP'))
800 eight hundred
1600 one thousand six hundred
1250 one thousand two hundred fifty
If you want to add some text like, Rs. Three Thousand only.
SQL> select sal "Salary ",
(' Rs. '|| (to_char(to_date(sal,'j'), 'Jsp'))|| ' only.'))
"Sal in Words" from emp
Salary Sal in Words
800 Rs. Eight Hundred only.
1600 Rs. One Thousand Six Hundred only.
1250 Rs. One Thousand Two Hundred Fifty only.
43 Display Odd/ Even number of records
Odd number of records:
select * from emp where (rowid,1) in (select rowid, mod(rownum,2) from emp);
Output:-
1
3
5
Even number of records:
select * from emp where (rowid,0) in (select rowid, mod(rownum,2) from emp)
Output:-
2
4
6
44 Difference between procedure and function.
Functions are named PL/SQL blocks that return a value and can be called with arguments procedure a named block that can be called with parameter. A procedure all is a PL/SQL statement by itself, while a Function call is called as part of an expression.
45 Difference between NO DATA FOUND and %NOTFOUND
NO DATA FOUND is an exception raised only for the SELECT....INTO statements when the where clause of the querydoes not match any rows. When the where clause of the explicit cursor does not match any rows the %NOTFOUND attribute is set to TRUE instead.
46 Difference between database triggers and form triggers?
Data base trigger(DBT) fires when a DML operation is performed on a data base table. Form trigger(FT) Fires when user presses a key or navigates between fields on the screen
Can be row level or statement level No distinction between row level and statement level.
Can manipulate data stored in Oracle tables via SQL Can manipulate data in Oracle tables as well as variables in forms.
Can be fired from any session executing the triggering DML statements. Can be fired only from the form that define the trigger.
Can cause other database triggers to fire.Can cause other database triggers to fire, but not other form triggers.
47 Difference between an implicit & an explicit cursor.
PL/SQL declares a cursor implicitly for all SQL data manipulation statements, including quries that return only one row. However,queries that return more than one row you must declare an explicit cursor or use a cursor FOR loop.
Explicit cursor is a cursor in which the cursor name is explicitly assigned to a SELECT statement via the CURSOR...IS statement. An implicit cursor is used for all SQL statements Declare, Open, Fetch, Close. An explicit cursors are used to process multirow SELECT statements An implicit cursor is used to process INSERT, UPDATE, DELETE and single row SELECT. .INTO statements.
48 Can you use a commit statement within a database trigger?
No.
49 Can the default values be assigned to actual parameters?
Yes
50 Can cursor variables be stored in PL/SQL tables.If yes how. If not why?
No, a cursor variable points a row which cannot be stored in a two-dimensional PL/SQL table.
51 Can a primary key contain more than one columns?
Yes
52 Can a function take OUT parameters. If not why?
No. A function has to return a value,an OUT parameter cannot return a value.
53 What are various joins used while writing SUBQUERIES?
Self join-Its a join foreign key of a table references the same table. Outer Join--Its a join condition used where One can query all the rows of one of the tables in the join condition even though they don't satisfy the join condition.
Equi-join--Its a join condition that retrieves rows from one or more tables in which one or more columns in one table are equal to one or more columns in the second table.
54 Differentiate between TRUNCATE and DELETE
TRUNCATE deletes much faster than DELETE
TRUNCATE
DELETE
It is a DDL statement It is a DML statement
It is a one way trip,cannot ROLLBACK One can Rollback
Doesn't have selective features (where clause) Has
Doesn't fire database triggers Does
It requires disabling of referential constraints. Does not require
1 What is PL/SQL ?
PL/SQL is a procedural language that has both interactive SQL and procedural programming language constructs such as iteration, conditional branching.
2 Write the order of precedence for validation of a column in a table ?
I. done using Database triggers.
ii. done using Integarity Constraints.
I & ii.
Exception :
3 Where the Pre_defined_exceptions are stored ?
In the standard package.
Procedures, Functions & Packages ;
4 What are % TYPE and % ROWTYPE ? What are the advantages of using these over datatypes?
% TYPE provides the data type of a variable or a database column to that variable.
% ROWTYPE provides the record type that represents a entire row of a table or view or columns selected in the cursor.
The advantages are : I. Need not know about variable's data type
ii. If the database definition of a column in a table changes, the data type of a variable changes accordingly.
5 What will happen after commit statement ?
Cursor C1 is
Select empno,
ename from emp;
Begin
open C1; loop
Fetch C1 into
eno.ename;
Exit When
C1 %notfound;-----
commit;
end loop;
end;
The cursor having query as SELECT .... FOR UPDATE gets closed after COMMIT/ROLLBACK.
The cursor having query as SELECT.... does not get closed even after COMMIT/ROLLBACK.
6 What is the basic structure of PL/SQL ?
PL/SQL uses block structure as its basic structure. Anonymous blocks or nested blocks can be used in PL/SQL.
7 What is Raise_application_error ?
Raise_application_error is a procedure of package DBMS_STANDARD which allows to issue an user_defined error messages from stored sub-program or database trigger.
8 What is Pragma EXECPTION_INIT ? Explain the usage ?
The PRAGMA EXECPTION_INIT tells the complier to associate an exception with an oracle error. To get an error message of a specific oracle error.
e.g. PRAGMA EXCEPTION_INIT (exception name, oracle error number)
9 What is PL/SQL table ?
Objects of type TABLE are called "PL/SQL tables", which are modeled as (but not the same as) database tables, PL/SQL tables use a primary PL/SQL tables can have one column and a primary key.
Cursors
10 What is Overloading of procedures ?
The Same procedure name is repeated with parameters of different datatypes and parameters in different positions, varying number of parameters is called overloading of procedures.
e.g. DBMS_OUTPUT put_line
What is a package ? What are the advantages of packages ?
11 What is difference between a PROCEDURE & FUNCTION ?
A FUNCTION is always returns a value using the return statement.
A PROCEDURE may return one or more values through parameters or may not return at all.
12 What is difference between a Cursor declared in a procedure and Cursor declared in a package specification ?
A cursor declared in a package specification is global and can be accessed by other procedures or procedures in a package.
A cursor declared in a procedure is local to the procedure that can not be accessed by other procedures.
13 What is difference between % ROWTYPE and TYPE RECORD ?
% ROWTYPE is to be used whenever query returns a entire row of a table or view.
TYPE rec RECORD is to be used whenever query returns columns of different
table or views and variables.
E.g. TYPE r_emp is RECORD (eno emp.empno% type,ename emp ename %type
e_rec emp% ROWTYPE
cursor c1 is select empno,deptno from emp;
e_rec c1 %ROWTYPE.
14 What is an Exception ? What are types of Exception ?
Exception is the error handling part of PL/SQL block. The types are Predefined and user defined. Some of Predefined exceptions are.
CURSOR_ALREADY_OPEN
DUP_VAL_ON_INDEX
NO_DATA_FOUND
TOO_MANY_ROWS
INVALID_CURSOR
INVALID_NUMBER
LOGON_DENIED
NOT_LOGGED_ON
PROGRAM-ERROR
STORAGE_ERROR
TIMEOUT_ON_RESOURCE
VALUE_ERROR
ZERO_DIVIDE
OTHERS.
15 What is a stored procedure ?
A stored procedure is a sequence of statements that perform specific function.
16 What is a database trigger ? Name some usages of database trigger ?
Database trigger is stored PL/SQL program unit associated with a specific database table. Usages are Audit data modifications, Log events transparently, Enforce complex business rules Derive column values automatically, Implement complex security authorizations. Maintain replicate tables.
17 What is a cursor for loop ?
Cursor for loop implicitly declares %ROWTYPE as loop index,opens a cursor, fetches rows of values from active set into fields in the record and closes
when all the records have been processed.
eg. FOR emp_rec IN C1 LOOP
salary_total := salary_total +emp_rec sal;
END LOOP;
18 What is a cursor ? Why Cursor is required ?
Cursor is a named private SQL area from where information can be accessed. Cursors are required to process rows individually for queries returning multiple rows.
19 What happens if a procedure that updates a column of table X is called in a database trigger of the same table ?
Mutation of table occurs.
20 What are two virtual tables available during database trigger execution ?
The table columns are referred as OLD.column_name and NEW.column_name.
For triggers related to INSERT only NEW.column_name values only available.
For triggers related to UPDATE only OLD.column_name NEW.column_name values only available.
For triggers related to DELETE only OLD.column_name values only available.
21 What are two parts of package ?
The two parts of package are PACKAGE SPECIFICATION & PACKAGE BODY.
Package Specification contains declarations that are global to the packages and local to the schema.
Package Body contains actual procedures and local declaration of the procedures and cursor declarations.
22 What are the two parts of a procedure ?
Procedure Specification and Procedure Body.
23 What are the return values of functions SQLCODE and SQLERRM ?
SQLCODE returns the latest code of the error that has occurred.
SQLERRM returns the relevant error message of the SQLCODE.
24 What are the PL/SQL Statements used in cursor processing ?
DECLARE CURSOR cursor name, OPEN cursor name, FETCH cursor name INTO or Record types, CLOSE cursor name.
25 What are the modes of parameters that can be passed to a procedure ?
IN,OUT,IN-OUT parameters.
26 What are the datatypes a available in PL/SQL ?
Some scalar data types such as NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Some composite data types such as RECORD & TABLE.
27 What are the cursor attributes used in PL/SQL ?
%ISOPEN - to check whether cursor is open or not
% ROWCOUNT - number of rows fetched/updated/deleted.
% FOUND - to check whether cursor has fetched any row. True if rows are fetched.
% NOT FOUND - to check whether cursor has fetched any row. True if no rows are featched.
These attributes are proceeded with SQL for Implicit Cursors and with Cursor name for Explicit Cursors.
28 What are the components of a PL/SQL Block ?
Declarative part, Executable part and Exception part.
Datatypes PL/SQL
29 What are the components of a PL/SQL block ?
A set of related declarations and procedural statements is called block.
30 What are advantages fo Stored Procedures /
Extensibility,Modularity, Reusability, Maintainability and one time compilation.
1 What is PL/SQL ?
PL/SQL is a procedural language that has both interactive SQL and procedural programming language constructs such as iteration, conditional branching.
2 Write the order of precedence for validation of a column in a table ?
I. done using Database triggers.
ii. done using Integarity Constraints.
I & ii.
Exception :
3 Where the Pre_defined_exceptions are stored ?
In the standard package.
Procedures, Functions & Packages ;
4 What are % TYPE and % ROWTYPE ? What are the advantages of using these over datatypes?
% TYPE provides the data type of a variable or a database column to that variable.
% ROWTYPE provides the record type that represents a entire row of a table or view or columns selected in the cursor.
The advantages are : I. Need not know about variable's data type
ii. If the database definition of a column in a table changes, the data type of a variable changes accordingly.
5 What will happen after commit statement ?
Cursor C1 is
Select empno,
ename from emp;
Begin
open C1; loop
Fetch C1 into
eno.ename;
Exit When
C1 %notfound;-----
commit;
end loop;
end;
The cursor having query as SELECT .... FOR UPDATE gets closed after COMMIT/ROLLBACK.
The cursor having query as SELECT.... does not get closed even after COMMIT/ROLLBACK.
6 What is the basic structure of PL/SQL ?
PL/SQL uses block structure as its basic structure. Anonymous blocks or nested blocks can be used in PL/SQL.
7 What is Raise_application_error ?
Raise_application_error is a procedure of package DBMS_STANDARD which allows to issue an user_defined error messages from stored sub-program or database trigger.
8 What is Pragma EXECPTION_INIT ? Explain the usage ?
The PRAGMA EXECPTION_INIT tells the complier to associate an exception with an oracle error. To get an error message of a specific oracle error.
e.g. PRAGMA EXCEPTION_INIT (exception name, oracle error number)
9 What is PL/SQL table ?
Objects of type TABLE are called "PL/SQL tables", which are modeled as (but not the same as) database tables, PL/SQL tables use a primary PL/SQL tables can have one column and a primary key.
Cursors
10 What is Overloading of procedures ?
The Same procedure name is repeated with parameters of different datatypes and parameters in different positions, varying number of parameters is called overloading of procedures.
e.g. DBMS_OUTPUT put_line
What is a package ? What are the advantages of packages ?
11 What is difference between a PROCEDURE & FUNCTION ?
A FUNCTION is always returns a value using the return statement.
A PROCEDURE may return one or more values through parameters or may not return at all.
12 What is difference between a Cursor declared in a procedure and Cursor declared in a package specification ?
A cursor declared in a package specification is global and can be accessed by other procedures or procedures in a package.
A cursor declared in a procedure is local to the procedure that can not be accessed by other procedures.
13 What is difference between % ROWTYPE and TYPE RECORD ?
% ROWTYPE is to be used whenever query returns a entire row of a table or view.
TYPE rec RECORD is to be used whenever query returns columns of different
table or views and variables.
E.g. TYPE r_emp is RECORD (eno emp.empno% type,ename emp ename %type
e_rec emp% ROWTYPE
cursor c1 is select empno,deptno from emp;
e_rec c1 %ROWTYPE.
14 What is an Exception ? What are types of Exception ?
Exception is the error handling part of PL/SQL block. The types are Predefined and user defined. Some of Predefined exceptions are.
CURSOR_ALREADY_OPEN
DUP_VAL_ON_INDEX
NO_DATA_FOUND
TOO_MANY_ROWS
INVALID_CURSOR
INVALID_NUMBER
LOGON_DENIED
NOT_LOGGED_ON
PROGRAM-ERROR
STORAGE_ERROR
TIMEOUT_ON_RESOURCE
VALUE_ERROR
ZERO_DIVIDE
OTHERS.
15 What is a stored procedure ?
A stored procedure is a sequence of statements that perform specific function.
16 What is a database trigger ? Name some usages of database trigger ?
Database trigger is stored PL/SQL program unit associated with a specific database table. Usages are Audit data modifications, Log events transparently, Enforce complex business rules Derive column values automatically, Implement complex security authorizations. Maintain replicate tables.
17 What is a cursor for loop ?
Cursor for loop implicitly declares %ROWTYPE as loop index,opens a cursor, fetches rows of values from active set into fields in the record and closes
when all the records have been processed.
eg. FOR emp_rec IN C1 LOOP
salary_total := salary_total +emp_rec sal;
END LOOP;
18 What is a cursor ? Why Cursor is required ?
Cursor is a named private SQL area from where information can be accessed. Cursors are required to process rows individually for queries returning multiple rows.
19 What happens if a procedure that updates a column of table X is called in a database trigger of the same table ?
Mutation of table occurs.
20 What are two virtual tables available during database trigger execution ?
The table columns are referred as OLD.column_name and NEW.column_name.
For triggers related to INSERT only NEW.column_name values only available.
For triggers related to UPDATE only OLD.column_name NEW.column_name values only available.
For triggers related to DELETE only OLD.column_name values only available.
21 What are two parts of package ?
The two parts of package are PACKAGE SPECIFICATION & PACKAGE BODY.
Package Specification contains declarations that are global to the packages and local to the schema.
Package Body contains actual procedures and local declaration of the procedures and cursor declarations.
22 What are the two parts of a procedure ?
Procedure Specification and Procedure Body.
23 What are the return values of functions SQLCODE and SQLERRM ?
SQLCODE returns the latest code of the error that has occurred.
SQLERRM returns the relevant error message of the SQLCODE.
24 What are the PL/SQL Statements used in cursor processing ?
DECLARE CURSOR cursor name, OPEN cursor name, FETCH cursor name INTO or Record types, CLOSE cursor name.
25 What are the modes of parameters that can be passed to a procedure ?
IN,OUT,IN-OUT parameters.
26 What are the datatypes a available in PL/SQL ?
Some scalar data types such as NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Some composite data types such as RECORD & TABLE.
27 What are the cursor attributes used in PL/SQL ?
%ISOPEN - to check whether cursor is open or not
% ROWCOUNT - number of rows fetched/updated/deleted.
% FOUND - to check whether cursor has fetched any row. True if rows are fetched.
% NOT FOUND - to check whether cursor has fetched any row. True if no rows are featched.
These attributes are proceeded with SQL for Implicit Cursors and with Cursor name for Explicit Cursors.
28 What are the components of a PL/SQL Block ?
Declarative part, Executable part and Exception part.
Datatypes PL/SQL
29 What are the components of a PL/SQL block ?
A set of related declarations and procedural statements is called block.
30 What are advantages fo Stored Procedures /
Extensibility,Modularity, Reusability, Maintainability and one time compilation.
31 Name the tables where characteristics of Package, procedure and functions are stored ?
User_objects, User_Source and User_error.
32 Is it possible to use Transaction control Statements such a ROLLBACK or COMMIT in Database Trigger ? Why ?
It is not possible. As triggers are defined for each table, if you use COMMIT of ROLLBACK in a trigger, it affects logical transaction processing.
33 How packaged procedures and functions are called from the following?
a. Stored procedure or anonymous block
b. an application program such a PRC C, PRO COBOL
c. SQL *PLUS
a. PACKAGE NAME.PROCEDURE NAME (parameters);
variable := PACKAGE NAME.FUNCTION NAME (arguments);
EXEC SQL EXECUTE
b.
BEGIN
PACKAGE NAME.PROCEDURE NAME (parameters)
variable := PACKAGE NAME.FUNCTION NAME (arguments);
END;
END EXEC;
c. EXECUTE PACKAGE NAME.PROCEDURE if the procedures does not have any
out/in-out parameters. A function can not be called.
34 How many types of database triggers can be specified on a table ? What are they ?
Insert Update Delete
Before Row o.k. o.k. o.k.
After Row o.k. o.k. o.k.
Before Statement o.k. o.k. o.k.
After Statement o.k. o.k. o.k.
If FOR EACH ROW clause is specified, then the trigger for each Row affected by the statement.
If WHEN clause is specified, the trigger fires according to the returned Boolean value.
35 Give the structure of the procedure ?
PROCEDURE name (parameter list.....)
is
local variable declarations
BEGIN
Executable statements.
Exception.
exception handlers
end;
36 Give the structure of the function ?
FUNCTION name (argument list .....) Return datatype is
local variable declarations
Begin
executable statements
Exception
execution handlers
End;
37 Explain the usage of WHERE CURRENT OF clause in cursors ?
WHERE CURRENT OF clause in an UPDATE,DELETE statement refers to the latest row fetched from a cursor.
Database Triggers
38 Explain the two type of Cursors ?
There are two types of cursors, Implicit Cursor and Explicit Cursor.
PL/SQL uses Implicit Cursors for queries.
User defined cursors are called Explicit Cursors. They can be declared and used.
39 Explain how procedures and functions are called in a PL/SQL block ?
Function is called as part of an expression.
sal := calculate_sal ('a822');
procedure is called as a PL/SQL statement
calculate_bonus ('A822');
Programmatic Constructs
Last Update: September 06, 2004
1 What are the different types of PL/SQL program units that can be defined and stored in ORACLE database ?
Procedures and Functions,Packages and Database Triggers.
2 What are the differences between Database Trigger and Integrity constraints ?
A declarative integrity constraint is a statement about the database that is always true. A constraint applies to existing data in the table and any statement that manipulates the table.
A trigger does not apply to data loaded before the definition of the trigger, therefore, it does not guarantee all data in a table conforms to the rules established by an associated trigger.
A trigger can be used to enforce transitional constraints where as a declarative integrity constraint cannot be used.
3 What is difference between Procedures and Functions ?
A Function returns a value to the caller where as a Procedure does not.
4 What is Database Trigger ?
A Database Trigger is procedure (set of SQL and PL/SQL statements) that is automatically executed as a result of an insert in,update to, or delete from a table.
5 What is a Procedure ?
A Procedure consist of a set of SQL and PL/SQL statements that are grouped together as a unit to solve a specific problem or perform a set of related tasks.
6 What is a Package ?
A Package is a collection of related procedures, functions, variables and other package constructs together as a unit in the database.
7 What are the uses of Database Trigger ?
Database triggers can be used to automatic data generation, audit data modifications, enforce complex Integrity constraints, and customize complex security authorizations.
8 What are the advantages of having a Package ?
Increased functionality (for example,global package variables can be declared and used by any proecdure in the package) and performance (for example all objects of the package are parsed compiled, and loaded into memory once)
1 With which function of summary item is the compute at options required?
percentage of total functions.
2 Why is it preferable to create a fewer no. of queries in the data model?
Because for each query, report has to open a separate cursor and has to rebind, execute and fetch data.
3 Why is a Where clause faster than a group filter or a format trigger?
Because, in a where clause the condition is applied during data retrieval than after retrieving the data.
4 Which parameter can be used to set read level consistency across multiple queries?
Read only.
5 Which of the two views should objects according to possession?
view by structure.
6 Which of the above methods is the faster method?
performing the calculation in the query is faster.
7 Where is the external query executed at the client or the server?
At the server.
8 Where is a procedure return in an external pl/sql library executed at the client or at the server?
At the client.
9 When do you use data parameter type?
When the value of a data parameter being passed to a called product is always the name of the record group defined in the current form. Data parameters are used to pass data to produts invoked with the run_product built-in subprogram.
10 When a form is invoked with call_form, Does oracle forms issues a save point?
Yes
11 What are the important difference between property clause and visual attributes?
Named visual attributes differ only font, color & pattern attributes, property clauses can contain this and any other properties. You can change the appearance of objects at run time by changing the named visual attributes programmatically , property clause assignments cannot be changed programmatically. When an object is inheriting from both a property clause and named visual attribute, the named visual attribute settings take precedence, and any visual attribute properties in the class are ignored.
12 What use of command line parameter cmd file?
It is a command line argument that allows you to specify a file that contain a set of arguments for r20run.
13 What is WHEN-Database-record trigger?
Fires when oracle forms first marks a record as an insert or an update. The trigger fires as soon as oracle forms determines through validation that the record should be processed by the next post or commit as an insert or update. c generally occurs only when the operators modifies the first item in the record, and after the operator attempts to navigate out of the item.
14 What is use of term?
The term file which key is correspond to which oracle report functions.
15 What is trigger associated with the timer?
When-timer-expired.
16 What is the use of transactional triggers?
Using transactional triggers we can control or modify the default functionality of the oracle forms.
17 What is the use of place holder column?
A placeholder column is used to hold calculated values at a specified place rather than allowing is to appear in the actual row where it has to appear.
18 What is the use of image_zoom built-in?
To manipulate images in image items.
19 What is the use of hidden column?
A hidden column is used to when a column has to embed into boilerplate text.
20 What is the use of break group?
A break group is used to display one record for one group ones. While multiple related records in other group can be displayed.
21 What is the remove on exit property?
For a modelless window, it determines whether oracle forms hides the window automatically when the operators navigates to an item in the another window.
22 What is the purpose of the product order option in the column property sheet?
To specify the order of individual group evaluation in a cross products.
23 What is the maximum no of chars the parameter can store?
The maximum no of chars the parameter can store is only valid for char parameters, which can be upto 64K. No parameters default to 23Bytes and Date parameter default to 7Bytes.
24 What is the main diff. bet. Reports 2.0 & Reports 2.5?
Report 2.5 is object oriented.
25 What is the frame & repeating frame?
A frame is a holder for a group of fields. A repeating frame is used to display a set of records when the no. of records that are to displayed is not known before.
26 What is the difference between OLE Server & Ole Container?
An Ole server application creates ole Objects that are embedded or linked in ole Containers ex. Ole servers are ms_word & ms_excel. OLE containers provide a place to store, display and manipulate objects that are created by ole server applications. Ex. oracle forms is an example of an ole Container.
27 What is the difference between object embedding & linking in Oracle forms?
In Oracle forms, Embedded objects become part of the form module, and linked objects are references from a form module to a linked source file.
28 What is the difference between boiler plat images and image items?
Boiler plate Images are static images (Either vector or bit map) that you import from the file system or database to use a graphical elements in your form, such as company logos and maps. Image items are special types of interface controls that store and display either vector or bitmap images. Like other items that store values, image items can be either base table items(items that relate directly to database columns) or control items. The definition of an image item is stored as part of the form module FMB and FMX files, but no image file is actually associated with an image item until the item is populate at run time.
29 What is the difference between $$DATE$$ & $$DBDATE$$ $$DBDATE$$ retrieves the current database date $$date$$ retrieves the current operating system date.
30 What is the diff. when Flex mode is mode on and when it is off?
When flex mode is on, reports automatically resizes the parent when the child is resized.
31 What is the diff. when confine mode is on and when it is off?
When confine mode is on, an object cannot be moved outside its parent in the layout.
32 What is the diff. bet. setting up of parameters in reports 2.0 reports 2.5?
LOVs can be attached to parameters in the reports 2.5 parameter form.
33 What is the advantage of the library?
Libraries provide a convenient means of storing client-side program units and sharing them among multiple applications. Once you create a library, you can attach it to any other form, menu, or library modules. When you can call library program units from triggers menu items commands and user named routine, you write in the modules to which you have attach the library. When a library attaches another library, program units in the first library can reference program units in the attached library. Library support dynamic loading-that is library program units are loaded into an application only when needed. This can significantly reduce the run-time memory requirements of applications.
34 What is term?
The term is terminal definition file that describes the terminal form which you are using r20run.
35 What is system.coordination_operation?
It represents the coordination causing event that occur on the master block in master-detail relation.
36 What is synchronize?
It is a terminal screen with the internal state of the form. It updates the screen display to reflect the information that oracle forms has in its internal representation of the screen.
37 What is strip sources generate options?
Removes the source code from the library file and generates a library files that contains only pcode. The resulting file can be used for final deployment, but can not be subsequently edited in the designer. ex. f45gen module=old_lib.pll userid=scott/tiger strip_source YES output_file
38 What is relation between the window and canvas views?
Canvas views are the back ground objects on which you place the interface items (Text items), check boxes, radio groups etc.,) and boilerplate objects (boxes, lines, images etc.,) that operators interact with us they run your form . Each canvas views displayed in a window.
39 What is pop list?
The pop list style list item appears initially as a single field (similar to a text item field). When the operator selects the list icon, a list of available choices appears.
40 What is new_form built-in?
When one form invokes another form by executing new_form oracle form exits the first form and releases its memory before loading the new form calling new form completely replace the first with the second. If there are changes pending in the first form, the operator will be prompted to save them before the new form is loaded.
41 What is lexical reference? How can it be created?
Lexical reference is place_holder for text that can be embedded in a sql statements. A lexical reference can be created using & before the column or parameter name.
42 What is forms_DDL?
Issues dynamic Sql statements at run time, including server side pl/SQl and DDL
43 What is difference between open_form and call_form?
when one form invokes another form by executing open_form the first form remains displayed, and operators can navigate between the forms as desired. when one form invokes another form by executing call_form, the called form is modal with respect to the calling form. That is, any windows that belong to the calling form are disabled, and operators cannot navigate to them until they first exit the called form.
44 What is bind reference and how can it be created?
Bind reference are used to replace the single value in sql, pl/sql statements a bind reference can be created using a (:) before a column or a parameter name.
45 What is an user exit used for?
A way in which to pass control (and possibly arguments ) form Oracle report to another Oracle products of 3 GL and then return control ( and ) back to Oracle reports.
46 What is an OLE?
Object Linking & Embedding provides you with the capability to integrate objects from many Ms-Windows applications into a single compound document creating integrated applications enables you to use the features form .
47 What is an object group?
An object group is a container for a group of objects; you define an object group when you want to package related objects, so that you copy or reference them in other modules.
48 What is an anchoring object & what is its use?
An anchoring object is a print condition object which used to explicitly or implicitly anchor other objects to itself.
49 What is a User_exit?
Calls the user exit named in the user_exit_string. Invokes a 3Gl program by name which has been properly linked into your current oracle forms executable.
50 What is a timer?
Timer is an "internal time clock" that you can programmatically create to perform an action each time the timer expires.
51 What is a Text_io Package?
It allows you to read and write information to a file in the file system.
52 What is a text list?
The text list style list item appears as a rectangular box which displays the fixed number of values. When the text list contains values that can not be displayed, a vertical scroll bar appears, allowing the operator to view and select undisplayed values.
53 What is a property clause?
A property clause is a named object that contains a list of properties and their settings. Once you create a property clause you can base other object on it. An object based on a property can inherit the setting of any property in the clause that makes sense for that object.
54 What is a physical page ? & What is a logical page ?
A physical page is a size of a page. That is output by the printer. The logical page is the size of one page of the actual report as seen in the Previewer.
55 What is a library?
A library is a collection of subprograms including user named procedures, functions and packages.
56 What is a difference between pre-select and pre-query?
Fires during the execute query and count query processing after oracle forms constructs the select statement to be issued, but before the statement is actually issued. The pre-query trigger fires just before oracle forms issues the select statement to the database after the operator as define the example records by entering the query criteria in enter query mode. Pre-query trigger fires before pre-select trigger.
57 What is a combo box?
A combo box style list item combines the features found in list and text item. Unlike the pop list or the text list style list items, the combo box style list item will both display fixed values and accept one operator entered value.
58 What does the term panel refer to with regard to pages?
A panel is the no. of physical pages needed to print one logical page.
59 What are visual attributes?
Visual attributes are the font, color, pattern proprieties that you set for form and menu objects that appear in your application interface.
60 What are three panes that appear in the run time pl/sql interpreter?
1.Source pane. 2. interpreter pane. 3. Navigator pane.
Regards
B RANGARAJAN -
Hi Friends,
I was face some Interview.
Please send answers to the questions?
How many data Fields and key fields we can create in DSO?
You can overwrite key fields or Data Fields?
Which up date we use in Delta queue extraction( v1 or v2 or v3)
Which message we get when transported request is failed?
what is the Structural difference between Infoucbe and DSO
Data Loading is taking huge time when we extract data from source system to BI system/ how to solve?(Before it took 3-4 Hours now data loading takes 4 days)What is the difference between Display Attribute and
Navigational Attribute? How to make display attribute and navigational
attribute?
How to load flat file data?
How to load Hierarchy file data?
What is HACR?
How to maintain HACR?
If any issue in HACR then how to resolve the issue?
What is Baby Cube?
Why we are creating Aggregates?
What is the use of Aggregates?
Is there
any particular field on that we can create Aggregates or we can maintain
Aggregate on any field?
What is
the different DSO available? And what is the difference between those DSO?
What is
replacement path?
What are
the extractor types?
• Application Specific
o BW Content FI, HR, CO, SAP CRM, LO Cockpit
o Customer-Generated Extractors
LIS, FI-SL, CO-PA
• Cross Application (Generic Extractors)
o DB View, InfoSet, Function Module
2. What are the steps involved in LO Extraction?
• The steps are:
o RSA5 Select the DataSources
o LBWE Maintain DataSources and Activate Extract Structures
o LBWG Delete Setup Tables
o 0LI*BW Setup tables
o RSA3 Check extraction and the data in Setup tables
o LBWQ Check the extraction queue
o LBWF Log for LO Extract Structures
o RSA7 BW Delta
Queue Monitor
3. How to create a connection with LIS InfoStructures?
• LBW0 Connecting LIS InfoStructures to BW
4. What is the difference between ODS and InfoCube and MultiProvider?
• ODS: Provides granular data, allows overwrite and data is in transparent
tables, ideal for drilldown and RRI.
• CUBE: Follows the star schema, we can only append data, ideal for primary
reporting.
• MultiProvider: Does not have physical data. It allows to access data from
different InfoProviders (Cube, ODS, InfoObject). It is also preferred for
reporting.
5. What are Start routines, Transfer routines and Update routines?
• Start Routines: The start routine is run for each DataPackage after the data
has been written to the PSA and before the transfer rules have been executed.
It allows complex computations for a key figure or a characteristic. It has no
return value. Its purpose is to execute preliminary calculations and to store
them in global DataStructures. This structure or table can be accessed in the
other routines. The entire DataPackage in the transfer structure format is used
as a parameter for the routine.
• Transfer / Update Routines: They are defined at the InfoObject level. It is
like the Start Routine. It is independent of the DataSource. We can use this to
define Global Data and Global Checks.
6. What is the difference between start routine and update routine, when, how
and why are they called?
• Start routine can be used to access InfoPackage while update routines are
used while updating the Data Targets.
7. What is the table that is used in start routines?
• Always the table structure will be the structure of an ODS or InfoCube. For
example if it is an ODS then active table structure will be the table.
8. Explain how you used Start routines in your project?
• Start routines are used for mass processing of records. In start routine all
the records of DataPackage is available for processing. So we can process all
these records together in start routine. In one of scenario, we wanted to apply
size % to the forecast data. For example if material M1 is forecasted to say
100 in May. Then after applying size %(Small 20%, Medium 40%, Large 20%, Extra
Large 20%), we wanted to have 4 records against one single record that is
coming in the info package. This is achieved in start routine.
9. What are Return Tables?
• When we want to return multiple records, instead of single value, we use the
return table in the Update Routine. Example: If we have total telephone expense
for a Cost Center, using a return table we can get
expense per employee.
10. How do start routine and return table synchronize with each other?
• Return table is used to return the Value following the execution of start
routine
11. What is the difference
between V1, V2 and V3 updates?
• V1 Update: It is a Synchronous update. Here the Statistics update is carried
out at the same time as the document update (in the application
tables).
• V2 Update: It is an Asynchronous update. Statistics update and the Document
update take place as different tasks.
o V1 & V2 don't need scheduling.
• Serialized V3 Update: The V3 collective update must be scheduled as a job
(via LBWE). Here, document data is collected in the order it was created and
transferred into the BW as a batch job. The transfer sequence may not be the
same as the order in which the data was created in all scenarios. V3 update
only processes the update data that is successfully processed with the V2
update.
12. What is compression?
• It is a process used to delete the Request IDs and this saves space.
13. What is Rollup?
• This is used to load new DataPackages (requests) into the InfoCube
aggregates. If we have not performed a rollup then the new InfoCube data will
not be available while reporting on the aggregate.
14. What is table partitioning and what are the benefits of partitioning in an
InfoCube?
• It is the method of dividing a table which would enable a quick reference.
SAP uses fact file partitioning to improve performance. We can partition only
at 0CALMONTH or 0FISCPER. Table partitioning helps to run the report faster as
data is stored in the relevant partitions. Also table maintenance becomes
easier. Oracle,
Informix, IBM DB2/390 supports table partitioning while SAP DB, Microsoft SQL
Server, IBM DB2/400 do not support table portioning.
15. How many extra partitions are created and why?
• Two partitions are created for date before the begin date and after the end
date.
16. What are the options available in transfer rule?
• InfoObject
• Constant
• Routine
• Formula
17. How would you optimize the dimensions?
• We should define as many dimensions as possible and we have to take care that
no single dimension crosses more than 20% of the fact table size.
18. What are Conversion Routines for units and currencies in the update rule?
• Using this option we can write ABAP
code for Units / Currencies conversion. If we enable this flag then unit of Key
Figure appears in the ABAP code as an additional parameter. For example, we can
convert units in Pounds to Kilos.
19. Can an InfoObject be an InfoProvider, how and why?
• Yes, when we want to report on Characteristics or Master Data. We have to
right click on the InfoArea and select "Insert characteristic as data
target". For example, we can make 0CUSTOMER as an InfoProvider and report
on it.
20. What is Open Hub Service?
• The Open Hub Service enables us to distribute data from an SAP BW system into
external Data Marts, analytical applications, and other applications. We can
ensure controlled distribution using several systems. The central object for
exporting data is the InfoSpoke. We can define the source and the target object
for the data. BW becomes a hub of an enterprise data warehouse.
The distribution of data becomes clear through central monitoring from the
distribution status in the BW system.
21. How do you transform Open
Hub Data?
• Using BADI we can transform Open Hub Data according to the destination
requirement.
22. What is ODS?
• Operational DataSource is used for detailed storage of data. We can overwrite
data in the ODS. The data is stored in transparent tables.
23. What are BW Statistics and what is its use?
• They are group of Business Content InfoCubes which are used to measure
performance for Query and Load Monitoring. It also shows the usage of
aggregates, OLAP and Warehouse management
http://www.ittestpapers.com/articles/713/3/SAP-BW-Interview-Questions---Part-A/Page3.html
Communication Structure and Transfer
rules
• Create and InfoPackage
• Load Data
25. What are the delta options available when you load from flat file?
• The 3 options for Delta Management with Flat Files:
o Full Upload
o New Status for Changed records (ODS Object only)
o Additive Delta (ODS Object & InfoCube)
Q) Under which menu path is the Test Workbench to be found, including in
earlier Releases?
The menu path is: Tools - ABAP Workbench - Test - Test Workbench.
Q) I want to delete a BEx query that is in Production system through request. Is
anyone aware about it?
A) Have you tried the RSZDELETE transaction?
Q) Errors while monitoring process chains.
A) During data loading. Apart from them, in process chains you add so many
process types, for example after loading data into Info Cube, you rollup data
into aggregates, now this rolling up of data into aggregates is a process type
which you keep after the process type for loading data into Cube. This rolling
up into aggregates might fail.
Another one is after you load data into ODS, you activate ODS data (another
process type) this might also fail.
Q) In Monitor----- Details (Header/Status/Details) à Under Processing (data
packet): Everything OK à Context menu of Data Package 1 (1 Records): Everything
OK ---- Simulate update. (Here we can debug update rules or transfer rules.)
SM50 à Program/Mode à Program à Debugging & debug this work process.
Q) PSA Cleansing.
A) You know how to edit PSA. I don't think you can delete single records. You
have to delete entire PSA data for a request.
Q) Can we make a datasource to support delta.
A) If this is a custom (user-defined) datasource you can make the datasource
delta enabled. While creating datasource from RSO2, after entering datasource
name and pressing create, in the next screen there is one button at the top,
which says generic delta. If you want more details about this there is a
chapter in Extraction book, it's in last pages u find out.
Generic delta services: -
Supports delta extraction for generic extractors according to:
Time stamp
Calendar day
Numeric pointer, such as document number & counter
Only one of these attributes can be set as a delta attribute.
Delta extraction is supported for all generic extractors, such as tables/views,
SAP Query and function modules
The delta queue (RSA7) allows you to monitor the current status of the delta
attribute
Q) Workbooks, as a general rule, should be transported with the
role.
Here are a couple of scenarios:
1. If both the workbook and its role have been previously transported, then the
role does not need to be part of the transport.
2. If the role exists in both dev and the target system but the workbook has
never been transported, and then you have a choice of transporting the role
(recommended) or just the workbook. If only the workbook is transported, then
an additional step will have to be taken after import: Locate the WorkbookID
via Table RSRWBINDEXT (in Dev and verify the same exists in the target system)
and proceed to manually add it to the role in the target system via Transaction
Code PFCG -- ALWAYS use control c/control v copy/paste for manually adding!
3. If the role does not exist in the target system you should transport both
the role and workbook. Keep in mind that a workbook is an object unto itself
and has no dependencies on other objects. Thus, you do not receive an error
message from the transport of 'just a workbook' -- even though it may not be
visible, it will exist (verified via Table RSRWBINDEXT).
Overall, as a general rule, you should transport roles with workbooks.
Q) How much time does it take to extract 1 million (10 lackhs) of records into
an infocube?
A. This depends, if you have complex coding in update rules it will take longer
time, or else it will take less than 30 minutes.
Q) What are the five ASAP Methodologies?
A: Project plan, Business Blue print, Realization, Final preparation & Go-Live - support.
1. Project Preparation: In this phase, decision makers define clear project
objectives and an efficient decision making process ( i.e. Discussions with the
client, like what are his needs and requirements etc.). Project managers
will be involved in this phase (I guess).
A Project Charter is issued and an implementation strategy is outlined in this
phase.
2. Business Blueprint: It is a detailed documentation of your company's
requirements. (i.e. what are the objects we need to develop are modified
depending on the client's requirements).
3. Realization: In this only, the implementation of the project takes place (development
of objects etc) and we are involved in the project from here only.
4. Final Preparation: Final preparation before going live i.e. testing,
conducting pre-go-live, end user training etc.
End user training is given that is in the client site you train them how to
work with the new environment, as they are new to the technology.
5. Go-Live & support: The project has gone live and it is into production.
The Project team will be supporting the end users.
Q) What is landscape of R/3 & what is landscape of BW. Landscape of R/3 not
sure.
Then Landscape of b/w: u have the development system, testing system, production system
Development system: All the implementation part is done in this sys. (I.e.,
Analysis of objects developing, modification etc) and from here the objects are
transported to the testing system, but before transporting an initial test
known as Unit testing
(testing of objects) is done in the development sys.
Testing/Quality system: quality check is done in this system and integration
testing is done.
Production system: All the extraction part takes place in this sys.
Q) How do you measure the size of infocube?
A: In no of records.
Q). Difference between infocube and ODS?
A: Infocube is structured as star schema (extended) where a fact table is
surrounded by different dim table that are linked with DIM'ids. And the data
wise, you will have aggregated data in the cubes. No overwrite functionality
ODS is a flat structure (flat table) with no star schema concept and which will
have granular data (detailed level). Overwrite functionality.
Flat file
datasources does not support 0recordmode in extraction.
x before, -after, n new, a add, d delete, r reverse
Q) Difference between display attributes and navigational attributes?
A: Display attribute is one, which is used only for display purpose in the
report. Where as navigational attribute is used for drilling down in the
report. We don't need to maintain Navigational attribute in the cube as a
characteristic (that is the advantage) to drill down.
Q. SOME DATA IS UPLOADED TWICE INTO INFOCUBE. HOW TO CORRECT IT?
A: But how is it possible? If you load it manually twice, then you can delete
it by requestID.
Q. CAN U ADD A NEW FIELD AT THE ODS LEVEL?
Sure you can. ODS is nothing but a table.
Q. CAN NUMBER OF DATASOURCES HAVE ONE INFOSOURCE?
A) Yes of course. For example, for loading text and hierarchies we use
different data sources but the same InfoSource.
Q. BRIEF THE DATAFLOW IN BW.
A) Data flows from transactional system to analytical system (BW). DataSources
on the transactional system needs to be replicated on BW side and attached to
infosource and update rules respectively.
Q. CURRENCY CONVERSIONS CAN BE WRITTEN IN UPDATE RULES. WHY NOT IN TRANSFER
RULES?
Q) WHAT IS PROCEDURE TO UPDATE DATA INTO DATA TARGETS?
FULL and DELTA.
Q) AS WE USE Sbwnn, sbiw1, sbiw2 for delta update in LIS THEN
WHAT IS THE PROCEDURE IN LO-COCKPIT?
No LIS in LO cockpit. We will have datasources and can be maintained (append
fields). Refer white paper
on LO-Cockpit extractions.
Q) Why we delete the setup tables (LBWG) & fill them (OLI*BW)?
A) Initially we don't delete the setup tables but when we do change in extract
structure we go for it. We r changing the extract structure right, that means
there are some newly added fields in that which r not before. So to get the
required data ( i.e.; the data which is required is taken and to avoid
redundancy) we delete n then fill the setup tables.
To refresh the statistical data.
The extraction set up reads the dataset that you want to process such as,
customers orders with the tables like VBAK, VBAP) & fills the relevant communication
structure with the data. The data is stored in cluster
tables from where it is read when the initialization is run. It is important
that during initialization phase, no one generates or modifies application
data, at least until the tables can be set up.
Q) SIGNIFICANCE of ODS?
It holds granular data (detailed level).
Q) WHERE THE PSA DATA IS STORED?
In PSA table.
Q) WHAT IS DATA SIZE?
The volume of data one data target holds (in no. of records)
Q) Different types of INFOCUBES.
Basic, Virtual (remote, sap remote and multi)
Virtual Cube is used for example, if you consider railways reservation all the
information has to be updated online. For designing the Virtual cube you have
to write the function module that is linking to table, Virtual cube it is like
a the structure, when ever the table is updated the virtual cube will fetch the
data from table and display report Online... FYI.. you will get the information
: https://www.sdn.sap.com/sdn
/index.sdn and search for Designing Virtual Cube and you will get
a good material designing the Function Module
Q) INFOSET QUERY.
Can be made of ODS's and Characteristic InfoObjects with masterdata.
Q) IF THERE ARE 2 DATASOURCES HOW MANY TRANSFER STRUCTURES ARE THERE.
In R/3 or in BW? 2 in R/3 and 2 in BW
Q) ROUTINES?
Exist in the InfoObject, transfer routines, update routines and start routine
Q) BRIEF SOME STRUCTURES USED IN BEX.
Rows and Columns, you can create structures.
Q) WHAT ARE THE DIFFERENT VARIABLES USED IN BEX?
Different Variable's are Texts, Formulas, Hierarchies, Hierarchy nodes &
Characteristic values.
Variable Types are
Manual entry /default value
Replacement path
SAP exit
Customer exit
Authorization
Q) HOW MANY LEVELS YOU CAN GO IN REPORTING?
You can drill down to any level by using Navigational attributes and jump
targets.
Q) WHAT ARE INDEXES?
Indexes are data base indexes, which help in retrieving data fastly.
Q) DIFFERENCE BETWEEN 2.1 AND 3.X VERSIONS.
Help! Refer documentation
Q) IS IT NESSESARY TO INITIALIZE EACH TIME THE DELTA UPDATE IS USED?
No.
Q) WHAT IS THE SIGNIFICANCE OF KPI'S?
KPI's indicate the performance of a company. These are key figures
Q) AFTER THE DATA EXTRACTION
WHAT IS THE IMAGE POSITION.
After image (correct me if I am wrong)
Q) REPORTING AND RESTRICTIONS.
Help! Refer documentation.
Q) TOOLS USED FOR PERFORMANCE TUNING.
ST22, Number ranges, delete indexes before load. Etc
Q) PROCESS CHAINS: IF U has USED IT THEN HOW WILL U SCHEDULING DATA DAILY.
There should be some tool to run the job daily (SM37 jobs)
Q) AUTHORIZATIONS.
Profile generator
Q) WEB REPORTING.
What are you expecting??
Q) CAN CHARECTERSTIC INFOOBJECT CAN BE INFOPROVIDER.
Of course
Q) PROCEDURES OF REPORTING ON MULTICUBES
Refer help. What are you expecting? MultiCube works on Union condition
Q) EXPLAIN TRANPSORTATION OF OBJECTS?
Dev---àQ and Dev-------àP
Q) What types of partitioning are there for BW?
There are two Partitioning Performance aspects for BW (Cube & PSA)
Query Data Retrieval
Performance Improvement:
Partitioning by (say) Date Range improves data retrieval by making best use of
database [data range] execution plans and indexes (of say Oracle database engine).
B) Transactional Load Partitioning Improvement:
Partitioning based on expected load volumes and data element sizes. Improves
data loading into PSA and Cubes by infopackages (Eg. without timeouts).
Q) How can I compare data in R/3 with data in a BW Cube after the daily delta
loads? Are there any standard procedures for checking them or matching the
number of records?
A) You can go to R/3 TCode RSA3 and run the extractor. It will give you the
number of records extracted. Then go to BW Monitor to check the number of
records in the PSA and check to see if it is the same & also in the monitor
header tab.
A) RSA3 is a simple extractor checker program that allows you to rule out
extracts problems in R/3. It is simple to use, but only really tells you if the
extractor works. Since records that get updated into Cubes/ODS structures are
controlled by Update Rules, you will not be able to determine what is in the
Cube compared to what is in the R/3 environment. You will need to compare
records on a 1:1 basis against records in R/3 transactions for the functional
area in question. I would recommend enlisting the help of the end user community
to assist since they presumably know the data.
To use RSA3, go to it and enter the extractor ex: 2LIS_02_HDR. Click execute
and you will see the record count, you can also go to display that data. You
are not modifying anything so what you do in RSA3 has no effect on data quality
afterwards. However, it will not tell you how many records should be expected
in BW for a given load. You have that information in the monitor RSMO during
and after data loads. From RSMO for a given load you can determine how many
records were passed through the transfer rules from R/3, how many targets were
updated, and how many records passed through the Update Rules. It also gives
you error messages from the PSA.
Q) Types of Transfer Rules?
A) Field to Field mapping, Constant, Variable & routine.
Q) Types of Update Rules?
A) (Check box), Return table
Q) Transfer Routine?
A) Routines, which we write in, transfer rules.
Q) Update Routine?
A) Routines, which we write in Update rules
Q) What is the difference between writing a routine in transfer rules and
writing a routine in update rules?
A) If you are using the same InfoSource to update data in more than one data
target its better u write in transfer rules because u can assign one InfoSource
to more than one data target & and what ever logic u write in update rules
it is specific to particular one data target.
Q) Routine with Return Table.
A) Update rules generally only have one return value. However, you can create a
routine in the tab strip key figure calculation, by choosing checkbox Return
table. The corresponding key figure routine then no longer has a return value,
but a return table. You can then generate as many key figure values, as you
like from one data record.
Q) Start routines?
A) Start routines u can write in both updates rules and transfer rules, suppose
you want to restrict (delete) some records based on conditions before getting
loaded into data targets, then you can specify this in update rules-start
routine.
Ex: - Delete Data_Package ani ante it will delete a record based on the
condition
Q) X & Y Tables?
X-table = A table to link material SIDs with SIDs for time-independent
navigation attributes.
Y-table = A table to link material SIDs with SIDS for time-dependent navigation
attributes.
There are four types of sid tables
X time independent navigational attributes sid tables
Y time dependent navigational attributes sid tables
H hierarchy sid tables
I hierarchy structure sid tables
Q) Filters & Restricted Key figures (real time example)
Restricted KF's u can have for an SD cube: billed quantity, billing value, no:
of billing documents as RKF's.
Q) Line-Item Dimension (give me an real time example)
Line-Item Dimension: Invoice no: or Doc no: is a real time example
Q) What does the number in the 'Total' column in Transaction RSA7 mean?
A) The 'Total' column displays the number of LUWs that were written in the
delta queue and that have not yet been confirmed. The number includes the LUWs
of the last delta request (for repetition of a delta request) and the LUWs for
the next delta request. A LUW only disappears from the RSA7 display when it has
been transferred to the BW System and a new delta request has been received
from the BW System.
Q) How to know in which table (SAP BW) contains Technical Name / Description
and creation data of a particular Reports. Reports that are created using BEx
Analyzer.
A) There is no such table in BW if you want to know such details while you are
opening a particular query press properties button you will come to know all
the details that you wanted.
You will find your information about technical names and description about
queries in the following tables. Directory of all reports (Table RSRREPDIR) and
Directory of the reporting component elements (Table RSZELTDIR) for workbooks
and the connections to queries check Where- used list for reports in workbooks
(Table RSRWORKBOOK) Titles of Excel Workbooks in InfoCatalog (Table
RSRWBINDEXT)
Q) What is a LUW in the delta queue?
A) A LUW from the point of view of the delta queue can be an individual
document, a group of documents from a collective run or a whole data packet of
an application
extractor.
Q) Why does the number in the 'Total' column in the overview screen of
Transaction RSA7 differ from the number of data records that is displayed when
you call the detail view?
A) The number on the overview screen corresponds to the total of LUWs (see also
first question) that were written to the qRFC queue and that have not yet been
confirmed. The detail screen displays the records contained in the LUWs. Both,
the records belonging to the previous delta request and the records that do not
meet the selection conditions of the preceding delta init requests are filtered
out. Thus, only the records that are ready for the next delta request are
displayed on the detail screen. In the detail screen of Transaction RSA7, a
possibly existing customer exit is not taken into account.
Q) Why does Transaction RSA7 still display LUWs on the overview screen after
successful delta loading?
A) Only when a new delta has been requested does the source system learn that
the previous delta was successfully loaded to the BW System. Then, the LUWs of
the previous delta may be confirmed (and also deleted). In the meantime, the
LUWs must be kept for a possible delta request repetition. In particular, the
number on the overview screen does not change when the first delta was loaded
to the BW System.
Q) Why are selections not taken into account when the delta queue is filled?
A) Filtering according to selections takes place when the system reads from the
delta queue. This is necessary for reasons of performance.
Q) Why is there a DataSource with '0' records in RSA7 if delta exists and has
also been loaded successfully?
It is most likely that this is a DataSource that does not send delta data to
the BW System via the delta queue but directly via the extractor (delta for
master data using ALE change pointers). Such a DataSource should not be
displayed in RSA7. This error is corrected with BW 2.0B Support Package 11.
Q) Do the entries in table ROIDOCPRMS have an impact on the performance of the
loading procedure from the delta queue?
A) The impact is limited. If performance problems are related to the loading
process from the delta queue, then refer to the application-specific notes (for
example in the CO-PA area, in the logistics cockpit area and so on).
Caution: As of Plug In 2000.2 patch 3 the entries in table ROIDOCPRMS are as
effective for the delta queue as for a full update. Please note, however, that
LUWs are not split during data loading for consistency reasons. This means that
when very large LUWs are written to the DeltaQueue, the actual package size may
differ considerably from the MAXSIZE and MAXLINES parameters.
Q) Why does it take so long to display the data in the delta queue (for example
approximately 2 hours)?
A) With Plug In 2001.1 the display was changed: the user has the option of
defining the amount of data to be displayed, to restrict it, to selectively
choose the number of a data record, to make a distinction between the 'actual'
delta data and the data intended for repetition and so on.
Q) What is the purpose of function 'Delete data and meta data in a queue' in
RSA7? What exactly is deleted?
A) You should act with extreme caution when you use the deletion function in
the delta queue. It is comparable to deleting an InitDelta in the BW System and
should preferably be executed there. You do not only delete all data of this
DataSource for the affected BW System, but also lose the entire information
concerning the delta initialization. Then you can only request new deltas after
another delta initialization.
When you delete the data, the LUWs kept in the qRFC queue for the corresponding
target system are confirmed. Physical deletion only takes place in the qRFC
outbound queue if there are no more references to the LUWs.
The deletion function is for example intended for a case where the BW System,
from which the delta initialization was originally executed, no longer exists
or can no longer be accessed.
Q) Why does it take so long to delete from the delta queue (for example half a
day)?
A) Import PlugIn 2000.2 patch 3. With this patch the performance during
deletion is considerably improved.
Q) Why is the delta queue not updated when you start the V3 update in the
logistics cockpit area?
A) It is most likely that a delta initialization had not yet run or that the
delta initialization was not successful. A successful delta initialization (the
corresponding request must have QM status 'green' in the BW System) is a
prerequisite for the application data being written in the delta queue.
Q) What is the relationship between RSA7 and the qRFC monitor (Transaction
SMQ1)?
A) The qRFC monitor basically displays the same data as RSA7. The internal
queue name must be used for selection on the initial screen of the qRFC
monitor. This is made up of the prefix 'BW, the client and the short name of
the DataSource. For DataSources whose name are 19 characters long or shorter,
the short name corresponds to the name of the DataSource. For DataSources whose
name is longer than 19 characters (for delta-capable DataSources only possible
as of PlugIn 2001.1) the short name is assigned in table ROOSSHORTN.
In the qRFC monitor you cannot distinguish between repeatable and new LUWs.
Moreover, the data of a LUW is displayed in an unstructured manner there.
Q) Why are the data in the delta queue although the V3 update was not started?
A) Data was posted in background. Then, the records are updated directly in the
delta queue (RSA7). This happens in particular during automatic goods receipt
posting (MRRS). There is no duplicate transfer of records to the BW system. See
Note 417189.
Q) Why does button 'Repeatable' on the RSA7 data details screen not only show
data loaded into BW during the last delta but also data that were newly added,
i.e. 'pure' delta records?
A) Was programmed in a way that the request in repeat mode fetches both
actually repeatable (old) data and new data from the source system.
Q) I loaded several delta inits with various selections. For which one is the
delta loaded?
A) For delta, all selections made via delta inits are summed up. This means, a
delta for the 'total' of all delta initializations is loaded.
Q) How many selections for delta inits are possible in the system?
A) With simple selections (intervals without complicated join conditions or
single values), you can make up to about 100 delta inits. It should not be
more.
With complicated selection conditions, it should be only up to 10-20 delta
inits.
Reason: With many selection conditions that are joined in a complicated way,
too many 'where' lines are generated in the generated ABAP
source code that may exceed the memory limit.
Q) I intend to copy the source system, i.e. make a client copy. What will
happen with may delta? Should I initialize again after that?
A) Before you copy a source client or source system, make sure that your deltas
have been fetched from the DeltaQueue into BW and that no delta is pending.
After the client copy, an inconsistency might occur between BW delta tables and
the OLTP delta tables as described in Note 405943. After the client copy, Table
ROOSPRMSC will probably be empty in the OLTP since this table is
client-independent. After the system copy, the table will contain the entries
with the old logical system name that are no longer useful for further delta
loading from the new logical system. The delta must be initialized in any case
since delta depends on both the BW system and the source system. Even if no
dump 'MESSAGE_TYPE_X' occurs in BW when editing or creating an InfoPackage, you
should expect that the delta have to be initialized after the copy.
Q) Is it allowed in Transaction SMQ1 to use the functions for manual control of
processes?
A) Use SMQ1 as an instrument for diagnosis and control only. Make changes to BW
queues only after informing the BW Support or only if this is explicitly
requested in a note for component 'BC-BW' or 'BW-WHM-SAPI'.
Q) Despite of the delta request being started after completion of the
collective run (V3 update), it does not contain all documents. Only another
delta request loads the missing documents into BW. What is the cause for this
"splitting"?
A) The collective run submits the open V2 documents for processing to the task
handler, which processes them in one or several parallel update processes in an
asynchronous way. For this reason, plan a sufficiently large "safety time
window" between the end of the collective run in the source system and the
start of the delta request in BW. An alternative solution where this problem
does not occur is described in Note 505700.
Q) Despite my deleting the delta init, LUWs are still written into the
DeltaQueue?
A) In general, delta initializations and deletions of delta inits should always
be carried out at a time when no posting takes place. Otherwise, buffer
problems may occur: If a user started the internal mode at a time when the
delta initialization was still active, he/she posts data into the queue even
though the initialization had been deleted in the meantime. This is the case in
your system.
Q) In SMQ1 (qRFC Monitor) I have status 'NOSEND'. In the table TRFCQOUT, some
entries have the status 'READY', others 'RECORDED'. ARFCSSTATE is 'READ'. What
do these statuses mean? Which values in the field 'Status' mean what and which
values are correct and which are alarming? Are the statuses BW-specific or
generally valid in qRFC?
A) Table TRFCQOUT and ARFCSSTATE: Status READ means that the record was read
once either in a delta request or in a repetition of the delta request.
However, this does not mean that the record has successfully reached the BW
yet. The status READY in the TRFCQOUT and RECORDED in the ARFCSSTATE means that
the record has been written into the DeltaQueue and will be loaded into the BW
with the next delta request or a repetition of a delta. In any case only the
statuses READ, READY and RECORDED in both tables are considered to be valid.
The status EXECUTED in TRFCQOUT can occur temporarily. It is set before
starting a DeltaExtraction for all records with status READ present at that
time. The records with status EXECUTED are usually deleted from the queue in
packages within a delta request directly after setting the status before
extracting a new delta. If you see such records, it means that either a process
which is confirming and deleting records which have been loaded into the BW is
successfully running at the moment, or, if the records remain in the table for
a longer period of time with status EXECUTED, it is likely that there are
problems with deleting the records which have already been successfully been
loaded into the BW. In this state, no more deltas are loaded into the BW. Every
other status is an indicator for an error or an inconsistency. NOSEND in SMQ1
means nothing (see note 378903).
The value 'U' in field 'NOSEND' of table TRFCQOUT is discomforting.
Q) The extract structure was changed when the DeltaQueue was empty. Afterwards
new delta records were written to the DeltaQueue. When loading the delta into
the PSA, it shows that some fields were moved. The same result occurs when the
contents of the DeltaQueue are listed via the detail display. Why are the data
displayed differently? What can be done?
Make sure that the change of the extract structure is also reflected in the
database and that all servers are synchronized. We recommend to reset the
buffers using Transaction $SYNC. If the extract structure change is not
communicated synchronously to the server where delta records are being created,
the records are written with the old structure until the new structure has been
generated. This may have disastrous consequences for the delta.
When the problem occurs, the delta needs to be re-initialized.
Q) How and where can I control whether a repeat delta is requested?
A) Via the status of the last delta in the BW Request Monitor. If the request
is RED, the next load will be of type 'Repeat'. If you need to repeat the last
load for certain reasons, set the request in the monitor to red manually. For
the contents of the repeat see Question 14. Delta requests set to red despite
of data being already updated lead to duplicate records in a subsequent repeat,
if they have not been deleted from the data targets concerned before.
Q) As of PI 2003.1, the Logistic Cockpit offers various types of update
methods. Which update method is recommended in logistics? According to which
criteria should the decision be made? How can I choose an update method in
logistics?
See the recommendation in Note 505700.
Q) Are there particular recommendations regarding the data volume the
DeltaQueue may grow to without facing the danger of a read failure due to
memory problems?
A) There is no strict limit (except for the restricted number range of the
24-digit QCOUNT counter in the LUW management table - which is of no practical
importance, however - or the restrictions regarding the volume and number of
records in a database table).
When estimating "smooth" limits, both the number of LUWs is important
and the average data volume per LUW. As a rule, we recommend to bundle data
(usually documents) already when writing to the DeltaQueue to keep number of
LUWs small (partly this can be set in the applications, e.g. in the Logistics
Cockpit). The data volume of a single LUW should not be considerably larger
than 10% of the memory available to the work process for data extraction
(in a 32-bit architecture with a memory volume of about 1GByte per work
process, 100 Mbytes per LUW should not be exceeded). That limit is of rather
small practical importance as well since a comparable limit already applies
when writing to the DeltaQueue. If the limit is observed, correct reading is
guaranteed in most cases.
If the number of LUWs cannot be reduced by bundling application transactions,
you should at least make sure that the data are fetched from all connected BWs
as quickly as possible. But for other, BW-specific, reasons, the frequency
should not be higher than one DeltaRequest per hour.
To avoid memory problems, a program-internal limit ensures that never more than
1 million LUWs are read and fetched from the database per DeltaRequest. If this
limit is reached within a request, the DeltaQueue must be emptied by several
successive DeltaRequests. We recommend, however, to try not to reach that limit
but trigger the fetching of data from the connected BWs already when the number
of LUWs reaches a 5-digit value.
Q) I would like to display the date the data was uploaded on the
report. Usually, we load the transactional data nightly. Is there any easy way
to include this information on the report for users? So that they know the
validity of the report.
A) If I understand your requirement correctly, you want to display the date on
which data was loaded into the data target from which the report is being
executed. If it is so, configure your workbook to display the text elements in
the report. This displays the relevance of data field, which is the date on which
the data load has taken place.
Q) Can we filter the fields at Transfer Structure?
Q) Can we load data directly into infoobject with out extraction is it
possible.
Yes. We can copy from other infoobject if it is same. We load data from PSA if
it is already in PSA.
Q) HOW MANY DAYS CAN WE KEEP THE DATA IN PSA, IF WE R SHEDULED DAILY, WEEKLY
AND MONTHLY.
a) We can set the time.
Q) HOW CAN U GET THE DATA FROM CLIENT IF U R WORKING ON OFFSHORE PROJECTS.
THROUGH WHICH NETWORK.
a) VPN…………….Virtual
Private Network, VPN is nothing but one sort of network
where we can connect to the client systems sitting in offshore through RAS
(Remote access server).
Q) HOW CAN U ANALIZE THE PROJECT AT FIRST?
Prepare Project Plan and Environment
Define Project Management
Standards and
Procedures
Define Implementation Standards and Procedures
Testing & Go-live + supporting.
Q) THERE is one ODS AND 4 INFOCUBES. WE SEND DATA AT TIME TO ALL CUBES IF ONE
CUBE GOT LOCK ERROR. HOW CAN U RECTIFY THE ERROR?
Go to TCode sm66 then see which one is locked select that pid from there and
goto sm12
TCode then unlock it this is happened when lock errors are occurred when u
scheduled.
Q) Can anybody tell me how to add a navigational attribute in the BEx report in
the rows?
A) Expand dimension under left side panel (that is infocube panel) select than
navigational attributes drag and drop under rows panel.
Q) IF ANY TRASACTION CODE LIKE SMPT OR STMT.
In current systems (BW 3.0B and R/3 4.6B) these Tcodes don't exist!
Q) WHAT IS TRANSACTIONAL CUBE?
A) Transactional InfoCubes differ from standard InfoCubes in that the former
have an improved write access performance level. Standard InfoCubes are
technically optimized for read-only access and for a comparatively small number
of simultaneous accesses. Instead, the transactional InfoCube was developed to
meet the demands of SAP Strategic Enterprise Management (SEM), meaning that,
data is written to the InfoCube (possibly by several users at the same time)
and re-read as soon as possible. Standard Basic cubes are not suitable for
this.
Q) Is there any way to delete cube contents within update rules from an ODS
data source? The reason for this would be to delete (or zero out) a cube record
in an "Open Order" cube if the open order quantity was 0.
I've tried using the 0recordmode but that doesn't work. Also, would it
be easier to write a program that would be run after the load and delete
the records with a zero open qty?
A) START routine for update rules u can write ABAP code.
A) Yap, you can do it. Create a start routine in Update rule.
It is not "Deleting cube contents with update rules" It is only
possible to avoid that some content is updated into the InfoCube using the
start routine. Loop at all the records and delete the record that has the
condition. "If the open order quantity was 0" You have to think also
in before and after images in case of a delta upload. In that case you may
delete the change record and keep the old and after the change the wrong
information.
Q) I am not able to access a node in hierarchy directly using variables for
reports. When I am using Tcode RSZV it is giving a message that it doesn't
exist in BW 3.0 and it is embedded in BEx. Can any one tell me the other
options to get the same functionality in BEx?
A) Tcode RSZV is used in the earlier version of 3.0B only. From 3.0B onwards,
it's possible in the Query Designer (BEx) itself. Just right click on the
InfoObject for which you want to use as variables and precede further selecting
variable type and proce -
Hi,
Here are some BW interview questions. Make sure you have prepared for all the q's before going for an interview.
1) Please describe your experience with BEx (Business Explorer)
A) Rate your level of experience with BEx and the rationale for youre self-rating
B) How many queries have you developed? :
C) How many reports have you written?
D) How many workbooks have you developed?
E) Experience with jump targets (OLTP, use jump target)
F) Describe experience with BW-compatible ETL tools (e.g. Ascential)
2) Describe your experience with 3rd party report tools (Crystal Decisions, Business Objects a plus)
3) Describe your experience with the design and implementation of standard & custom InfoCubes.
1. How many InfoCubes have you implemented from start to end by yourself (not with a team)?
2. Of these Cubes, how many characteristics (including attributes) did the largest one have.
3. How much customization was done on the InfoCubes have you implemented?
4) Describe your experience with requirements definition/gathering.
5) What experience have you had creating Functional and Technical specifications?
6) Describe any testing experience you have:
7) Describe your experience with BW extractors
1. How many standard BW extractors have you implemented?
2. How many custom BW extractors have you implemented?
8) Describe how you have used Excel as a compliment to BEx
A) Describe your level of expertise and the rationale for your self-rating (experience with macros, pivot tables and formatting)
B)
9) Describe experience with ABAP
10) Describe any hands on experience with ASAP Methodology.
11) Identify SAP functional areas (SEM, CRM, etc.) you have experience in. Describe that experience.
12) What is partitioning and what are the benefits of partitioning in an InfoCube?
A) Partitioning is the method of dividing a table (either column wise or row wise) based on the fields available which would enable a quick reference for the intended values of the fields in the table. By partitioning an infocube, the reporting performance is enhanced because it is easier to search in smaller tables. Also table maintenance becomes easier.
13) What does Rollup do?
A) Rollup creates aggregates in an infocube whenever new data is loaded.
14) What are the inputs for an infoset?
A) The inputs for an infoset are ODS objects and InfoObjects (with master data or text).
15) What internally happens when BW objects like Info Object, Info Cube or ODS are created and activated?
A) When an InfoObject, InfoCube or ODS object is created, BW maintains a saved version of that object but does not make it available for use. Once the object is activated, BW creates an active version that is available for use.
16) What is the maximum number of key fields that you can have in an ODS object?
A) 16.
17) What is the specific advantage of LO extraction over LIS extraction?
A) The load performance of LO extraction is better than that of LIS. In LIS two tables are used for delta management that is cumbersome. In LO only one delta queue is used for delta management.
18) What is the importance of 0REQUID?
A) It is the InfoObject for Request id. OREQUID enables BW to distinguish between different data records.
19) Can you add programs in the scheduler?
A) Yes. Through event handling.
20) What is the importance of the table ROIDOCPRMS?
A) It is an IDOC parameter source system. This table contains the details of the data transfer like the source system of the data, data packet size, maximum number of lines in a data packet, etc. The data packet size can be changed through the control parameters option on SBIW i.e., the contents of this table can be changed.
21) What is the importance of 'start routine' in update rules?
A) A Start routine is a user exit that can be executed before the update rule starts to allow more complex computations for a key figure or a characteristic. The start routine has no return value. Its purpose is to execute preliminary calculations and to store them in a global data structure. You can access this structure or table in the other routines.
22) When is IDOC data transfer used?
A) IDOCs are used for communication between logical systems like SAP R/3, R/2 and non-SAP systems using ALE and for communication between an SAP R/3 system and a non-SAP system. In BW, an IDOC is a data container for data exchange between SAP systems or between SAP systems and external systems based on an EDI interface. IDOCs support limited file size of 1000 bytes. So IDOCs are not used when loading data into PSA since data there is more detailed. It is used when the file size is lesser than 1000 bytes.
23) What is partitioning characteristic in CO-PA used for?
A) For easier parallel search and load of data.
24) What is the advantage of BW reporting on CO-PA data compared with directly running the queries on CO-PA?
A) BW has a better performance advantage over reporting in R/3. For a huge amount of data, the R/3 reporting tool is at a serious disadvantage because R/3 is modeled as an OLTP system and is good for transaction processing rather than analytical processing.
25) What is the function of BW statistics cube?
A) BW statistics cube contains the data related to the reporting performance and the data loads of all the InfoCubes in the BW system.
26) When an ODS is in 'overwrite' mode, does uploading the same data again and again create new entries in the change log each time data is uploaded?
A) No.
27) What is the function of 'selective deletion' tab in the manage->contents of an infocube?
A) It allows us to select a particular value of a particular field and delete its contents.
28) When we collapse an infocube, is the consolidated data stored in the same infocubeinfocube? or is it stored in the new
A) Data is stored in the same cube.
29) What is the effect of aggregation on the performance? Are there any negative effects on the performance?
A) Aggregation improves the performance in reporting.
30) What happens when you load transaction data without loading master data?
A) The transaction data gets loaded and the master data fields remain blank.
31) When given a choice between a single infocube and multiple InfoCubes with a multiprovider, what factors does one need to consider before making a decision?
A) One would have to see if the InfoCubes are used individually. If these cubes are often used individually, then it is better to go for a multiprovider with many cubes since the reporting would be faster for an individual cube query rather than for a big cube with lot of data.
32) How many hierarchy levels can be created for a characteristic info object?
A) Maximum of 98 levels.
33) What is open hub service?
A) The open hub service enables you to distribute data from an SAP BW system into external data marts, analytical applications, and other applications. With this, you can ensure controlled distribution using several systems. The central object for the export of data is the Infospoke. Using this, you can define the object from which the data comes and into which target it is transferred. Through the open hub service, SAP BW becomes a hub of an enterprise data warehouse. The distribution of data becomes clear through central monitoring from the distribution status in the BW system.
34) What is the function of 'reconstruction' tab in an infocube?
A) It reconstructs the deleted requests from the infocube. If a request has been deleted and later someone wants the data records of that request to be added to the infocube, one can use the reconstruction tab to add those records. It goes to the PSA and brings the data to the infocube.
35) What are secondary indexes with respect to InfoCubes?
A) Index created in addition to the primary index of the infocube. When you activate a table in the ABAP Dictionary, an index is created on the primary key fields of the table. Further indexes created for the table are called secondary indexes.
36) What is DB connect and where is it used?
A) DB connect is database connecting piece of program. It is used in connecting third party tools with BW for reporting purpose.
37) Can we extract hierarchies from R/3 for CO-PA?
A) No We cannot, NO hierarchies in CO/PA�?.
38) Explain field name for partitioning in CO-PA
A) The CO/PA partitioning is used to decrease package size (eg: company code)
39) What is V3 update method ?
A) It is a program in R/3 source system that schedules batch jobs to update extract structure to data source collectively.
40) Differences between serialized and non-serialized V3 updates
41) What is the common method of finding the tables used in any R/3 extraction
A) By using the transaction LISTSCHEMA we can navigate the tables.
42) Differences between table view and infoset query
A) An InfoSet Query is a query using flat tables.
43) How to load data from one InfoCube to another InfoCube ?
A) Thro DataMarts data can be loaded from one InfoCube to another InfoCube.
44) What is the significance of setup tables in LO extractions ?
A) It adds the Selection Criteria to the LO extraction.
45) Difference between extract structure and datasource
A) In Datasource we define the data from diff source sys,where as in extract struct it contains the replicated data of datasource n where in we can define extract rules, n transfer rules
B) Extract Structure is a record layout of InfoObjects.
C) Extract Structure is created on SAP BW system.
46) What happens internally when Delta is Initialized
47) What is referential integrity mechanism ?
A) Referential integrity is the property that guarantees that values from one column depend on values from another column.This property is enforced through integrity constraints.
48) What is activation of extract structure in LO ?
49) What is the difference between Info IDoc and data IDoc ?
50) What is D-Management in LO ?
A) It is a method used in delta update methods, which is based on change log in LO.
Plz experts.. provide the answers for the questions..
Thanx in advance.
SunilHi,
In my case i dont have an experience in BW. I went straight to academy.It is like i am starting a new career.Are the questions also apply to me . -
SGA Size for 8.1.7.4 32 bit? , some Interview Questions
Hi buddies,
I got some interview questions, might be simple for geeks in DBA. I am in need of answers. Could anyone help me.
Thanks,
Raaj
1) Does windows NT support direct I/O?
Answer: Choose one of the answers that apply
A: No, only AIO
B: Yes, depending on hardware.
C: Yes.
D: No.
2) Can you take a coldbackup from solaris and use it on windows NT?
Answer: Choose one of the answers that apply
A: Yes.
B: Yes if RMAN backup performed from NT server.
C: Yes, after running RMAN convert.
D: No.
3) All of the following will alter the number of checkpoints that occur in one hour on the database, except one. Which is it?
Answer: Choose one of the answers that apply
A: Decreasing tablespace size
B: Decreasing size of redo log members
C: Setting LOG_CHECKPOINT_INTERVAL greater than the size of the redo log file
D: Setting LOG_CHECKPOINT_TIMEOUT to zero
4) The DBA is attempting to back up the Oracle database control file. After
issuing the ALTER DATABASE BACKUP CONTROLFILE TO TRACE command, where can the DBA find the backup control file creation materials Oracle created for him or her ?
Answer: Choose one of the answers that apply
A: USER_DUMP_DEST
B: LOG_ARCHIVE_DEST
C: CORE_DUMP_DEST
D: BACKGROUND_DUMP_DEST
5) What is the most important action a DBA must perform after changing the database from NOARCHIVELOG TO ARCHIVELOG?
Answer: Choose one of the answers that apply
A: Shutdown normal and restart the database
B: Perform a full logical database backup
C: Perform a full offline database backup
D: Manually switch the log files
6) Which of the following choices lists an ALTER USER option that can be executed by the user herself or himself?
Answer: Choose one of the answers that apply
A: DEFAULT TABLESPACE
B: IDENTIFIED BY
C: TEMPORARY TABLESPACE
D: PROFILE
7) You need to view the initialization parameter settings for your Oracle
database. Which of the following choices does not identify a method
you can use to obtain values set for your initialization parameters?
Answer: Choose one of the answers that apply
A: Issue SELECT * FROM DBA_PARAMETERS; from SQL*Plus
B: Issue SELECT * FROM V$PARAMETER; from SQL*Plus
C: Issue SHOW PARAMETERS from Server Manager
D: Use OEM Instance Manager
8) As a result of a media failure, the current online redo log group is corrupted, the database crashes, as the current online group is inaccessible. Which type of incomplete recovery are you most likely to perform ?
Answer: Choose one of the answers that apply
A: Change-based
B: Time-based
C: Recovery using a backup control file
D: Cancel-based
9) User SNOW executes the following statement: SELECT * FROM EMP. This
statement executes successfully, and SNOW can see the output. Table
EMP is owned by user REED. What object would be required in order for
this scenario to happen ?
Answer: Choose one of the answers that apply
A: User SNOW would need the role to view table EMP.
B: User SNOW would need the privileges to view table EMP.
C: User SNOW would need a synonym for table EMP.
D: User SNOW would need the password for table EMP.
10) Which one of the following statements is true?
Answer: Choose one of the answers that apply
A: The request queue is common, and the response queue is different for all the dispatchers.
B: The request queue and response queue are different for all the dispatchers.
C: The request queue is different, and response queue is common for all the dispatchers.
D: The request queue and response queue are common for all the dispatchers.
11) What is the largest SGA size for 8.1.7.4 32 bit?
Answer: Choose one of the answers that apply
A: approximately 2GB
B: approximately 3.5GB
C: approximately 4GB
D: approximately 8GB
E: approximately 16GB
12) The DBA is about to perform some administrative tasks. Specifying the
OPTIMAL parameter has which of the following appropriate uses?
Answer: Choose one of the answers that apply
A: Limiting concurrent users
B: Limiting concurrent transactions
C: Limiting growth of rollback segments
D: Limiting growth of tables
13) If the DBA wants to find information about how often transactions are
wrapping transaction information between multiple rollback segment
extents, where would the DBA look to find that information?
Answer: Choose one of the answers that apply
A: DBA_ROLLBACK_SEGS
B: V$ROLLSTAT
C: V$ROLLNAME
D: DBA_SEGMENTS
14) You have 30 rollback segments in your database, for which
TRANSACTIONS_PER_ ROLLBACK_SEGMENT is set to 49 and
TRANSACTIONS is set to 1000. During periods of heavy usage, about how many rollback segments will be actively used by Oracle?
Answer: Choose one of the answers that apply
A: 50
B: 60
C: 20
D: 30
15) The DBA has a table created with the following statement:
CREATE TABLE EMPL
(EMPID NUMBER(10),
LASTNAME VARCHAR2(40),
RESUME LONG RAW);
The DBA attempts to issue the following statement:
ALTER TABLE EMPL
ADD ( PERF_APPRAISE LONG);
What happens?
Answer: Choose one of the answers that apply
A: The statement succeeds.
B: The statement succeeds, but column is added as VARCHAR2.
C: The statement fails.
D: The statement adds a disabled constraint.
16) The primary key of the EMP table has three columns, EMPID, LASTNAME,
and FIRSTNAME. You issue the following SELECT statement:
SELECT * FROM EMP WHERE LASTNAME = 'HARRIS' AND FIRSTNAME = 'BILLI'
AND EMPID = '5069493';
Where would you look to see if this query will use the index associated
with the primary key?
Answer: Choose one of the answers that apply
A: DBA_IND_COLUMNS
B: DBA_TAB_COLUMNS
C: DBA_INDEXES
D: DBA_CLU_COLUMNS
17) You are configuring your index to be stored in a tablespace. Which of the
following storage parameters are not appropriate for indexes?
Answer: Choose one of the answers that apply
A: OPTIMAL
B: INITIAL
C: PCTINCREASE
D: NEXT
18) You need to set up auditing in an order entry and product shipment
application so that when the ORDER_STATUS column in the ORDERS
table changes to SHIPPED, a record is placed in a special table associated
with a part of the application that gives sales representatives a daily list
of customers to call on a follow-up to make sure the customer is satisfied
with the order. Which of the following choices represents the best way
to perform this auditing?
Answer: Choose one of the answers that apply
A: Statement auditing
B: Object auditing
C: Audit by access
D: Value-based auditing
19) Information in the buffer cache is saved back to disk in each of the
following situations except one. In which situation does this not occur?
Answer: Choose one of the answers that apply
A: When a time-out occurs
B: When a log switch occurs
C: When the shared pool is flushed
D: When a checkpoint occurs
20) In order to allow remote administration of users and tablespaces on an Oracle database, which of the following types of files must exist in the database?
Answer: Choose one of the answers that apply
A: Password file
B: Initialization file
C: Datafile
D: Control file
E: Nothing, SYSDBA privileges are not required for these actions.
21) You are planning the storage requirements for your database. Which of the following is an effect of maintaining a high PCTFREE for a table?
Answer: Choose one of the answers that apply
A: Oracle will manage filling data blocks with new records more actively.
B: Oracle will manage filling data blocks with new records less actively.
C: Oracle will leave more space free in data blocks for existing records.
D: Oracle will leave less space free in data blocks for existing records.
22) You manage database access privileges with roles where possible.
You have granted the SELECT_MY_TABLE role to another role, called
EMP_DEVELOPER. To view information about other roles that may be
granted to EMP_DEVELOPER, which of the following dictionary views
are appropriate?
Answer: Choose one of the answers that apply
A: DBA_ROLE_PRIVS
B: DBA_TAB_PRIVS
C: USER_SYS_PRIVS
D: ROLE_ROLE_PRIVS
23) In order to set your SQL*Plus session so that your NLS_DATE_FORMAT
information is altered in a specific way every time you log into Oracle,
what method would be used?
Answer: Choose one of the answers that apply
A: Setting preferences in the appropriate menu option
B: Creating an appropriate LOGIN.SQL file
C: Issuing the ALTER USER statement
D: Issuing the ALTER TABLE statement
24) You create a sequence with the following statement:
CREATE SEQUENCE MY_SEQ
START WITH 394
INCREMENT BY 12
NOMINVALUE
NOMAXVALUE
NOCACHE
NOCYCLE;
Two users have already issued SQL statements to obtain NEXTVAL, and
four more have issued SQL statements to obtain CURRVAL. If you issue a
SQL statement to obtain the NEXTVAL, what will Oracle return?
Answer: Choose one of the answers that apply
A: 406
B: 418
C: 430
D: 4421.-
2.c
3.a
4.a
5.c
6.b
7.a
8.d
9.b
10.a -
11.a
12.c
13.b
14.d
15.c
16.a -
17.a
18.d
19.c
20.a
21. -
22.d
23.b
24.?
hope it helps u.
Thanks
Kuljeet -
Hi friends i have some interview questions please give me good answers.thanks for advance.
1.what is info provider?what is advantages and disadvantages?
2.when your working process chains you set up 2 jobs ,one is 12 pm and anothet 3 am.when you come morning there is errors what is the first thing you do?
3.in the info provider data is loaded in serial or parallel?
4.when your working in reports there is 8 columns,but we have requirement of 10 columns how you can added it?
5.what is integrating planning in BPS?
If possible please send me good interview questions to my mail id.
takecare
bye
habeeb
[email protected]Hi Habeeb,
Please do not post the same questions multiple times:
Some interview questions help -
Interview Questions I was asked....
Hi all,
The following are the Interview questions, i was asked and although i know answers littlebit, i dont know whether they are correct or not, so i am
writing here to know answers and for your reference also.
1) Can i use function as column of table ? if yes, how ?
2) Sub Query and Joins, which one is better performance wise and how ?
3) Using Sys_refcursor OR a set of OUT parameters, which one is better ?
4) I am inserting data into table, what are the best options to avoid
to insert invalid data ?
5) I am loading data with some batch action or manually. After
inserting few records, i have committed the data, but after that
error occured. Now, how i will found, which data i have committed ?
6) How Audit has been done in sql and pl/sql from Developer point of view or dba point of view ?
Thanks,
Pal
Edited by: user546710 on Jan 21, 2011 3:26 AMuser12075620 wrote:
I don't think we can use the function as a column in a table. What John is referring to is a virtual column whose expression is defined af function call:
SQL> CREATE SEQUENCE SEQ1
2 /
Sequence created.
SQL> CREATE OR REPLACE
2 FUNCTION F1
3 RETURN NUMBER
4 DETERMINISTIC
5 IS
6 BEGIN
7 RETURN SEQ1.NEXTVAL;
8 END;
9 /
Function created.
SQL> CREATE TABLE TBL(
2 X NUMBER,
3 Y NUMBER GENERATED ALWAYS AS (F1())
4 )
5 /
Table created.
SQL> INSERT
2 INTO TBL(
3 X
4 )
5 SELECT LEVEL
6 FROM DUAL
7 CONNECT BY LEVEL <= 5
8 /
5 rows created.
SQL> SELECT *
2 FROM TBL
3 /
X Y
1 1
2 1
3 1
4 1
5 1As you can see, column Y value was calculated as select time. Now I deliberately declared non-deterministic function F as deterministic to show you virtual column is calculated at select time. In the above select Oracle calls function F for the first returned row. Then, since F is declared as deterministic Oracle realizes there is no need to call F again (same parameters - actually same no parameters in this case therefore deterministic function should return same results). Same thing happens when we select again:
SQL> /
X Y
1 2
2 2
3 2
4 2
5 2
SQL> /
X Y
1 3
2 3
3 3
4 3
5 3
SQL> As you can see, F is called each time we select so we can say that function is used as a column in a table.
SY. -
Column alias error in a query of views
Hi
I was trying to workout this query
create view dept_sal as
select d.department_name,sum(e.salary)
from departments d left outer join employees e
on d.department_id= e.department_id
group by d.department_name;
and i recieved this error message .............
Error at Command Line:2 Column:25
Error report:
SQL Error: ORA-00998: must name this expression with a column alias
00998. 00000 - "must name this expression with a column alias"
*Cause:
*Action:
I tried to put an alias for sum(e.salary) function and it worked but i dont understand why it is required or is the problem somewhere else and why an alias is needed here ???
Actually the book hasnt specfied the need for an alias at this place ...so i wanted to know why am getting this error ..
create or replace view dept_sal as
select d.department_name,sum(e.salary) as d_sal
from departments d left outer join employees e
on d.department_id= e.department_id
group by d.department_name;
view DEPT_SAL created.
Also i wanted to know if i can start a thread each time i want have a problem or can i add my questions to somebody
else's thread ..
Thanks
JayshreeHi, Jayshree,
to_learn wrote:
Hi
I was trying to workout this query
create view dept_sal as
select d.department_name,sum(e.salary)
from departments d left outer join employees e
on d.department_id= e.department_id
group by d.department_name;
and i recieved this error message .............
Error at Command Line:2 Column:25
Error report:
SQL Error: ORA-00998: must name this expression with a column alias
00998. 00000 - "must name this expression with a column alias"
*Cause:
*Action:
I tried to put an alias for sum(e.salary) function and it worked but i dont understand why it is required or is the problem somewhere else and why an alias is needed here ???Every column in a table or view must have a unique name. If you don't explicitly specify a name for the output column, Oracle will try to generate one based on the input expression. If the name does not follow the normal rules for identifiers (one of which is that the name can't contain special symbols, like parentheses) then the name must be enclosed in double-quotes.
Notice that these rules are a little different from the rules about result sets. In the result set of a main query, for example, column names do not have to be unique, and a system-generated name like 'SUM(E.SALARY)" is acceptable.
Actually the book hasnt specfied the need for an alias at this place ...so i wanted to know why am getting this error ..I can't see which book you're reading. Post a quote. If the book is available on line, post a link, too.
create or replace view dept_sal as
select d.department_name,sum(e.salary) as d_sal
from departments d left outer join employees e
on d.department_id= e.department_id
group by d.department_name;
view DEPT_SAL created.That's the right way to do it.
Also i wanted to know if i can start a thread each time i want have a problem or can i add my questions to somebody
else's thread ..It's better to start your own thread. -
Can any one answer these interview questions
CTS INTERVIEW QUESTIONS( 24/02/07 )
1. What is the difference b/w classical report and ALV report and in classical report can we produce output more than 255 characters?
2. Did you used classes to create ALV reports and how is superior over using function modules in ALV report generation?
3. If we don't know the exact number of blocks to be generated then Can we generate the output with different number of blocks in
ALV reports?
4. In report if we have write statements in initialization, top of page and in start of selection then which event is first excuted and what
is the output?
5. In interactive report what is the use of exit key word?
6. what are nested structures and deep structures?
7. how can we write BDC program to upload data from CSV, XL, TAB delimeter type flat files?
8. In BDC if the flat file consist of header and multiple line items then how to upload the load, does we create a single internal table for
both header and body or different internal tables?
9. In call transaction and session method which method is prefered one?
10. why can't we use call transaction method to upload large amount of data?
11.what is the use of standard text in sap scripts, why can't we hard code the same information in form itself?
12.what are user exits and how can we create them?
13. can we modify the sap provided code?
14. what are oss notes?
15. what are the different types of performance techniques?
16. can we do modifications on output of ALV reports, how?
17. what are the classes that are used in ALV reporting?hi bhushan,
1. What is the difference b/w classical report and ALV report and in classical report can we produce output more than 255 characters?
Ans. Classical report ---Consist of one program that create a single list.This means that when list is displayed,it has to contain all data
requested,regardless of the number of details the user wants to see.This procdeure may result in extensive and cluttered list from which the user has to pick the relvent data.(desired selection much be made before hand).
Mian thing in classical report is it is not interactive(you will have cluttered information).
Alv report _ IS interactive reporting (it is a set of function modules).(in alv we use both classical and interactive).
in classical report we can't produce output more than 255 characters(but in ALV we can have the report contains columns more than 255 characters in length).
ALV is very efficient tool for dynamically sorting and arranging the columns from a report output.
2. Did you used classes to create ALV reports and how is superior over using function modules in ALV report generation?
Ans. its upto you(did you use classes in ALV then say yes)
3. If we don't know the exact number of blocks to be generated then Can we generate the output with different number of blocks in
ALV reports?
4. In report if we have write statements in initialization, top of page and in start of selection then which event is first excuted and what
is the output?
ANS. TOP_OF_PAGE is triggered.
this event is triggered with the first WRITE statement or whenever new page is triggered. if you donts have any write statement before top-of-page or
in start-of-selection then this event is not triggered.
5. In interactive report what is the use of exit key word?
Ans.
6. what are nested structures and deep structures?
7. how can we write BDC program to upload data from CSV, XL, TAB delimeter type flat files?
Ans use FM 'GUI_UPLOAD'(CSV/TAB is .XLS)
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'D:PERSONALF1.XLS'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
tables
data_tab = itab[]
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
You can also use.
Use GUI_UPLOAD FM with exporting parameter
has_field_separator = 'X'
8. In BDC if the flat file consist of header and multiple line items then how to upload the load, does we create a single internal table for
both header and body or different internal tables?
ans. To know more- /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
/people/william.li/blog/2006/03/21/minimize-memory-usage-during-message-mapping-when-replicating-an-element
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f59730fa-0901-0010-df97-c12f071f7d3b
No Documentation for Mapping Function useOneAsMany (Mapping Problem)
/people/claus.wallacher/blog/2006/04/17/replication-of-nodes-using-the-graphical-mapping-tool
/people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
/people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
Re: BDC - Header with multiple line items.
Posted: Sep 18, 2006 6:53 PM in response to: sap innova Reply E-mail this post
http://www.sap-basis-abap.com/abap/handling-table-control-in-bdc.htm
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
When you have enter multiple line in BDC for a table control use call transaction tcode using i_bdcdata options from opt message into i_messages.
Check the below example.
data: lws_cnt type char2,
lws_field type char15.
LOOP AT i_invoicing_plan INTO wa_invoicing_plan.
lws_cnt = sy-tabix.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lws_cnt
IMPORTING
output = lws_cnt .
CONCATENATE 'FPLT-AFDAT(' lws_cnt ')' INTO lws_field.
CONCATENATE wa_invoicing_plan-date+6(2)
wa_invoicing_plan-date+4(2)
wa_invoicing_plan-date+0(4) INTO lws_date
SEPARATED BY '.'.
PERFORM bdc_field USING lws_field lws_date.
CONCATENATE 'FPLT-FPROZ(' lws_cnt ')' INTO lws_field.
lws_perct = wa_invoicing_plan-percentage.
CONDENSE lws_perct.
PERFORM bdc_field USING lws_field lws_perct.
ENDLOOP.
While calling the transaction give like this:
DATA: opt TYPE ctu_params.
opt-dismode = 'N'.
opt-updmode = 'A'.
opt-defsize = 'X'.
CALL TRANSACTION tcode
USING i_bdcdata OPTIONS FROM opt MESSAGES INTO i_messages.
LOOP AT i_messages.
ENDLOOP.
9. In call transaction and session method which method is prefered one?
Ans. it depends on data if data is small then go for call transaction method.
10. why can't we use call transaction method to upload large amount of data?
Ans.there are chances of many errors.
11.what is the use of standard text in sap scripts, why can't we hard code the same information in form itself?
Ans.Assume ur company has stored some text which will printed on sapscript based on certain conditions and not taken thru driver program .
For eg .for a plant 1000
You have to print 'Plant is 1000 and stock is 1000'.
for plant 1010
You have to print 'Plant is 4000 and stock is 3000'.
Then you will create a standard text thru SO10 create a text name and id would be ST and language as EN .
AND YOU PLace the text You have to print 'Plant is 1000 and stock is 1000'.
and this will create one standard text and another standard text for another .
then in the sapscript you will check the plant
use the command in the sapscript and write
Include text name 'zzz' id ST lanuage en.
When you execute
Sapscript will read the include and bring the text from SO10 and print on the screen .
Check T-Code NACE
Check link for more on SAP Scripts.
http://www.sap-img.com/sapscripts.htm
12.what are user exits and how can we create them?
User exits -> They are the provisions given by the sap standard program to add some extra functionality to their program .
Which will be present till there is any version change .
1. User exits were nothing but
subroutines
FORM/PERFORM
called from standard programs.
2. The FORM defintion was placed inside
an empty include file.
3. So It was called EVERYTIME.
and we need to MODIFY/REPAIR the
standard include .
USER EXITS
1. Introduction:
User exits (Function module exits) are exits developed by SAP.
The exit is implementerd as a call to a functionmodule.
The code for the function module is writeen by the developer.
You are not writing the code directly in the function module,
but in the include that is implemented in the function module.
The naming standard of function modules for functionmodule exits is:
EXIT_<program name><3 digit suffix>
The call to a functionmodule exit is implemented as:
CALL CUSTOMER.-FUNCTION <3 digit suffix>
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
For information on Exits, check these links
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sapgenie.com/abap/code/abap26.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
http://www.easymarketplace.de/userexit.php
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sappoint.com/abap/userexit.pdfUser-Exit
13. can we modify the sap provided code?
Ans. Yes,but you need to have access key and i thing you need to have permission also.
14. what are oss notes?
ans.SAP provides support in the form of Notes also and this is called OSS. Can check the link Sree provided.
Just for an example if you face any error in your system. Then there is error number associated with the error. Then you can search for the OSS not for the error number, and the note will give you possible solution to your problem.
You do have notes for any details for every thng and any thing related to SAP.
ans.YES! It is Online Suppor System from SAP. It is official.
Search in http://service.sap.com support portal link with keywork 'OSS' / 'OSS User Guide' to get more info and 'how to' guides.
OSS (online support system) .You can get this support from WWW.SAP.COM site..SAP will issue OSS userid and password to the customers with each licence to their packages..Here you will get all suppost packages information and how to use the things..These kind of info you will get it..Ask your Project customer about this id.. OSS1 is the transaction code to check the oss notes from SAP...
15. what are the different types of performance techniques?
Ans. Use se30--- simply gives you an over view of the time spent on the application processing against the time spend selecting from the database.
use sto5 _SQL trace tool ---Overview of exactly how the prog is hitting against the database and shows you the individual SQL statements used with which index was used.
16. can we do modifications on output of ALV reports, how?
ans.
17. what are the classes that are used in ALV reporting?
ans.Check out this tutorial
An Easy Reference for ALV Grid Control.pdf
and also demo programs in your system.
BCALV_GRID_*.
Check these out:
Check this for basic concepts of OOPS
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/abap%20objects/abap%20code%20sample%20to%20learn%20basic%20concept%20of%20object-oriented%20programming.doc
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20display%20data%20in%20alv%20grid%20using%20object%20oriented%20programming.doc
Tabstrip
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20for%20tab%20strip%20in%20alv.pdf
Editable ALV
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20edit%20alv%20grid.doc
Tree
http://www.sapdevelopment.co.uk/reporting/alv/alvtree/alvtree_usrint.htm
General Tutorial for OOPS
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/an%20easy%20reference%20for%20alv%20grid%20control.pdf
http://www.geocities.com/mpioud/Abap_programs.html
Award points,if it is helpful -
Alternative to Column alias in a Where clause
This question is related to earlier thread: https://forums.oracle.com/thread/2578735
The below query gives me millions of records which is unacceptable from performance point of view. I am only interested in Tickets that are closed in a particular week. I cannot use closed_date in the inner query as closed_date >= '08/18/2013' AND closed_date < '08/24/2013' because close_date is column alias. I can't put it in the where condition of parent query because it makes no sense because by the time control raches to WHERE condition of parent query the subquery would have already fetched millions of records.
Any alternative to this?
SELECT b.ticket_id, b.ticket_status, b.created_date, b.closed_status, b.closed_date
FROM
(SELECT ticket_id, ticket_status, created_date, lead(ticket_status) over (partition BY ticket_id order by created_date) AS closed_status, lead(created_date) over (partition BY ticket_id order by created_date) AS closed_date
FROM cc_ticket_history
WHERE ticket_status IN ('NEW', 'REOPENED', 'CLOSED') /* AND closed_date >= '08/18/2013' AND closed_date < '08/24/2013' gives error */
) b
WHERE b.ticket_status != 'CLOSED' and b.closed_status = 'CLOSED /*AND b.closed_date >= '08/18/2013' AND b.closed_date < '08/24/2013' -- makes no sense */';
Ticket_ID
TICKET_STATUS
CREATED_DATE
CLOSED_STATUS
CLOSED_DATE
D21207155
NEW
06/28/2013 17.28.59.000000000
CLOSED
06/28/2013 18.54.23.000000000
D21207155
REOPENED
07/02/2013 19.55.04.000000000
CLOSED
07/02/2013 23.06.16.000000000Ora-aff wrote:
Point Noted.
It's not just a point, it's a fundamental bug in the code.
Consider this...
SQL> ed
Wrote file afiedt.buf
1 select 'Wrong' from dual
2* where '03/18/2012' > '02/15/2013'
SQL> /
'WRON
Wrong
Comparing strings is not the same as comparing dates.
SQL> ed
Wrote file afiedt.buf
1 select 'Wrong' from dual
2* where to_date('03/18/2012','MM/DD/YYYY') > to_date('02/15/2013','MM/DD/YYYY')
SQL> /
no rows selected -
Hi friends i have some interview questions please give me good answers.thanks for advance.
1.what is info provider?what is advantages and disadvantages?
2.when your working process chains you set up 2 jobs ,one is 12 pm and anothet 3 am.when you come morning there is errors what is the first thing you do?
3.in the info provider data is loaded in serial or parallel?
4.when your working in reports there is 8 columns,but we have requirement of 10 columns how you can added it?
5.what is integrating planning in BPS?
If possible please send me good interview questions to my mail id.
takecare
bye
habeeb
[email protected]Please think when you were at the beginer stage.Yes, I guess setting up a second machine under your desk and spending the next - oh I don't know - 2 months fiddling around and trying out all kinds of things is really nothing that can be asked of anyone anymore today. </sarcasm>
Mind you, my boss at the time did not find it funny that I just formatted a surplus workstation and monopolized it, but when I then took the first official training I had a whole stack of questions at the ready with which to hassle the teacher.
Now you tell me: which approach enables you to learn and understand more and better?
@rnm1978: +1! -
hi BSP GURUS,
anyone have BSP interview questions plz provide me.
thanks and regards,
bala.Hi,
As mentioned in /people/michael.eacrett/blog/2006/05/23/see-no-evil-hear-no-evil-speak-no-evil-and-write-no-evil--to-remove-postings-on-sdn-forums-or-not, /people/sap.user72/blog/2006/06/30/ebooks-free-shop
and /people/eddy.declercq/blog/2006/07/14/from-the-grumpy-old-man-how-to-copy-a-cat
this is copyrighted material which may not be copied without the permission of the author.
Check also things like
http://www.amazon.com/s/ref=nb_ss_gw/103-6826608-2100629?url=search-alias%3Daps&field-keywords=sap+certification&Go.x=0&Go.y=0&Go=Go
Eddy
PS.
Put yourself on the SDN world map (http://sdn.idizaai.be/sdn_world/sdn_world.html) and earn 25 points.
Spread the wor(l)d! -
HI,
this is a interview question, being a fresher i couldn't guess the correct answer and the reason for it, please guide me with this
question : there is a procedure named p1 and it belongs to schema X and schema X has given execute permission on procedure p1 to schema Y. procedure p1 has only one insert statement in it
procedure p1
begin
insert into emp values (----);
end;
in the above insert statement emp table belongs to schema X and Y has no permission to access emp table.
now if schema Y runs the procedure p1 will that procedure insert a row into the table emp ?
if yes how it is possible, if no why?Hi,
Mohan1312 wrote:
HI,
this is a interview question, being a fresher i couldn't guess the correct answer and the reason for it, please guide me with this
question : there is a procedure named p1 and it belongs to schema X and schema X has given execute permission on procedure p1 to schema Y. procedure p1 has only one insert statement in it
procedure p1
begin
insert into emp values (----);
end;If this is an interview, point out that the INSERT statement is missing the lsit of columns to be populated, which is a sloppy programming practice, and will result in errors if columns are added to the table.
in the above insert statement emp table belongs to schema X and Y has no permission to access emp table.
now if schema Y runs the procedure p1 will that procedure insert a row into the table emp ?
if yes how it is possible, if no why?Try it. Do you have 2 schemas on a development system?
The answer is yes, assuming the INSERT statement is valid.
The procedure doesn't specify AUTHID, so it takes the default AUTHID OWNER. That means that everything that is done inside the procedure is done with rhe procedure owner's privileges. X is the owner of the procedure, and x is also the owner of the table, so the procedure owner clearly has the rights to INSERT into the table. Y has EXECUTE privileges on the procedure, and that's all that Y needs. -
hellow Guru's
can u plzz send me BI interview questions
thanking you
RegardsHi,
Following questions are the sample questions for BI 7.0 certification.
What are the types of Geo-characteristics?
a) dynamic
b) dynamic w/attributes
c) static
d) static w/ geo-attributes
e) hyrbid
Does a multi-cube contain data?
a) No
b) Yes
BEx analyzer is restricted by the rows and column restrictions of what?
a) 256 columns and 256 rows
b) the # of columns and the # of columns in the query
c) limitations are defined by the limitations of excel
What methods are available for data transportation methods?
a) iDOC
b) tRFC
c) MDX
d) file replication
What types of flat files are acceptable to import into BW?
a) ASCII
b) CSV
CO/PA naming convention is based on?
a) operating concern, client, system id
What are included in a user's favorites?
a) web addresses
b) transactions
c) workbooks
d) intranet addresses
e) office documents
LIS extraction, what needs to be in place before generating the Datasource?
a) LIS needs to be activated on the source, name space needs to be defined, data needs to be in delta queue
You can create variables for the following?
a) characteristics
b) formulas
c) hierarchies
d) texts
What does OLE stand for?
a) Object linking and embedding
BEx map layers?
a) there is only 1 layer
b) there is more than 1 layer
c) all layers are visible at all times
Go through thebelow URL for guide.
http://www.amazon.com/SAP-BW-Certification-Information-Warehouse/dp/0471236349
If you undergo some training in SAP labs or Siemens, it will be great helpful for u.
http://www.sap.com/services/education/certification/certroles/certificationtest.epx?context=FFC760B8923D16BB5150DAE63E7C1A6B331AF0B9E3A8F73CE3A9B7046E051044503600C911DBA13DCE978D3AC9057626D2B68111A7CD2D707E2EEC31213097E46EB790DD0106435EE0756F7B22F3FA4B4FF0645C06954BF3A150E023B4164DA2C3943DE02E599735DB9B4334B30B38FF20A1DC779D8F55E5F7A6893BDBFA38B94CF455E2A3E0E6851014966C90C80E173937CF7C2372A6FC%7cDA891B3C877030D9765B85CAE6AC82FC3EB6BC7DA10B7335
Thanks,
Sankar M -
Can you help me on these 6 SAP BW interview questions?
Hi,
Can you help me get a better understanding of the expectations in the following interview questions?
Please explain them in your on words and if you think there is an additional information, you may provide the link but I am more interested in your own words and the typical things to say:
1. What is your performance tuning experience (discussion is on SAP BW)?
2. What is your experience with SAP BW change control?
3. You will have to ensure data integrity, adherence to standards and process excellence. What is your experience?
4. What exactly is entailed in a full-lifecycle SAP BW project? When can one say that she has 3 full-lifecycle SAP BW project experience.
5. You will be responsible for working with business to develop business intelligence metrics and analytics. What is expected to be discussed on business intelligence metrics and analytics.?
6. You will be responsible for designing road-map for data warehouse implementation and growth. What is your experience?
ThanksAmanda,
All the questions posed have a rider to it mentioning 'Your Experience' - I am not very sure if we can tell you what your experience has been...
My 0.02
Arun
Maybe you are looking for
-
High Speed Industrial Printing
I have a job of 10,000,000 pages that will need to be printed. The PDF documents are created as individual files that will be uploaded on a server for online viewing, as well as having to be printed. To print, the print server rips each file to AFP w
-
How to make changes in Picking / Packing
Hi According to our customer from Argentina, we need to adapt some changes in our invoices. In invoice / delivery we are adjusting the changes in Acrobat Adobe, but we need to check if it is possible to do something before printing the invoice or dur
-
hi friends In ICWC when i click the link Interaction Record then in the first view area it shows this error Error:- An exception occurred during the activation of target view IRecReason for the navigation An Exception OccurredException Class CX_BSP_I
-
JavaScript Call into RESTful service from a remote web page
I am trying to insert a SharePoint list item title into non-SharePoint web page. Using the following script: $.support.cors = true; $(document).ready(function () { $.ajax( url: "https://mysite/_api/web/lists/getbytitle('Testing Issues List')/items(5)
-
Unable to install components of Technical Communications Suite 3.5
Standard installation of tech comms 3.5 suite fails at the final hurdle. Log file is as follows: Exit Code: 6 Please see specific errors and warnings below for troubleshooting. For example, ERROR: DS013, DW050 ... WARNING: DS013, DW016 ... ---------