faq

25
ABAP/4 INTERVIEW QUESTIONS 1. What is SAP R/3 ? SAP R/3 is a real time 3 tier architecture designed to handle the data processing for all enterprises (large, medium and small scale). Real time :- The process of delivering information about business operations without any delay. Three tier architecture :- Presentation server, application server and database server. Presentation Server :- It is the system on which the end user can access SAP GUI. The presentation server is actually a program named sapgui.exe. It is usually installed on a user’s workstation. To start it, the user double-clicks on an icon on the desktop or chooses a menu path. When started, the presentation server displays the R/3 menus within a window. This window is commonly known as the SAPGUI, or the user interface (or simply, the interface). The interface accepts input from the user in the form of keystrokes, mouse-clicks, and function keys, and sends these requests to the application server to be processed. The application server sends the results back to the SAPGUI which then formats the output for display to the user. Application server:- An application server is a set of executables that collectively interpret the ABAP/4 programs and manage the input and output for them. When an application server is started, these executables all start at the same time. When an application server is stopped, they all shut down together. The number of processes that start up when we bring up the application server is defined in a single configuration file called the application server profile. Each application server has a profile that specifies its characteristics when it starts up and while it is running. For example, an application sever profile specifies: Number of processes and their types Amount of memory each process may use

Upload: poornimarachiraju

Post on 18-Jul-2016

223 views

Category:

Documents


3 download

DESCRIPTION

papers

TRANSCRIPT

Page 1: FAQ

ABAP/4 INTERVIEW QUESTIONS 1. What is SAP R/3 ?

SAP R/3 is a real time 3 tier architecture designed to handle the data processing for all enterprises (large, medium and small scale). Real time:- The process of delivering information about business operations without any delay.

Three tier architecture:- Presentation server, application server and database server.

Presentation Server:-

It is the system on which the end user can access SAP GUI.

The presentation server is actually a program named sapgui.exe. It is usually installed on a user’s workstation. To start it, the user double-clicks on an icon on the desktop or chooses a menu path. When started, the presentation server displays the R/3 menus within a window. This window is commonly known as the SAPGUI, or the user interface (or simply, the interface). The interface accepts input from the user in the form of keystrokes, mouse-clicks, and function keys, and sends these requests to the application server to be processed. The application server sends the results back to the SAPGUI which then formats the output for display to the user.

Application server:- An application server is a set of executables that collectively interpret the ABAP/4 programs and manage the input and output for them. When an application server is started, these executables all start at the same time. When an application server is stopped, they all shut down together. The number of processes that start up when we bring up the application server is defined in a single configuration file called the application server profile.

Each application server has a profile that specifies its characteristics when it starts up and while it is running. For example, an application sever profile specifies:

Number of processes and their types Amount of memory each process may use Length of time a user is inactive before being automatically logged off

The application server exists to interpret ABAP/4 programs, and they only run there-the programs do not run on the presentation server. If ABAP/4 program requests information from the database, the application server will format the request and send it to the database server.

Database Server: -The database server is a set of executables that accept database requests from the application server. These requests are passed on to the RDBMS (Relation Database Management System). The RDBMS sends the data back to the database server, which then passes the information back to the application server. The application server in turn passes that information to ABAP/4 program.

2 What are the programming standards followed ? Declaring the types,itabs,work area,global variables Selection-screen,initialization,selection-screen validation,start-of-selection,end-of-selection.

Page 2: FAQ

Types: TY_ Itab— T_ Workarea – W_ Global variables – G_ Select-options --- S_ Parameters – P_ Local variables – L_ Field-symbols – FS_ SD Reports -- ZVXXX MM Reports – ZMXXX PP Reports – ZCXXX FI Reports -- ZFXXX (XXX) denotes the consecutive number of the report. Ex: 001,002 so on.. Tcodes also have the same convention as for reports. Custom BAPI – ZBAPI_RELEVANT NAME Business Object name – relevant name followed BY Z. All selection-screen validation form names must start with VALIDATE_fieldname For displaying F4 help,the formname should start with F4_fieldname. While generating new version of the program, give the brief info at the top of the coding about the changes done in the older version. 3 What are the contents in technical specifications?

Report/Object description, Version History,document approvals Input (selection-screen, parameters, table, fieldnames,mandatory fields, default values,search helps), Output format and fieldnames. Program Pseudo Code, Unit testing.

4 What is an instance? An Instance refers to the server/application server most of the times.

It is a set of R/3 processes providing services to the R/3 system.

A user logs on to the SAP system using an instance.

An SAP instance defines a group of resources such as memory, work processes and so on, usually in support of a single application server or database server within a client/server environment. Application servers share the same memory areas and are controlled by the same dispatcher process.

When we call a function module, an instance of its function group and 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?

Using SQL trace (ST05), runtime analysis (SE30) and latest runtime analysis tcode is SAT

Page 3: FAQ

6 What is Function group? Difference between function group and function module?

A function group is a collection of logically related function modules that share global data with each other.  All the modules in the group are included in the same main program. 

When an ABAP/4 program contains a CALL FUNCTION statement, the system loads the entire function group in with the program code at runtime.  Every function module belongs to a function group. 

We cannot execute a function group, where as we can execute a function module.

7 What is the difference between 'Select single * ' and 'Select upto 1 rows'?

Select Single * will pickup only one matching record from the database into the buffer, and returns the same to the internal table. It can be used when we are passing entire primary key in the where condition while selecting the data. Select upto 1 rows will pickup all the records matching the condition into the buffer, but return the top record to the internal table. 8 What Function does data dictionary perform? Data dictionary is a central source of data in a data management system. The principal functions performed by the data dictionary are- Management of data definitions- Provision of information for evaluation- Support for software development- Support for documentation- Ensuring that all the data definitions are flexible and up-to-date. 9 Difference between domain and data element? what are aggregate objects? Domain specifies the technical attributes of the field (datatype, length and value range) where as data element specifies the semantic definition of the field. And also can add parameter id and search help in data element. Semantic definition means the field label, documentation. While creating a data element we have to specify the domain for that. Same domain can be used to create multiple data elements. Views, match code and lock objects are called as aggregate objects as they are formed from Several related tables.

10 what is view? Different types of views

View is a logical view on one or more tables. The structure of the view is defined in the ABAP Dictionary. A view on the database can then be created from this structure. A view can be used in ABAP programs for data selection.

Types of Views: 1.Database view 2.Projection view 3.Projectionview 4.Maintenance view

Page 4: FAQ

Database views implement an inner join. The other view types implement an outer join. In Inner join, we will get the records of the cross-product for which there is an entry in all tables used in the view. With an outer join, records are also selected for which there is no entry in some of the tables used in the view.

11 Can u print decimals in type n? what is difference between float and packed data type?

No,we can’t print.

For float 8bytes,where as for type P b/w 1 - 16bytes. The precision will be 16 decimal places for float. In Packed data type, we can specify the number of decimal places while defining. We cant use float type for declaring parameters, we can use packed data type.

12 What is step-loop? explain all the steps?

step loops are screen elements for displaying table-type data on a screen. From a programming standpoint, especially concerning the data transfer, table controls and step loops are almost identical. Table controls are ultimately an improvement of step loops, in terms of usability by the end user.

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.http://help.sap.com/saphelp_nw04/helpdata/en/d1/80236c454211d189710000e8322d00/content.htm

Types of Step Loops

• Static: – Static Step Loop (SSL) have fixed size that cannot be changed during the runtime. If user resizes the window, the size of the static step loop is not changed.

• Dynamic: – Dynamic Step Loop (DSL) is variable in size. When the user resizes the window, the system increases or decreases the number of the step loop blocks.

We can have only one dynamic step loop and can have as many static loops in a transaction.

Programming with the Static and dynamic step loop is exactly same. For the system or for the user it doesn’t make any difference whether it is static or dynamic step loop. Only attribute, which we fix during designing of the step loop, is type attribute for step loop F for fixed i.e static and V for variable i.e. dynamic.

Code for Step Loop in the flow logic.

PBO.Loop at itab cursor cl.Module set.Endloop.PAI.

Page 5: FAQ

Loop at itab.Endloop.

* Empty loop is must for both table control and step loopLOOP AT statement for step loops and Table controls is similar. Loop At statement transfers the data to screen table. We need to have the Module to assign the values for the screen table.

In module pool program we need to define the cursor.Date: CL TYPE i.* Cursor parameter tells which line of step loop display should start.“Module Set” in module pool program assigns the values to step loop fields, which is similar to table controls.

13 What is the initial value and maximum length of all data type?

The default value assigned to a variable when it is declared with a predefined datatype.

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

Page 6: FAQ

14 What are the ways to find out the tables used in the program? 1. SE38—> give program name environment analysis Check tables option and click on continue. 2. SE80 Programprogram name from there can find out list of tables used 15 Can you have two detail lists from the basic list at the same time ? if yes how and if no why?

No we can’t get. We can show two pop-up windows based on click event.

16 What are the different functions used in sapscript ? What are the parameters used in function?

There are three different functions used in SAP Script. 1. OPEN_FORM Parameters : Exporting Form Language 2.  WRITE_FORM Parameters:

Exporting

Element

Window

3. CLOSE_FORM

17 What is sequence of event triggered in report?

There are 6 events in report:1)      Initialization2)      At Selection-Screen3)      Start-of-Selection4)      Get5)      Get Late6)      End-of-Selection7)      Top-of-Page8)     End-of-Page9)      At Line Selection10)  At User Command11)  At PF (nn)

Page 7: FAQ

18 What are standard layout sets in the SAP Script?

Standard layout set consists of Header, Logo, Main Window and Footer. MEDRUCK – Purchase Order RVORDER01 – Sale order RVDELNOTE – Delivery note RVINVOICE01 – Invoice 19 What function module upload data from application server?

FILE_READ_AND_CONVERT_SAP_DATA20 What are the various types of selection screen event?

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T001. SELECTION-SCREEN BEGIN OF SCREEN 100 AS WINDOW. CALL SELECTION-SCREEN 100 STARTING AT 10 10.

21 What do you know about a client?

A client is organizational and legal entity in the SAP system. It is represented by a 3 digit

number.

22 What are the system fields? Explain.

The system fields can be found in SYST structure.

At runtime, we can access its data.

SY-SUBRC       : RETURN VALUE AFTER ABAP STATEMENTSSY-INDEX        : LOOPS,CURRENT LOOP PASSSY-TABIX        : INTERNAL TABLE,CURRENT LINE INDEXSY-TFILL         : INTERNAL TABLE,CURRENT NO. OF LINESSY-LILLI          : LIST PROCESSING,CURRENT LIST LINESY-LSIND        : LIST PROCESSING , DETAILS LIST INDEXSY-DBCNT       : DB OPERATIONS,NO. OF TABLE LINES PROCESSEDSY-CPROG      : ABAP PROGRAM,CALLER IN EXTERNAL PROCEDURESSY-DATUM     : DISPLAYS CURRENT DATESY-DYNNR      : ABAP PROGRAM,NO. OF CURRENT SCREENSY-TLENG       : LINE LENGTHSY-STEPL       : LOOP INFORMATION IN TABLE CONTROLSY-LOOPC      : LOOP INFORMATION IN TABLE CONTROLSY-FDPOS      : CONTAINS OFF SETS FOR THE FOUND STRINGSY-DBSYS      : Database system SY-DYNGR : Screen group of current screen SY-DYNNR :  Number of current screen 

SY-MSGID : Message ID SY-MSGNO : Message number SY-MSGTY : Message type (E,I.W,...) SY-MSGV1 : Message variable SY-MSGV2 : Message variable SY-MSGV3 : Message variable SY-MSGV4 : Message variable 

Page 8: FAQ

SY-PAGNO : Runtime: Current page in listSY-PFKEY :  Current GUI StatusSY-COLNO :  Current List ColumnSY-LINCT :  Page Length of ListSY-LINNO :  Current Line in ListSY-LINSZ :  Line width of listSY-MACOL :  Number of Columns on Left Margin of Print ListSY-BINPT :  Program Running Under Batch InputSY-MODNO :  Index of External SessionSY-LSIND     :Index of the list for current event for basic list = 0.SY-LISTI      :Index of the list level from which the event was triggeredSY-LILLI       :Absolute number of the line from which the event was triggeredSY-LISEL      :Contents of the line from which the event was triggeredSY-CUROW  :Position of the line in the window from which the event was triggered (counting starts with 1)SY-CUCOL    :Position of the column in the window from which the event was triggered (counting starts with 2)SY-CPAGE    :Page number of the first displayed page of the list from which the event was triggeredSY-STARO   :Number of the first line of the first page displayed of the list from which the event was triggered (counting starts with 1). This line may contain the page header.SY-STACO   :Number of the first column displayed in the list from which the event was triggered (counting starts with 1)SY-UCOMM :Function code that triggered the eventSY-PFKEY    :Status of the list currently being displayed.

SY-TABIX X(4) Current index (after APPEND, COLLECT, READ TABLE operations, while LOOP

processing).

SY-FDPOS X(4) SEARCH internal table statement: Offset of found substring in the table line.

SY-TFILL X(4) Current number of lines After DESCRIBE TABLE ,

LOOP AT, and

READ TABLE

SY-TLENG X(4) Current length of lines

SY-TOCCU X(4) Initial main memory allocated to the internal table

SY-INDEX X(4)

Current index (in DO, WHILE blocks).

SY-STEPL X(4)

Index of the screen table row that is currently being processed.Has a meaning only inside

LOOP...ENDLOOP (looping through currently displayed rows of screen table

Page 9: FAQ

and calling PBO/PAI modules).

SY-LOOPC X(4)

Total number of screen table lines currently displayed on the screen.

SY-SPONO – Print list,spool numberSY-REPID – Name of ABAP/4 programSY-CPROG – Main program

23 What is sapscript ? what is the purpose of sapscript? difference between sapscript and

report?

SAP Script is a form template, which consists of a layout set.

Using this we can print the data on pre-printed documents.

In report we can’t insert logo,can’t display in different fonts.We can do it script.

24 what is the use of occurs in internal table ? can u change occurs value in program?

Allocates the memory for itab based on occurs.yes can change by specifying occurs 1,2..

Occurs 0 will allocate 8kb memory.

25 Difference between sy-tabix and sy-index.? where its used ? can u check sy-subrc after

perform?

Sy-tabix – current line index of itab

Sy-index – current index of do, while loops.

No we cant check sy-subrc.

But instead we can have a changing parameter with same type and set the value in

form—endform.

26 Difference between upload and ws_upload?

UPLOAD - Gives a Popup to get the file name

WS_UPLOAD - Does not give a Popup to get the file name

UPLOAD supports only ASCII and BINARY file formats.

WS_UPLOAD supports ASCII, BINARY and DAT file formats.

both are OBSOLETE after 4.7 version.

use GUI_UPLOAD. Will not get any pop-up.

27 Why did u switch to SAP?

Page 10: FAQ

28 What is a Logical Database ?

Logical databases are special ABAP programs that retrieve data and make it available to

application programs. The most common use of logical databases is still to read data from

database tables and linking them to executable ABAP programs while setting the program

contents. We can edit logical databases using the Logical Database Builder in the ABAP

Workbench.

Tcode: SE36

29 What are the events used for Logical Database ?

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 <table> and made it available to the program in the work area declared using the statement NODES <table>. The depth to which the logical database is read is determined by the GET statements 2) PUT - The PUT statement directs the program flow according to the structure of the logical database.

initialization, at selection-screen, start-of-selection, get, get late, end-of-selection

Advantages:

i)check functions which check that user input is complete, correct, and plausible.

ii)Meaningful data selection.

iii)central authorization checks for database accesses.

iv)good read access performance while retaining the hierarchical data view determined by the

application logic.

dis advantages:

i)If we don’t 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).

30 What is the difference between Get and Get Late ?

GET - After the logical database has read an entry from the node <table>. GET LATE - After all of the nodes of the logical database have been processed that are below <table> in the database hierarchy.

31 What are the Types Of Internal Tables ?

32 What are the events used in ABAP in the order of execution ?

Page 11: FAQ

33 What are Interactive Reports ?

34What are the commands used for interactive reports ?

35 What are the system fields u have worked with ? Explain ?36 What is the difference between Primary key and Unique Key ?Primary Key – It can accepts 0 value and cannot be NULL. Unique Key – It can be NULL. 38 If u are using Logical Databases how will u modify the selection-screen elements ?39 What is an RFC ?40 If u are using RFC and passing values to a remote system how does it work ?41 What are the events in Screen Programming ?42 What is the significance of HIDE ?43 Where do u code the HIDE statement ?44 Types of BDC's ?45 Advantages & Disadvantages of different types of BDC's ?46 What are the events used in Interactive Reports.47 What is an RDBMS ?

49 What will you code in START-OF-SELECTION & END-OF-SELECTON & why ?

51 Which is the default join ? Inner Join.

52 How do u display a data in a Detail List ?53 What are the types of windows in SAPSCRIPT ?54 What are the function modules used in a SAPSCRIPT driver program ?55 What are Extracts ?

Since internal tables have fixed line structures, they are not suited to handle data sets with varying structures. For this purpose, ABAP offers the possibility to create so-called extract datasets (extracts, for short).

An extract is a sequential dataset in the memory area of the program. You can only address the entries in the dataset within a special loop. The index or key access permitted with internal tables is not allowed. You may only create one extract in any ABAP program. The size of an extract dataset is, in principle, unlimited. Extracts larger than 500 KB are stored in operating system files. The practical size of an extract is up to 2 GB, as long as there is enough space in the file system.

An extract dataset consists of a sequence of records of a predefined structure. However, the structure need not be identical for all records. In one extract dataset, you can store records of different length and structure one after the other. You need not create an individual dataset for each different structure you want to store. This fact reduces the maintenance effort considerably.

In contrast to internal tables, the system partly compresses extract datasets when storing them. This reduces the storage space required. In addition, you need not specify the structure of an extract dataset at the beginning of the program, but you can determine it dynamically during the flow of the program.

You can use control level processing with extracts just as you can with internal tables. The internal administration for extract datasets is optimized so that it is quicker to use an extract for control level processing than an internal table.

Procedure for creating an extract:...

       1.      Define the record types that you want to use in your extract dataset by declaring them as field groups. The structure is defined by including fields in each field group.

Defining an Extract

Page 12: FAQ

REPORT demo_extract_field_groups.

NODES: spfli, sflight.

FIELD-GROUPS: header, flight_info, flight_date.

INSERT: spfli-carrid spfli-connid sflight-fldate        INTO header,        spfli-cityfrom spfli-cityto        INTO flight_info.

       2.      Fill the extract dataset line by line by extracting the required data.

Filling an Extract with Data

START-OF-SELECTION.

GET spfli.  EXTRACT flight_info.

GET sflight.  EXTRACT flight_date.

       3.      Once you have filled the extract, you can sort it and process it in a loop. At this stage, you can no longer change the contents of the extract.

Processing Extracts

 END-OF-SELECTION.

  LOOP.    AT FIRST.      WRITE / 'Start of LOOP'.      ULINE.    ENDAT.    AT flight_info WITH flight_date.      WRITE: / 'Info:',               spfli-carrid , spfli-connid, sflight-fldate,               spfli-cityfrom, spfli-cityto.    ENDAT.    AT flight_date.      WRITE: / 'Date:',                spfli-carrid , spfli-connid, sflight-fldate.    ENDAT.    AT LAST.      ULINE.      WRITE / 'End of LOOP'.    ENDAT.  ENDLOOP.

56 How would u go about improving the performance of a Program which selects data from MSEG & MKPF ?1.use Field -Symbols instead of work areas.2.Use view WB2_V_MKPF_MSEG.57 How does System work in case of a Interactive Report ?58 what is LUW?59 Different types of LUWs. What r they.

Page 13: FAQ

Two types of LUW are: 1) DB LUW - A database LUW is the mechanism used by the database to ensure that its data is always consistent. A database LUW is an inseparable sequence of database operations that ends with a database commit. The database LUW is either fully executed by the database system or not at all. Once a database LUW has been successfully executed, the database will be in a consistent state. If an error occurs within a database LUW, all of the database changes since the beginning of the database LUW are reversed. This leaves the database in the state it had before the transaction started. 2) SAP LUW - A logical unit consisting of dialog steps, whose changes are written to the database in a single database LUW is called an SAP LUW. Unlike a database LUW, an SAP LUW can span several dialog steps, and be executed using a series of different work processes

60 What is First event triggered in program?61What are various Joins? What is right outer join ?62How do u find out whether a file exits on the presentation server? - eps_get_directory_listing for directory64. Systems fields used - normal + interactive65. Logo in SAPscript66. If internal table used in for all entries in empty then what happenswill fetch all the records of the table.67. If I forgot some command in sapscript eg: suppress zero display - How to do find it?68. Have to write a BDC - how do u go about it?69. What is Performance tuning70. Define Documentation71. Brief about Testing of programs72. How do u move on to the next screen in interactive reporting?73. Create any functions? How to go about it.74. Advanced topics?75. Function modules used in f4 help.76. Work most on which module : Name a few tables. 78. From a table how do u find whether a material is used in another material BOM?

80. How u used logical database? How is data transferred to program? Corresponding statement in LDB

81. How do u suppress fields on selection screen generated by LDB?82. Can there be more than 1 main window ? 83. Global and local data in function modules. 84. What are the differences between sap memory and abap memoryABAP memory is a memory area within the internal session (roll area) of an ABAP program and any other program called from it using CALL TRANSACTION or SUBMIT.

ABAP memory is independent of the ABAP program or program module from which it was generated. In other words, an object saved in ABAP memory can be read from any other ABAP program in the same call chain. ABAP memory is not the same as the cross-transaction global SAP memory.

This allows you to pass data from one module to another over several levels of the program hierarchy. For example, you can pass data

·        from executable programs that have been called using SUBMIT·        From a transaction to an executable program.

·        Between dialog modules.

·        From a program to a function module.

Page 14: FAQ

and so on.

The contents of the memory are released when you leave the transaction.

Passing Data Between Programs  There are two ways of passing data to a called program:

Passing Data Using Internal Memory Areas

ABAP programs have access to two cross-program memory areas that can be used for passing data.

SAP MemorySAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program at the time of logon using the SET PARAMETER statement. Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens (see below).

ABAP MemoryABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this memory area remains throughout a sequence of program calls, with the exception of LEAVE TO TRANSACTION. To pass data to a program that you are calling, the data needs to be placed in ABAP memory before the call is made from the internal calling session using the EXPORT statement. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory using the IMPORT statement. If control is then returned to the program that made the initial call, the same procedure operates in reverse .

If a transaction is called using LEAVE TO TRANSACTION, the ABAP memory and the call stack are deleted. They cannot be used for data transfer.

Since objects belonging to ABAP objects can only be accessed within an internal session, it does not make sense and is therefore forbidden (from a syntax point of view) to pass a reference to an object to a calling program through the ABAP memory.

Filling Input Fields on an Initial Screen

Most programs that you call from other programs have their own initial screen that the user must fill with values. For an executable program, this is normally the selection screen. The SUBMIT statement has a series of additions that you can use to fill the input fields of the called selection screen:

Filling the Selection Screen of a Called Program

SUBMIT... [VIA SELECTION-SCREEN]          [USING SELECTION-SET var]          [WITH sel criterion]          [WITH FREE SELECTIONS freesel]          [WITH SELECTION-TABLE rsparYou cannot fill the input fields of a screen using additions in the calling statement. Instead, you can use SPA/GPA parameters.

Filling Initial Screens using SPA/GPA Parameters

Page 15: FAQ

SET PARAMETER ID pid FIELD f.This statement saves the contents of field f under the ID pid in the SAP memory. The ID pid can be up to 20 characters long. If there was already a value stored under pid, this statement overwrites it. If you double-click pid in the ABAP Editor, parameters that do not exist can be created as a Repository object.

To read an SPA/GPA parameter, use:

GET PARAMETER ID pid FIELD f.This statement places the value stored under the pid ID into the variable f. If the system does not find any value for pid in the SAP memory, sy-subrc is set to 4. Otherwise, it sets the value to 0.

To fill the initial screen of a program using SPA/GPA parameters, you normally only need the SET PARAMETER statement.

The relevant fields must each be linked to an SPA/GPA parameter.

85 What are differences between At selection-screen and at selection-screen output86. What are the events?87. what are the interactive events88) What is the inside concept in select-options? Ans. Select-options specify are displayed on the selection screen for the user to enter values. Different Properties of Select-options:1) Visible Length2) Matchcode Object3) Memory ID4) Lowercase5) Obligatory6) No Display7) Modify ID

89. What is the difference between occurs 1 and occurs 2?90. What is the difference between Free and Refresh?Free - You can use FREE to initialize an internal table and release its memory space without first using the REFRESH or CLEAR statement. Like REFRESH, FREE works on the table body, not on the table work area. After a FREE statement, you can address the internal table again. It still occupies the amount of memory required for its header (currently 256 bytes). When you refill the table, the system has to allocate new memory space to the lines. Refresh - This always applies to the body of the table. As with the CLEAR statement, the memory used by the table before you initialized it remains allocated. To release the memory space, use the statement

91. What are elements?92. Can we have more than one selection-screen and how?93. How to declare select-option as a parameter?94. How can u write programmatically value help to a field without using search help and match codes.?By using two types of function modules to be called in SAP Script: 1) HELP_OBJECT_SHOW_FOR_FIELD 2) HELP_OBJECT_SHOW

SE01 - Correction & Transport Organizer

Page 16: FAQ

95. What is RFC?96. How to set destination?97. What are the function module types?98. What are tables?99. what are client-dependant tables and independent tables?how to distinguish them?101. what is the use of Table maintanance allowed?102. What are the domains?103 What are the check tables and value tables?104 What is the difference between table and structures?105 How to declare one internal table with out header line without using structures ?data: t_kna1 type standard table of kna1 initial size 0.106. what are lock objects?107. What are datasets? what are the different syntaxes?The sequential files (ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP. OPEN DATASET [DATASET NAME] FOR [OUTPUT / INPUT / APPENDING]IN [BINARY / TEXT] MODEAT POSITION [POSITION]MESSAGE [FIELD]READ DATASET [DATASET NAME] INTO [FIELD]DELETE DATASET [DATASET NAME]CLOSE DATASET [DATASET NAME]TRANSFER [FIELD] TO [DATASET NAME]

109. What is the difference between open_form and close_form110. What are the page windows? How many main windows will be there in a page window? 111. How to include Logo in your layout?

The steps for including graphical elements in the layout set are as follows

The graphical element (like company logo) should be in valid graphic file format like .bmp or .jpg 

Use appropriate software to convert the above file into a .TIFF file 

Use report RSTXLDMC to upload this file as a text module in SAP 

Execute the above program from the ABAP /4 editor 

Enter the location of the .TIFF file on the PC 

Specify BMON or BCOL as the raster image type 

The SAP system suggests a name for the file ( like ZHEX-MARCO-* ). The * indicates the type of file. For e.g. if the file contains a logo then the name can be ZHEX-MACRO-LOGO 

The ID should be ‘ST’ and give the logon language 

Running the program will convert this .TIFF file into a text element 

Incorporate this converted logo in the appropriate window under the appropriate text element by giving

Page 17: FAQ

INCLUDE ZHEX-MACRO-LOGO OBJECT TEXT ID ST in the first line 

112. How to debug a script?

114. sapscripts and abap programs are client dependent or not? why?

Abap programs are client-independent.

115. what are the different internal tables ? explain them?Standard, sorted and hashed itabs.

116. what is runtime analysis ? tcode: SE30. Used to analyze the application performance. 118. what is the difference between sum and collect?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. sum will add all d values n store at single field . collect will add all numeric values of the itab records for which all the char type field values are same.

119. what are session method and call transaction method and explain about them? Session tcode: SM35. CALL TRANSACTION ‘tcode’ MODE <A/E/N> UPDATE ‘A/S/L’ MESSAGES INTO T_BDCMSGCOLL.

120. If you have 10000 records in your file, which method you use in BDC? Session method.130. what are different modes and explain them? Modes: all screen, no screen and error screen.131. what are control events in a loop? AT FIRST,AT NEW,AT END OF,AT LAST.132. what are the events we use in dialog programming? and explain them?

PBO, PAI, POV and POH.

133. what are the differences between se01 , se09 and se10? SE01—Transport System (For administrative purpose) SE09 –workbench organizer (for developers) SE10— Customizing Organizer (For business analysts)

134. what is the inside concept in select-options? We use select-option to allow the user for the complex selection of the input fields. It’s a structure with fields: Sign, option, low and high.

136. what is get cursor field?

Page 18: FAQ

To read the fieldname on which the cursor is clicked in an interactive list.137. what is read line? Use the statements READ LINE and READ CURRENT LINE to read data from the lines of existing list levels.

138. what are the difference between call screen and leave screen?

In any ABAP program that can have its own screens (type 1, M, or F), we can use the CALL SCREEN <dynnr>. Call screen is used to call a screen and its subsequent sequence in that program. To exit the current screen and setting the next screen number as 0, we use LEAVE SCREEN.

139. what is the transaction code for Table maintenance? Table Maintenance Generator is a tool used to customize the tables created by end users and can be changed as required, such as making an entry to that table, deleting an entry etc. In other words, table maintenance generator is a user interface tool which is used to change the entry of the table or delete an entry from the table or create an entry for the table. Tcode: SM30.

Authorization group tcode: SU21, TSTC – Table for tcodes list

1.application tables are usually not suited for table buffering.2.Using table buffering in such cases is not recommended. Use Table Buffering for configuration data and sometimes for Master Data.3. Avoid using complex Selects on buffered tables.4. Use assign instead of into in LOOPs for table types with large work areas.5. Use READ TABLE BINARY SEARCH with large standard tables speed up the search when the itab data is less than 50 records.

We can define the relationships between tables in the ABAP Dictionary by creating foreign keys. Using foreign keys, we can easily create value checks for input fields.

The cardinality (n:m) describes the foreign key relationship with regard to the number of possible dependent records (records of the foreign key table) or referenced records (records of the check table).

The left side (n) of the cardinality is defined as follows:

n=1: There is exactly one record assigned to the check table for each record of the foreign key table.

n=C: The foreign key table may contain records which do not correspond to any record of the check table because the foreign key field is empty. This can occur for example if the field of the foreign key table is optional, in which case it does not have to be filled.

The right side (m) of the cardinality is defined as follows:

m=1: There is exactly one dependent record for each record of the check table.

m=C: There is at most one dependent record for each record of the check table.

m=N: There is at least one dependent record for each record of the check table.

Page 19: FAQ

m=CN: There may be any number of dependent records for each record of the check table.

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 <fs>

Field Groups – Field groups does not reserve storage space but contains pointers to existing fields.

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.