Ans SAP R/3 refers to Systems Application and Product for data processing Real-time having a 3 tier architecture i.e. Presentation layer, Application layer and Database layer.
2) What are the programming standards followed?
3) What are the contents in technical specifications?
Ans There are five contents in Technical Settings: Data Class, Size Category, Buffering Permission, Buffering Type and Logging.
4) What is an instance?
Ans When you call a function module, an instance of its function group plus its data, is loaded into the memory area of the internal session. An ABAP program can load several instances by calling function modules from different function groups.
5) How to take care of performance in ABAP Development?
6) What is Function group? Difference between function group and function module?
Ans Function Groups act as containers for Function Modules that logically belong together.
Function Groups
1) These cannot be defined in a Function Module.
2) It cannot be called.
3) They are containers for Function Module.
Function Modules
1) These must be defined in a Function Group.
2) It can be called from any program.
3) They are not containers for Function Group.
7) What is the difference between 'Select single * ' and 'Select upto 1 rows'?
Ans ‘Select single *’ – The result of the selection should be a single entry. If it is not possible to identify a unique entry, the system uses the first line of the selection. For e.g.
DATA : ITAB TYPE ZREKHA_EMP.
SELECT SINGLE * FROM ZREKHA_EMP INTO ITAB
WHERE EMPNO = ‘00101’ AND DEPTNO = ‘0010’.
WRITE : / ITAB-EMPNO, ITAB-EMPNAME,ITAB-DEPTNO.
Select upto 1 rows -
8) What Function does data dictionary perform?
Ans Central information repository for application and system data. The ABAP Dictionary contains data definitions (metadata) that allow you to describe all of the data structures in the system (like tables, views, and data types) in one place. This eliminates redundancy.
9) Difference between domain and data element? What are aggregate object?
Ans Domain - Specifies the technical attributes of a data element - its data type, length, possible values, and appearance on the screen. Each data element has an underlying domain. A single domain can be the basis for several data elements. Domains are objects in the ABAP Dictionary.
Data Element - Describes the business function of a table field. Its technical attributes are based on a domain, and its business function is described by its field labels and documentation.
Aggregate Object – Views, Match Code and Lock objects are called aggregate objects because they are formed from several related table.
10) What is view? Different types of view. Explain?
Ans View - A view is a virtual table containing fields from one or more tables. A virtual table that does not contain any data, but instead provides an application-oriented view of one or more ABAP Dictionary tables.
Different Types of View:
1) Maintenance
2) Database – It is on more than two tables.
3) Projection – It is only on one table.
4) Help
11) Can u print decimals in type N? What is difference between float and packed data type?
Ans No, we cannot print decimals in type N because decimal places are not permitted with N
data type.
Float Data Type: It cannot be declared in Parameters.
Packed Number: It can be declared in Parameters. For e.g.
PARAMETERS : A(4) TYPE P DECIMALS 2,
B(4) TYPE P DECIMALS 2.
DATA : C(4) TYPE P DECIMALS 2.
C = A + B.
WRITE : / ‘THE SUM IS’ , C.
12) What is step-loop? Explain all the steps?
Ans A step loop is a repeated series of field-blocks in a screen. Each block can contain one or more fields, and can extend over more than one line on the screen.
Step loops as structures in a screen do not have individual names. The screen can contain more than one step-loop, but if so, you must program the LOOP...ENDLOOPs in the flow logic accordingly. The ordering of the LOOP...ENDLOOPs must exactly parallel the order of the step loops in the screen. The ordering tells the system which loop processing to apply to which loop. Step loops in a screen are ordered primarily by screen row, and secondarily by screen column.
Transaction TZ61 (development class SDWA) implements a step loop version of the table you saw in transaction TZ60.
Static and Dynamic Step Loops
Step loops fall into two classes: static and dynamic. Static step loops have a fixed size that cannot be changed at runtime. Dynamic step loops are variable in size. If the user re-sizes the window, the system automatically increases or decreases the number of step loop blocks displayed. In any given screen, you can define any number of static step loops, but only a single dynamic one.
You specify the class for a step loop in the Screen Painter. Each loop in a screen has the attributes Looptype (fixed=static, variable=dynamic) and Loopcount. If a loop is fixed, the Loopcount tells the number of loop-blocks displayed for the loop. This number can never change.
Programming with static and dynamic step loops is essentially the same. You can use both the LOOP and LOOP AT statements for both types.
Looping in a Step Loop
When you use LOOP AT with a step loop, the system automatically displays the step loop with vertical scroll bars. The scroll bars, and the updated (scrolled) table display, are managed by the system.
Use the following additional parameters if desired:
- FROM
and TO - CURSOR
13) What is the initial value and maximum length of all data type?
Ans
Data Type | Initial field length | Valid field length | Initial value | Meaning |
Numeric types | ||||
I | 4 | 4 | 0 | Integer (whole number) |
F | 8 | 8 | 0 | Floating point number |
P | 8 | 1 – 16 | 0 | Packed number |
Character types | ||||
C | 1 | 1 – 65535 | ' … ' | Text field (alphanumeric characters) |
D | 8 | 8 | '00000000' | Date field (Format: YYYYMMDD) |
N | 1 | 1 – 65535 | '0 … 0' | Numeric text field (numeric characters) |
T | 6 | 6 | '000000' | Time field (format: HHMMSS) |
Hexadecimal type | ||||
X | 1 | 1 – 65535 | X'0 … 0' | Hexadecimal field |
14) What are the ways to find out the tables used in the program?
Ans
15) Can you have two detail lists from the basic list at the same time?
If yes how and if no why?
Ans
16) What are the different functions used in sap script? What are the parameters used in each Function?
Ans There are three different functions used in SAP Script:
1) OPEN_FORM
2) WRITE_FORM
3) CLOSE_FORM
Parameters in Each Function:
1) OPEN_FORM–
Exporting
Form
Language
2) WRITE_FORM–
Exporting
Element
Window
3) CLOSE_FORM
17) What is sequence of event triggered in report?
Ans There are 6 events in report:
1) Initialization
2) At Selection-Screen
3) Start-of-Selection
4) Get
5) Get Late
6) End-of-Selection
7) Top-of-Page
8) End-of-Page
9) At Line Selection
10) At User Command
11) At PF (nn)
18) What are standard layouts sets in the SAP Script?
Ans There are four standard layouts in the SAP Script:
1) Header
2) Logo
3) Main Window
4) Footer
19) What function module upload data from application server?
Ans
20) What are the various types of selection screen event?
Ans SELECTION-SCREEN BEGIN OF BLOCK ABC WITH FRAME TITLE T01.
SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.
CALL SELECTION-SCREEN 500 STARTING AT 10 10.
21) What do you know about a client?
Ans
22) What are the system fields? Explain?
Ans The ABAP system fields are active in all ABAP programs. They are filled by the runtime environment, and you can query their values in a program to find out particular states of the system. Although they are variables, you should not assign your own values to them, since this may overwrite information that is important for the normal running of the program. However, there are some isolated cases in which you may need to overwrite a system variable. For example, by assigning a new value to the field SY-LSIND, you can control navigation within details lists.
23) What is SAP Script? What is the purpose of SAP Script? Difference between
SAP Script and Report?
Ans SAP Script – It is the integrated text management system of the SAP R/3 System. Two types – PC Editor & Line Editor.
Reports - It is the way to display data fetched from database table onto screen or directly output it to a printer. Two types – Classical and Interactive.
24) What is the use of occurs in internal table? Can u change occurs value in program?
Ans Use of Occurs - If you use the OCCURS parameter, the value of the INITIAL SIZE of the table is returned to the variable
Data : Begin of ITAB occurs 0,
End of ITAB.
Occurs or Initial Size – to specify the initial amount of memory that should be assigned to the table.
Yes, we can change the occurs value in program but output remains the same.
25) Difference between SY-TABIX and SY-INDEX? Where it is used?
Can u check SY-SUBRC after perform?
Ans SY-TABIX - Current line of an internal table. SY-TABIX is set by the statements below, but only for index tables. The field is either not set or is set to 0 for hashed tables.
- APPEND sets SY-TABIX to the index of the last line of the table, that is, it contains the overall number of entries in the table.
- COLLECT sets SY-TABIX to the index of the existing or inserted line in the table. If the table has the type HASHED TABLE, SY-TABIX is set to 0.
- LOOP AT sets SY-TABIX to the index of the current line at the beginning of each loop lass. At the end of the loop, SY-TABIX is reset to the value that it had before entering the loop. It is set to 0 if the table has the type HASHED TABLE.
- READ TABLE sets SY-TABIX to the index of the table line read. If you use a binary search, and the system does not find a line, SY-TABIX contains the total number of lines, or one more than the total number of lines. SY-INDEX is undefined if a linear search fails to return an entry.
- SEARCH
FOR sets SY-TABIX to the index of the table line in which the search string is found.
SY_INDEX - In a DO or WHILE loop, SY-INDEX contains the number of loop passes including the current pass.
26) Difference between UPLOAD and WS_UPLOAD?
Ans UPLOAD - File transfer with dialog from presentation server file to internal table. Data which is available in a file on the presentation server is transferred in an internal table. ASCII & Binary files can be transferred.
WS_UPLOAD - To read data from the presentation server into an internal table without a user dialog, use the function module WS_UPLOAD. The most important parameters are listed below.
Parameters | Function |
CODEPAGE | Only for upload under DOS: Value IBM |
FILENAME | Filename |
FILETYPE | File type |
27) Why did u switch to SAP?
Ans
28) What is a Logical Database?
Ans Logical Databases are special ABAP programs that retrieve data and make it available to application programs.
Use of LDB – is used to read data from database tables by linking them to executable ABAP programs.
29) What are the events used for Logical Database?
Ans Two Events –
1) GET - This is the most important event for executable programs that use a logical database. It occurs when the logical database has read a line from the node
| Meaning |
FIRST | First line of the internal table |
LAST | Last line of the internal table |
NEW | Beginning of a group of lines with the same contents in the field |
END Of | End of a group of lines with the same contents in the field |
112) How to debugg a script?
Ans Go to SE71, give layout set name, go to utilities select debugger mode on.
113) How many maximum sessions can be open in SAPgui?
Ans There are maximum 6 sessions open in SAPgui.
114) SAP Scripts and ABAP programs are client dependent or not? Why?
Ans
115) What are System Variable?
Ans System variables have been predefined by SAP. We can use these variables in formulas or, for example, to pass on certain pieces of information to a function module. How the function called by the function module behaves depends on the type of information passed on.
At present, we can use the following system variables:
System Variable | Use | Meaning |
SY_MODE | In function modules | Current mode of the PI sheet |
SY_TEST | In function modules | Status of the PI sheet (test or active) |
SY_ROW | In function modules | Current table line |
SY_VALUE or X | Generally | Refers to the immediately preceding input value |
116) Is it compulsory to use all the events in Reports?
Ans
117) What is the difference between sum and collect?
Ans Sum: You can only use this statement within a LOOP. If you use SUM in an AT - ENDAT block, the system calculates totals for the numeric fields of all lines in the current line group and writes them to the corresponding fields in the work area. If you use the SUM statement outside an AT - ENDAT block (single entry processing), the system calculates totals for the numeric fields of all lines of the internal table in each loop pass and writes them to the corresponding fields of the work area. It therefore only makes sense to use the SUM statement in AT...ENDAT blocks.
If the table contains a nested table, you cannot use the SUM statement. Neither can you use it if you are using a field symbol instead of a work area in the LOOP statement.
Collect:
118) What are session method and call transaction method and explain about them?
Ans Session method – Use the BDC_OPEN_GROUP to create a session. Once we have created a session, then we can insert the batch input data into it with BDC_INSERT. Use the BDC_INSERT to add a transaction to a batch input session. We specify the transaction that is to be started in the call to BDC_INSERT. We must provide a BDCDATA structure that contains all the data required to process the transaction completely. Use the BDC_CLOSE_GROUP to close a session after we have inserted all of our batch input data into it. Once a session is closed, it can be processed.
Call Transaction -
In this method, we use CALL TRANSACTION USING to run an SAP transaction. External data does not have to be deposited in a session for later processing. Instead, the entire batch input process takes place inline in our program.
119) If you have 10000 records in your file, which method you use in BDC?
Ans Call transaction is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session, then process will not complete until session get correct.
120) What are different modes of Call Transaction method and explain them?
Ans There are three modes of Call Transaction method:
1) A – Display All Screens
2) E – Display Errors
3) N – Background Processing
--------------------------------------------------------------------------------------------------------------------
121) What is the typical structure of an ABAP program?
Ans HEADER, BODY, FOOTER.
122) What are field symbols and field groups? Have you used "component idx of structure" clause with field groups?
Ans Field Symbols – They are placeholder or symbolic names for the other fields. They do not physically reserve space for a field, but point to its contents. It can point to any data objects.
Field-symbols
Field Groups – Field groups does not reserve storage space but contains pointers to existing fields.
An extract dataset consists of a sequence of records. These records may have different structures. All records with the same structure form a record type. You must define each record type of an extract dataset as a field group, using the FIELD-GROUPS statement.
Field-groups
123) 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 explicitly)
ii) Create sessions (sessions are created and processed. If success, data will transfer).
124) 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 i.e. data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.
Create session – BDC_OPEN_GROUP
Insert batch input – BDC_INSERT
Close session – BDC_CLOSE_GROUP
125) What is the alternative to batch input session?
Ans Call Transaction Method & Call Dialog
126) A situation: An ABAP program creates a batch input session. We need to submit the
program and the batch session in background. How to do it?
Ans Go to SM36 and create background job by giving job name, job class and job steps
(JOB SCHEDULING)
127) What is the difference between a pool table and a transparent table and how they are
stored at the database level?
Ans Pool Table -
1) Many to One Relationship.
2) Table in the Dictionary has the different name, different number of fields, and the fields have the different name as in the R3 Table definition.
3) It can hold only pooled tables.
Transparent Table –
1) One to One relationship.
2) Table in the Dictionary has the same name, same number of fields, and the fields have the same name as in the R3 Table definition.
3) It can hold Application data.
128) What are the problems in processing batch input sessions? How is batch input process
different from processing on line?
Ans Two Problems: -
1) 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.
2) If session processing fails, data will not be transferred to SAP database table.
129) Is Session Method, Asynchronous or Synchronous?
Ans Synchronous
130) What are the different types of data dictionary objects?
Ans Different types of data dictionary objects:
1) Tables
2) Views
3) Data elements
4) Structure
5) Domains
6) Search Helps
7) Local Objects
8) Matchcode
131) How many types of tables exist and what are they in data dictionary?
Ans 4 Types of Tables:
- Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Open SQL and Native SQL can be used.
- Pool tables
- Cluster tables - These are logical tables that are arranged as records of transparent tables. One cannot use Native SQL on these tables (only Open SQL). They are not manageable directly using database system tools.
- Internal tables
132) What is the step-by-step process to create a table in data dictionary?
Ans Steps to create a table:
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).
133) Can a transparent table exist in data dictionary but not in the database 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.
134) In SAP Scripts, how will u link FORM with the Event Driven?
Ans In PAI, define function code and write code for the same.
135) Can you create a table with fields not referring to data elements?
Ans YES. e.g.:- ITAB LIKE SPFLI.
Here we are refering to a data object (SPFLI) not data element.
136) What is the advantage of structures? How do you use them in the ABAP programs?
Ans GLOBAL EXISTANCE (these could be used by any other program without creating it again).
137) 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 , the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs.
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.
138) What is a collect statement? How is it different from append?
Ans Collect : 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.
Append – Duplicate entries occurs.
139) What is OPEN SQL vs NATIVE SQL?
Ans Open SQL – These statements are a subset of standard SQL. It consists of DML command (Select, Insert, Update, Delete). It can simplify and speed up database access. Buffering is partly stored in the working memory and shared memory. Data in buffer is not always up-to-date.
Native SQL – They are loosely integrated into ABAP. It allows access to all functions containing programming interface. They are not checked and converted. They are sent directly to the database system. Programs that use Native SQL are specific to the database system for which they were written. For e.g. to create or change table definition in the ABAP.
140) What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
Ans To use a Native SQL statement, you must precede it with the EXEC SQL statement, and follow it with the ENDEXEC statement as follows:
EXEC SQL [PERFORMING
0 comments:
Post a Comment