Vous êtes sur la page 1sur 60

ABAP interview questions and answers

By admin , May 2, 2005


Thanks to the reader who sent in this question set:
1. at is an ABAP data dictionary? ABAP 4 data dictionary describes the logical
structures oI the objects used in application development and shows how they are
mapped to the underlying relational database in tables/views.
2. at are domains and data element? Domains:Domain is the central object Ior
describing the technical characteristics oI an attribute oI an business objects. It describes
the value range oI the Iield. Data Element: It is used to describe the semantic deIinition oI
the table Iields like description the Iield. Data element describes how a Iield can be
displayed to enduser.
3. at is foreign key relationsip? A relationship which can be deIined between tables
and must be explicitly deIined at Iield level. Foreign keys are used to ensure the
consistency oI data. Data entered should be checked against existing data to ensure that
there are now contradiction. While deIining Ioreign key relationship cardinality has to be
speciIied. Cardinality mentions how many dependent records or how reIerenced records
are possible.
4. escribe data classes. Master data: It is the data which is seldomly changed.
Transaction data: It is the data which is oIten changed. Organization data: It is a
customizing data which is entered in the system when the system is conIigured and is
then rarely changed. System data:It is the data which R/3 system needs Ior itselI.
5. at are indexes? Indexes are described as a copy oI a database table reduced to
speciIic Iields. This data exists in sorted Iorm. This sorting Iorm ease Iast access to the
Iield oI the tables. In order that other Iields are also read, a pointer to the associated
record oI 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. ifference between transparent tables and pooled tables. Transparent tables:
Transparent tables in the dictionary has a onetoone relation with the table in database.
Its structure corresponds to single database Iield. 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 manytoone relation with the table in database. Table in the
database has the diIIerent name as in the dictionary. Pooled table are stored in table pool
at the database level.
7. at is an ABAP/4 Query? ABAP/4 Query is a powerIul tool to generate simple
reports without any coding. ABAP/4 Query can generate the Iollowing 3 simple reports:
Basic List: It is the simple reports. Statistics: Reports with statistical Iunctions like
Average, Percentages. Ranked Lists: For analytical reports. For creating a ABAP/4
Query, programmer has to create user group and a Iunctional group. Functional group can
be created using with or without logical database table. Finally, assign user group to
Iunctional group. Finally, create a query on the Iunctional group generated.
8. at is B programming? TransIerring oI large/external/legacy data into SAP
system using Batch Input programming. Batch input is a automatic procedure reIerred to
as BDC(Batch Data Communications).The central component oI the transIer is a queue
Iile which receives the data vie a batch input programs and groups associated data into
'sessions.
9. at are te functional modules used in sequence in B? These are the 3
Iunctional modules which are used in a sequence to perIorm a data transIer successIully
using BDC programming: BDCOPENGROUP Parameters like Name oI the client,
sessions and user name are speciIied in this Iunctional modules. BDCINSERT It is
used to insert the data Ior one transaction into a session. BDCCLOSEGROUP This is
used to close the batch input session.
10. at are internal tables? Internal tables are a standard data type object which exists
only during the runtime oI the program. They are used to perIorm table calculations on
subsets oI database tables and Ior reorganising the contents oI database tables according
to users need.
11. at is ITS? at are te merits of ITS? ITS is a Internet Transaction Server. ITS
Iorms an interIace between HTTP server and R/3 system, which converts screen provided
data by the R/3 system into HTML documents and viceversa. Merits oI ITS: A complete
web transaction can be developed and tested in R/3 system. All transaction components,
including those used by the ITS outside the R/3 system at runtime, can be stored in the
R/3 system. The advantage oI automatic language processing in the R/3 system can be
utilized to languagedependent HTML documents at runtime.
12. at is ynPro? DynPro is a Dynamic Programming which is a combination oI screen
and the associated Ilow logic Screen is also called as DynPro.
13. at are screen painter and menu painter? Screen painter: Screen painter is a tool to
design and maintain screen and its elements. It allows user to create GUI screens Ior the
transactions. Attributes, layout, Iiled attributes and Ilow logic are the elements oI Screen
painter. Menu painter: Menu painter is a tool to design the interIace components. Status,
menu bars, menu lists, Fkey settings, Iunctions and titles are the components oI Menu
painters. Screen painter and menu painter both are the graphical interIace oI an ABAP/4
applications.
14. at are te components of SAP scripts? SAP scripts is a word processing tool oI
SAP which has the Iollowing components: Standard text. It is like a standard normal
documents. Layout sets. Layout set consists oI the Iollowing components: Windows and
pages, Paragraph Iormats, Character Iormats. Creating Iorms in the R/3 system. Every
layout set consists oI Header, paragraph, and character string. ABAP/4 program.
15. at is ALV programming in ABAP? en is tis grid used in ABAP? ALV is
Application List viewer. Sap provides a set oI ALV (ABAP LIST VIEWER) Iunction
modules which can be put into use to embellish the output oI a report. This set oI ALV
Iunctions is used to enhance the readability and Iunctionality oI any report output. Cases
arise in sap when the output oI a report contains columns extending more than 255
characters in length. In such cases, this set oI ALV Iunctions can help choose selected
columns and arrange the diIIerent columns Irom a report output and also save diIIerent
variants Ior report display. This is a very eIIicient tool Ior dynamically sorting and
arranging the columns Irom a report output. The report output can contain up to 90
columns in the display with the wide array oI display options.
16. at are te events in ABAP/4 language? Initialization, At selectionscreen, StartoI
selection, endoIselection, topoIpage, endoIpage, At lineselection, At user
command, At PF, Get, At New, At LAST, AT END, AT FIRST.
17. at is TS and wat do you know about it? 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 oI how to
manage changes with the CTS and essential inIormation on setting up your system and
client landscape and deciding on a transport strategy. Read and Iollow this documentation
when planning your development project.
18. at are logical databases? at are te advantages/ dis-advantages of logical
databases? To read data Irom a database tables we use logical database. A logical
database provides readonly access to a group oI related tables to an ABAP/4 program.
Advantages: i)check Iunctions which check that user input is complete, correct,and
plausible. ii)MeaningIul data selection. iii)central authorization checks Ior database
accesses. iv)good read access perIormance while retaining the hierarchical data view
determined by the application logic. dis advantages: i)II you donot speciIy 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 ENDOFSELECTION).
19. at is a batc input session? BATCH INPUT SESSION is an intermediate step
between internal table and database table. Data along with the action is stored in session
ie data Ior screen Iields, to which screen it is passed, program name behind it, and how
next screen is processed.
20. ow to upload data using ATT ? These are the steps to be Iollowed to Upload data
through CATT: Creation oI the CATT test case & recording the sample data input.
Download oI the source Iile template. ModiIication oI the source Iile. Upload oI the data
Irom the source Iile.
21. at is Smart Forms? Smart Forms allows you to create Iorms using a graphical
design tool with robust Iunctionality, color, and more. Additionally, all new Iorms
developed at SAP will be created with the new Smart Form solution.
22. ow can I make a differentiation between dependent and independent data? Client
dependent or independent transIer requirements include client speciIic or cross client
objects in the change requests. Workbench objects like SAPscripts are client speciIic,
some entries in customizing are client independent. II you display the object list Ior one
change request, and then Ior each object the object attributes, you will Iind the Ilag client
speciIic. II one object in the task list has this Ilag on, then that transport will be client
dependent.
23. at is te difference between macro and subroutine? Macros can only be used in
the program the are deIined in and only aIter the deIinition are expanded at compilation /
generation. Subroutines (FORM) can be called Irom both the program the are deIined in
and other programs . A MACRO is more or less an abbreviation Ior some lines oI code
that are used more than once or twice. A FORM is a local subroutine (which can be
called external). A FUNCTION is (more or less) a subroutine that is called external.
Since debugging a MACRO is not really possible, prevent the use oI them (I`ve never
used them, but seen them in action). II the subroutine is used only local (called internal)
use a FORM. II the subroutine is called external (used by more than one program) use a
FUNCTION.
24. 1. When using Open SQL statements in an ABAP/4 program, you must ensure the
Iollowing.
a) The database system being addressed must be supported by SAP.
b) The database tables being addressed must be deIined in the ABAP/4 dictionary.
c) Both a and b
d) None
Ans. c



2. Which oI the Iollowing statements are correct?
a) A database interIace translates SAP`s Open SQL statements into SQL commands
speciIic to the database in use. Native SQL statements access the database directly.
b) When you use Native SQL, the addressed database tables do not have to be known to
the ABAP/4 dictionary. In Open SQL, the addressed database tables must be deIined in
the ABAP/4 dictionary.
c) There is automatic client handling in Native SQL whereas clients must always be
speciIied in Open SQL.
Ans. a,b



3. Which oI the Iollowing are true?
a) TABLE is used as a synonym Ior STANDARD TABLE
b) You can only access a hashed table using the generic key operations. Explicit or
implicit index operations (such as LOOP ... FROM oe INSERT itab within a LOOP) are
not allowed.
c) All hashed tables are index tables.
d) We have to deIine the hash procedure explicitly Ior HASHED TABLE.
Ans. a, b



4. Can a transparent table exist in data dictionary but not in the database physically?
a) True
b) False
Ans. b



5. Can you create a table with Iields not reIerring to data elements?
a) Yes
b) No
Ans. a



6. How do you create a batch input session Ior a transaction?
a) Call transaction` in background mode.
b) Call transaction` in error mode.
c) Bdcinsert` Ior the transaction.
d) None oI the above.
Ans. c



7. What is the alternative to batch input session?
a) Load module
b) Call transaction
c) BAPI
d) Idoc segment
Ans. b



8. The Iollowing are true about EXEC SQL`.
a) You can end the Native SQL with a semicolon.
b) You can end the Native SQL with a period.
c) You cannot perIorm reliable authorization checks using EXEC SQL.
d) Host variables in the Native SQL are identiIied with a preceding hash (#).
Ans. a, c



9. The Iollowing are true about database locking.
a) Database systems set physical locks on all lines aIIected by a database call.
b) Read locks prevent the setting oI Iurther read locks Ior the objects in question.
c) Read locks prevent other transactions Irom setting write locks Ior the objects in
question.
d) Write locks allow other transactions to set read locks Ior the objects in question.
Ans. a, c



10. What are Iield symbols?
a) Field symbols are like pointers in C that can point to any data object in ABAP/4 and to
structures deIined in ABAP/4 dictionary.
b) Field symbols have to be created with type speciIications only.
c) You cannot assign one Iield symbol to another.
d) All operations you have programmed with the Iield symbol are carried out with the
assigned Iield.
Ans. a, d



11. EXTRACT statement
a) The Iirst EXTRACT statement extracts the Iirst extract record.
b) The Iirst EXTRACT statement creates the extract dataset and adds the Iirst extract
record.
c) Each extract record contains, iI speciIied, the Iields oI the Iield group.
d) Each extract record contains, iI speciIied, the Iields oI the Iield symbol.
Ans. b, c



12. You cannot assign a local data object deIined in a subroutine or Iunction module to a
Iield group.
a) True
b) False
Ans. a



13. Which oI the Iollowing are true?
a) COLLECT can only be used with STANDARD TABLE.
b) To use COLLECT, the internal table should be derived Irom a database table with an
explicit key.
c) II the system Iinds a numeric component, that is not part oI the key, the numeric Iields
that are not part oI the table key (see ABAP number types) are added to the sum total oI
the existing entries. II it does not Iind an entry, control passes on to the next record in the
internal table.
d) II the system Iinds a numeric component, that is not part oI the key, the numeric Iields
that are not part oI the table key (see ABAP number types) are added to the sum total oI
the existing entries. II it does not Iind an entry, the system creates a new entry instead.
Ans. d



14. Which oI the Iollowing are true?
a) ABAP queries are created by associating them to a logical database or through a direct
read/data retrieval program.
b) ABAP queries are created Irom Iunctional areas that are created Irom a logical
database or through a direct read/retrieval program.
c) ABAP queries are created Irom user groups attached to the Iunctional areas that are
created Irom a logical database or through a direct read/retrieval program.
d) ABAP queries are created through the regular report program.
Ans. c



15. A logical unit oI work (LUW or transaction) begins
a) Each time you start a transaction.
b) Each time you end a transaction.
c) When the database changes oI the previous LUW have been conIirmed (database
commit).
d) BeIore the database changes oI the previous LUW have been cancelled (database
rollback).
Ans. a, d.



16. A database commit is triggered by
a) ABAP/4 command COMMIT WORK.
b) CALL SCREEN, CALL DIALOG.
c) A Remote Function Call
d) CALL TRANSACTION
Ans. a, b, c, d



17. The Iollowing are true about SAPscript control commands.
a) II a control command is unknown or it contains syntax errors, the line containing it
will be printed out as it is.
b) II a control command is unknown or it contains syntax errors, the line containing it
will be treated as a comment line.
c) A maximum oI one control command may appear in each line.
d) A maximum oI six control commands may appear in each line.
Ans. b, c



18. To output SAPscript layout sets, in the print program
a) You must always start the output with OPENFORM and end it with CLOSEFORM.
b) Within one transaction, you can use only one OPENFORM and CLOSEFORM to
open and close a layout set.
c) WRITEFORM should be used within an OPENFORM and CLOSEFORM.
d) WRITEFORM can be used without an OPENFORM and CLOSEFORM.
Ans. a, c



19. The transaction CMOD and SMOD are
a) Used to create enhancements to standard SAP programs.
b) Used to create enhancements to ABAP queries.
c) Used to create the user exits, menu exits and screen exits.
d) Used to modiIy the standard Iunction groups.
Ans. a, c



20. Which oI the Iollowing are tools to report data in ABAP?
e) ALV
I) ALE
g) LSMW
h) SmartForms

Ans: a



21. ABAP Query tool is used to:
a) Enquire about a runningprogram status
b) Automatically generate code Ior reporting
c) PerIorm database operations Ior userwritten programs
d) None oI the above

Ans: b.



22. In ABAP Query tool...
e) Each user can be assigned to several usergroups
I) Each user can be assigned to several Iunctional areas
g) Each Iunctional area can be assigned to several usergroups
h) One user can be assigned only to one usergroup.

Ans: a, b, c



23. Logical databases must be used to create an ABAP Query
a) True
b) False

Ans: b



24. In a BDC program, how would you handle errored records? Would you.
a) Rerun the program
b) Report the errored records
c) Generate a batchinput session with errored records
d) Create an output Iile, to be run again aIter corrections

Ans: b, c, d



25. What are IDocs?
a) Documentation oI executable programs
b) Documents used Ior datatransport between SAP and nonSAP s/w.
c) Documents used Ior datatransport between two diIIerent SAP systems
d) Documents used Ior onetime datamigration activities.

Ans: b, c



26. For transportation oI data Irom a presentation server into SAP, the Iunction module
used is
a) UPLOAD
b) WSUPLOAD
c) FILEUPLOAD
d) DATAUPLOAD

Ans: a, b



27. For onetime high volume datauploads into SAP Irom nonreliable systems, the
Iollowing are generally used:
a) BDC
b) LSMW
c) Direct table update
d) Idocs

Ans: a, b



28. In an ABAP program, the INITIALIZATION event is invoked
a) BeIore the ATSELECTIONSCREEN event
b) AIter the ATSELECTIONSCREEN event
c) Could be either way
d) Cannot be predicted

Ans: a



29. The statement to check whether an internal table itabtest has no records, is:
IF itabtest is initial.
a) TRUE
b) FALSE

Ans: b.



30. The statement used to clear all the contents oI an internal table is:
a) CLEAR itab.
b) REFRESH itab.
c) FREE itab.
d) DELETE itab.

Ans: b, c



31. The ATSELECTIONSCREEN event is triggered when.
a) ENTER key is hit on the selectionscreen
b) F8 key is hit on the selectionscreen
c) Any Iield on selectionscreen is populated
d) F4 key is hit on the selectionscreen

Ans: a, b



32. What is the transactioncode Ior viewing batchruns oI a program?
a) SE37
b) SM37
c) SM35
d) SM30

Ans: b



33. SYBATCH can be used to determine whether a program is being run in batchmode,
within the ATSELECTIONSCREEN event.
a) TRUE
b) FALSE

Ans: b



34. The Iollowing statements will clear the headerline oI an internal table:
a) DELETE ITAB.
b) FREE ITAB.
c) REFRESH ITAB.
d) CLEAR ITAB.

Ans: d



35. The SAP Logon password is always caseinsensitive.
a) TRUE
b) FALSE

Ans: b
25. 36. Data: BEGIN OF ITAB OCCURS 0,
FIELD1(10),
FIELD2(10),
END OF ITAB.

DO 20 TIMES.
ITABFIELD1 Field1`.
ITABFIELD2 Field2`.
ENDDO.
a) The internal table has 20 entries.
b) The internal table has one entry.
c) The internal table has no entry.
d) Unpredictable.

Ans: c



37. READ TABLE ITABTEST WITH KEY
VBELN kvbeln.
II multiple records in table ITAB satisIy the condition, then
a) All records are Ietched
b) The last record is Ietched
c) The Iirst record is Ietched
d) Compilation error

Ans: c



38. II ITAB has 1000 entries, and DBTAB is a large table, which is better in terms oI
perIormance?
i) LOOP AT ITAB.
SELECT * INTO ITAB2 FROM DBTAB WHERE
KEY1 ITABKEY1.
APPEND ITAB2.
ENDSELECT.
ENDLOOP.
ii) LOOP AT ITAB.
SELECT * INTO TABLE ITAB2 FROM DBTAB WHERE
KEY1 ITABKEY1.
ENDLOOP.
iii) SELECT * INTO TABLE ITAB2 FROM DBTAB
FOR ALL ENTRIES IN ITAB WHERE
KEY1 ITABKEY1.
a) (i) is better than (ii), and (ii) is better than (iii).
b) (ii) is better than (iii), and (iii) is better than (i).
c) (iii) is better than (i) and (i) is better than (ii).
d) (iii) is better than (ii) and (ii) is better than (i).


Ans: d



39. DATA: BEGIN OF ITAB OCCURS 0,
Fld1 (1),
Fld2 (1),
Fld3 (1),
END OF ITAB.

ITAB has 5 records | (1,1,1), (1,1,2), (1,2, 2), (2,2,2), (2,2,3) |.

The code segment:
LOOP AT ITAB.
AT NEW Ild3.
WRITE Ild3.
ENDAT.
ENDLOOP.
Produces the output:
a) 1 2 2 2 3
b) 1 2 3
c) 1 1 2 2 2
d) 1 1 1 2 2

Ans: a



40. TYPES: BEGIN OF TYPE1,
FLD1,
FLD2,
FLD3,
END OF TYPE1.
DATA: ITAB1 TYPE STANDARD TABLE OF TYPE1.

ITAB1FLD1 a`.
ITAB1FLD2 b`.
ITAB1FLD3 c`.
APPEND ITAB1.

a) The table has one record, with values (a, b, c ).
b) The table has no records.
c) Compilation error due to method oI declaration oI type.
d) Compilation error due to method oI declaration oI table.

Ans: d



41. The Iastest way to read a value in an internal table is to:
a) SpeciIy key, and do a binary search
b) SpeciIy the tablekeys
c) Directly speciIy the index value
d) Use a workarea with same structure as the internal table.

Ans: c



42. II COLLECT is used on an internal table, which has a nonkey character Iield,
a) The Iirst record`s value is used in the collected version.
b) The last record`s value is used in the collected version.
c) Compilation error
d) Cannot be predicted

Ans: c



43. Which is the correct syntax Ior sorting an internal table?
a) SORT ITAB USING key1 key2.
b) SORT ITAB BY key1 key2.
c) SORT ITAB WITH key1 key2.
d) SORT ITAB key1 key2.

Ans: b



44. II we need to Ietch all database entries corresponding to a given key,
X records at a time, the syntax to be used is:
a) SELECT.PACKET SIZE X..
b) SELECT.PACKAGE SIZE X.
c) SELECT.UPTO X RECORDS..
d) This Iacility is not available in ABAP.

Ans: b



45. LOOP AT ITABDTL1.
COLLECT ITABDTL1 INTO ITABFINAL.
ENDLOOP.
II the tables contain character Iields, which table should be declared with the keys
Explicitly speciIied?
a) ITABDTL1
b) ITABFINAL
c) Either one will do.
d) Neither needs a key to be speciIied

Ans: b



46. The syntax to concatenate a set oI values into one variable is:
a) CONCATENATE source1, source2 INTO target.
b) CONCATENATE source1 source2 INTO target.
c) CONCATENATE source1 and source2 INTO target.
d) None oI the above.

Ans: b



47. On the selectionscreen, iI, while using SELECTOPTIONS, we speciIy NO
INTERVALS,
we can guarantee that the user will not be able to enter a range oI values.
a) TRUE
b) FALSE

Ans: b



48. ABAP programmers can create their own data types?
a) YES
b) NO

Ans: a



49. MOVE can be used to copy:
a) One Iield`s contents to another Iield
b) One structure`s contents to another compatible structure
c) One table`s contents to another compatible table
d) A part oI one Iield to another Iield

Ans: a, b, c, d



50. PERFORM ROUTINE1 USING val1.
...
FORM ROUTINE1 USING temp1.
Temp1 10.
ENDFORM.

Is the value oI val1 changed?
a) YES
b) NO

Ans. a



51. Within an IFENDIF block,
a) ELSE must be used
b) ELSEIF must be used
c) II ELSEIF is used, ELSE must be used
d) None oI the above

Ans: d



52. The userlist in a given SAP client can be Iound using transaction
a) STO4
b) SE04
c) SM04
d) None oI the above

Ans: c



53. The DESCRIBE statement on internal tables is used to:
a) Find the number oI lines currently in table
b) Find initial size oI the table
c) Find type oI the internal table
d) Give the line size, in number oI characters, oI the table

Ans: a, b, c



54. Which oI the Iollowing statements can work without a corresponding END
statement?
a) DO
b) AT
c) IF
d) SELECT

Ans: d



55. In an ABAP program, we can speciIy a variable to be oI HEXADECIMAL type.
a) TRUE
b) FALSE

Ans: a



56. In an ABAP program, we can speciIy a variable to be oI OCTAL type.
a) TRUE
b) FALSE

Ans: b



57. The deIault length oI a Iield oI type 'time(T`) in an ABAP program is:
a) 6
b) 8
c) 14
d) 0

Ans: a



58. The various numeric types deIinable in an ABAP program are:
a) I, F, P, N
b) I, F, P
c) I, F, N
d) I, P, N

Ans: b



59. Variables in an ABAP code can be deIined as being similar to datadictionary
elements, using:
a) LIKE
b) FOR
c) TYPE
d) None oI the above

Ans: a, b, c



60. Constants and internal tables are deIined using the keywords (respectively):
a) CONSTANTS and TABLES
b) DATA and DATA
c) DATA and TABLES
d) CONSTANTS and DATA

Ans: a



61. There are 8 elementary datatypes, and hence, 64 possible conversions. OI these,
a) Type D and T cannot be interconverted
b) None oI the other types can be converted into D and T.
c) D and T cannot be converted into any other type.
d) Only C can convert into D/T and viceversa.

Ans: a



62. MOVE I1 TO I2 is equivalent to I2 I1
a) TRUE
b) FALSE

Ans: a



63. II a structure does not contain internal tables as components, we can equate two
structures oI incompatible types.
a) TRUE
b) FALSE

Ans: a



64. For an inequality check between two variables, the symbol used is:
a) NE
b) ~
c) ~
d) NEQ

Ans: a, b, c



65. S1 ABCAB`.
S2 ABCD .
IF S1 CN S2.
WRITE a`.
ELSE.
WRITE b`.
ENDIF.
Output oI above code is:
a) a
b) b
c) Compilation error
d) Blank

Ans: b



66. The statement
IF NUM IS BETWEEN 3 AND 7.
Is a valid syntax?
a) TRUE
b) FALSE

Ans: B



67. Is it possible to call a subroutine oI one program Irom another program?
a) True
b) False

Ans: A



68. Can ABAP control statements be used within a sap script?
a) YES
b) NO

Ans: a



69. The presentation server is actually the program named SAPGUI.
a) True
b) False

Ans: a



70. When is TopoIpage event executed

a) Triggered by a Newpage statement
b) When the First Write Statement oI the program is encountered.
c) BeIore outputting the Iirst line on a new page.

Ans: b, c
&LARIZATI
. Does every ABAP/4 have a modular structure?
Yes.

2. What is Modularization and its beneIits?
II the program contains the same or similar blocks oI statements or it is required to process
the same Iunction several times, we can avoid redundancy by using modularization
techniques. By modularizing the ABAP/4 programs we make them easy to read and
improve their structure. Modularized programs are also easier to maintain and to update.

3. Name the ABAP/4 Modularization techniques.
O Source code module.
O Subroutines.
O Functions.

4. How can we create callable modules oI program code within one ABAP/4 program?
O By deIining Macros.
O By creating include programs in the library.

5. M is the attribute type oI the module program.

6. Is it possible to pass data to and Irom include programs explicitly?
No. II it is required to pass data to and Irom modules it is required to use subroutines or
Iunction modules.

7. What are subroutines?
Subroutines are program modules, which can be called Irom other ABAP/4 programs or
within the same program.

8. What are the types oI Subroutines?
O Internal Subroutines: The source code oI the internal subroutines will be in the
same ABAP/4 program as the calling procedure (internal call).
O External Subroutines: The source code oI the external subroutines will be in an
ABAP/4 program other than the calling procedure.

. It is not possible to create an ABAP/4 program, which contains only Subroutines (T/F).
False.

. A subroutine can contain nested Iorm and endIorm blocks. (T/F)
False.

. Data can be passed between calling programs and the subroutines using Parameters.

2. What are the diIIerent types oI parameters?
Formal Parameters: Parameters, which are deIined during the deIinition oI subroutine with
the FORM statement.
Actual Parameters: Parameters which are speciIied during the call oI a subroutine with the
PERFORM statement.

3. How can one distinguish between diIIerent kinds oI parameters?
O Input parameters are used to pass data to subroutines.
O Output parameters are used to pass data Irom subroutines.

4. What are the diIIerent methods oI passing data?
O Calling by reIerence: During a subroutine call, only the address oI the actual
parameter is transIerred to the Iormal parameters. The Iormal parameter has no
memory oI its own, and we work with the Iield oI the calling program within
the subroutine. II we change the Iormal parameter, the Iield contents in the
calling program also changes.
O Calling by value: During a subroutine call, the Iormal parameters are created as
copies oI the actual parameters. The Iormal parameters have memory oI their
own. Changes to the Iormal parameters have no eIIect on the actual parameters.
O Calling by value and result: During a subroutine call, the Iormal parameters are
created as copies oI the actual parameters. The Iormal parameters have their
own memory space. Changes to the Iormal parameters are copied to the actual
parameters at the end oI the subroutine.

5. The method by which internal tables are passed is By ReIerence.

16. How can an internal table with Header line and one without header line be
distinguished when passed to a subroutine?
Itab || is used in the Iorm and endIorm iI the internal table is passed with a header line.

7. What should be declared explicitly in the corresponding ABAP/4 Statements to access
internal tables without header lines & why?
Work Area. This is required as the Work Area is the interIace Ior transIerring data to and
Irom the table.

8. A subroutine can be terminated unconditionally using EXIT. (T/F)
True.

. A subroutine can be terminated upon a condition using CHECK Statement.

2. Function Modules are also external Subroutines. (T/F).
True.

2. What is the diIIerence between the Iunction module and a normal ABAP/4 subroutine?
In contrast to normal subroutines Iunction modules have uniquely deIined interIace.
Declaring data as common parts is not possible Ior Iunction modules. Function modules
are stored in a central library.

22. What is a Iunction group?
A Iunction group is a collection oI logically related 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
Iunction group in with the program code at runtime. Every Iunction module belongs to a
Iunction group.

23. What is the disadvantage oI a call by reIerence?
During a call by reIerence damage or loss oI data is not restricted to the subroutine, but will
instantly lead to changes to the original data objects.

24. A Iunction module can be called Irom a transaction screen outside an ABAP/4
program. (T/F).
True.

25. What is an update task?
It is an SAP provided procedure Ior updating a database.

26. What happens iI a Iunction module runs in an update task?
The system perIorms the module processing asynchronously. Instead oI carrying out the
call immediately, the system waits until the next database update is triggered with the
COMMIT WORK` command.

27. The Iunction modules are created and stored in the Function Library.
28. When a Iunction module is activated syntax checking is perIormed automatically.
(Y/N)
True.

2. What is the use oI the RAISING exception?
The raising exception determines whether the calling program will handle the exception
itselI or leave the exception to the system.

3. What is the diIIerence between internal tables and extract datasets?
O The lines oI an internal table always have the same structure. By using extract
datasets, you can handle groups oI data with diIIerent structure and get
statistical Iigures Irom the grouped data.
O You have to deIine the structure oI the internal table at the beginning. You
need not deIine the structure oI the extract dataset.
O In contrast to internal tables, the system partly compresses exact datasets when
storing them. This reduces the storage space required.
O Internal tables require special work area Ior interIace whereas extract datasets
do not need a special work area Ior interIace.

3. It is possible to assign a local data object deIined in a subroutine or Iunction module to
a Iield group. (T/F).
False.
32. What is the diIIerence between Iieldgroup header and other Iield groups?
The header Iield group is a special Iield group Ior the sort criteria. The system
automatically preIixes any other Iield groups with the header Iield group.
33. Can a Iiled occur in several Iield groups.
Yes. But it leads to unnecessary data redundancy.
34. When sorting the extract dataset the Iields used as deIault sort key lie in the Header
Iield group.
35. What does the insert statement in extract datasets do?
It deIines the Iields oI a Iield group.
36. What does the extract statement do in extract datasets?
The data is written to virtual memory by extract commands.
37. A Iieldgroups statement or an insert statement reverses storage space and transIers
values. (T/F).
False.
38. While using extract datasets it is required to have a special workarea Ior interIace (T/F)
False.
3. The LOOPENDLOOP on extract datasets can be used without any kind oI errors (T/F)
False. It causes runtime errors.
4. The Maximum no oI key Iields that can be used in a header is 50.
4. While sorting Iield groups we cannot use more than one key Iield (T/F).
False.
42. While sorting, iI the main storage available is not enough, the system writes data to an
external help Iile. The SAP proIile parameter, which determines this help Iile, is
DIRSORTTMP.

43. The extract statements in Iield groups can be used beIore or aIter processing the sort
statements. (T/F)
FALSE.

REPRT GEERATI - FRATTIG
. The alignment oI a type c` Iield in a report is leIt Aligned.
2. In the statement Write:/15(10) OIalliInr. what do the number 15 and 10 stand Ior
15 stand Ior the oIIset on the screen and 10 stands Ior the Iield length displayed.
3. SpeciIy the deIault alignment Ior the Iollowing Iield types:
D` LeIt, F`Right, N`LeIt, I`Right, T`LeIt.
4. II stime has the value 123456` how would you get an output oI 12:34:56 with a single
Write:` statement.
Write:stime using edit mask`::.
5. In order to suppress the leading zeroes oI a number Iield the keywords used are NO
ZERO.
6. The total no oI date Iormats that can be used to display a date during output is
MM/DD/YY, DD/MM/YY, DD/MM/YYYY, MM/DD/YYYY, MMDDYY,
DDMMYY, YYMMDD.
7. The UNDER Command allows Ior vertical alignment oI Iields one below the other.
8. In order to concatenate strings only Ior output purposes the command NOGAP can be
used in conjunction with the Write` statement.
. The no oI decimal places Ior output can be deIines within a write statement. (T/F).
TRUE. Write:/F~ decimals 2.
. Data can be moved Irom one Iield to another using a Write:` Statement and stored in
the desired Iormat. (T/F).
TRUE. Write: Date1 to Date2 Iormat DD/MM/YY.
. In the statement Write:/15(10) lIa1liInr. The values 15 and 11 can also be deIined by
variables (T/F). False.
2. DiIIerentiate between the Iollowing two statements iI any.
ULINE.
Write: syuline.
NodiIIerence. Except that uline is used outside the Write` Statement.
3. In order to skip a single line the number oI lines need not be given as an assignment
(T/F)
TRUE.
4. The 'SKIP TO LINE line number is dependent on the LINECOUNT statement
included in the report statement oI the program.
5. In order to skip columns the command used is POSITION n~.
6. In order to have boldIaced text as output the command used is
Write:I~INTENSIFIED.
7. Background and Ioreground colors can be interchanged using the command Format
Inverse.
8. In order to restore the system deIaults Ior all changes made with the Iormat statement is
Format Reset.
. Like ULINE the statement VLINE is used to insert vertical lines. (T/F).
False.
20. Suppressing the number signs (/) is carried out using the addition NOSIGNS to the
Write statement. (T/F). False.
2. II SYUZEIT has the value 6:34:45 it can be displayed as 063445 using No Edit Mask.
22. II the variable 'Text has the value ABCDEF` the output Ior the statement
'Write:/Text2(3) will be 'CDE
23. The Iields speciIied by selectoptions and parameters statement cannot be grouped
together in the selection screen. (T/F). False.
24. When calling an external report the parameters or selectoptions speciIied in the
external report cannot be called. (T/F)
FALSE.
25. Selection Texts in the text elements oI the program helps in changing the displayed
names oI variables in the parameters statement.
26. Type F datatype cannot be used to deIine parameters.
27. Rounding oII oI values can be carried out using the write statement. (T/F). TRUE
28. How would you deIine the exponents Ior a type I` Iield?
Exponent e~.
2. How would you Iormat the output as leIt, centered or rightjustiIied using the write
statement.
LeItjustiIied, Centered, RightjustiIied.
3. II the same Iormatting options were used Ior a WRITE statement that Iollows the
FORMAT statement, which settings would take precedence.
The settings in the Write Statement.
3. For each new event, the system resets all Iormatting options to their deIault values
(T/F)
TRUE.
32. All Iormatting options have the deIault value OFF. (T/F).
TRUE.
33. How would you set the Iormatting options statically and dynamically within a report?
Statically: FORMAT option1~|ON,OFF|..
Dynamically: FORMAT option1~ var1~option2~var2~..
34. The page Iooter is deIined using the statement ENDOFPAGE.
35. The processing block Iollowing ENDOFPAGE is processed only iI you reserve lines
Ior the Iooter in the LINECOUNT option oI the REPORT statement. (T/F)
TRUE.
36. To execute a page break under the condition that less than a certain number oI lines is
leIt on a page is achieved by RESERVE n lines.
37. The RESERVE statement only takes eIIect iI output is written to the subsequent page.
No blank pages are created and it deIines a block oI lines that must be output as a
whole. (T/F). TRUE.
38. To set the next output line to the Iirst line oI a block oI lines deIined with the
RESERVE statement the statement BACK is used.
3. What is the limit Ior the length oI a page iI the page length is not speciIied in the report
statement. 60,000 lines.
4. How would you start the printing process Irom within the program while creating a list?
NEWPAGE PRINT ON.
4. You can change the width oI pages within list levels triggered by page breaks. (T/F).
FALSE.
42. Hotspots are special areas oI an output list used to trigger events. (T/F) TRUE.
43. To designate Iields as hotspots at runtime, use FORMAT HOTSPOT h~.
44. Horizontal lines created with ULINE and blank lines created with SKIP can be
Iormatted as hotspots. (T/F). FALSE.
45. How would you suppress the display oI a parameter on the selection screen?
Parameters p~ .....NoDisplay.
46. Can you assign a matchcode object to a parameter? II so how?
Yes. PARAMETERS p~....MATCHCODE OBJECT obj~....
47. For each SELECTOPTIONS statement, the system creates a selection table. (T/F)
TRUE.
48. To position a set oI parameters or comments on a single line on the selection screen,
you must declare the elements in a block enclosed by
SELECTIONSCREEN BEGIN OF LINE.
....
SELECTIONSCREEN END OF LINE.
4. How can Symbols or R/3 icons be output on the screen?
WRITE symbolname~AS SYMBOL.
WRITE iconname~ AS ICON.
5. In the standard setting, you cannot create empty lines with the WRITE statement alone.
(T/F). TRUE.

REPRTIG - GEERAL
. The system Iield, which indicates success or Iailure oI a SQL operation, is SYSUBRC.
2. What is the syntax Ior speciIying database table name at runtime in SELECT statement.
NAME SPFL1`.
SELECT * FROM (NAME).
.......
.......
ENDSELECT.
3. How do you read selected lines oI database table into an internal table in packages oI
predeIined size.
SELECT * FROM SPFLI~INTO TABLE ITAB~PACKAGE SIZEN~.
Where n is variable.
4. Name the WILDCARD characters which are used Ior comparisons with character
strings & numeric strings. ` and .
5. In SELECT statements can you speciIy a variable in WHERE condition or a part oI the
condition, iI so what is the syntax.
SELECT * FROM table~WHERE var1~condition~var or const~.
6. Name the ABAP/4 key words, which are used to change the contents oI database table.
UPDATE or MODIFY.

7. How to speciIy a client Ior database table processing.
TABLES SPFLI.
SELECT * FROM SPFLI CLIENT SPECIFIED WHERE MANDT BETWEEN 001`
AND 003`.
....
ENDSELECT.
. How do you write a DATA object Irom ABAP/4 program to ABAP/4 memory and
restore the same Irom memory to program.
EXPORT I1~|FROM g1~|I2~|FROM g2~|.. TO MEMORY ID key~.
The ID key~, which can be up to 32 characters long, identiIies the data in memory.
2. What are DATA CLUSTERS?
You can group any complex internal data objects oI an ABAP/4 program together in data
clusters and store them temporarily in ABAP/4 memory or Ior longer periods in databases.
You can store data clusters in special databases oI the ABAP/4 Dictionary. These
databases are known as ABAP/4 cluster databases and have a predeIined structure. Storing
a data cluster is speciIic to ABAP/4. Although you can also access cluster databases using
SQL statements, only ABAP/4 statements are able to decode the structure oI the stored data
cluster.
3. Statements used to delete data objects in ABAP/4 memory FREE MEMORY |ID
key~|.
4. How will you create a Iile on application server.
Open dataset dsn~ Ior output.
5. ABAP/4 statement Ior opening a Iile on application server Ior reading Open dataset
dsn~ Ior input.
6. How will you transIer data into a Iile in application server?
Data Iname(60) value mYFILE`.
Data num type i.
Open dataset Iname Ior output.
Do 10 times.
Num Num 1.
TransIer num to Iname.
Enddo.
...etc.
7. Name the Iunction modules to write data Irom an Internal Table to the Presentation
Server.
DOWNLOAD and WSDOWNLOAD.
8. Name the Iunction module that can be used to give inIormation about Iiles on
Presentation Server and about its Operating System.
WSQUERY.
. Name the ABAP/4 key word, which is used to clear the Headerline oI an Internal Table.
CLEARitab~.
. Name the Iunction modules to read data Irom Presentation Server into an Internal
Table.
UPLOAD and WSUPLOAD.
. Name the ABAP/4 keywords to initialize an Internal Table with and without headerline.
REFRESH itab~.
2. How to determine the attributes oI an internal table?
DESCRIBE TABLE itab~|LINES lin~| |OCCURS occ~|.
3. Name the ABAP/4 key word Ior searching a string in an Internal Table.
SEARCH itab~ FOR str~options~.
The diIIerent options (options~) Ior the search in an internal table are:

ABBREVIATED
Searches tableitab~Ior a word containing the character string speciIied in str~, where
other characters might separate the characters. The Iirst letter oI the word and the string
str~ must be the same.
STARTING ATlin1~
Searches tableitab~ Ior str~, starting at line line1~. \lin1~ can be a variable.
ENDING ATn2~
Searches table itab~Ior str~upto linelin2~. lin2~can be a variable.
AND MARK
II the search string is Iound, all the characters in the search string (and all the characters in
between when using ABBREVIATED) are converted to upper case.

4. What are the diIIerent attributes that can be assigned to a variant?
The diIIerent attributes that can be assigned to a variant are..
Description
Enter a short, meaningIul description oI the variant. This may be upto 30 characters long.
Background only
SpeciIy whether you want to use the variant in background processing only, or in online
environment as well.
Protected variant.
Mark the Iield iI you want to protect your variant against being changed by other users.
Do not display variant.
Mark this Iield iI you want the variant name to be displayed in the catalog only, but not in
the F4 value list.

For the selections you cover in a variant, you can enter the Iollowing attributes:
Type
The system displays whether the Iield is a parameter or a select option.
Protected
Mark this Iield Ior each Iield on the selection screen you want to protect Irom being
overwritten. Values that you mark this way are displayed to the users, but they cannot
change them, that are they are not ready to accept input.
Invisible
II you mark this column, the system will not display the corresponding Iield on the
selection screen the user sees when starting the report program.
Variable
Mark this column iI you want to set the value Ior this Iield at runtime.

5. Is it possible to create new dynamic programs during runtime oI an ABAP/4 program?
II so how?
To create new dynamic programs during the runtime oI an ABAP/4 program, you must use
an internal table. For this purpose, you should create this internal table with one character
type column and a line width oI 72. You can use any method you like Irom Filling Internal
Tables to write the code oI your new program into the internal table. Especially, you can
use internal Iields in which contents are dependent on the Ilow oI the program that you use
to create a new one, to inIluence the coding oI the new program dynamically. The
Iollowing example shows how to proceed in principal:
DATA CODE (72) OCCURS 10.
APPEND REPORT ZDYN1.`
TO CODE.
APPEND WRITE/Hello, I am dynamically created!.`
TO CODE.
Two lines oI a very simple program are written into the internal table CODE.

In the next step you have to put the new module, in the above example it is a report, into
the library. For this purpose you can use the Iollowing statement:

Syntax

INSERT REPORT prog~FROM itab~.

The program prog~ is inserted in your present development class in the R/3 Repository.
II a program with this name does not already exists, it is newly created with the Iollowing
attributes:
Title: none,
Type: 1 (Reporting),
Application: S (Basis).
You can speciIy the name oI the program prog~ explicitly within single quotation marks
or you can write the name oI a character Iield, which contains the program name. The
name oI the program must not necessarily be the same as given in the coding, but it is
recommended to do so. itab~ is the internal table containing the source code. For the
above example you could write:
INSERT REPORT ZDYN1` FROM CODE.
Or
DATA REP (8).
REP ZDYN1`
INSERT REPORT REP FROM CODE.

6. Data types can be elementary or structured (T/F).
TRUE.
7. The amount oI memory associated with a data type is ZERO.
8. Data objects are the physical units a program uses at runtime. (T/F).
TRUE.
. The data object does not occupy any space in memory. (T/F)
FALSE.
2. What are the three hierarchical levels oI data types and objects?
Programindependent data, deIined in the ABAP/4 Dictionary.
Internal data used globally in one program.
Data used locally in a procedure (subroutine, Iunction module)

2. How would you Iind the attributes oI a data type or data object?
DESCRIBE FIELD I~ |LENGTH l.| |TYPE t~ |COMPONENTS n~||
|OUTPUTLENGTH o~| |DECIMALS d~|
|EDIT MASK m~|.
22. The components oI a Iield string cannot have diIIerent data types. (T/F).
FALSE.
23. Field strings are also called as Record or Structures.
24. II a Iield string is aligned (LeIt, centered, right justiIied etc.), the Iiller Iields are also
added to the length oI the type C Iield. (T/F).
TRUE.
25. You cannot assign a local data object deIined in a subroutine or Iunction module to a
Iield group. (T/F)
TRUE.
26. Field group reserves storage space Ior the Iields, and does not contain pointers to
existing Iields (T/F).
False.
27. DeIining a Iield group as HEADER` is optional (T/F)
FALSE.
28. How would you deIine a Iield symbol?
FIELDSYMBOLSFS~.
2. Which Iunction module would you use to check the user`s authorization to access Iiles
beIore opening a Iile?
AUTHORITYCHECKDATASET
30. Name the Iunction module used to convert logical Iile names to physical Iile names in
ABAP/4 programs.
FILEGETNAME.
3. Parameters, which are deIined during the deIinition oI a subroutine with the FORM
statement, are called Formal Parameters.
32. Parameters which are speciIied during the call oI a subroutine with the PERFORM
statement are called Actual Parameters.
33. In subroutines internal tables that are passed by TABLES, are always called by value
and result. (T/F)
FALSE. They are called by reIerence.

ITERATIVE REPRTIG
1. What is interactive reporting?
It helps you to create easytoread lists. You can display an overview list Iirst that contains
general inIormation and provide the user with the possibility oI choosing detailed
inIormation that you display on Iurther lists.
2. What are the uses oI interactive reporting?
The user can actively control data retrieval and display during the session. Instead oI an
extensive and detailed list, you create a basic list with condensed inIormation Irom which
the user can switch to detailed displays by positioning the cursor and entering commands.
The detailed inIormation appears in secondary lists.
3. What are the event key words in interactive reporting?
Event Keyword Event
AT LINESELECTION Moment at which the user selects a line by
double clicking on it or by positioning the
cursor on it and pressing F2.
AT USERCOMMAND Moment at which the user presses a
Iunction key.
TOPOFPAGE DURING Moment during list processing oI a
LINESELECTION secondary list at which a new page starts.

4. What is secondary list?
It allows you to enhance the inIormation presented in the basic list. The user can, Ior
example, select a line oI the basic list Ior which he wants to see more detailed inIormation.
You display these details on a secondary list. Secondary lists may either overlay the basic
list completely or you can display them in an extra window on the screen. The secondary
lists can themselves be interactive again.

5. How to select valid lines Ior secondary list?
To prevent the user Irom selecting invalid lines, ABAP/4 oIIers several possibilities. At
the end oI the processing block ENDOFSELECTION, delete the contents oI one or more
Iields you previously stored Ior valid lines using the HIDE statement. At the event AT
LINESELECTION, check whether the work area is initial or whether the HIDE statement
stored Iield contents there. AIter processing the secondary list, clear the work area again.
This prevents the user Irom trying to create Iurther secondary lists Irom the secondary list
displayed.
6. How to create user interIaces Ior lists?
The R/3 system automatically, generates a graphical user interIace (GUI) Ior your lists that
oIIers the basic Iunctions Ior list processing, such as saving or printing the list. II you want
to include additional Iunctionality, such as pushbuttons, you must deIine your own
interIace status. To create a new status, the Development Workbench oIIers the Menu
Painter. With the Menu Painter, you can create menus and application toolbars. And you
can assign Function Keys to certain Iunctions. At the beginning oI the statement block oI
AT ENDOFSELECTION, active the status oI the basic list using the statement: SET PF
STATUS STATUS`.

7. What is interactive reporting?
A classical noninteractive report consists oI one program that creates a single list. Instead
oI one extensive and detailed list, with interactive reporting you create basic list Irom
which the user can call detailed inIormation by positioning the cursor and entering
commands. Interactive reporting thus reduces inIormation retrieval to the data actually
required.

8. Can we call reports and transactions Irom interactive reporting lists?
Yes. It also allows you to call transactions or other reports Irom lists. These programs then
use values displayed in the list as input values. The user can, Ior example, call a
transaction Irom within a list oI change the database table whose data is displayed in the
list.
. What are system Iields Ior secondary lists?
SYLSIND Index oI the list created during the current event (basic list 0)
SYLIST1 Index oI the list level Irom which the event was triggered.
SYLILL1 Absolute number oI the line Irom which the event was triggered.
SYLISEL Contents oI the line Irom which the event was triggered.
SYCUROW Position oI the line in the window Irom which the event was triggered
(counting starts with 1)
SYCUCOL Position oI the column in the window Irom which the event was
triggered (counting starts with 2).
SYCPAGE Page number oI the Iirst displayed page oI the list Irom which the event
was triggered.
SYSTARO Number oI the Iirst line oI the Iirst page displayed oI the list Irom which
the event was triggered (counting starts with 1). Possibly, a page header
occupies this line.
SYSTACO Number oI the Iirst column displayed in the list Irom which the event
was triggered (counting starts with 1).
SYUCOMM Function code that triggered the event.
SYPFKEY Status oI the displayed list.

. How to maintain lists?
To return Irom a high list level to the nextlower level (SYLSIND), the user chooses Back
on a secondary list. The system then releases the currently displayed list and activates the
list created one step earlier. The system deletes the contents oI the released list. To
explicitly speciIy the list level, into which you want to place output, set the SYlsind Iield.
The system accepts only index values, which correspond to existing list levels. It then
deletes all existing list levels whose index is greater or equal to the index speciIy. For
example, iI you set SYLSIND to 0, the system deletes all secondary lists and overwrites
the basic list with the current secondary list.

. What are the page headers Ior secondary lists?
On secondary lists, the system does not display a standard page header and it does not
trigger the event. TOPOFPAGE. To create page headers Ior secondary list, you must
enhance TOPOFPAGE: Syntax TOPOFPAGE DURING LINESELECTION. The
system triggers this event Ior each secondary list. II you want to create diIIerent page
headers Ior diIIerent list levels, you must program the processing block oI this event
accordingly, Ior example by using system Iields such as SYLSIND or SYPFKEY in
control statements (IF, CASE).
2. How to use messages in lists?
ABAP/4 allows you to react to incorrect or doubtIul user input by displaying messages that
inIluence the program Ilow depending on how serious the error was. Handling messages is
mainly a topic oI dialog programming. You store and maintain messages in Table T100.
Messages are sorted by language, by a twocharacter ID, and by a threedigit number. You
can assign diIIerent message types to each message you output. The inIluence oI a
message on the program Ilow depends on the message type. In our program, use the
MESSAGE statement to output messages statically or dynamically and to determine the
message type.
Syntax:REPORT rep~ MESSAGEID id~.
3. What are the types oI messages?
A message can have Iive diIIerent types. These message types have the Iollowing eIIects
during list processing:
.A (Abend):
.E (Error) or W (Warning):
.I (InIormation):
.S (Success):

4. What are the user interIaces oI interactive lists?
II you want the user to communicate with the system during list display, the list must be
interactive. You can deIine speciIic interactive possibilities in the status oI the list`s user
interIace (GUI). To deIine the statuses oI interIaces in the R/3 system, use the Menu
Painter tool. In the Menu Painter, assign Iunction codes to certain interactive Iunctions.
AIter an user action occurs on the completed interIace, the ABAP/4 processor checks the
Iunction code and, iI valid, triggers the corresponding event.

5. What are the drilldown Ieatures provided by ABAP/4 in interactive lists?
ABAP/4 provides some interactive events on lists such as AT LINESELECTION (double
click) or AT USERCOMMAND (pressing a button). You can use these events to move
through layers oI inIormation about individual items in a list.

6. What is meant by stacked list?
A stacked list is nothing but secondary list and is displayed on a Iullsize screen unless you
have speciIied its coordinates using the window command.

7. Is the basic list deleted when the new list is created?
No. It is not deleted and you can return back to it using one oI the standard navigation
Iunctions like clicking on the back button or the cancel button.

8. What is meant by hotspots?
A Hotspot is a list area where the mouse pointer appears as an upright hand symbol. When
a user points to that area (and the hand cursor is active), a single click does the same thing
as a doubleclick. Hotspots are supported Irom R/3 release 3.0c.

. What is the length oI Iunction code at usercommand?
Each menu Iunction, push button, or Iunction key has an associated Iunction code oI length
FOUR (Ior example, FREE), which is available in the system Iield SYUCOMM aIter the
user action.

2. Can we create a gui status in a program Irom the object browser?
Yes. You can create a GUI STATUS in a program using SET PFSTATUS.

2. In which system Iield does the name oI current gui status is there?
The name oI the current GUI STATUS is available in the system Iield SYPFKEY.

22. Can we display a list in a popup screen other than Iullsize stacked list?
Yes, we can display a list in a popup screen using the command WINDOW with the
additions starting at X1 Y1 and ending at X2 Y2 to set the upperleIt and the lowerright
corners where x1 y1 and x2 y2 are the coordinates.

23. What is meant by hide area?
The hide command temporarily stores the contents oI the Iield at the current line in a
systemcontrolled memory called the HIDE AREA. At an interactive event, the contents oI
the Iield are restored Irom the HIDE AREA.

24. When the get cursor command used in interactive lists?
II the hidden inIormation is not suIIicient to uniquely identiIy the selected line, the
command GET CURSOR is used. The GET CURSOR command returns the name oI the
Iield at the cursor position in a Iield speciIied aIter the addition Iield, and the value oI the
selected Iield in a Iield speciIied aIter value.

25. How can you display Irames (horizontal and vertical lines) in lists?
You can display tabular lists with horizontal and vertical lines (FRAMES) using the
ULINE command and the system Iield SYVLINE. The corners arising at the intersection
oI horizontal and vertical lines are automatically drawn by the system.
26. What are the events used Ior page headers and Iooters?
The events TOPOFPAGE and ENDOFPAGE are used Ior pager headers and Iooters.

27. How can you access the Iunction code Irom menu painter?
From within the program, you can use the SYUCOMM system Iield to access the Iunction
code. You can deIine individual interIaces Ior your report and assign them in the report to
any list level. II you do not speciIy selIdeIined interIaces in the report but use at least one
oI the three interactive event keywords. AT LINESELECTION, AT PFnn~, OR AT
USERCOMMAND in the program, the system automatically uses appropriate predeIined
standard interIaces. These standard interIaces provide the same Iunctions as the standard
list described under the standard list.

28. How the atuser command serves mainly in lists?
The AT USERCOMMAND event serves mainly to handle own Iunction codes. In this
case, you should create an individual interIace with the Menu Painter and deIine such
Iunction codes.

2. How to pass data Irom list to report?
ABAP/4 provides three ways oI passing data:
Passing data automatically using system Iields
Using statements in the program to Ietch data
Passing list attributes

3. How can you manipulate the presentation and attributes oI interactive lists?
Scrolling through Interactive Lists.
Setting the Cursor Irom within the Program.
ModiIying List Lines.

3. How to call other programs?
Report Transaction
Call and return SUBMIT AND RETURN CALL TRANSACTION
Call without return SUBMIT LEAVE TO TRANSACTION

You can use these statements in any ABAP/4 program.

32. What will exactly the hide statement do?
For displaying the details on secondary lists requires that you have previously stored the
contents oI the selected line Irom within the program. To do this, ABAP/4 provides the
HIDE statement. This statement stores the current Iield contents Ior the current list line.
When calling a secondary list Irom a list line Ior which the HIDE Iields are stored, the
system Iills the stored values back into the variables in the program. In the program code,
insert the HIDE statement directly aIter the WRITE statement Ior the current line.
Interactive lists provide the user with the socalled INTERACTIVE REPORTING`
Iacility. For background processing the only possible method oI picking the relevant data
is through NON INTERACTIVE REPORT` . AIter starting a background job, there is no
way oI inIluencing the program. But whereas Ior dialog sessions there are no such
restrictions.

33. How many lists can a program can produce?
Each program can produce up to 21 lists: one basic list and 20 secondary lists. II the user
creates a list on the next level (that is, SYLSIND increases), the system stores the previous
list and displays the new one. Only one list is active, and that is always the most recently
created list.
. What is fuII form of BDC Session?
Batch Data Communication Session.
2. What are the steps in a BDC session?
The first step in a BDC session is to identify the screens of the transaction that the program will
process. Next step is to write a program to build the BDC table that will be used to submit the
data to SAP. The final step is to submit the BDC table to the system in the batch mode or as a
single transaction by the CALL TRANSACTON command.
3. How do you find the information on the current screen?
The STATUS command frominformation on the current screen can be found by SYSTEM any
menu.
. How do you save data in BDC tabIes?
The data in BDC tables is saved by using the field name 'BDC_OKCODE' and field value of
'/'.
5. What is the Iast entry in aII BDC tabIes?
n all BDC tables the last entry is to save the data by using the field name BDC_OKCODE and a
field value of '/'.
6. What is a muItipIe Iine fieId?
A multiple line field is a special kind of field which allows the user to enter multiple lines of data
into it.
7. How do you popuIate data into a muItipIe Iine fieId?
To populate data into a multiple line field, an index is added to the field name to indicate which
line is to be populated by the BDC session (Line index).
. Write the BDC tabIe structure.
BDC table structure
FIELD TYPE DESCRIPTION
Program CHAR (8) Program name of transaction.
DynPro CHAR (4) Screen number of transaction.
DynBegin CHAR () ndicator for new screen.
Fnam CHAR (35) Name of database field from screen.
Fval CHAR (8) Value to submit to field.
. Does the CALL TRANSACTION method aIIow muItipIe transactions to be
processed by SAP?
No. The CALL TRANSACTON method allows only a single transaction to be processed
by SAP.

10. Does the BDC-INSERT function aIIow muItipIe transactions to be processed by
SAP?
Yes.
11. What is the syntax for 'CALL TRANSACTION'?
CALL TRANSACTON trans [ using bdctab MODE mode ].
Three possible entries are there for MODE.
A - Show all screens.
E - Show only screens with errors.
N - Show no screens.

ModuIe pooI programing
What are the differences between TABLE CONTROLS and STEP LOOPS ?
- TABLE CONTROLS are simply enhanced STEP LOOPS that display data with the look and
feel of a table widget in a desktop application. But from a programming standpoint, TABLE
CONTROLS and STEP LOOPS are almost exactly the same. One major difference between
STEP LOOPS and TABLE CONTROLS is in STEP LOOPS their table rows can span more than
one line on the screen. By contrast the rows in a TABLE CONTROLS are always single lines,
but can be very long. ( Table control rows are scrollable ). The structure of table controls is
different from step loops. A step loop, as a screen object, is simply a series of field rows that
appear as a repeating block. A table control, as a screen object consists of : i ) table fields (
displayed in the screen ) ii ) a control structure that governs the table display and what the
user can do with it.

Why do we need to code a LOOP statement in both the PBO and PAI events for each
tabIe in the screen ?
We need to code a LOOP statement in both PBO and PA events for each table in the screen.
This is because the LOOP statement causes the screen fields to be copied back and forth
between the ABAP/4 program and the screen field. For this reason, at least an empty
LOOP......ENDLOOP must be there.

The fieId SY-STEPL refers to ___________________ .
The index of the screen table row that is currently being processed. The system variable SY-
STEPL only has a meaning within the confines of LOOP...ENDLOOP processing. Outside the
loop, it has no valid value.

How can we decIare a tabIe controI in the ABAP/ program ?
Using the syntax controls type tableview using screen .

Differentiate between static and dynamic step Ioops.
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. f the user re-sizes the
window the system automatically increases or decreases the number of step loops blocks
displayed. n any given screen you can define any number of static step loops but only a single
dynamic one.

What are the two ways of producing a Iist within a transaction ?
By submitting a separate report.
By using leave to list-processing.

What is the use of the statement Leave to Iist-processing ?
Leave to list-processing statement is used to produce a list from a module pool. Leave to list-
processing statement allows to switch from dialog-mode to list-mode within a dialog program.

When wiII the current screen processing terminates ?
A current screen processing terminates when control reaches either a Leave-screen or the end
of PA.

How is the command Suppress-DiaIog usefuI ?
Suppressing entire screens is possible using this command. This command allows
us to perform screen processing "in the background. The system carries out all PBO and PA
logic, but does not display the screen to the user. Suppressing screens is useful when we are
branching to list-mode from a transaction dialog step.

What happens if we use Leave to Iist-processing without using Suppress-DiaIog ?
f we don't use Supress-Dialog the next screen will be displayed but as empty.
when the user presses ENTER, the standard list output is displayed.

How the transactions that are programmed by the user can be protected ?
By implementing an authority check.

What are the modes in which any update tasks work ?
Synchronous and Asynchronous.

What is the difference between Synchronous and Asynchronous updates ?
A program asks the system to perform a certain task, and then either waits or doesn't wait for
the task to finish. n synchronous processing, the program waits: control returns to the program
only when the task has been completed. n asynchronous processing, the program does not
wait: the system returns control after merely logging the request for execution.

What is the difference between Leave Transaction and CaII Transaction ?
- n contrast to LEAVE TO TRANSACTON, the CALL TRANSACTON statement causes the
system to start a new SAP LUW . This second SAP LUW runs parallel to the SAP LUW for the
calling transaction.

OveraII how do you write transaction program in SAP?
Create the transaction using object browser (SE8)
Define the objects e.g. screen, Transactions. Modules PBO, PA.
And you can create a transaction from SE3 also.

Does SAP has a GUI screen painter? If yes What operating systems is it avaiIabIe on?
What is the other type of screen painter caIIed?
Yes
On what OS is it available Window based.
Other type of screen painter alpha numeric screen painter.

What are step Ioops? How do you program page down page up in step Ioop?
Step loops: Method of displaying a set of records.
Page down & Page up: decrement / increment base counter
ndex = base + sy-step

NormaIIy how many and what fiIes get created when a transaction program is written?
What is top XXXXXXTOP program?
Main program with A ncludes
) TOP NCLUDE GLOBAL DATA
) nclude for PBO
) nclude for PA
V) include for Forms

Where is processing Iogic Iocated in an on-Iine program?
Ans :- ABAP/4 program (module pool)

Describe the onIine processor. What is its function?
Ans :- Controls the flow of online program.

How are screen names defined? Do you create a screen first or define your program
first?
Ans :- Define the program first and then create a screen.
What is the significance of the word 'OUTPUT' in the decIaration
MODULE TEST_KNOWLEDGE OUTPUT
ENDMODULE.

Ans :- Then we know that it is part of the PBO, therefore is processed before the screen is
presented.

Describe the fieIds on the screen ?

Ans :- Attributes screen , Screen types ,follow up screens , cursor position etc. After you have
entered the screen number, the screen branches to the screen attribute maintenance. Enter a
short description , select the type NORMAL and specify the number of the follow-up screen.

What are the three components of ON-LINE program?

Ans :- Screen , ABAP/4 program and transaction code.

What is gained by using the Dictionary FieIds menu option when creating your screen?

Ans :- The fields you have created inherits the same attributes as those in the Data Dictionary.

How to Create a checkbox , frame, pushbuttons and radio buttons on a screen?

Ans :- Just type a name and go to graphic element push button.

How do you assign an OK_CODE for a push button? How it is used in your ABAP?

Ans :- n the field list ,name the element and give it the value that it will represent when
pushed You must make sure that you clear the field that represents the pushbutton after
every check.
What automatic checks does the screen perform? (should be four)

Describe aII four and how they are used?

Ans :- The field format, required input, a foreign key table ,parameters.

What are the two methods to decIare input fieId as mandatory?
f you set required field as program attribute, the user must enter a value in the field. Required
fields appear on the screen containing a question mark (?).

How does foreign key work? What you have to put in your screen to identify the foreign
key?
No? Then where is the foreign key identified?

Ans :- You have defined a screen field by referring to a Data Dictionary, which has a check
table. When the foreign key is checked the system compares the values of the fields to be
checked with the contents of the key fields of the corresponding table.

What are the two effects of the foreign key from a user standpoint?

Ans :- Possible entries & a check against the key field contents.

What is user defined vaIidation checks in the fIow Iogic?

Ans :- FELD.SELECT FELD.VALUES or in the module pool FELD.MODULE.

Does the vaIue command in the fIow Iogic go in the PAI or the PBO event?
Ans :- PA.

If an error occurs in the moduIe pooI, which fieIds are avaiIabIe for entry and which are
dispIay onIy fieIds?

Ans :- Only those fields defined with the FELD statement before MODULE & relevant checks in
a chain.

When is the chain command used in the PBO event?

Ans :- f you want to make more than one field ready for input after an error.

What tabIe stores the onIine messages? What is the message cIass and what is its
significance?

Ans :- Table T. The message class is a specific class of messages for a group of
transactions.

What are the 5 different message types and how are they handIed by the system? What is
then difference between the Warning and Error messages?

Ans :- A : Abend Message displayed on the current screen and subsequent task terminated
: nformation Message displayed on the current screen , but user can continue program by
pressing ENTER
E: Error Message displayed on the current screen. With FELD statements , the fields
concerned become ready again for input and user is required to make the entry /entries again
W : Warning As E message , but correcting input is optional
S: Success Message displayed on the follow-up screen as an message.

What does WITH statement add to a message?

Ans :- n the place of the & or $ the fields or values are placed in the error message.

What effect does the FIELD statement have within the fIow Iogic?

Ans :- The field statement resets the fields so those fields are ready for input again.

Where are the messages dispIayed on the screen?

Ans :- At the bottom.

Is the SET PARAMETER statement to be issued in PBO or PAI moduIe? Why?

Ans :- PA, the value must be input into the fields first before it can be placed in the buffer.
What are the different types of enhancements ?
Enhancements using customer exits
Customers' potential requirements which are not included in the standard software are
incorporated in the standard as empty modification 'shells'. Customers can then fill these with
their own coding. Enhancements can relate to programs, menus and screens. Upward
compatibility is assured. n other words, SAP guarantees that the jump from the standard
software to the exit and the interface which call the exit will remain valid in future releases.

Enhancements to ABAP/4 Dictionary elements
These are ABAP/4 Dictionary enhancements (creation of table appends), text enhancements
(customer-specific key words and documentation for data elements) and field exits (creation of
additional coding for data elements).

What is customer deveIopment ?
Creating customer-specific objects within the customer name range.

What is SSCR ?
SSCR (SAP Software Change Registration) is a procedure, for registering all manual changes
to SAP source coding and SAP Dictionary objects.

What is the difference between modifications and enhancements ?
Modifications mean making changes to the SAP standard functionality.
Enhancements mean adding some functionality to SAP standard functionality.

What are the disadvantages of modification ?
Modifying standard code can lead to errors
Modifications mean more work during software upgrades

What are the advantages of enhancements ?
Do not affect standard SAP source code
Do not affect software upgrades

when do you opt for modification ?
Customer exits are not available for all programs and screens within the R/3 standard
applications. You can only use exits if they already exist within the SAP R/3 System .
Otherwise you have to opt for modifications .

What are the various types of customer exits ?
Menu exits
Screen exits
Function module exits
Keyword exits

What is a menu exit ?
Adding items to the pulldown menus in standard R/3 applications .

13.What is a screen exit ?
Adding fields to the screens within R/3 applications. SAP creates screen exits by placing
special subscreen areas within a standard R/3 screen and calling a customer subscreen from
within the standard dynpro's flow logic.

What is a function moduIe exit ?
Adding functionality to R/3 applications. Function module exits play a role in both menu and
screen exits.

What is a keyword exit ?
Add documentation to the data elements of key words defined in the ABAP/4 Dictionary. The
system displays this documentation whenever a user presses F to get online help for a screen
field.

How do SAP organizes its exits ?
SAP organizes its exits in packages that are called SAP enhancements. Each SAP
enhancement can contain many individual exits.

What is an add-on project ?
To take advantage of the exits available within standard R/3 applications, you need to create an
add-on project. This project lets you organize the enhancement packages and exits you want to
use. The add-on project also allows you to hang add-on functionality onto the exit hooks
contained with SAP enhancements.
What is BDC programming?
Copyrights 24-26 ExamGuru, nc. All Rights Reserved.
Transferring of large/external/legacy data into SAP system using Batch nput programming.
Batch input is a
automatic procedure referred to as BDC(Batch Data Communications).The central component
of the transfer is a
queue file which receives the data vie a batch input programs and groups associated data into
"sessions.

What are the functionaI moduIes used in sequence in BDC?
These are the 3 functional modules which are used in a sequence to perform a data transfer
successfully using
BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and
user name are
specified in this functional modules. BDC_NSERT - t is used to insert the data for one
transaction into a session.
BDC_CLOSE_GROUP - This is used to close the batch input session.

What are internaI tabIes?
nternal tables are 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-organizing the contents of
database tables
according to users need.

What is ITS? What are the merits of ITS?
TS is a nternet Transaction Server. TS forms an interface between HTTP server and R/3
system, which
converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits
of TS: A complete
web transaction can be developed and tested in R/3 system. All transaction components,
including those used by
the TS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of
automatic language
processing in the R/3 system can be utilized to language-dependent HTML documents at
runtime.

What is DynPro?
DynPro is a Dynamic Programming which is a combination of screen and the associated flow
logic Screen is also
called as DynPro.

What are screen painter and menu painter?
Screen painter: Screen painter is a tool to design and maintain screen and its elements. t
allows user to create
GU screens for the transactions. Attributes, layout, filed attributes and flow logic are the
elements of Screen
painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu
bars, menu lists,
F-key settings, functions and titles are the components of Menu painters. Screen painter and
menu painter both
are the graphical interface of an ABAP/4 applications.

What is BDC programming?
Copyrights 24-26 ExamGuru, nc. All Rights Reserved.
Transferring of large/external/legacy data into SAP system using Batch nput programming.
Batch input is a
automatic procedure referred to as BDC(Batch Data Communications).The central component
of the transfer is a
queue file which receives the data vie a batch input programs and groups associated data into
"sessions.

What are the functionaI moduIes used in sequence in BDC?
These are the 3 functional modules which are used in a sequence to perform a data transfer
successfully using
BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and
user name are
specified in this functional modules. BDC_NSERT - t is used to insert the data for one
transaction into a session.
BDC_CLOSE_GROUP - This is used to close the batch input session.

What are internaI tabIes?
nternal tables are 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-organizing the contents of
database tables
according to users need.

What is ITS? What are the merits of ITS?
TS is a nternet Transaction Server. TS forms an interface between HTTP server and R/3
system, which
converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits
of TS: A complete
web transaction can be developed and tested in R/3 system. All transaction components,
including those used by
the TS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of
automatic language
processing in the R/3 system can be utilized to language-dependent HTML documents at
runtime.

What is DynPro?
DynPro is a Dynamic Programming which is a combination of screen and the associated flow
logic Screen is also
called as DynPro.

What are screen painter and menu painter?
Screen painter: Screen painter is a tool to design and maintain screen and its elements. t
allows user to create
GU screens for the transactions. Attributes, layout, filed attributes and flow logic are the
elements of Screen
painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu
bars, menu lists,
F-key settings, functions and titles are the components of Menu painters. Screen painter and
menu painter both
are the graphical interface of an ABAP/4 applications.

What are the components of SAP scripts?
SAP scripts is a word processing tool of SAP which has the following components: Standard
text. t is like a
standard normal documents. Layout sets. - Layout set consists of the following components:
Windows and pages,
Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set
consists of Header,
paragraph, and character string. ABAP/4 program.

What is ALV programming in ABAP? When is this grid used in ABAP?
ALV is Application List viewer. SAP provides a set of ALV (ABAP LST VEWER) function
modules which can be
put into use to embellish the output of a report. This set of ALV functions is used to enhance the
readability and
functionality of any report output. Cases arise in sap when the output of a report contains
columns extending
more than 255 characters in length. n such cases, this set of ALV functions can help choose
selected columns
and arrange the different columns from a report output and also save different variants for report
display. This is a
Copyrights 24-26 ExamGuru, nc. All Rights Reserved.
very efficient tool for dynamically sorting and arranging the columns from a report output. The
report output can
contain up to columns in the display with the wide array of display options.
SAP scripts is a word processing tool of SAP which has the following components: Standard
text. t is like a
standard normal documents. Layout sets. - Layout set consists of the following components:
Windows and pages,
Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set
consists of Header,
paragraph, and character string. ABAP/4 program.

What is ALV programming in ABAP? When is this grid used in ABAP?
ALV is Application List viewer. SAP provides a set of ALV (ABAP LST VEWER) function
modules which can be
put into use to embellish the output of a report. This set of ALV functions is used to enhance the
readability and
functionality of any report output. Cases arise in sap when the output of a report contains
columns extending
more than 255 characters in length. n such cases, this set of ALV functions can help choose
selected columns
and arrange the different columns from a report output and also save different variants for report
display. This is a
Copyrights 24-26 ExamGuru, nc. All Rights Reserved.
very efficient tool for dynamically sorting and arranging the columns from a report output. The
report output can
contain up to columns in the display with the wide array of display options.
What are the events in ABAP/ Ianguage?
nitialization, 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 FRST.

What is CTS and what do you know about it?
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.

What are IogicaI databases? What are the advantages/ disadvantages of IogicaI
databases?
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. 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)f you do not 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-SELECTON).

What is a batch input session?
BATCH NPUT SESSON 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.

How to upIoad data using CATT?
These are the steps to be followed to Upload data through CATT: Creation of the CATT test
case & recording the
sample data input. Download of the source file template. Modification of the source file. Upload
of the data from
the source file.

What is Smart Forms?
Smart Forms allows you to create forms using a graphical design tool with robust functionality,
color, and more.
Additionally, all new forms developed at SAP will be created with the new Smart Form solution.

How can I make a differentiation between dependent and independent data?
Client dependent or independent transfer requirements include client specific or cross client
objects in the change
requests. Workbench objects like SAPscripts are client specific, some entries in customizing are
client
independent. f you display the object list for one change request, and then for each object the
object attributes,
you will find the flag client specific. f one object in the task list has this flag on, then that
transport will be client
dependent.

What is the difference between macro and subroutine?
. What is the typicaI structure of an ABAP program? Secretary




2. What are fieId symboIs and fieId groups.?
Ans: Field symbols: Field symbols are like pointers. Placeholders for fields or arbitrary data
objects.
Field group: A field group combines several fields under one name.
**** Have you used "component idx of structure" clause with field groups?

3. What shouId be the approach for writing a BDC program?
Ans.
Analyzing data from local file.
Analyzing transaction
Declaring internal table
Similar to local file.
Similar to BDCDATA.
Transferring data from local file to internal table.
Population of BDCDATA. using call transaction/session method)

. What is a batch input session?
Ans. n this method transfer data from internal table to database table through sessions.
Session is intermediate step between internal table & database table. Unless session is
processed, the data is not transferred to the database table.

5. What is the aIternative to batch input session?
Ans. Call transaction method.

6. 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. You should process batch-input sessions in the foreground or using the error display if you
want to test the data transfer. f you want to execute the data transfer or test its performance,
you should process the sessions in the background. To process the sessions in the background,
Set the Run mode to Background.

7. What z the diff b/n a pooI tabIe and a transparent tabIe and how they are stored at the
database IeveI.
Ans. From user point of view all tables are used to store data. From administrator point of view
Transparent tables do exists with the same structure both in the dictionary as well as in the
database.
Pool & Clustered tables are Logical tables, which are arranged as records of transparent table.
These are not manageable directly by using database system tools.

. What are the probIems in processing batch input sessions?
Ans.




Q. How is batch input process different from processing onIine?
Ans. For online (Session method) external data is deposited in a session for later processing.
For inline (call transaction method) the entire batch input process takes place inline in your
program.

9. What do you define in the domain and data eIement.
Ans. Domain is formal definition of data types from a technical point of view. Sets attributes i.e.,
type, range, length . . .
DataElements are definition of the properties and type for a table field. t is an intermediate
between the object type domain & table filed.

10. What are the different types of data dictionary objects?
Ans.
Table.
Structures.
Views.
Dataelement.
Domains.
Lock Objects.
Match code objects.

11. How many types of tabIes exists and what are they in data dictionary?


12. What is the step by step process to create a tabIe in data dictionary?
Ans.
Create Domain.
Create Data Element.
Create Actual Table.

13. Can a transparent tabIe exist in data dictionary but not in the data base physicaIIy?
Ans. NO

1. What are the domains and data eIements?




15. Can you create a tabIe with fieIds not referring to data eIements?
Ans. NO.

16. What is the advantage of structures? How do you use them in the ABAP programs?



17. What does an extract statement do in the ABAP program?
Ans. 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 FELD-GROUPS statement.

When the first EXTRACT statement occurs in a program, the system creates the extract dataset
and adds the first extract record to it. n each subsequent EXTRACT statement, the new extract
record is added to the dataset.

1. What is a coIIect statement? How is it different from append?
Ans. COLLECT: When the line is inserted, the system checks whether there is already a table
entry that matches the key. f there is no corresponding entry already in the table, the COLLECT
statement has the same effect as inserting the new line. f 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. Open SQL allows you to access database tables declared in the ABAP Dictionary
regardless of the database platform that your R/3 System is using.
Native SQL allows you to use database-specific SQL statements in an ABAP program.
This means that you can use database tables that are not administered by the ABAP Dictionary,
and therefore integrate data that is not part of the R/3 System.

20 (a). What does an EXEC SQL stmt do in ABAP?
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.

ENDEXEC.

21. What is the meaning of ABAP editor integrated with ABAP data dictionary?
Ans. Area menu.

22. What are the events in ABAP Ianguage?
Ans.

Example for the structure of an ABAP program:

REPORT...
NODES: SPFL, SFLGHT.
DATA:...
NTALZATON.
AT SELECTON-SCREEN.
START-OF-SELECTON.
GET SPFL...
GET SFLGHT...
GET SPFL LATE.
END-OF-SELECTON.
FORM...
ENDFORM.

23. What is an interactive report? What is the obvious differences of such report
compared with cIassicaI type reports?
Ans. Interactive reporting allows the user to participate in retrieving and presenting data at
each level during the session. Gives a basic list form which the user can call detailed
information by positioning the cursor and entering the commands.
CIassicaI reports consists of one program the creates a single list which contains clustered
data requested, regardless of the details the user wants to see.

2. What is a driII down report?
Ans. A drilldown report is a report used for the interactive evaluation of data. (nteractive
reports)

25. How do you write a function moduIe in SAP? describe.
Ans.
create funtion group.
create funtion module program in se37.
specify the parameters for passing data to and from the module and the exceptions.
write source code.
write exe program calling the funtional program.

26. What are the exceptions in function moduIe?
Ans. Exceptions are used to handle errors. The Funtion module checks for any type of error &
raise exception & returns SY-SUBRC to the calling program. Main program checks for SY-
SUBRC for any errors and then takes action accordingly.

27. What is a function group?
Ans. Funtion Modules that operate with same data can be grouped in one known as funtion
group.

2. How are the date and time fieId vaIues stored in SAP?
Ans. SY-DATUM & SY-UZEIT

29. What are the fieIds in a BDCTab TabIe.
Ans. PROGRAM
DYNPRO
DYNBEGN
FNAM
FVAL

30. Name a few data dictionary objects?

31. What happens when a tabIe is activated in DD?
Ans. To be able to accessed by other objects like programs.

32. What is a check tabIe and what is a vaIue tabIe?
Ans. A foreign key links two tables T and T2 by assigning fields of table T to the primary key
fields of table T2. Table T2 is then known as the check tabIe of the foreign key.
vaIue tabIe : when you define a domain, you already know that all fields that use the domain
will need to be checked against a particular table. You can store this information in the domain
definition by specifying a vaIue tabIe.
f you try to define a foreign key for a field that points to this domain, the value table of the
domain is proposed as the check table for the foreign key.

33. What are match codes? describe?
Ans.



3. What transactions do you use for data anaIysis?


35. What is tabIe maintenance generator?
Ans.




36. What are ranges? What are number ranges?
Ans. SELECT-OPTON

37. What are seIect options and what is the diff from parameters?
Ans. Select options are for range of values.
Parameters are used for simple queries of single values.

3. How do you vaIidate the seIection criteria of a report?
Ans. AT SELECTON -SCREEN.
F carrid = ''.
error message.
ENDF.

Q. And how do you dispIay initiaI vaIues in a seIection screen?
Ans. Using VARANTS.

39. What are seIection texts?
Ans. Long text for select option / parameters . Selection text (SELECT-OPTON,
PARAMETER). This description appears on the selection screen.

0. What is CTS and what do you know about it?
Ans. t intended for the system administrator who sets up the Change and Transport System
(CTS).
1. When a program is created and need to be transported to production does seIection
texts aIways go with it? if not how do you make sure? Can you change the CTS entries?
How do you do it?
Ans.



2. What is the cIient concept in SAP? What is the meaning of cIient independent?
Ans. Sets of software component which acts as service requester are called as cIient.

3. Are programs cIient dependent?
Ans.

. Name a few system gIobaI variabIes you can use in ABAP programs?
Ans. SY-DATUM, SY-UEZIT, SY-SUBRC, SY-DBCNT.

5. What are internaI tabIes?
How do you get the number of lines in an internal table?
How to use a specific number occurs statement?
Ans. nternal tables provide a means of taking data from a fixed structure and storing it in
working memory in ABAP. The data is stored line by line in memory, and each line has the
same structure, they are dynamic data objects.
SY-DBCNT / SY-TABX.
DATA : BEGN OF TAB OCCURS ,
A TYPE ,
C TYPE C,
END OF TAB.

6. How do you take care of performance issues in your ABAP programs?
Ans.





7. What are datasets?
Ans. Sequential files in application server.

. How to find the return code of a stmt in ABAP programs?
Ans. SY-SUBRC (except for transfer stmt).

9. What are interface/conversion programs in SAP?
Ans.


50. Have you used SAP suppIied programs to Ioad master data?
Ans. BDC

51. What are the techniques invoIved in using SAP suppIied programs? Do you prefer to
write your own programs to Ioad master data? Why?
Ans.




52. What are IogicaI databases? What are the advantages/disadvantages of IogicaI
databases?
Ans. Logical database are special ABAP programs that retrive data & make it available to
application programs.
Advantages of Logical database.
No need of taking care of the key field and the foreign key realtionship between the tables in
question.(relationship between diff tables are reflected in tree structure of Logical database).
A selection screen with appropriate selection criteria is automatically created.
Program standard authority checks are executed by Logical database itself in reports.
Logical database improves the performance of reports at runtime.

53. What specific statements do you using when writing a driII down report?
Ans. Hide stmt.

5. What are different tooIs to report data in SAP? What aII have you used?
Ans. ABAP query tool,

55. What are the advantages and disadvantages of ABAP query tooI?
Ans.








56. What are the functionaI areas? User groups? and how does ABAP query work in
reIation to these?
Ans.





57. Is a IogicaI database a requirement/must to write an ABAP query?
Ans. No.

5. What is the structure of a BDC sessions.
Ans.
Declare internal tables for upload.
declare another internal table with same structure of BDCDATA.
call function BDC_Open _group.
call function BDC_insert.
call function BDC_close_group.

59. What are Change header/detaiI tabIes? Have you used them?
Ans. The change header contains both fields that define and describe the change and
administrative data on the change master. The administrative data is updated by the system.

60. What do you do when the system crashes in the middIe of a BDC batch session?
Ans.

1. When a program is created and need to be transported to production does seIection
texts aIways go with it? if not how do you make sure? Can you change the CTS entries?
How do you do it?
Ans.



2. What is the cIient concept in SAP? What is the meaning of cIient independent?
Ans. Sets of software component which acts as service requester are called as cIient.

3. Are programs cIient dependent?
Ans.

. Name a few system gIobaI variabIes you can use in ABAP programs?
Ans. SY-DATUM, SY-UEZIT, SY-SUBRC, SY-DBCNT.

5. What are internaI tabIes?
How do you get the number of lines in an internal table?
How to use a specific number occurs statement?
Ans. nternal tables provide a means of taking data from a fixed structure and storing it in
working memory in ABAP. The data is stored line by line in memory, and each line has the
same structure, they are dynamic data objects.
SY-DBCNT / SY-TABX.
DATA : BEGN OF TAB OCCURS ,
A TYPE ,
C TYPE C,
END OF TAB.

6. How do you take care of performance issues in your ABAP programs?
Ans.





7. What are datasets?
Ans. Sequential files in application server.

. How to find the return code of a stmt in ABAP programs?
Ans. SY-SUBRC (except for transfer stmt).

9. What are interface/conversion programs in SAP?
Ans.


50. Have you used SAP suppIied programs to Ioad master data?
Ans. BDC

51. What are the techniques invoIved in using SAP suppIied programs? Do you prefer to
write your own programs to Ioad master data? Why?
Ans.




52. What are IogicaI databases? What are the advantages/disadvantages of IogicaI
databases?
Ans. Logical database are special ABAP programs that retrive data & make it available to
application programs.
Advantages of Logical database.
No need of taking care of the key field and the foreign key realtionship between the tables in
question.(relationship between diff tables are reflected in tree structure of Logical database).
A selection screen with appropriate selection criteria is automatically created.
Program standard authority checks are executed by Logical database itself in reports.
Logical database improves the performance of reports at runtime.

53. What specific statements do you using when writing a driII down report?
Ans. Hide stmt.

5. What are different tooIs to report data in SAP? What aII have you used?
Ans. ABAP query tool,

55. What are the advantages and disadvantages of ABAP query tooI?
Ans.








56. What are the functionaI areas? User groups? and how does ABAP query work in
reIation to these?
Ans.





57. Is a IogicaI database a requirement/must to write an ABAP query?
Ans. No.

5. What is the structure of a BDC sessions.
Ans.
Declare internal tables for upload.
declare another internal table with same structure of BDCDATA.
call function BDC_Open _group.
call function BDC_insert.
call function BDC_close_group.

59. What are Change header/detaiI tabIes? Have you used them?
Ans. The change header contains both fields that define and describe the change and
administrative data on the change master. The administrative data is updated by the system.

60. What do you do when the system crashes in the middIe of a BDC batch session?
Ans.


1. What are user exits? What is invoIved in writing them? What precautions are needed?
Ans. User Exits are used for enhancement of SAP Objects. Point in an SAP program where a
customer's own program can be called.

2. What are RFCs? How do you write RFCs on SAP side?
Ans. Remote Function CaII. RFCs enable you to call and execute predefined functions in a
remote system - or even in the same system.RFCs manage the communication process,
parameter transfer and error handling.

3. What are the generaI naming conventions of ABAP programs?
Ans.Starting with Z or Y

. How do you find if a IogicaI database exists for your program requirements?
Ans.



5. How do you find the tabIes to report from when the user just teII you the transaction
he uses? And aII the underIying data is from SAP structures?
Ans.



6. How do you find the menu path for a given transaction in SAP?
Ans. From the main R/3 menu choose:
Tools --> Administration ---> Data Retention Tool

7. What are the different moduIes of SAP?
Ans.



. What is IMG in SAP?
Ans.



9. How do you get heIp in ABAP?
Ans. Place the cursor on the filed & press F.

90. What are different ABAP editors? What are the differences?
Ans.


91. What are the different eIements in Iayout sets?
Ans. Header, Page, Pagewindows, Windows, Paragraph Format, Character String.

92. Can you use if then eIse, perform ..etc statements in sap script?
Ans. Yes

93. What type of variabIes normaIIy used in sap script to output data?
Ans. system defined & user define in program

9. How do you number pages in Sapscript Iayout outputs?
Ans. &SY-PAGNO&

95. What takes most time in SAP script programming?
Ans.

96. How do you use tab sets in Iayout sets?
Ans.


97. How do you backup Sapscript Iayout sets? Can you downIoad and upIoad? How?
Ans.




9. What are presentation and appIication servers in SAP?
Ans. Presentation server: Software layer in the R/3 System that accepts input from users and
returns the results. AppIication Server :Server that provides a range of services to run the R/3
System. An application server consists of a dispatcher and one or more work processes for
each service. The dispatcher manages processing requests, and work processes execute them.
Each application server provides at least one dialog service and one gateway.

99. In an ABAP program how do you access data that exists on a presentation server vs
on an appIication server?
Ans. using dataset

100. What are different data types in ABAP?
Ans. There are eight predefined types in ABAP with fixed Iength:
Four character types: Character (C), Numeric character (N), Date (D), and Time (T).
One hexadecimal type: Byte field (X).
Three numeric types: nteger (), Floating-point number (F) and Packed number (P).
There are two predefined types in ABAP with variabIe Iength:
STRNG for character strings , XSTRNG for byte strings
CompIex type.
structure type. table type.
Reference type.
Data reference
Object Reference
class reference interface reference

101. What is difference between BDC and CaII Transaction?
Ans. BDC Session Method
Data is not updated in database tables unless session is processed.
No SY-SUBRC returned.
Error log is created for error records.
Updation in database table is always synchronous
CaII Transaction Method.
mmediate Updation in database table.
SY-SUBRC retuned.
Errors need to be handled explicitly.
Updation in database in database table can be Synchronous or Asynchronous

102. Setting up a BDC program where you find information from?
Ans.

103. What has to be done to the packed fieIds before submitting to a BDC session.
Ans.
61. What do you do with errors in BDC batch sessions?
Ans. BDC session with errors appears in NCORRECT session & it can be processed again. to
correct the errors , first you can analyze the session to determine which screen & value
produced the error, if there r small errors, correct them else modify the BDC pgm which
generates session or the flat file itself.

62. How do u set up background jobs in SAP? What r the steps? What are the event
driven batch jobs?
Ans.







63. Is it possibIe to run host command from SAP environment? How do you run?
Ans.





6. What kind of financiaI periods exist in SAP? What is the reIevant tabIe for that?
Ans.



65. Does SAP handIe muItipIe currencies? MuItipIe Ianguages?
Ans. YES

66. What is a currency factoring technique?
Ans.

67. How do you document ABAP programs? Do you use program documentation menu
option?
Ans.



6. What is SAPscript and Iayout set?
Ans. Printable document such as invoices, purchase order are printed with the use of forms,
SAP allows the user to define these forms by using layout sets is SAP scripts.
Layout set is used to design a document. Layout set on its own does not contain any data.
Selection of data for the document is done through the print program.

69. What r the ABAP commands that Iink to a Iayout set?
Ans. dataelement ... like ( /E ELE)

70. What is output determination?
Ans.




71. What are IDOCs?
Ans. ntermediate document (Doc) container for exchanging data between R/3, R/2 and non-
SAP systems. ALE uses Docs to exchange data between logical systems. Non-SAP systems
can use Docs as the standard interfacefor data transfer.
Docs are created when message types and (object) methods are distributed. The message
type is the format in which the data for a specific business process is transferred.

72. What are screen painter? menu painter? Gui status? ..etc.
Ans. Screen painter: Tool for creating the screens of a dialog transaction.
Menu painter: Tool for creating and designing the graphical user interface of an ABAP
program.
GUI Status : Main element of the graphical user interface.A GU status usually consists of a
menu bar with menus, a standard toolbar, an application toolbar, and functions with function key
settings.
Together with the GU title, the GU status defines the actual state of the user interface of an
ABAP program.

73. What is screen fIow Iogic? What are the sections in it? ExpIain PAI and PBO.
Ans. FIow Iogic : Code that processes a particular screen in the R/3 System.Flow logic
statements are syntactically similar to ABAP statements, but you cannot use flow logic
keywords in ABAP.
You define flow logic in the flow logic editor of the Screen Painter. Flow logic comprises four
modules:
PBO (Process Before Output)
PA (Process After nput)
POV(Process On value request)
POH(Process On Help request)
PBO : The processing of screen before the screen is displayed is done in this event. (event is
triggered before the screen is displayed).
PA : This event is responsible for processing of screen after the user enters the data and clicks
the pushbutton.
POV : This is triggered when user clicks F4 function key (for listing all possible values for the
field).
POH : This event is triggred when user places the cursor on field and press F , by default
system displays its own HELP for that particular field one can add his own HELP by writting in
POH.

7. OveraII how do you write transaction programs in SAP?
Ans.
Create a module program.
Goto Screen painter in SE5. create & add all your elements.
write flow logic in screen painter
save & activate.
attach a transaction code in SE3.

75. Does SAP has a GUI screen painter or not? If yes what operating systems is it
avaiIabIe on? What is the other type of screen painter caIIed?
Ans.

76. What are step Ioops? How do you program pagedown/pageup in step Ioops?
Ans. Step Loops: these are repeated blocks of fields in a screen.

77. Is ABAP a GUI Ianguage?
Ans. YES

7. NormaIIy how many and what fiIes get created when a transaction program is
written? what is the XXXXXTOP program?
Ans.



79. What are the incIude programs?
Ans. Self-contained program that executes a particular task.
An include program has two main functions:
t contains code which can be used by several different programs.
t helps you to modularize programs, which consist of many different logically related parts.
Each of these parts is stored as a separate include program.
nclude programs improve the readability of programs and make maintenance easier.

0. Can you caII a subroutine of one program from another program?
Ans. yes (using PERFORM)

Vous aimerez peut-être aussi