For all entries
The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of
entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the
length of the WHERE clause.
The plus
* Large amount of data
* Mixing processing and reading of data
* Fast internal reprocessing of data
* Fast
The Minus
* Difficult to program/understand
* Memory could be critical (use FREE or PACKAGE size)
Some steps that might make FOR ALL ENTRIES more efficient:
* Removing duplicates from the the driver table
* Sorting the driver table
If possible, convert the data in the driver table to ranges so a BETWEEN statement is used instead of and OR statement:
FOR ALL ENTRIES IN i_tab
WHERE mykey >= i_tab-low and
mykey <= i_tab-high. Nested selects The plus: * Small amount of data * Mixing processing and reading of data * Easy to code - and understand The minus: * Large amount of data * when mixed processing isn’t needed * Performance killer no. 1 Select using JOINS The plus * Very large amount of data * Similar to Nested selects - when the accesses are planned by the programmer * In some cases the fastest * Not so memory critical The minus * Very difficult to program/understand * Mixing processing and reading of data not possible Use the selection criteria SELECT * FROM SBOOK. CHECK: SBOOK-CARRID = 'LH' AND SBOOK-CONNID = '0400'. ENDSELECT. SELECT * FROM SBOOK WHERE CARRID = 'LH' AND CONNID = '0400'. ENDSELECT. Use the aggregated functions C4A = '000'. SELECT * FROM T100 WHERE SPRSL = 'D' AND ARBGB = '00'. CHECK: T100-MSGNR > C4A.
C4A = T100-MSGNR.
ENDSELECT.
SELECT MAX( MSGNR ) FROM T100 INTO C4A
WHERE SPRSL = 'D' AND
ARBGB = '00'.
Select with view
SELECT * FROM DD01L
WHERE DOMNAME LIKE 'CHAR%'
AND AS4LOCAL = 'A'.
SELECT SINGLE * FROM DD01T
WHERE DOMNAME = DD01L-DOMNAME
AND AS4LOCAL = 'A'
AND AS4VERS = DD01L-AS4VERS
AND DDLANGUAGE = SY-LANGU.
ENDSELECT.
SELECT * FROM DD01V
WHERE DOMNAME LIKE 'CHAR%'
AND DDLANGUAGE = SY-LANGU.
ENDSELECT.
Select with index support
SELECT * FROM T100
WHERE ARBGB = '00'
AND MSGNR = '999'.
ENDSELECT.
SELECT * FROM T002.
SELECT * FROM T100
WHERE SPRSL = T002-SPRAS
AND ARBGB = '00'
AND MSGNR = '999'.
ENDSELECT.
ENDSELECT.
Select … Into table
REFRESH X006.
SELECT * FROM T006 INTO X006.
APPEND X006.
ENDSELECT
SELECT * FROM T006 INTO TABLE X006.
Select with selection list
SELECT * FROM DD01L
WHERE DOMNAME LIKE 'CHAR%'
AND AS4LOCAL = 'A'.
ENDSELECT
SELECT DOMNAME FROM DD01L
INTO DD01L-DOMNAME
WHERE DOMNAME LIKE 'CHAR%'
AND AS4LOCAL = 'A'.
ENDSELECT
Key access to multiple lines
LOOP AT TAB.
CHECK TAB-K = KVAL.
" ...
ENDLOOP.
LOOP AT TAB WHERE K = KVAL.
" ...
ENDLOOP.
Copying internal tables
REFRESH TAB_DEST.
LOOP AT TAB_SRC INTO TAB_DEST.
APPEND TAB_DEST.
ENDLOOP.
TAB_DEST[] = TAB_SRC[].
Modifying a set of lines
LOOP AT TAB.
IF TAB-FLAG IS INITIAL.
TAB-FLAG = 'X'.
ENDIF.
MODIFY TAB.
ENDLOOP.
TAB-FLAG = 'X'.
MODIFY TAB TRANSPORTING FLAG
WHERE FLAG IS INITIAL.
Deleting a sequence of lines
DO 101 TIMES.
DELETE TAB_DEST INDEX 450.
ENDDO.
DELETE TAB_DEST FROM 450 TO 550.
Linear search vs. binary
READ TABLE TAB WITH KEY K = 'X'.
READ TABLE TAB WITH KEY K = 'X' BINARY SEARCH.
Comparison of internal tables
DESCRIBE TABLE: TAB1 LINES L1,
TAB2 LINES L2.
IF L1 <> L2.
TAB_DIFFERENT = 'X'.
ELSE.
TAB_DIFFERENT = SPACE.
LOOP AT TAB1.
READ TABLE TAB2 INDEX SY-TABIX.
IF TAB1 <> TAB2.
TAB_DIFFERENT = 'X'. EXIT.
ENDIF.
ENDLOOP.
ENDIF.
IF TAB_DIFFERENT = SPACE.
" ...
ENDIF.
IF TAB1[] = TAB2[].
" ...
ENDIF.
Modify selected components
LOOP AT TAB.
TAB-DATE = SY-DATUM.
MODIFY TAB.
ENDLOOP.
WA-DATE = SY-DATUM.
LOOP AT TAB.
MODIFY TAB FROM WA TRANSPORTING DATE.
ENDLOOP.
Appending two internal tables
LOOP AT TAB_SRC.
APPEND TAB_SRC TO TAB_DEST.
ENDLOOP
APPEND LINES OF TAB_SRC TO TAB_DEST.
Deleting a set of lines
LOOP AT TAB_DEST WHERE K = KVAL.
DELETE TAB_DEST.
ENDLOOP
DELETE TAB_DEST WHERE K = KVAL.
Tools available in SAP to pin-point a performance problem
The runtime analysis (SE30)
SQL Trace (ST05)
Tips and Tricks tool
The performance database
Optimizing the load of the database
Using table buffering
Using buffered tables improves the performance considerably. Note that in some cases a stament can not be used with a buffered table, so when using these staments the buffer will be bypassed. These staments are:
* Select DISTINCT
* ORDER BY / GROUP BY / HAVING clause
* Any WHERE clasuse that contains a subquery or IS NULL expression
* JOIN s
* A SELECT... FOR UPDATE
If you wnat to explicitly bypass the bufer, use the BYPASS BUFFER addition to the SELECT clause.
Use the ABAP SORT Clause Instead of ORDER BY
The ORDER BY clause is executed on the database server while the ABAP SORT statement is executed on the application server. The datbase server will usually be the bottleneck, so sometimes it is better to move thje sort from the datsbase server to the application server.
If you are not sorting by the primary key ( E.g. using the ORDER BY PRIMARY key statement) but are sorting by another key, it could be better to use the ABAP SORT stament to sort the data in an internal table. Note however that for very large result sets it might not be a feasible solution and you would want to let the datbase server sort it.
Avoid ther SELECT DISTINCT Statement
As with the ORDER BY clause it could be better to avoid using SELECT DISTINCT, if some of the fields are not part of an index. Instead use ABAP SORT + DELETE ADJACENT DUPLICATES on an internal table, to delete duplciate rows.
Monday, May 26, 2008
Performance Tuning
ABAP - Questions
What is a 'Z' report?
Y or Z report refer to customized abap programs written for modules such as mm, sd, pp or fi/co etc.
Can we create an ABAP program without using Y or Z?
No, this is because all non Yor Z programs are standard SAP programs.
1. How data is stored in cluster table?
Each field of cluster table behaves as tables which contains the no. of entries.
2. What are client dependant objects in abap/sap?
SAP Script layout, text element, and some DDIC objects.
3. On which even we can validate the input fields in module progams?
In PAI (Write field statement on field you want to validate, if you want to validate group of fields put in chain and End chain statement.)
4. In selection screen I have three fields, plant mat no and material group. If I input plant how do I get the mat no and material group based on plant dynamically?
AT SELECTION-SCREEN ON VALUE-REQUEST FOR MATERIAL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' to get material and material group for the plant.
5. How do you get output from IDOC?
Data in IDOc is stored in segments, the output from Idoc is obtained by reading the data stored in its respective segments.
6. When top of the page event is triggered?
After excuteing first write statement in start-of-selection event.
7. Can we create field without data element and how?
In SE11 one option is available above the fields strip. Data element/ direct type.
8. How do we debug sapscript?
Go to SE71 give lay set name , go to utilities select debugger mode on.
9. Which transaction code can I used to analyze the performance of ABAP program.
TCode AL21.
10. How can I copy a standard table to make my own z_table.
Go to transaction SE11. Then there is one option to copy table. Press that button. Enter the name of the standard table and in the Target table enter Z table name and press enter.
Following are some of the answers which I gave upto my knowledge.
1. What is the use of 'outerjoin'
Ans. With the use of outer join you can join the tables even there is no entry in all the tables used in the view.
In case of inner join there should be an entry in al the tables use in the view.
2. When to use logical database?
Ans. Advantage of Logical databases:
less coding s required to retrieve data compared to normal internel tables.
Tables used LDB are in hierarchial structure.
3. What is the use of 'table index'?
Ans .Index is used for faster access of data base tables.
4. What is the use of 'FOR ALL ENTRIES'?
Ans. To avoid nested select statements we use SELECT FOR ALL ENTRIES statement.
If there r more than 10000 records SELECT FOR ALL ENTRIES is used.
Performance wise SELECT FOR ALL ENTRIES is better to use.
5. Can you set up background processing using CALL TRANSACTION?
Yes,Using No Screen Mode.
6. What are table buffers?
Table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed directly from the buffer of the application server. This avoids the time-consuming process of accessing the database. Buffering is useful if table needs to be accessed more no. of times in a program.
1. How do I set a flag for a field in any table?
Create a char field of length 1. for example field STAS-LKENZ is Deletion Indicator. It means that if the value in the field is 'X' then that record has been deleted.
2. Can I execute user exits? If yes, how?
Yes you can. after finding the user exit, you need to use, goto CMOD add ur user-exit to your project. Then activate the FM which you require. Now go into that function module there will be a Include program wit name ZX* . Double click on it, it will ask to create an object, answer it Yes and then write your code in it.
Table TNAPR / NAST
4. How to execute a program step by step on the ABAP editor?
First test your code with '/h' type in command window which shall take you to debug or by putting break points with F8. You test your program from code and then go to se30 performance analysis transaction and there you can know what are the drawbacks. Then go to SLIN transaction and do extended syntax check or from code in menu options where you have debugging -> extended check and the program id ready without error.
Tips by : Harichand Chandunair
Testing your code.
As mentioned above after doing syntax check and extended syntax check you have to create a TEST PLAN. You have to test all possible Postive & Negative test cases.
Test for division by zero if it involves calculation or code accordingly.
Try to test for field overflows. If it involves sap script or smart forms try to print outputs which have single page and also multiple page and which does not have any output at all.
Test by leaving all parameters in selection screen blank.
Test by entering wrong values in selection screen and display a pop-up if the user enters wrong selection screen values.
You can also do ABAP trace and SQL trace to make sure that your program is efficient.
Debugging code/program.
As mentioned above type /h in command line and try to execute the program. Another way is to set break-point at the function module or the required line and do single step execute or execute. Once you finished debugging, you can select Delete to clear all the break points.
5) What are dml statements in sap?
Ans: Insert, Update, Delete.
What is the difference between open sql & native sql?
Ans: Open SQL allows you to access all database tables known to the SAP system, regardless of the database manufacturer. Sometimes, however, we may want to use database-specific SQL statements called Native SQL in your ABAP/4 program. To avoid incompatibilities between different database tables and also to make ABAP/4 programs independent of the database system in use, SAP has created a set of separate SQL statements called Open SQL. Open SQL contains a subset of standard SQL statements as well as some enhancements which are specific to SAP.
A database interface translates SAP's Open SQL statements into SQL commands specific to the database in use. Native SQL statements access the database directly
What is Primary key, foreign key ? what is primary index? secondary index?
Ans: Primary index: the primary index contains key fiels of a table and a pointer to non-key fields of the table. The primary index is created automatically when a table is created in database and moreover you can further define reference to the primary index which are known as Secondary index.
How many indexes can be created for a table?
Ans: 9.
What is data class?
Ans: The data class specifies in which table space the table is created in database.
Give few names of cluster tables in sap?
Ans: sorry i dont know
Give few names of pooled tables in sap?
Ans: A pool table has many to one relation with the table in the database. For one table in the database there are many tables in the dictionary. Tha table in the database has a diff name than in the table in the data dict, it has diff no of fields and field names are different. A pooled table is stored in the pool at the database level. A table pool is a databse table with a special struct that enables the data of many R3 tables to be stored in it. It can hold only pooled tables.
Sorry I dont know table names
Give few names of transparent tables?
Ans: A transparent table has a one to one relataionship in the database. The table in the dictionary has the same name, same no of fields, and the fields have the same name as in the R3 table defn. A transparent tabel has application data (Master and Transaction). sorry i dont know table names
What is a buffer and how many types?
Ans: Buffer is othing but which stores data temporarily. there are two types of buffers. they are Roll and Page areas.
Pages : it stores the application data.
Roll area: it stores the data of previous pages.Data areas of used programs are created in roll areas for each internal session.
What is table maintenance generator and how to create that? What is the transaction code?
Ans: Table maintanence generator is nothing but making a table available for adding records and deleting records.
The transaction code used is SM30.
How to add new fields to a standard sap table?
Ans: 1. Appended structures 2. Customizing tables
What are lock objects?
Ans: Lock objects are nothing but which holds a data for particular field value until you remove a lock..
Diff betwn inner & outer join?
Ans:
What is the use of start-of-selection event?
Ans: Start-of-selection is called implicity even it is not used in the program. start-of-selection is triggered after the standard selection screen has been displayed.
What is the difference between end-of-page and end-of-selection?
Ans: End-of-page : is footer of the page. End-of-selection: is triggered At the end of the processing block.
If you write a write statement after end-of-selection, will that be triggered?
Ans: Yes
How to create a button in selection screen?
Ans: Using parametres
How to add a gui status in a selection screen?
Ans: sorry i dont know i thik using set pf.
How to create a check box/option button in a list?
Ans:
Create an Internal table as :
data: Begin itab occurs 0,
cb_field type char1,
matnr like mara-matnr,
.....
end of itab.
Now you fetch the data into the internal table of itab using
some query...
select * ......
Now you are going to display it as....
Loop at itab.
write:/ cb_field as checkbox...
......
at this time only write the Hide statement.... as...
HIDE: values.... u want...
Endloop..
Now capturing of selected data process...
This can be done by clicking on some USER Command button...
for suppose you're clicking F8 means...
AT pf8.
IF SY-LSIND = 1.
describe table itab lines VARIABLE NAME.
cnt = 3. " Initiate value for Count 3 if you're including page header.
do VARIABLE NAME times.
read line cnt. " Above counter....
if sy-lisel(1) = 'X'.
WRITE:/ 'SELECTED RECORDS:', itab-cb_field,.....
endif.
COUNTER = COUNTER - 1.
cnt = cnt + 1.
enddo.
ENDIF.
Can you call a bdc program from a report? how?
Ans: Yes through Submit and return
Can you call a transaction from a report? how?
Ans: Yes Using Call transaction and leave to.
What are ALV reports? how they are different from normal reports?
Ans: these reports are used to find subtotals and totals in a report. If you want i'll give you an example program
What are the main events that are used in an ALV report?
Ans: sorry i dont know
What is the use of SLIS type pool in alv reports?
Ans: Slis type pool is a global defination of pooltypes of catalog structure, table and layout which we use in ALV reports
Difference between top-of-page and top-of-page during at-line- selection?
Ans: Top-of-page is a header on primary list. Top-of-page during line-selection is a header on secondary lists
In an interactive report, after going to 5th list, can you come back to 2nd list? how?
How many type of internal tables are there?
Ans: Standard, Hashed, Sorted tables
What is the difference between hashed & sorted internal tables?
Ans: Sorted internal table works on Binary Search and Hashed internal tables works on hashed alogorthim through indexes.
What is the difference between standard and sorted internal tables? (in performance wise)
Ans: Sorted table improve the performance in case of a huge table which has no: of records
What is the use of at new statement?
Ans:sorry i dont know
When do you need to create an internal table with header line? and with out a header line? line?
Ans: If we don't want to use any explicit work area then its better to go for an internal table with header line.
What does it mean occurs 0 while creating an internal table?
Ans: sorry i dont know
Which of these methods can be best used in background process?
Ans : Batch Input method.
What is direct input method?
What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
Ans: Exec Sql[Performing
endexec.
The above is the syntax for the native sql statements.
Disadvantages:
. Syntax check is not done to statements written inside the EXEC SQL statements.
What is the meaning of ABAP/4 editor integrated with ABAP/4 data dictionary?
What transactions do you use for data analysis?
ANs: Sorry i dont know but for runtime analysis we use transaction code : se30.
What are selection texts?
Ans: in the selection screen you can change the name of the field,title etc using selection texts. go to text--> text elemets---> selection texts in the menu bar to set selection texts.
What is the client concept in SAP? What is the meaning of client independent?
How to find the return code of a statement in ABAP programs?
Ans: Through functions.
What are steps you follow to improve the performance of a report?
Ans: 1) USe select fields statements (not select *)
2) Use views rather than tables
3) Don't use nested Select.
What is the role of secondary index in performance?
Ans: sorry i dont know
What is the role of ST05 in performance tuning?
Ans: SQL trace
What is the role of extended syntax check in performance tuning?
Ans: sorry i dont know
Will join conditions in sql queries affect perfomance? how?
Ans : Yes
Will sorted internal tables help in performance?
Ans: Yes
Will where conditions in a sql query help improve performance?
Ans: No Not at all
ABAP - Interview Questions 3
1. What is the typical structure of an ABAP/4 program?
HEADER ,BODY,FOOTER.
2. What are field symbols and field groups.?
Have you used "component idx of structure" clause with field groups?
Field symbols:-
Field groups :-
Can any body explain me what is field group?
Field groups are groups similar fields together into one name. Field group works in conjuction with
INSERT f1 f2 INTO fg
EXTRACT fg
SORT BY fg
LOOP ... ENDLOOP
INSERT f1 f2 INTO fg
---------------------
The insert statement is used to create a field group dynamically by inserting the field into it. Only global data fields can be inserted and not local data fields eg : in form modules.
EXTRACT fg
----------
This will combine all the fields in the fieldgroup and write them to a sequential dataset as a single record.
SORT BY fg
----------
Sorting of sequential dataset by field group.
LOOP AND ENDLOOP
---------------
LOOP.
AT ***
......
....
ENDAT.
AT ***
.....
....
ENDAT.
ENDLOOP. *-- Chinmaya
3. What should be the approach for writing a BDC program?
ANS:-
STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION".
STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".
STEP 3: DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity)
ii) create sessions (sessions are created and processed.if success data will transfer).
4. What is a batch input session?
ANS:-
BATCH INPUT SESSION is an intermediate step between internal table and database table.
Data along with the action is stored in session ie data for screen fields, to which screen it is passed,program name behind it, and how next screen is processed.
5. What is the alternative to batch input session?
ANS:-
Call transaction.
6. A situation: An ABAP program creates a batch input session.
We need to submit the program and the batch session in back ground. How to do it?
ANS:-
go to SM36 and create background job by giving
job name,job class and job steps (JOB SCHEDULING)
8. What are the problems in processing batch input sessions?
How is batch input process different from processing online?
ANS:-
PROBLEMS:-
i) If the user forgets to opt for keep session then the session will be automatically removed from the session queue(log remains). However if session is processed we may delete it manually.
ii)if session processing fails data will not be transferred to SAP database table.
10. What are the different types of data dictionary objects?
ans:-
tables, structures, views, domains, data elements, lock objects, Matchcode objects.
11. How many types of tables exists and what are they in data dictionary?
ans :-
4 types of tables
i)Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Opensql and Nativesql can be used.
ii)Pool tables & iii)Cluster tables -
These are logical tables that are arranged as records of transparent tables.one cannot use native sql on these tables
(only opensql).They are not managable directly using database system tools.
iv)Internal tables - .
12. What is the step by step process to create a table in data dictionary?
ans:-
step 1: creating domains(data type,field length,range).
step 2: creating data elements(properties and type for a table
field).
step 3: creating tables(SE11).
13. Can a transparent table exist in data dictionary but not in the data base physically?
ANS:- NO.
TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS.
14. What are the domains and data elements?
ANS:-
DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE.
DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT.
15. Can you create a table with fields not referring to data elements?
ANS:-
YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data element.
16. What is the advantage of structures? How do you use them in the ABAP programs?
ANS:-
Adv:- GLOBAL EXISTANCE(these could be used by any other program without creating it again).
17. What does an extract statement do in the ABAP program?
ANS:-
Once you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements:
EXTRACT
When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset
EXTRACT HEADER.
When you extract the data, the record is filled with the current values of the corresponding fields.
As soon as the system has processed the first EXTRACT statement for a field group
By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program.
18. What is a collect statement? How is it different from append?
ANS:-
If an entry with the same key already exists, the COLLECT statement does not append a new line, but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry.
19. What is open sql vs native sql?
ANS:- by Madhukar
Open SQL , native SQL are the interfaces to create the database applicatons.
Open SQL is consistant across different types of existing Databases.
Native SQL is the database language specific to database.Its API is specific to the databse.
Open SQL API is consistent across all vendors
20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
ANS:-
21. What is the meaning of ABAP/4 editor integrated with ABAP/4 data dictionary?
ANS:-
22. What are the events in ABAP/4 language?
ANS:-
Initialization, At selection-screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,At LAST,AT END, AT FIRST.
23. What is an interactive report?
What is the obvious diff of such report compared with classical type reports?
ANS:-
An Interactive report is a dynamic drill down report that produces the list on users choice.
diff:-
a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with the system
the list produced by interactive report allows the user to interact with the system.
b) ONCE A CLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL.
c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.IN INTERACTIVE DRILLING IS POSSIBLE.
24. What is a drill down report?
ANS:-
Its an Interactive report where in the user can get more relavent data by selecting explicitly.
25. How do you write a function module in SAP? describe.
ANS:-
creating function module:-
called program - se37-creating funcgrp,funcmodule by assigning attributes,importing,exporting,tables,exceptions.
calling program - SE38-in pgm click pattern and write function name- provide export,import,tables,exception values.
26. What are the exceptions in function module?
ANS:-
COMMUNICATION_FAILURE
SYSTEM_FAILURE
27. What is a function group?
ANS:-
GROUP OF ALL RELATED FUNCTIONS.
28. How are the date and time field values stored in SAP?
ANS:-
DD.MM.YYYY. HH:MM:SS
30. Name a few data dictionary objects? //rep//
ANS:-
TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS.
31. What happens when a table is activated in DD?
ANS:-
It is available for any insertion,modification and updation of records by any user.
32. What is a check table and what is a value table?
Check table will be at field level checking.
Value table will be at domain level checking ex: scarr table is check table for carrid.
33. What are match codes? describe?
ans:-
It is a similar to table index that gives list of possible values for either primary keys or non-primary keys.
34. What transactions do you use for data analysis?
ANS:-
35. What is table maintenance generator?
ANS:-
36. What are ranges? What are number ranges?
ANS:-
max,min values provided in selection screens.
37. What are select options and what is the diff from parameters?
ANS:-
select options provide ranges where as parameters do not.
SELECT-OPTIONS declares an internal table which is automatically filled with values or ranges
of values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table.
SELECT-OPTIONS
A selection table is an internal table with fields SIGN, OPTION, LOW and HIGH.
The type of LOW and HIGH is the same as that of
The SIGN field can take the following values: I Inclusive (should apply) E Exclusive (should not apply)
The OPTION field can take the following values: EQ Equal GT Greater than NE Not equal BT Between LE Less
than or equal NB Not between LT Less than CP Contains pattern GE Greater than or equal NP No pattern.
diff:-
PARAMETERS allow users to enter a single value into an internal field within a report.
SELECT-OPTIONS allow users to fill an internal table with a range of values.
For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing
Goto - Text elements - Selection texts - Change.
Eg:- Parameters name(30).
when the user executes the ABAP/4 program,an input field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fields by using text elements as described in Selection Texts.
38. How do you validate the selection criteria of a report?
And how do you display initial values in a selection screen?
ANS:-
validate :- by using match code objects.
display :- Parameters
select-options
39. What are selection texts?
ANS:-
40. What is CTS and what do you know about it?
ANS:-
The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape.
This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.
For practical information on working with the Change and Transport System, see Change and Transport Organizer and Transport Management System.
41. When a program is created and need to be transported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it?
ANS:-
42. What is the client concept in SAP? What is the meaning of client independent?
ANS:-
43. Are programs client dependent?
ANS:-
Yes.Group of users can access these programs with a client no.
44. Name a few system global variables you can use in ABAP programs?
ANS:-
SY-SUBRC,SY-DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX.....
SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WAS TRIGGERED.
45. What are internal tables? How do you get the number of lines in an internal table?
How to use a specific number occurs statement?
ANS:-
i)It is a standard data type object which exists only during the runtime of the program.
They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.
ii)using SY-DBCNT.
iii)The number of memory allocations the system need to allocate for the next record population.
46. How do you take care of performance issues in your ABAP programs?
Performance of ABAPs can be improved by minimizing the amount of data to be transferred.
The data set must be transferred through the network to the applications, so reducing the amount OF time and also reduces the network traffic.
Some measures that can be taken are:
- Use views defined in the ABAP/4 DDIC (also has the advantage of better reusability).
- Use field list (SELECT clause) rather than SELECT *.
- Range tables should be avoided (IN operator)
- Avoid nested SELECTS.
i)system tools
ii)field symbols and field groups.
ans:-
Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does not physically reserve space for a field,but points to a field which is not known until runtime of the program.
eg:- FIELD-SYMBOL
Field groups : A field group combines several fields under one name.At runtime,the INSERT command is used to define which data fields are assigned to which field group.
There should always be a HEADER field group that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER field group.
47. What are datasets?
ANS:-
The sequential files(ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP.
48. How to find the return code of a statement in ABAP programs?
ANS:-
Using function modules.
49. What are interface/conversion programs in SAP?
ANS :
CONVERSION : LEGACY SYSTEM TO FLAT FILE.
INTERFACE : FLAT FILE TO SAP SYSTEM.
51. What are the techniques involved in using SAP supplied programs?
Do you prefer to write your own programs to load master data? Why?
52. What are logical databases? What are the advantages/disadvantages of logical databases?
ANS:-
To read data from a database tables we use logical database.
A logical database provides read-only access to a group of related tables to an ABAP/4 program.
adv:-
The programmer need not worry about the primary key for each table.Because Logical database knows how the different tables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data.
i)An easy-to-use standard user interface.
ii)check functions which check that user input is complete,correct,and plausible.
iii)meaningful data selection.
iv)central authorization checks for database accesses.
v)good read access performance while retaining the hierarchical data view determined by the application logic.
disadv:-
i)If you donot specify a logical database in the program attributes,the GET events never occur.
ii)There is no ENDGET command,so the code block associated with an event ends with the next event
statement (such as another GET or an END-OF-SELECTION).
53. What specific statements do you using when writing a drill down report?
ans:-
AT LINE-SELECTION,AT USER-COMMAND,AT PF.
54. What are different tools to report data in SAP? What all have you used?
ans:-
55. What are the advantages and disadvantages of ABAP/4 query tool?
56. What are the functional areas? User groups? and how does ABAP/4 query work in relation to these?
57. Is a logical database a requirement/must to write an ABAP/4 query?
59. What are Change header/detail tables? Have you used them?
60. What do you do when the system crashes in the middle of a BDC batch session?
ans:-
we will look into the error log file (SM35).
61. What do you do with errors in BDC batch sessions?
ANS:-
We look into the list of incorrect session and process it again. To correct incorrect session we analyize the session to determine which screen and value produced the error.For small errors in data we correct them interactively otherwise
modify batch input program that has generated the session or many times even the datafile.
62. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?
ans:-
go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)
63. Is it possible to run host command from SAP environment? How do you run?
64. What kind of financial periods exist in SAP? What is the relavent table for that?
65. Does SAP handle multiple currencies? Multiple languages?
ans:-
Yes.
66. What is a currency factoring technique?
67. How do you document ABAP/4 programs? Do you use program documentation menu option?
68. What is SAPscript and layout set?
ans:-
The tool which is used to create layout set is called SAPscript. Layout set is a design document.
69. What are the ABAP/4 commands that link to a layout set?
ans:-
control commands,system commands,
70. What is output determination?
71. What are IDOCs?
ans:-
IDOCs are intermediate documents to hold the messages as a container.
72. What are screen painter? menu painter? Gui status? ..etc.
ans:-
dynpro - flow logic + screens.
menu painter -
GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen.
The status comprises those elements that are currently needed by the transaction.
73. What is screen flow logic? What are the sections in it? Explain PAI and PBO.
ans:-
The control statements that control the screen flow.
PBO - This event is triggered before the screen is displayed.
PAI - This event is responsible for processing of screen after the user enters the data and clicks the pushbutton.
74. Overall how do you write transaction programs in SAP?
ans:-
Create program-SE93-create transcode-Run it from command field.
75. Does SAP has a GUI screen painter or not? If yes what operating systems is it available on? What is the other type of screen painter called?
76. What are step loops? How do you program pagedown pageup in step loops?
ans:-
step loops are repeated blocks of field in a screen.
77. Is ABAP a GUI language?
ANS:-
Yes.
ABAP IS AN EVENT DRIVEN LANGUAGE.
78. Normally how many and what files get created when a transaction program is written?
What is the XXXXXTOP program?
ans:-
ABAP/4 program.
DYNPRO
79. What are the include programs?
ANS:-
When the same sequence of statements in several programs are to be written repeadly they are coded in include programs (External programs) and are included in ABAP/4 programs.
80. Can you call a subroutine of one program from another program?
ans:- Yes- only external subroutines Using 'SUBMIT' statement.
81. What are user exits? What is involved in writing them? What precations are needed?
82. What are RFCs? How do you write RFCs on SAP side?
83. What are the general naming conventions of ABAP programs?
ANS:-
Should start with Y or Z.
84. How do you find if a logical database exists for your program requrements?
ans:-
SLDB-F4.
85. How do you find the tables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures?
ans:-
Transcode is entered in command field to open the table.Utilities-Table contents-display.
86. How do you find the menu path for a given transaction in SAP?
ans:-
87. What are the different modules of SAP?
ans:-
FI,CO,SD,MM,PP,HR.
89. How do you get help in ABAP?
ans:-
HELP-SAP LIBRARY,by pressing F1 on a keyword.
90. What are different ABAP/4 editors? What are the differences?
ans:-
91. What are the different elements in layout sets?
ans:-
PAGES,Page windows,Header,Paragraph,Character String,Windows.
92. Can you use if then else, perform ..etc statements in sap script?
ans:-
yes.
93. What type of variables normally used in sap script to output data?
94. How do you number pages in sapscript layout outputs?
95. What takes most time in SAP script programming?
ANS:-
LAYOUT DESIGN AND LOGO INSERTION.
96. How do you use tab sets in layout sets?
97. How do you backup sapscript layout sets? Can you download and upload? How?
98. What are presentation and application servers in SAP?
ANS:-
The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentation components, the database, and also with each other, using the message server.
99. In an ABAP/4 program how do you access data that exists on a presentation server vs on an application server?
ans:-
i)using loop statements.
ii)flat
100. What are different data types in ABAP/4?
ans:-
Elementary -
predefined C,D,F,I,N,P,T,X.
userdefined TYPES.
ex: see in intel book page no 35/65
Structured -
predefined TABLES.
userdefined Field Strings and internal tables.
101. What is difference between session method and Call Transaction?
ans:-
102. Setting up a BDC program where you find information from?
ans:-
103. What has to be done to the packed fields before submitting to a BDC session.
ans:-
fields converted into character type.
104. What is the structure of a BDC sessions.
ans:-
BDCDATA (standard structure).
105. What are the fields in a BDC_Tab Table.
ans:-
program,dynpro,dynbegin,fnam,fval.
106. What do you define in the domain and data element.
Technical details like
107. What is the difference between a pool table and a transparent table and how they are stored at the database level.
ans:-
ii)Pool tables is a logical representation of transparent tables .Hence no existence at database level. Where as transparent tables are physical tables and exist at database level.
108. What is cardinality?
For cardinality one out of two (domain or data element) should be the same for Ztest1 and Ztest2 tables. M:N
Cardinality specifies the number of dependent(Target) and independent (source) entities which can be in a relationship.
Sunday, May 25, 2008
TRANSACTION CODES - OTHERS
| OLE | OLE demo transaction |
| OLI0 | C Plant Maintenance Master Data |
| OLI1 | Set Up INVCO for Material Movements |
| OLI8 | Set Up SIS for Deliveries |
| OLIA | C Maintenance Processing |
| OLIP | C Plant Maintenance Planning |
| OLIQ | New set-up of QM info system |
| OLIX | Set Up Copying/Deleting of Versions |
| OLIY | Set Up Deletion of SIS/Inter.Storage |
| OLIZ | Stat Set Up INVCO: Invoice Verif |
| OLM2 | Customizing: Volume-Based Rebates |
| OLMB | C RM-MAT Inventory Management Menu |
| OLMD | C RM-MAT MRP Menu |
| OLME | C MM Menu: Purchasing |
| OLML | C MM Menu for Warehouse Management |
| OLMR | C RM-MAT Menu: Invoice Verification |
| OLMS | C RM-MAT Master Data Menu |
| OLMW | C RM-MAT Valuation/Acct. Assgt. Menu |
| OLPA | SOP Configuration |
| OLPE | Sales order value |
| OLPK | Customizing for capacity planning |
| OLPR | Project System Options |
| OLPS | Customizing Basic Data |
| OLPV | Customizing: Std. Value Calculation |
| OLQB | C QM QM in Procurement |
| OLQI | Analysis |
| OLQM | Customizing QM Quality Notifications |
| OLQS | C QM Menu Basic Data |
| OLQW | C QM Inspection Management |
| OLQZ | Quality Certificates |
| OLS1 | Customizing for Rebates |
| OLSD | Customizing: SD |
| OLVA | C SD Sales Menu |
| OLVD | C SD Shipping Menu |
| OLVF | C SD Billing Menu |
| OLVS | C SD Menu for Master Data |
| SPRO | Start SAP IMG (Implementation Guide). (from john.omeara@syskoplan.ie) |
TRANSACTION CODES - MM configuration transactions
| OLMB- | Inventory management/Physical Inventory |
| OLMD- | MM Consumption-Based Planning |
| OLME- | MM Purchasing |
| OLML- | Warehouse Management |
| OLMR- | Invoice Verification |
| OLMS | Material Master data |
| OLMW- | MM Valuation/Account Assignment |
TRANSACTION CODES - Material Management (MM)
| MM06 | Flag material for deletion. (from john.omeara@syskoplan.ie) |
| OLMS- | materials management configuration menu, most of the stuff under this menu is not under the implementation guide |
TRANSACTION CODES - FI Financial Management
| FGRP | Report Writer screen |
| FM12 | View blocked documents by user |
| FST2 | Insert language specific name for G/L account. (from john.omeara@syskoplan.ie) |
| FST3 | Display G/L account name. (from john.omeara@syskoplan.ie) |
| KEA0 | Maintain operating concern. (from john.omeara@syskoplan.ie) |
| KEKE | Activate CO-PA. (from john.omeara@syskoplan.ie) |
| KEKK | Assign operating concern. (from john.omeara@syskoplan.ie) |
| KL04 | Delete activity type. (from john.omeara@syskoplan.ie) |
| KS04 | Delete a cost centre. (from john.omeara@syskoplan.ie) |
| KSH2 | Change cost centre group - delete. (from john.omeara@syskoplan.ie) |
| OBR2 | Deletion program for customers, vendors, G/L accounts. (from john.omeara@syskoplan.ie) |
| OKC5 | Cost element/cost element group deletion. (from john.omeara@syskoplan.ie) |
| OKE1 | Delete transaction data. (from john.omeara@syskoplan.ie) |
| OKE2 | Delete a profit centre. (from john.omeara@syskoplan.ie) |
| OKI1 | Determine Activity Number: Activity Types (Assignment of material number/service to activity type) (from john.omeara@syskoplan.ie) |
| OMZ1 | Definition of partner roles. (from john.omeara@syskoplan.ie) |
| OMZ2 | Language dependent key reassignment for partner roles. (from john.omeara@syskoplan.ie) |
TRANSACTION CODES - SAP OFFICE
SO00 send a note through SAP, can be sent to internet, X400, etc
TRANSACTION CODES - Sales and Distribution (SD)
| OLSD | Config for SD. Use Tools-Data Transfer-Conditions to setup SAP supplied BDC to load pricing data |
| VA01 | Create Sales/Returns Order:Initial Screen |
| VB21 | Transaction for Volume Lease Purchases (done as a sales deal) |
| VK15 | Transaction used to enter multiple sales conditions (most will be entered here) |
TRANSACTION CODES - Human Resources (HR)
| PA03 | Change Payroll control record |
| PA20 | Display PA Infotypes |
| PA30 | Create/Change PA Infotypes |
| PP02 | Quick Entry for PD object creation |
| PU00 | Delete PA infotypes for an employee. Will not be able to delete an infotype if there is cluster data assigned to the employee. |
TRANSACTION CODES - Basis / ABAP
You can execute the following commands in the transaction code (tcode) field with Enter. You will find some useful transaction codes below to work in tandem with the following commands: | |
| To call a transaction - In the same session (window) Enter: /nxxxx (xxxx = transaction code). - In an additional session, Enter: /oxxxx (xxxx = transaction code). | |
| If you enter this function before any of the tcodes below, you are able to break out of your current screen/business and begin a completely new session. Otherwise, the current business process has to be terminated, and return to the initial user screen (the main menu) has to be initiated before entering tcode spro). /o tcode saves you the effort of having to do this. | |
| To end the current transaction Enter: /n. Caution: Unsaved changes are lost without warning | |
| To delete the current session. Enter: /i. | |
| To generate a session list Enter: /o. | |
| To log off from the system Enter: /nend. | |
| From John O'Meara | |
| OSS Note 0026171 has additional information on OKCodes in SAP, and is a very useful read |
BASIS/ABAP
| USMM | Pressing F8 will display all hotpacks applied. |
| SEARCH_SAP_MENU | Show the menu path to use to execute a given tcode. You can search by transaction code or menu text. |
| DI02 | ABAP/4 Repository Information System: Tables. |
| LSMW | Legacy System Migration Workbench. An addon available from SAP that can make data converstion a lot easier. Thanks to Serge Desland for this one. |
| OSS1 | SAP Online Service System |
| OY19 | Compare Tables |
| SM13 | Update monitor. Will show update tasks status. Very useful to determine why an update failed. |
| S001 | ABAP Development Workbench |
| S001 | ABAP/4 Development Weorkbench. (from john.omeara@syskoplan.ie) |
| S002 | System Administration. (from john.omeara@syskoplan.ie) |
| SA38 | Execute a program. (from john.omeara@syskoplan.ie) |
| SCAT | Computer Aided Test Tool |
| SCU0 | Compare Tables |
| SE01 | Old Transport & Corrections screen |
| SE03 | Groups together most of the tools that you need for doing transports. In total, more than 20 tools can be reached from this one transaction. |
| SE09 | Workbench Organizer |
| SE10 | New Transport & Correction screen |
| SE11 | ABAP/4 Dictionary Maintenance SE12 ABAP/4 Dictionary Display SE13 Maintain Technical Settings (Tables) |
| SE12 | Dictionary: Initial Screen - enter object name. (from john.omeara@syskoplan.ie) |
| SE13 | Access tables in ABAP/4 Dictionary. (from john.omeara@syskoplan.ie) |
| SE14 | Utilities for Dictionary Tables |
| SE15 | ABAP/4 Repository Information System |
| SE16 | Data Browser: Initial Screen. (from john.omeara@syskoplan.ie) |
| SE16N | Table Browser (the N stands for New, it replaces SE16). Provided by Smijo Mathew. |
| SE17 | General Table Display |
| SE24 | Class Builder |
| SE30 | ABAP/4 Runtime Analysis |
| SE32 | ABAP/4 Text Element Maintenance |
| SE35 | ABAP/4 Dialog Modules |
| SE36 | ABAP/4: Logical Databases |
| SE37 | ABAP/4 Function Modules |
| SE38 | ABAP Editor |
| SE39 | Splitscreen Editor: Program Compare |
| SE41 | Menu Painter |
| SE43 | Maintain Area Menu |
| SE48 | Show program call hierarchy. Very useful to see the overall structure of a program. Thanks to Isabelle Arickx for this tcode. |
| SE49 | Table manipulation. Show what tables are behind a transaction code. Thanks to Isabelle Arickx for this tcode. |
| SE51 | Screen Painter: Initial Screen. (from john.omeara@syskoplan.ie) |
| SE54 | Generate View Maintenance Module |
| SE61 | R/3 Documentation |
| SE62 | Industry utilities |
| SE63 | Translation |
| SE64 | Terminology |
| SE65 | R/3 document. short text statistics SE66 R/3 Documentation Statistics (Test!) |
| SE68 | Translation Administration |
| SE71 | SAPscript layout set |
| SE71 | SAPScript Layouts Create/Change |
| SE72 | SAPscript styles |
| SE73 | SAPscript font maintenance (revised) |
| SE74 | SAPscript format conversion |
| SE75 | SAPscript Settings |
| SE76 | SAPscript Translation Layout Sets |
| SE77 | SAPscript Translation Styles |
| SE80 | ABAP/4 Development Workbench |
| SE81 | SAP Application Hierarchy |
| SE82 | Customer Application Hierarchy |
| SE83 | Reuse Library. Provided by Smiho Mathew. |
| SE84 | ABAP/4 Repository Information System |
| SE85 | ABAP/4 Dictionary Information System |
| SE86 | ABAP/4 Repository Information System |
| SE87 | Data Modeler Information System |
| SE88 | Development Coordination Info System |
| SE91 | Maintain Messages |
| SE92 | Maintain system log messages |
| SE93 | Maintain Transaction. (from john.omeara@syskoplan.ie) |
| SEARCH_SAP_MENU | From the SAP Easy Access screen, type it in the command field and you will be able to search the standard SAP menu for transaction codes / keywords. It will return the nodes to follow for you. |
| SEU | Object Browser |
| SHD0 | Transaction variant maintenance |
| SM04 | Overview of Users (cancel/delete sessions) |
| SM12 | Lock table entries (unlock locked tables) |
| SM21 | View the system log, very useful when you get a short dump. Provides much more info than short dump |
| SM30 | Maintain Table Views. (from john.omeara@syskoplan.ie) |
| SM31 | Table Maintenance |
| SM32 | Table maintenance |
| SM35 | View Batch Input Sessions |
| SM37 | View background jobs |
| SM50 | Process Overview. (from john.omeara@syskoplan.ie) |
| SM51 | Delete jobs from system (BDC) |
| SM62 | Display/Maintain events in SAP, also use function BP_EVENT_RAISE |
| SMEN | Display the menu path to get to a transaction |
| SMOD/CMOD | Transactions for processing/editing/activating new customer enhancements. |
| SNRO | Object browser for number range maintenance. (from john.omeara@syskoplan.ie) |
| SPRO | Start SAP IMG (Implementation Guide). (from john.omeara@syskoplan.ie) |
| SQ00 | ABAP/4 Query: Start Queries |
| SQ01 | ABAP/4 Query: Maintain Queries |
| SQ02 | ABAP/4 Query: Maintain Funct. Areas |
| SQ03 | ABAP/4 Query: Maintain User Groups |
| SQ07 | ABAP/4 Query: Language Comparison |
| ST05 | Trace SQL Database Requests. (from john.omeara@syskoplan.ie) |
| ST22 | ABAP Dump analysis |
| SU53 | Display Authorization Values for User. (from john.omeara@syskoplan.ie) |
| WEDI | EDI Menu. IDOC and EDI base. |
| WE02 | Display an IDOC |
| WE07 | IDOC Statistics |
TRANSACTION CODES - Production Planning (PP)
C001 Create Production Order
C005N Collective Release
C011N Time Ticket
C012 Confirmation - Collective
C013 Confirmation - Cancel
C00IS Production order information system
C0GI Reprocess Goods Movements
C223 Maintain production version
TRANSACTION CODES - Plant Maintenance (PM)
IW31 Create Plant Maintenance Order
IW32 Change Plant Maintenance Order
IW33 Display Plant Maintenance Order
IW34 Create Notification Order
IW51 Create Service Notification
IW52 Change Service Notification
IW53 Display Service Notification
IW54 Create Service Notification :Problem notification
IW55 Create Service Notification :Activity Request
IW56 Create Service Notification :Service Request
IW57 Assign deletion Flag to Completed Service Notifications
IW58 Change Service Notifications: Selection of Notification
IW59 Display Service Notifications: Selection of Notification
ABAP - Interview Questions - 2
1. What is an ABAP data dictionary?
ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views.
2. What are domains and data element?
Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user.
3. What is foreign key relationship?
A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.
4. Describe data classes.
Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself.
5. What are indexes?
Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database.
6. Difference between transparent tables and pooled tables
Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.
Thursday, May 15, 2008
SAP System - Fields
ABCDE | Constant: Alphabet (A,B,C,...) |
| APPLI | SAP applications |
| BATCH | Background active (X) IF SY-BATCH EQ SPACE. WRITE: / 'Report was started on-line'. WRITE: / 'Using variant:', SY-SLSET. ELSE. WRITE: / 'Report was started in background'. ENDIF. |
| BATZD | Background SUBMIT: Daily |
| BATZM | Background SUBMIT: Monthly |
| BATZO | Background SUBMIT: Once |
| BATZS | Background SUBMIT: Immediately |
| BATZW | Background SUBMIT: Weekly |
| BINPT | Batch input active (X) This field indicates if the transaction was called in a Batch Input session or by an online user. To test it, a batch input session must be created. From Release 3.1g the next procedure can be used. o Create a report which displays this system field o Create a Transaction code for this report o Use transaction SHDB to record a the previous transaction o Press the Overview button and choose the 'generate program' function. o Running the previously generated program it will create a Batch Input session o Now call transaction SM35 and process the created Batch Input in foreground. It should display an 'X' for system field SY-BINPT. |
| BREP4 | Background SUBMIT: Root name of request report |
| BSPLD | Background SUBMIT: List output to spool |
| CALLD | CALL mode active (X) This field indicates if the transaction was called from another transaction. o Create a report which displays this system field o Create a Transaction code for this report o Create a new report containing the next ABAP command: CALL TRANSACTION tcode. Where tcode is the Transaction code you created. When you run this report, it should display an 'X' for system field SY-CALLD. |
| CALLR | Print: ID for print dialog function |
| CCURS | Rate specification/result field (CURRENCY CONVERT) |
| CCURT | Table rate from currency conversion |
| CDATE | Date of rate from currency conversion |
| COLNO | Current column during list creation WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'. |
| CPAGE | Current page number WRITE: / 'SY-CPAGE:', SY-CPAGE LEFT-JUSTIFIED. |
| CPROG | Runtime: Main program WRITE: /5 'Main program:' RIGHT-JUSTIFIED, 40 SY-CPROG. |
| CTABL | Exchange rate table from currency conversion |
| CTYPE | Exchange rate type 'M','B','G' from CURRENCY CONVERSION |
| CUCOL | Cursor position (column) WRITE: / 'SY-CUCOL:', SY-CUCOL LEFT-JUSTIFIED. |
| CUROW | Cursor position (line) WRITE: / 'SY-CUROW:', SY-CUROW LEFT-JUSTIFIED. |
| DATAR | Flag: Data received In transaction programming this field indicates the change of data on the screen. In the PBO part you may set default values of the input fields of the dynpro. In the PAI part you can check if they were changed. If SY-DATAR is set, then the user has modified or entered new data on the screen. |
| DATLO | Local date for user |
| DATUM | System: Date |
| DATUT | Global date related to UTC (GMT) |
| DAYST | Summertime active ? ('daylight saving time') |
| DBCNT | Number of elements in edited dataset with DB operations WRITE: /12 'Number of selected records:', SY-DBCNT CENTERED. |
| DBNAM | Logical database for ABAP/4 program |
| DBSYS | System: Database system |
| DCSYS | System: Dialog system |
| DSNAM | Runtime: Name of dataset for spool output |
| DYNGR | Screen group of current screen |
| DYNNR | Number of current screen |
| FDAYW | Factory calendar weekday |
| FDPOS | Location of a string SEARCH T FOR 're'. READ TABLE T INDEX SY-TABIX. WRITE: / SY-TABIX, T-FIELD. SKIP. WRITE: /9 'At the example of sy-tabix, Row', (3) SY-TABIX, ',' , 'keyword ''re'' found at off-set position:', (3) SY-FDPOS. |
| FMKEY | Current function code menu |
| HOST | Host |
| INDEX | Number of loop passes DO 5 TIMES. WRITE: SY-INDEX. ENDDO. |
| LANGU | SAP logon language key |
| LDBPG | Program: ABAP/4 database program for SY-DBNAM |
| LILLI | Number of current list line AT LINE-SELECTION. DETAIL. * SY-LSIND is the index of the current list WRITE: / 'SY-LSIND:', SY-LSIND LEFT-JUSTIFIED. * SY-LISTI is the index of the previous list WRITE: / 'SY-LISTI:', SY-LISTI LEFT-JUSTIFIED. * SY-LILLI is the number of the selected line in the absolute list WRITE: / 'SY-LILLI:', SY-LILLI LEFT-JUSTIFIED. |
| LINCT | Number of list lines WRITE: / SY-LINCT, 'line and', (3) SY-LINSZ, 'column is a page'. |
| LINNO | Current line for list creation WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'. |
| LINSZ | Line size of list WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'. |
| LISEL | Interact.: Selected line * contents of the selected line WRITE: / 'SY-LISEL:', SY-LISEL. |
| LISTI | Number of current list line * SY-LISTI is the index of the previous list WRITE: / 'SY-LISTI:', SY-LISTI LEFT-JUSTIFIED. |
| LOCDB | Local database exists |
| LOCOP | Local database operation |
| LOOPC | Number of LOOP lines at screen step loop |
| LSIND | Number of secondary list * SY-LSIND is the index of the current list WRITE: / 'SY-LSIND:', SY-LSIND LEFT-JUSTIFIED. |
| LSTAT | Interact.: Status information for each list level |
| MACDB | Program: Name of file for matchcode access |
| MACOL | Number of columns from SET MARGIN |
| MANDT | Client number from SAP logon |
| MARKY | Current line character for MARK |
| MAROW | No. of lines from SET MARGIN statement |
| MODNO | Number of alternative modi |
| MSGID | Message ID |
| MSGLI | Interact.: Message line (line 23) |
| MSGNO | Message number |
| MSGTY | Message type (E,I.W,...) |
| MSGV1 | Message variable |
| MSGV2 | Message variable |
| MSGV3 | Message variable |
| MSGV4 | Message variable |
| OPSYS | System: Operating system |
| PAART | Print: Format |
| PAGCT | Page size of list from REPORT statement |
| PAGNO | Runtime: Current page in list |
| PDEST | Print: Output device |
| PEXPI | Print: Spool retention period |
| PFKEY | Runtime: Current F key status |
| PLIST | Print: Name of spool request (list name) |
| PRABT | Print: Department on cover sheet |
| PRBIG | Print: Selection cover sheet |
| PRCOP | Print: Number of copies |
| PRDSN | Print: Name of spool dataset |
| PREFX | ABAP/4 prefix for background jobs |
| PRIMM | Print: Print immediately |
| PRNEW | Print: New spool request (list) |
| PRREC | Print: Recipient |
| PRREL | Print: Delete after printing |
| PRTXT | Print: Text for cover sheet |
| REPID | Program: Name of ABAP/4 program |
| RTITL | Print: Report title of program to be printed |
| SAPRL | System: SAP Release |
| SCOLS | Columns on screen |
| SLSET | Name of selection set |
| SPONO | Runtime: Spool number for list output |
| SPONR | Runtime: Spool number from TRANSFER statement |
| SROWS | Lines on screen |
| STACO | Interact.: List displayed from column |
| STARO | Interact.: Page displayed from line |
| STEPL | Number of LOOP line at screen step |
| SUBRC | Return value after specific ABAP/4 statements |
| SUBTY | ABAP/4: Call type for SUBMIT |
| SYSID | System: SAP System ID |
| TABIX | Runtime: Current line of an internal table SEARCH T FOR 're'. READ TABLE T INDEX SY-TABIX. |
| TCODE | Session: Current transaction code |
| TFDSN | Runtime: Dataset for data extracts |
| TFILL | Current number of entries in internal table |
| TIMLO | Local time for user |
| TIMUT | Global time related to UTC (GMT) |
| TITLE | Title of ABAP/4 program |
| TLENG | Line width of an internal table |
| TMAXL | Maximum number of entries in internal table (?) |
| TNAME | Name of internal table after an access (?) |
| TOCCU | OCCURS parameter with internal tables |
| TPAGI | Flag indicating roll-out of internal table to paging area (?) |
| TSTLO | Timestamp (date and time) for user |
| TSTUT | Timestamp (date and time) related to UTC (GMT) |
| TTABC | Number of line last read in an internal table (?) |
| TTABI | Offset of internal table in roll area (?) |
| TVAR0 | Runtime: Text variable for ABAP/4 text elements |
| TVAR1 | Runtime: Text variable for ABAP/4 text elements |
| TVAR2 | Runtime: Text variable for ABAP/4 text elements |
| TVAR3 | Runtime: Text variable for ABAP/4 text elements |
| TVAR4 | Runtime: Text variable for ABAP/4 text elements |
| TVAR5 | Runtime: Text variable for ABAP/4 text elements |
| TVAR6 | Runtime: Text variable for ABAP/4 text elements |
| TVAR7 | Runtime: Text variable for ABAP/4 text elements |
| TVAR8 | Runtime: Text variable for ABAP/4 text elements |
| TVAR9 | Runtime: Text variable for ABAP/4 text elements |
| TZONE | Time difference from 'Greenwich Mean Time' (UTC) in seconds |
| UCOMM | Interact.: Command field function entry |
| ULINE | Constant: Underline (---------...) |
| UNAME | Session: SAP user from SAP logon |
| UZEIT | System: Time |
| VLINE | Constant: Vertical bar |
| WAERS | T001: Company code currency after reading B segment |
| WILLI | Number of current window line |
| WINCO | Cursor position in window (column) |
| WINDI | Index of current window line |
| WINRO | Cursor position in window (line) |
| WINSL | Interact.: Selected window line |
| WINX1 | Window coordinate (column left) |
| WINX2 | Window coordinate (column right) |
| WINY1 | Window coordinate (line left) |
| WINY2 | Window coordinate (line right) |
| WTITL | Standard page header indicator |
| XCODE | Extended command field |
| ZONLO | Time zone of user |
Archives
-
▼
2008
(29)
-
▼
May
(27)
- Performance Tuning
- ABAP - Questions
- ABAP - Interview Questions 3
- TRANSACTION CODES - OTHERS
- TRANSACTION CODES - MM configuration transactions
- TRANSACTION CODES - Material Management (MM)
- TRANSACTION CODES - FI Financial Management
- TRANSACTION CODES - SAP OFFICE
- TRANSACTION CODES - Sales and Distribution (SD)
- TRANSACTION CODES - Human Resources (HR)
- TRANSACTION CODES - Basis / ABAP
- TRANSACTION CODES - Production Planning (PP)
- TRANSACTION CODES - Plant Maintenance (PM)
- ABAP - Interview Questions - 2
- SAP System - Fields
- ABAP - Interview Questions - 1
- ABAP - Performance tuning
- ALV
- ABAP - REPORT GENERATION - FORMATTING
- ABAP - ABAP SYNTAX
- ABAP - Creating and Changing ABAP Programs
- ABAP - ABAP Statements
- ABAP - Program Types and Execution
- ABAP - Application Servers
- ABAP - Layers in ABAP
- ABAP - The R/3 Basis System: Overview
- ABAP - What is ABAP
-
▼
May
(27)

