Sei sulla pagina 1di 78

IMPORT ABC TO MEMORY ID 'MYID'

CLEAR MEMORY ID 'MYID'


EXPORT ABC TO MEMORY ID 'MYID'
FREE MEMORY ID 'MYID'

Number of filled lines


Loop Counter
Number of table control lines

At Line-Selection
Start-of-Selection
Top-of-Page
At Selection-Screen

Submit.. .. and Return


Submit
Leave to transaction
Call Transaction

The mandatory fields must be filled in with "Get Parameter" statement or default values in Transaction ZABC
Export the screen fields to memory
The mandatory fields must be filled in with "Set Parameter" statement or default values in Transaction ZABC
The first screen in transaction ZABC can indicate that mandatory fields do not need to be filled in if called by another
transac

cl_context_clas
cl_ctmenu
cl_menu
menu_class

Starting at Column 10, Row 20 Ending at Column 20, Row 30


Starting at Row 10, Column 20 Ending at Row 20, Column 30
When the first write statement is encountered
After Number of lines per page, as specified in the REPORT, have been wriiten to the list buffer
When the Top-Of-Page event is encountered in sequence
When the report starts
9

Joined Tables
Sequential Data Set
Program
LDB
Search Help
When all data has been retrieved for the Get
When the END GET statement is encountered
After each PUT in the LDB
When the next keyword event is encountered
T006
TVARV
TVAR
in table "nametab"
in work processes
in the dictionary

The revised table in the ABAP/4 Dictionary is activated


The indexes for the table needs to manually be reconstructed in the ABAP Dictionary
Data in the table is automatically deleted and must be reloaded
The table in the database is recreated
The table in the database is renamed and eventually deleted
To provide data security at the application leve
To insulate the ABAP/4 developer from the database
To support the creation and management of metadata
To connect to the operating system

12 bytes
0 bytes
5 bytes

All the lines of the table are deleted


Nothing
The work area is intitialized
All the lines of the table are initialized

CHECK
It is not possible
Authority-check

Loopatitab.
ctr=ctr+1
write:sytabix.
checkctr=3.
deleteitab
endloop.

12334
1245
12345
1234

Conversion always occurs


Conversion never occurs
Forms are more flexible but prone to a short dump if conversion does not work
No effect
Forms are less flexible and are guaranteed no chance of a run time error

Types:beginofitab_structure,
Field1typep,
Field2typec,
Field3typeI,
Field4typen,
endofitab_structure.
Data: itab type table of itab_structure.
Sort itab.
Field2, Field4
Field1, Field3
Where only numbers are allowed and there is no need for arithmetic operations
Where there is a need for numbers, characters, and arithmetic operations
Where only numbers are allowed and there is a need for arithmetic operations

They all set sy-subrc


They all distinguish between upper and lower case
The actual type of each operand determines how the string processing is performed
They all treat the operands as type C regardless of their actual type
They all set sy-fdpos
Input validation
Pre-assigning values
Hiding input fields
Security checking

An Endcatch statement is required


The statement immediately following the CATCH statement is executed in the event of an error trapped by the CATCH
statement
A CASE statement can be used to validate the value of the error class
A data variable defined with type X must be defined to receive the raised error code
I
P
X
F
D
N

sy-fdpos = 0 and sy-subrc = 0


sy-fdpos = 4 and sy-subrc = 0
sy-fdpos = 4 and sy-subrc = 4
sy-fdpos = 0 and sy-subrc = 4

Class is a template for an object


Objects are an instance of a class
Objects can change their class
Classes are an instance of an object

sy-dbcnt

By Value
By Table
By Header Line

Polymorphism
Inheritance
Encapsulation
Instantiation
Screens
Lists
Selection Screen
Business Objects
Logical Database

Conversion routines from the Domain are executed


Syntax Error
Conversion routines from the Data Element are executed
formal parameter takes on the type of the actual parameter

Performcalculate_salesusingamount.
FORMcalculate_saleschangingvalue(f_amount)
(More than one answer is correct)
Formal Parameter f_amount is allocated its own memory space
Formal parameter is not copied to memory space of actual parameter
Formal parameter is copied to memory space of actual parameter at the end of the form
The address of the actual parameter is passed to the formal parameter

The contents are copied by same field types


The contents are copied by same named fields
The structure will not get loaded with data
The contents are copied by position

T100
It is an Object
It is an interface
Can only be use inside SAP
It is impemented as a function
Can be a method of an object
Y_ or Z_

SelectABC
frommy_table
intowa_list
The fields are copied according to type
Field names do not matter. The fields A, B, and C, will get copied by position
Only If like named fields exist in wa_list will the contents of A, B, and C get copied into wa_list
Objects in the repository can be viewed across clie
Objects created using the IMG are stored in the reposito
It stores development objects
It stores client-specific objects
It is attached to profiles
An authorization is defined in the program attributes
Defines permissable values for each authorization field listed in the authorization object

TACTZ
Used to calculate values
Used to hide input fields
Cross client
Used to protect fields

the data objects must be activated


the fields attributes have to be manually defined in the screen painter
the program must be activated
Data elements
Domains
Record structures

Export Parameters
User dialogs
Exceptions
Import Parameters

exception integers
exception parameters

sy-subrc
interface parameters
Complex Entries
Menu trees
Variants
Type Checks
Translation Utilities

10

Import
Sy-SUBRC
Exceptions

Basis System
Dispatcher
ABAP Interpereter
Database Server
Database Interface
In the ABAP workbench
In the repository
In the dictionary
Tools
System
Options
Help
Status

EZ* or EY*

SAP LUW
DB LUW
Program Syntax Checks

implementation
method
attributes
definition

Database Interface
Dialog Processor
ABAP Processor
Screen Processor

MZMYPROGRAMTOP
MZMYPROGRAMDATA
APMZMYPROGRAMTOP
Dialog Module
Event
Declarations
Function

Anywhere in the program


In a Form Only
In a PAI Module
In a Function

It converts the date to a julian date


It calculates the number of days that have elapsed since 00.00.0000
It calculates the number of days that have elapsed since 01.01.0001
8

Objects are an instance of a class


Objects can change their class
Class is a template for an object
Classes are an instance of an object
ABAP Workbench
Repository
in ABAP Programs
Dictionary

Data: ZFIELDA type c


Types: ZFIELDA type I
Constants: ZFIELDA type n
Data: ZFIELDA type n

Conversion never occurs


No effect
Conversion always occurs
Forms are more flexible but prone to a short dump if conversion does not work
Forms are less flexible and are guaranteed no chance of a run time error

Remote-enabled
Update
Normal

Enabled
Non Updateable

implementation
definition
attributes
method

Result
Exception
Importing
Returning

REFRESH_TABLE_DISPLAY
SET_TABLE_FOR_DISPLAY
SET_TABLE_FOR_FIRST_DISPL
CONSTRUCTOR

Hashed
CREATEFROMDATA
GETDETAIL
UPDATEDETAIL
CREATELIST
GETLIST

SY-LISEL

CL_GUI_CUSTOM _CONTAINER
CL_GUI_ALVGRID_CONTAINER
CL_GUI_CONTAINER_ALV

SelectABC
frommy_table
intowa_list
Only If like named fields exist in wa_list will the contents of A, B, and C get copied into wa_list
The fields are copied according to type
Field names do not matter. The fields A, B, and C, will get copied by position

Batch input queue table APQD is filled

Transaction Header = 1, Session Header = 0, Transaction Data = 2

Generate a program

Generate a File
Generate Batch Input Session
Generate a Batch Job
Start the data transfer program
Will execute only one batch input session
Can be executed in background or online
Can be executed with a variant
Requires different authorization checking than the batch input session

BDCRECXX
FILE
BDCDATA
RECORD

ITAB -OKCODE = '/11'.


ITAB -FVAL = '11'.
BDC_OKCODE = '/11'
ITAB -FVAL = '/11'

Session Name
Program
NODATA Character
File Name
Session Type
BDC scheduling
Online transaction access
BDC creation
BDC processing

ABAP will issue a runt time error


ABAP will issue a syntax error
ABAP will attempt to open the file for input
ABAP will attempt to open the file for output

APQD - session body


APQI - session body
APQD - session header
APQI - session header

SY-BATCH
SY-BINPT
SY-ONLINE

External fields shorter than the SAP field must be zero filled
Data must be in character format
User specific settings need to be considered
Data must be initialized according to it's type

Only one

Conversion Program
Posting Program
Read Program
Transaction Program

Documents errors in the log file


Requires the batch input queue
Can be executed in background
Uses the same roll area

Issuing system messages


Using the message parameter
Checking the batch queue messages
Checking the return code

can not be defaulted


will only save the log when set
will delete successful sessions when KEEP is set to X
does not have to be set to retain sessions with errors
Text Edit Control
Picture Control
TabStrips
ALV Grid Control
Table Control
In a PAI Module
In a PBO module
PBO screen event in Flow logic
PAI screen event in Flow logic

Encompass them in a Radio Button Group


Ensure the prefix name of the radio buttons is the same
Make sure each one has the same Screen Group Name

Call Subscreen in the PAI only


Call Subscreen in the PAI and PBO
The Call Subscreen statement is not required
Call Subscreen in the PBO only
update and enqueue techniques are important.
Dialog Programs do not require a transaction to execute the module pool

Transactions are a vehicle to execute dialog programs


Screens are optional in a dialog program.
Screens are optional in a dialog program.

Set the screen painter attribute GET Parameter and fill in the Parameter ID field with CAR
Use the GET Parameter in the PAI of the DYNPRO
Use the GET Parameter in the PBO of the DYNPRO
Use the SET Parameter in the PBO of the DYNPRO

IMPORT ABC TO MEMORY ID 'MYID'


FREE MEMORY ID 'MYID'
EXPORT ABC TO MEMORY ID 'MYID'
CLEAR MEMORY ID 'MYID'

SY-PFKEY
6

SNR1
SNR2
SNR3
SNR4

The width of a column ,


The order of the columns
The horizontal grid can be set off/on
The Column heading
Screens should be called from PBO modules
Screens can be called from PAI modules
A screen can be called from within a function module
A screen can be called from a report program.

Batch
Direct
Synchronous
Asynchronous
Leave Screen
Leave to Transaction
Set Screen 100
Call Screen 100
After these events are processed the PAI is processed then the PBO and then the screen is displayed
After these events are processed the screen is redisplayed but the PBO is not processed
After these events are processed the PBO module is processed and the screen is redisplayed

The system places the cursor in the error field


PBO is reprocessed
The field is ready for input again

The function module forms its own Database LUW


All parameters must have a dictionary reference
They are executed on another R/3 database server
The remote function will continue to execute even if the caller is no longer active
All ABAP Modules of a screen
One sequence of a PBO followed by a PAI
One sequence of a PAI followed by a PBO
All PBO and PAI modules in the Module pool
Tab Title
Subscreen Area
Tabstrip Menu Bar
Subscreens
Function Keys

NUMBER_GET_NEXT
NUMBER_GET_INFO
NUMBER_RANGE_INTERVAL_LIST
CHAIN.
Field:Flight,Carrid.
ModuleValidateonChainInput
ENDCHAIN.
The Module Validate is never processed
The Module Validate is processed if at least one of the fields FLIGHT or CARRID are other than the initial value
The Module Validate is processed only if both FLIGHT and CARRID are initial values
The Module Validate is processed if both FLIGHT and CARRID are other than the initial value

Field statement fields, Table control fields, remaining fields


Table control fields, Field statement fields, All remaining fields
Dictionary Fields followed by Program Fields
All fields except table control and field statements, Table control fields, Field statement fields

Place a tabstrip object on your screen using Screen Painter


Declare a Tabstrip control in your global top include
Name your tabstrip object
Define Pushbuttons on the subscreen area

ProcessAfterInput
ModuleExitatexitcommand
FieldABCModuleValidate_ABC.
10AllfieldsnotdefinedinFIELDstatements
20SystemperformsAutoFieldChecking
30FieldsinFIELDStatements
20, 30, 10
20, 10, 30
10, 20, 30

OK_CODE is Defined in the TOP Include


Define a GUI Status
The last field of the element list of the screen has the name OK_CODE
OK_CODE Checking is performed in the Screen Flow Logic
Check table TPARA
Check the Value statement in the Top Include
F1, Technical Info on the screen field
Check users default
0

SUBMIT ABC AND SKIP FIRST SCREEN.


SUBMIT ABC WITH CARRID = W_CARRID
SUBMIT ABC VIA SELECTION-SCREEN.

Submit.. .. and Return


Call Transaction
Leave to transaction
Submit

On the next screen

DYNP_VALUES_UPDATE
F4IF_FIELD_VALUE_REQUEST
DYNP_VALUES_READ

SAP memory
Shared Memory
ABAP/4 memory
Column sizing is adjustable and can be controlled by the user
Table control rows are scrollable
Page scrolling using the standard toolbar is automatic and can be controlled by the user

Function Code
ACTIVETAB
OK_Code

Data available in the dialog program must be passed to the list


The CALL SCREEN xxx statement is possible
Enables processing of ok_code functions
The invoking module pool still retains control of execution
Enables execution of interactive reporting events

Synchronous RFC
Asynchronous RFC
Transactional RFC
Can set their own GUI status
have their own OK_CODE
Can set their own titlebar
Multiple subscreens are possible in a single screen.
You can also specify the subscreens dynamically at runtime.

Duplicate numbers will never be encountered in the system


The numbering sequence is contiguous
perceived improved performance can be achieved
a programmer can choose to ignore buffering on request
Shortcuts for frequently used functions

Gives a single user read and write access to the specified table rows. No other users may access the rows.
V2

A type MESSAGE statement


Each V2 function module for a given COMMIT WORK always runs in its own (separate) DB LUW
ROLLBACK WORK
UPDATE
Message A101

Update requests are processed


Database commit is triggered
User is notified of updates
SAP LUW is concluded

CallFunctionEnqueue_ESMYLOCK
Exporting
Field1=
Field2=
Field3=
Field 1 = AA, FIELD2 = 111, Field3 = Initial
Field 1 = AA, FIELD2 = 111, Field3 = Space
Field1 = Generic, Field2 = Generic, Field3 = Space
ROLLBACK WORK
COMMIT WORK
Each external session has its own ABAP memory
SAP Memory can be accessed by all external sessions
ABAP memory is local to each external session

02 - System Failure
03 - Already_Locked
08 - General_Failure
01 - Foreign_Lock

System passes a Database commit to the database system


The SAP LUW is concluded
The SAP LUW is concluded

End the dialog program


Issue a COMMIT WORK statement
Issue a ROLLBACK WORK statement in the program
Issue a termination message (type A)

lock data, read data, update database, release locks

ENQUEUE_EZMARA
DEQUEUE_EZMARA

subroutines called using on commit use global data only


subroutines called using on commit have no interface
COMMIT WORK AND WAIT
Update table.. ..

Exit the Transaction


At User-Command
CALL SUBSCREEN
CALL TRANSACTION

Message I001.

You can combine update requests from consecutive dialog steps


Requests are not passed directly to the DB
All updates are performed or none at all
Each external session has its own ABAP memory
SAP Memory can be accessed by all external sessions
ABAP memory is local to each external session
UPDATE
PERFORM ASYNCHRONOUS
PERFORM .. .. ON COMMIT
CALL FUNCTION .. .. IN UPDATE TASK
Create it as an object in the dictionary
Your program issues a MESSAGE type 'A'.
User cancels the transaction
RFC Function Call terminates normally
Your program issues a Commit Work statement

The Primary Key Fields


The Primary Key Fields

an update-task function module triggered with COMMIT WORK


an update-task function module triggered with COMMIT WORK AND WAIT
Batch Input Programs
PERFORM.. .. ON COMMIT

Update requests use shared memory


Update requests do not use the VBLOG table
dispatcher, work processes, and services
work processes only
a presentation, application and database server
organizing communication
distributing transaction load

Database Server
Database Interface
Basis System
Central
Three Tier
Two tier client server

Single Database
Controls resources for the R/3 applications
Issues SQL requests to the underlying database
Dispatches tasks to non R3 systems

Server responds to a client request regardless of hardware


Server and client are both located on the same hardware platform
Client responds to a server request regardless of hardware

Internet Access
Web Browser Access
single sign on access to all services
One common generically defined user role
Only One
One for every transaction in the SAP LUW
At least One
Organizational unit
One Application server and one Database server
No Application server and one Database server
One Application server and many Database servers
Many Application servers and one Database server

rdisp/max_wprun_time
rdisp/txntime
rdisp/btctime

SAP LUW
DB LUW
Commit Point

communication
dialog
message
At least 3
Only 3
3 for each tier
controls information flow
automates executon of activities
manages communication media
builds screen sequences

Central
Database
3 Tier
2 Tier Presentation
System Alerts
System Configuration
Starting and stopping SAP
Program Syntax Checks

EZ* or EY*
Instance plus system services
Multiple Application Servers
Database
Instance plus Database
Requesting an access key for a change to SAP code
Issuing Problem Messages to SAP
Booking SAP training
Maintaining Authorizations
a software component that provides a service
To register SAP modifications made by a developer

If the last field has a domain of data type curr


If the table is a pooled or cluster table
If the table contains a field of data type LCHR or LRAW

Enhancement Projects use CI includes


A component can be contained in more than one enhancement
A specific enhancement may be used in more than one customer project
They are preplanned by SAP
A specific enhancement can only be used in one customer project

Assign the field value to the OUTPUT parameter


Assign the field value to the import parameter
Assign the field value to the changing parameter

a menu exit
a text exit
a program exit
a screen exit

ZZ or YY

To log modifications made by a development user


To log Customizing made by a development user
To log enhancements made by a development user

Processing units that execute based on their position in the sourfce code
Processing areas for a programs Global Data
Smallest units in ABAP

OR conditions only
any boolean operators
combination of OR or AND conditions

At the End-of-Selection event


When the processing block has ended
At the beginning of program processing

WorkBench Organizer
Repository Browser
Customizing Organizer
When a method of an object is called
When a CREATE OBJECT statement is processed
When the reference variable for the class is defined
defined by Basis
10
1
Import Parameters
User dialogs
Exceptions
Export Parameters
Domains
Data elements
Record structures
It stores client-specific objects
Objects created using the IMG are stored in the repository
It stores development objects
Objects in the repository can be viewed across clients

Standard
Hashed
Sorted

Hashed tables are accessed by key only


An 'Insert' statement on a standard table will add the entry to the end of the internal table
Index operatoins are allowed on standard and sorted tables
Sorted tables can be resorted

P
N
I
X
D

TRDIR
TADIR

When you release the task


When you change development class
When you change development class

defined by Basis
10
unlimited

Data:cl_containertypereftocl_gui_custom_container,
cl_gridtypereftocl_gui_alv_grid.
cl_grid points to the object that communicates with the container control
cl_container points to the object that communicates with the container control
cl_grid points to the object that communicates with the ALV grid control
cl_container points to the object that communicates with the ALV grid control
The Dispatcher
The Programmer
The User
The run time system
An authorization is defined in the program attributes
It is attached to profiles
Defines permissable values for each authorization field listed in the authorization object

SET_TABLE_FOR_DISPLAY
REFRESH_TABLE_DISPLAY
CONSTRUCTOR
SET_TABLE_FOR_FIRST_DISPLAY

CL_GUI_CONTAINER_ALV
CL_GUI_CUSTOM _CONTAINER
CL_GUI_ALVGRID_CONTAINER
Run SPAU to adjust change requests
Run SPDD to adjust dictionary objects
Release all Change Requests
highlighted line
info sign
stop sign
warning sign

TACT
TACTZ

Read
Delete
Update
Append
In the user master record
In the tauth table
In the users own data
in the USER01 table
The authorization concept is used to restrict access to users
The authorization concept is used to restrict access to data and transactions
The authorization concept is used to restrict access to the dictionary
The authorization concept is used to restrict access to servers and work processes

ABAP Dictionary object


built in ABAP types
Formal Parameters
Interface Parameters

SHDB
SM35
SXDA

A new SAP LUW is started


Batch input queue table APQD is filled
The BDCDATA internal table is re-initialized
Online transaction access
BDC processing
BDC creation

BDC scheduling

There is no size, it is one infinite record


By the location of the carriage control record
By the length of the structure being used
As specified on the rec-size parameter
they do not update the database
user dialogs are simulated
it is a technique that allows dialog free transfer of data
it is an automated process used to simulate batch processes
the online transaction is used to transfer data to R/3
Requires different authorization checking than the batch input session
Will execute only one batch input session
Can be executed in background or online
Can be executed with a variant

Project, Subproject, Run, Task


Project, Subproject, Task, Run

Function
BAPI
Batch Input Sessions
Program with File Input
Program with Spreadsheet Input

F1
Scoll Bars
Error Dialogs
Subscreens

Business Object Interface


Business Object Program
Business Object Type
Busines Object Method
Subroutines to Create BDC sessions
Select-Options
Functions to open and close BDC sessions
BDC Insert Record Structure
BDCDATA Record Structure

Use Commit Work after a specified number of BDC_OPEN calls


Use Commit Work after a specified number of BDC_INSERT calls
Use Commit Work after a determined amount of CPU processing time

Create a Batch input session for each transaction

Issue a COMMIT Work every time you perform a BDC_OPEN_GROUP


Issue a COMMIT Work after 100 executions of BDC_INSERT

BMV0

Session Type
NODATA Character
Program
Session Name
File Name

BDC_OKCODE

Released
Direct database updates are applied

Generate a File
Generate a program
Generate Batch Input Session
Generate a Batch Job
By the Business Object Repository
By the Method
By the Transaction
Assignment
DDIC
ABAP ABAP
Format
Aggregate Objects
Fixed Values belonging to a domain
Programs
Tables

Prevents a single user with read-write access from attaining further locks to the same set of table rows. This is useful when
you are using recursive routines to make updates.
allows multiple users to access the specified table rows, but with read-access only. No write-accesses are allowed at any
time.
Gives a single user read and write access to the specified table rows. No other users may access the rows.

You can combine update requests from consecutive dialog steps


Update task functions are logged in the SM12 log tables
Requests are not passed directly to the DB
All updates are performed or none at all
COMMIT concludes the SAP LUW

The application gathers data for update processing


The SAP LUW is concluded
A Commit Work is executed
System passes a Database commit to the database system
MESSAGE S101
CALL Transaction
COMMIT WORK
ROLLBACK WORK

CALL SUBSCREEN
CALL TRANSACTION
Message I001.
At User-Command
Exit the Transaction

Business objects provide methods to implement business functions


Business objects ONLY use BAPI's to access data
Business objects are business oriented
Business objects require knowledge of the internal source code to be able to access the data
Business objects are managed in the Business Object Repository (BOR)
TCP/IP
CPI-C
SNA
LU6.2
Development Classes
Change requests
Application Hierarchy
Repository Informatino System

Object Browser
Workbench
Repository
Customizing

System Wide
Client independent
Versions
Client specific

Variant Transactions
Custom Developed Programs
Operating System Scripts
SET/GET Parameters
Desktop Shortcuts

Dictionary
Application
Repository
Customizing
Changes are lost during an upgrade to a new release
New versions may need to be adjusted to include the modification
Modified objects lose their connection to the standard
Adjustment is automatic during an upgrade

User Exit
Modification
Copy
Custom development

1.BusinessBlueprint
2.Realization
3.ProjectPreparation
4.GoLiveandSupport
5.FinalPreparation
1, 3, 2, 5, 4
3, 1, 2, 5, 4
3, 2, 1, 5, 4
Interfacing
Personalization
Enhancement
Modification
Customizing

The modification assistant will prompt you for a change request to reapply the change
Options 'replace' and 'insert' is made available for you to decide on how to handle the upgrade
The user modifications are automatically inserted into the new subroutine release
The user modifications must be reapplied manually

A.ProjectLeadercreatesachangerequestandassignsdeveloperstothechange
request
B.Developercreatesrepositoryobjectsandassignsobjectstoadevelopmentclass
C.WBOcreatesataskforeachdeveloperassignedtothechangerequest
D.ProjectLeaderreleaseschangerequest
E.Developerreleasestask
F.Objectsareexportedtothetransportdirectory
B AC D E F
ACBEDF
ABCDEF
3 clients in 1 system
1 client in 3 separate systems
3 clients in 3 separate systems

The developer should encapsulate the code into modularization units


The developer should make changes distributed throughout the code
Keep a modification log of all changes
Make a copy of the program
Project Coordination
Technical Support
Steering Committee
Project Management
More than one Extract Dataset is allowed per program
The field group HEADER is part of each extract record
The Header Must be defined as one of the field groups
Definition of a field group immediately reserves storage space for the fields
An extract dataset may consist of records with different structures

Share the same roll area


They run in their own roll area
They run in the roll area of the caller
S_Program
S_Query_All
S_Query
S_Maintain

Local File to the application server


S_EXECUTE
S_DEVELOP
S_NODE
S_PROGRAM
S_TREE

Only the contents of the internal table is stored


You cannot EXPORT an internal table with a header line.
Only the header line is stored
The header line and contents of the inter nal table are stored

fieldcat
alv_catalog
lcv_t_fcat
catalog

At the end of an interactive processing block


When you programatically increment it
At the beginning of an interactive processing block

AtSelectionScreenonvaluerequestforsales.
Callscreen100.
When the user presses F1, Screen 100 is displayed instead of the normal possible values search help
When the user presses F4, Screen 100 is displayed in addition to the normal help screen
When the user presses F4, Screen 100 is displayed instead of the normal possible values search help
When the user presses F1, Screen 100 is displayed in addition to the normal help screen
File
Node
Complex Data Object
Table
Structure

High Low Sign Operator


Sign Operator High Low
Sign Option Low High
Low High Sign Option
TVARV
PARM
TVAR

Sequential Files
Views
LDB
Database Tables
When all data has been retrieved for the Get
After each PUT in the LDB
When the END GET statement is encountered
When the next keyword event is encountered

1. Within the TOP-OF-PAGE event the following code represents


write: /1 text-001.
A: A selection text.
B: A basic list row.
C: A page footer
D: A page header
2. Given the two ABAP Dictioary tables below, the Customer number field in table one must contain a value from table
two. The Customer number field is known as a ____.
Table one:
Customer number (Primary key)
Company code (Primary key)
Other data
Table two:

Customer number (Primary key)


Customer name
Other data
A: Secondary index
B: Matchcode object
C: Validation field
D: Foreign key
3. The event that is processed after all data has been read but before the list is displayed is:
A: END-OF-PAGE.
B: START-OF-SELECTION.
C: END-OF-SELECTION.
D: AT LINE-SELECTION.
4. The declarative keyword for defining your own data types in an ABAP program is ____.
A: DATA
B: TYPE-GROUPS
C: TYPES
D: DATA-TYPE
5. Which of these sentences most accurately describes the two-level domain concept?
A: Two different Domains may use the same Data element.
B: A single field may use two different Domains.
C: Two different Data elements may use the same Domain.
D: A single field may use two different Data elements.

6. Given:
DO.
Write: /1 'E equals MC squared.'.
ENDDO.
This will result in ____.
A: output of 'E equals MC squared.' on a new line one time
B: an endless loop that results in an abend error
C: output of 'E equals MC squared.' on a new line many times
D: a loop that will end when the user presses ESC
7. The following code indicates all of the following except:
DATA: counter type i.
CLEAR counter.
DO.
counter = counter + 1.
IF counter >= 5. exit. ENDIF.
ENDDO.
WRITE: /1 counter.
A: Start a loop.
B: Increment counter until it is 5 or more.
C: Execute the code between DO and ENDDO five times.
D: Exit the program if counter is 5 or more.
8. A DATA statement may appear only at the top of a program, before START-OF-SELECTION.
A: True
B: False
9. This data type has a default length of one and a default value = '0'.
A: P
B: C

C: N
D: I
10. The editor function that formats and indents the lines of code automatically is called ____.
A: Auto align
B: Pretty printer
C: Generate version
D: Syntax check
11. The transport route of an ABAP workbench object is determined by the object's:
A: Client designation
B: Program type
C: Development class
D: Naming convention
12. What value must ch_field contain so that "Nice job!" will be output?
write: /1 'Nice'.
CHECK ch_field NE 'X'.
Write: 'job!'.
A: 'X'
B: Anything other than 'X'
C: "Nice job!" will not be output by this code
D: None of the above
13. Given:
CONSTANTS: var_one(3) type C value 'DOG'.
IF var_one = 'dog'.
WRITE: /1 'Bark!'.
ELSE.
WRITE: /1 'Meow!'.
ENDIF.
WRITE: var_one.
This will result in the output:
A: Bark! DOG
B: DOG
C: Meow! DOG
D: None of the above
14. In regard to CONTINUE, which of the following is a true statement?
A: Causes a loop to terminate.
B: Jumps immediately to the END-OF-SELECTION event.
C: Stops the current loop pass and gets the next.
D: Continue may be used outside of loops.
15. What is the system field for program name?
A: SY-REPRT
B: SY-PROG
C: SY-REPID
D: SY-PNAME
16. Which keyword removes any line from an internal table?
A: ERASE
B: MODIFY
C: STRIP
D: DELETE
17. When coding AT FIRST fld1. _ ENDAT. within an internal table loop, you should avoid using:
A: SORT itab by fld1.
B: LOOP AT itab WHERE fld1 = pfld.
C: SUM.

D: WRITE itab-fld1.
18. To stop selection when a certain number of records have been found, use ____.
A: UP TO n ROWS
B: BYPASSING BUFFER
C: ORDER BY
D: GROUP BY
19. To total the numeric fields at a control break, use:
A: ADD.
B: SUM.
C: COUNT.
D: TOT.
20. To sort data as you select it, use ____.
A: INTO TABLE
B: SORT BY
C: ORDER BY
D: None of the above
21. To limit the number of records selected from the database, use ____.
A: WHERE
B: WHEN
C: IF
D: CASE
22. Your own selection screen modifications should be coded here:
A: AT SELECTION-SCREEN OUTPUT.
B: AT USER-COMMAND.
C: AT LINE-SELECTION.
D: INITIALIZATION.
23. Instead of using OCCURS 50, you could use:
A: ROWS 50
B: INDEX 50
C: DEFAULT 50
D: INITIAL SIZE 50
24. What addition to the READ TABLE statement must be used when reading a hashed or sorted internal table to ensure
that a binary search will be used?
A: WITH KEY
B: WITH TABLE KEY
C: SEARCH TYPE
D: WHERE
Ans. With TABLE KEY
25. To assign an initial value, include this option of the PARAMETERS statement:
A: FIRST
B: INITIALIZATION
C: VALUE
D: DEFAULT
26. By definition, what fields make up the standard internal table key?
A: All the table's fields.
B: All the non-numeric fields.
C: All the numeric fields.
D: The first field
27. In regard to COMMIT WORK, which of the following is NOT a true statement?
A: Executes a database commit.
B: Releases locks.
C: Calls PERFORM_ON COMMIT subroutines.
D: Committed work may be undone by ROLLBACK WORK.
28. To use a secondary table index in your SELECT statement, you should:

A: Include the index fields in the WHERE clause in the correct order
B: Use the INDEX clause of the SELECT statement
C: Include MANDT in the WHERE clause
D: None of the above
29. Which of these ABAP statements does NOT declare an internal table?
A: DATA: BEGIN OF itab OCCURS 0, field(10) TYPE C, END OF itab.
B: DATA: itab LIKE struc OCCURS 10 WITH HEADER LINE.
C: DATA: BEGIN OF itab WITH HEADER LINE, field(10) TYPE C, END OF itab.
D: DATA: itab TYPE STANDARD TABLE OF struc_type.
30. ABAP Open SQL allows SAP applications to run on any supported database system without modifying the source
code.
A: True
B: False
31. To properly tune the following code, you should:
SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
WHERE fld7 = pfld7.
CHECK tab1-fld9 = pfld9.
WRITE: /1 fld4, fld5, fld6.
ENDSELECT.
A: Add a SY-SUBRC check after ENDSELECT.
B: Remove the INTO clause of the SELECT statement.
C: Take the WRITE statement out of the SELECT_ENDSELECT.
D: Move the CHECK statement into the WHERE clause.
32. To make a single field open for input after an error or warning message
A: Add the field to the screen with the input attribute checked.
B: Declare the field as global data.
C: Use the FIELD flow logic statement
D: Call message type S.
33. Given:
SELECT fld1 fld2 fld3 FROM tab1 INTO (itab-fld4, itab-fld5, itab-fld6)
WHERE fld7 = pfld7.
APPEND itab.
ENDSELECT.
Which of the following is a good performance tuning technique?
A: Change the SELECT statement to use INTO TABLE itab.
B: Add MOVE statements to fill the header line of itab.
C: Remove the internal table itab from the SELECT statement.
D: This code is optimized; no change is required.
34. All of the following pertain to a subroutine's local data object except:
A: Declared inside of the subroutine.
B: Available only within the subroutine.
C: Must follow the same declaration syntax as Global data.
D: Value is known to all subroutines.
35. Page headers for a secondary list should be coded in which event?
A: TOP-OF-PAGE.
B: START-OF-SELECTION.
C: TOP-OF-PAGE DURING LINE-SELECTION.
D: AT USER-COMMAND
36. Given:
REPORT ZTESTPRG.
FORMAT INTENSIFIED OFF.
WRITE 'This is a line of output'.

AT LINE-SELECTION.
MODIFY CURRENT LINE LINE FORMAT INTENSIFIED.
What happens when the text line is double-clicked for the first time?
A: The line remains unchanged.
B: The line becomes open for input.
C: The line is changed to intensified output.
D: Nothing, this is a syntax error.
37. When is it optional to pass an actual parameter to a required formal parameter of a function module?
A: The actual parameter is type C.
B: The formal parameter contains a default value.
C: The formal parameter's "Reference" attribute is turned on.
D: It is never optional.
38. A select statement has built-in authorization checks.
A: True
B: False
39. To prevent invalid list lines from being selected by a double-click, you should do all of the following except:
A: Check the hide field after outputting the basic list.
B: Clear the hide field after outputting the basic list.
C: Check the hide field in AT LINE-SELECTION to make sure the hide field has a value.
D: Clear the hide field at the end of the AT LINE-SELECTION event.
40. The table control attribute <ctrl>-LINES indicates the total number of lines in the internal table.
A: True
B: False
41. The ABAP statement you will typically use in a 'CANCEL' function is:
A: CALL SCREEN 0.
B: COMMIT WORK.
C: ROLLBACK WORK.
D: UPDATE
42. If the user picks the WIND function, the following code indicates:
AT USER-COMMAND.
IF SY-UCOMM = 'WIND'.
WINDOW STARTING AT 7 4 ENDING AT 65 12.
WRITE text-900.
ENDIF.
A: Display text-900 in a dialog window.
B: Display text-900 in a full screen.
C: Output text-900 on row 4, starting at column 7.
D: Draw a box around text-900 with coordinates (7,4) and (65,12)
43. To call a local subroutine named calculate_answer, use this line of code:
A: PERFORM calculate_answer.
B: CALL calculate_answer.
C: USING calculate_answer.
D: SUB calculate_answer.
44. In regard to a screen's flow logic, which of the following in not a true statement?
A: Contains PBO and PAI module statements.
B: Uses the same syntax as the ABAP modules.
C: Determines the processing sequence of ABAP logic for a screen.
D: Controls what happens before a screen is output and what happens after user input
45. Before a function module may be tested, it must first be:
A: Linked
B: Authorized

C: Released
D: Active
1. The structure of a table has been changed in the ABAP Dictionary. Which of the following adjustments in the relevant
database table is correct, if you want to retain the previous data?
Delete and recreate the database table
Change the database directory (ALTER TABLE) where the structure change with ALTER TABLE is supported by the
database.
Convert the table
4. Which of the following statements are true?
A Repository object can have an original version in more than one system.
You can change a local object without using a change request.
A Repository object can only have an original version in a single system. Other systems may contain copies of the object.
You can only correct a Repository object in its original system
5. You want to define an interface status for a details list displayed after a WINDOW statement.
Which status type do you have to use?
Screen
Dialog box
List
List in dialog box
6. You have a screen with number 100, in which the next screen is defined as screen 200.
Screen 100 is called using CALL SCREEN. After the PAI modules of screen 100 have been executed, and assuming that
they contain no statements that affect the screen sequence, where does processing
continue?
In the PBO modules of screen 200.
Directly after the CALL SCREEN statement
In the PBO modules of screen 100.
7. In the ABAP Editor, how can you find information about an ABAP statement?
By placing the cursor on the keyword in your program and pressing F1
By choosing "Help on&#8230;" from the menu (or the corresponding icon) and entering the keyword in the subsequent
dialog box.
By placing the cursor on the keyword in your program and pressing F4.
By placing the cursor on the keyword in your program and choosing the "Help" menu.
8. You want to transport a local object into another system. What do you do?
Assign the object to a change request.
Assign the object to a transport request.
Reassign the object to a different development class and then assign it to a transport request.
You cannot transport local objects.
Copy the object and assign the copy to a different development class, then assign the object to a transport request.
9. Which of the following statements about development classes are true?
The development class to which an object is assigned determines its path through the transport landscape.
If you want objects to be transported together, they must all belong to the same development class.
The interlinking of corrections requires that the objects involved all belong to the same development class.
A development class is a container for objects that all belong to the same functional area.
The development class of an object determines who is allowed to change it.
10. Which of the following function modules are used to construct batch input sessions?
BDC_ADD_TRANSACTION
BDC_INSERT
BDC_CLOSE_GROUP
BDC_OPEN_GROUP

11. You are using Transaction SM35 (System->Services->Batch input- >Edit) to process a batch input session in the mode
&#8216;Display errors only&#8217;. An error occurs.
Which of the following assertions could apply?
The system flags the session status as 'Incorrect'.
The batch input program used to generate the session must be restarted before you the session can be processed again.
The system flags the session status as 'Incorrect'. The session can be processed again.
The system flags the session status as 'Incorrect'. It can only be processed again in the processing mode
Process/foreground'.
The system flags the session status as 'Incorrect'. It can only be processed again by you.
12. In a program, how can you find out how many lines of a table control (step loop) are displayed?
The value of SY-STEPL
The value of SY-LOOPC in a module called between LOOP and ENDLOOP in the PBO event.
The value of SY-LOOPC in a module called between LOOP and ENDLOOP in the PAI event.
The value of SY-LOOPC but not between the LOOP and ENDLOOP statements.
Using the DESCRIBE statement
13. In the middle of a dialog program, you need to change to list mode in order to read data using a logical database.
Which of the following statements would you use?
CALL SCREEN
READ LIST
CALL TRANSACTION <Report transaction>
LEAVE TO LIST-PROCESSING
SUBMIT <Name> AND RETURN
14. You used the statement LEAVE TO LIST-PROCESSING to switch to list
processing from a dialog program. How can you return to dialog
processing?
EXIT
Standard BACK function
Not possible
You can ONLY return to dialog porcessing if you used the AND
RETURN TO SCREEN n addition in the
LEAVE TO LIST-PROCESSING statement.
15. You have a screen with three input/output fields named F1, F2 and F3 respectively. F1 is in the first line of the screen,
F2 in the second line, and F3 in the third line. When the screen is displayed, how would you ensure that the cursor
is positioned at the first character of field F2?
By entering the field name F2 in the cursor position field in the screen attributes.
By using the statement SET CURSOR FIELD 'F2' in a PAI module.
By using the statement SET CURSOR FIELD 'F2' in a PBO module.
By using the statement SET CURSOR LINE 2 in a PBO module.
16. How can you inactivate functions in the GUI status?
LOOP AT SCREEN. SCREEN-INACTIVE. MODIFY SCREEN.
SET FUNCTION INACTIVE.
SET PF-STATUS EXCLUDING f
SET PF-STATUS EXCLUDING itab
17. In a dialog program, how can you display a dialog box?
GO TO SCREEN 200
CALL SCREEN 200
SET SCREEN 200
CALL SCREEN 200 STARTING AT 5 5.
WINDOW 200 STARTING AT 5 5.

E. Enhancements Must Exits be predefined by SAP programmers?


No
Yes
Customers can determine for themselves where they want to use
exits
19. Which ABAP statement is used to call a customer enhancement from an SAP program?
CALL FUNCTION 'ZXY_APPLICATION-001' ...
PERFORM 'ZXYZ1234' ...
CALL CUSTOMER-FUNCTION '001' ...
CALL DIALOG 'ZXY-APPLICATION-001' ...
CALL SUBSCREEN ... INCLUDING ...
20. Which of the following statements about Customizing are true?
Customizing, together with the Implementation Guide (IMG) allows customers to adapt SAP functions to their own
particular needs.
Customizing is largely client-specific.
Customizing has to be provided for by SAP.
Customizing is carried out in the development system and transported to the production system.
21. What is the difference between a repair and a correction?
A correction is a change to an object in its original system.
A repair is a temporary correction that cannot be transported.
A repair can contain new objects.
Any change to an SAP object in a customer system requires a repair task in a change request in the Workbench Organizer.
You can also repair customer objects.
22. Which of the following statements about Modifications are true?
A modification is a repair to an SAP object.
A modification is always a repair.
Modifications must be registered in OSS.
Modifications must be compared with the original object immediately.
23. Which of the following statements applies to append structures?
An append structure is always assigned to a single table.
A table may not contain more than one append structure.
Append structures must be provided for by SAP.
Append structures are not possible for tables containing a long field.
Append structures must be compared with the SAP original in a Release upgrade.
24. Which of the following statements about SAP enhancements are true?
An SAP enhancement consists of one or more components.
An SAP enhancement must be registered in OSS.
Each customer enhancement project can only contain a single SAP enhancement.
25. Function module exists refer to function modules. Which of the following statements are true of these function
modules?
They belong to a customer function group.
They must be created by SAP.
Customers can edit them using Transaction CMOD.
They may contain screen calls.
They can include the GET <table> statement for reading data using a logical database.
26. Which of the following are features of menu exits?

They allow customers to call their own functions from SAP menus.
They are usually coupled with a function module exit.
The position and function code of a menu exit are defined by the SAP programmer.
They have function codes beginning with Y or Z.
You call them using CALL CUSTOMER-MENU.
27. Which of the following statements apply to screen exits?
They allow customers to insert a sequence of screens into the
existing screen sequence defined by SAP.
They are called in the flow logic using the statement CALL
CUSTOMER-SUBSCREEN &#8230; INCLUDING&#8230;
Customers can edit them using the Transaction CMOD.
To use them, the customer must create or edit a subscreen in a SAP
X function group.
All of the data from the SAP module pool is available for use in the
modules of the customer subscreen.
F. Programming Language
28. You have defined parameters and/or select options for a program.
What do you have to do to ensure that short texts are displayed on
the selection screen of the report, and not just the coded names of
the parameters and select options?
Use the Screen Painter to modify the appropriate field names in the
field list of the selection screen.
Output the appropriate terms at the INITIALIZATION event.
Output the appropriate terms at event AT SELECTION-SCREEN.
Maintain the selection texts.
29. Which of the following variants define an internal table?
DATA: BEGIN OF tab,
a (72),
END OF tab.
DATA: BEGIN OF tab occurs 100,
a (72),
END OF tab.
DATA: tab TYPE <Typ> OCCURS 0.
DATA: tab LIKE table of <Struktur>.
DATA: BEGIN OF COMMON,
a (72),
END OF COMMON.
30. An internal table with the fields
kunde (Type C, Length 30) and lifnr (Type I) is filled using the following statements:
itab-kunde = 'Meier'. itab-lifnr = 8. APPEND itab.
itab-kunde = 'Lehmann'. itab-lifnr = 7. APPEND itab.
itab-kunde = 'Schulze'. itab-lifnr = 4. APPEND itab.
itab-kunde = 'Schmidt'. itab-lifnr = 10. APPEND itab.
Which of the following statements would you use to read the entry for Schmidt?
SELECT SINGLE * FROM itab WHERE kunde = 'Schmidt'.
READ TABLE itab WITH KEY 'Schmidt' BINARY SEARCH.
READ TABLE itab WITH KEY 'Schmidt'.
READ TABLE itab INDEX 10.
G. R/3 System Architecture

31. Which type of server exists only once in an R/3 System?


Message server
Database server
Application server
Presentation server
Enqueue server
H. Reporting
32. Which event do you use to generate page headers for a details list?
AT LINE-SELECTION
TOP-OF-PAGE
TOP-OF-PAGE DURING LINE-SELECTION
NEW-PAGE
END-OF-PAGE
33. Which of the following statements would you use in interactive reporting to make field contents available for use in a
subsequent detail list?
WRITE
AT LINE-SELECTION
AT USER-COMMAND
HIDE
MODIFY LINE
34. When does the event 'AT LINE-SELECTION' occur?
when you double-click on a line in a list
When you position the cursor on a line in a list and press the F2 function key
When you position the cursor on a line in a list and press the F4 function key
When you position the cursor on a line in a list
35. How do you define the selection screen of a program?
Using PARAMETERS statements
Using statements in the AT SELECTION-SCREEN event block
By specifying a logical database in the program attributes
Using SELECT-OPTIONS statements
Using FIELD-SYMBOLS statements
36. Which addition in the PARAMETERS statement allows you to place default values on the selection screen?
DEFAULT
LIKE
VALUE
MEMORY ID
37. How can you suppress the default title of a list?
By defining a TOP-OF-PAGE event in the program and using it to display something else.
By choosing System -- List -- List header and entering your own title.
By using the NO STANDARD PAGE HEADING addition in the REPORT statement.
By entering a title in the text elements of the program.
By using the NEW-PAGE NO-TITLE statement.
38. Which statement would you use to leave a list that you created by using a SUBMIT statement?
LEAVE.
LEAVE PROGRAM.
LEAVE LIST-PROCESSING.

LEAVE TO LIST-PROCESSING.
EXIT.
39. Which of the following statements can you use to change a list?
LOOP AT SCREEN, SCREEN-NAME = &#8216;xxxx&#8217;. END LOOP.
MODIFY LINE FIELD VALUE <f1> FROM &#8216;xxxx&#8217;.
SY-LISEL(10) = &#8216;xxxx&#8217;.
AT LINE &#8211; SELECTION.
MOVE &#8216;xxxx&#8217; TO LISTLINE.
READ LINE FIELD VALUE <f1> INTO <g1>.
<g1> = &#8216;xxxx&#8217;.
I. System
40. You want to define a screen in which you can trigger a function you have already defined.
Which system/program variables return the corresponding function code?
SY-PFKEY
In the variables assigned to the OK code field (command field)
SY-TCODE
OK-CODE
41. From which system field can you find out the current GUI status?
SY-PFKEY
SY-UCOMM
SY-STATUS
1. The major difference between DO and WHILE is:
A: WHILE requires a logical expression.
B: You cannot use the CONTINUE statement with WHILE.
C: A WHILE loop may not be nested within another WHILE loop.
D: Endless loops are not possible with WHILE
2. This event retrieves data from a logical database.
A: READ
B: SELECT
C: GET
D: AT USER-COMMAND
3. In a line of code, text-100, is an example of which type of text element?
A: Text symbol
B: Selection text
C: Text title
D: Text identifier
4. Which of the following is NOT a character data type?
A: F
B: D
C: T
D: X
5. These events are listed in the order they will be processed: AT SELECTION-SCREEN, START-OFSELECTION, GET dbtab, END-OF-SELECTION.
A: True
B: False
6. To indicate that your new function module is ready to be freely used by anyone, you should:

A: Activate it.
B: Release it.
C: Add documentation.
D: Send out an e-mail.
7. Page headers for a basic list can be coded in the event:
A: NEW-PAGE.
B: AT LINE-SELECTION.
C: INITIALIZATION.
D: TOP-OF-PAGE.
8. If a field, NAME1, is declared as a global data object, what will be output by the following code?
report zabaprg.
DATA: name1 like KNA1-NAME1 value 'ABAP programmer'.
name1 = 'Customer name'.
CLEAR name1.
perform write_name.
FORM write_name.
name1 = 'Material number'.
WRITE name1.
ENDFORM.
A: Customer name
B: ABAP programmer
C: Material number
D: None of the above
9. What is the transaction code for the ABAP Dictionary?
A: SE10
B: SE38
C: SE11
D: SE37
10. What standard data type is the following user-defined type?
TYPES: user_type.
A: N
B: C
C: I
D: Undefined
11. Page headers for a secondary/details list can be coded in the event:
A: GET.
B: INITIALIZATION.
C: TOP-OF-PAGE DURING LINE-SELECTION.
D: NEW-PAGE.
12. Without displaying the from/to fields on the selection screen, you declare an internal table to hold selection
criteria using the keyword
A: TYPES
B: TABLES
C: FIELD-GROUP
D: RANGES
13. The program type attribute for a dialog program is:
A: M
B: 1
C: I
D: D
14. After coding an authorization check, what else should you code to handle a failed check?
A: WRITE 'You are not authorized'.
B: IF SY-SUBRC NE 0. EXIT. ENDIF.

C: Nothing; the program stops automatically.


D: CHECK AUTHORITY-OBJECT.
15. ABAP Open SQL enables you to access all tables within the SAP system, regardless of the database
system installed.
A: True
B: False
16. To create a list of the top 25 customers, you should use
A: DELETE ADJACENT DUPLICATES
B: READ TABLE itab INDEX 25
C: LOOP AT itab FROM 25
D: APPEND SORTED BY
17. Which of the following will NOT add rows to an internal table?
A: INSERT
B: APPEND
C: COLLECT
D: MODIFY
18. Which of these is NOT a valid type of function module?
A: Normal
B: Update
C: RFC
D: Dialog
19. To delete duplicate lines from an internal table use the ABAP statement:
A: SORT itab WITH UNIQUE ROWS.
B: REMOVE DUPLICATES FROM itab.
C: DELETE itab.
D: DELETE ADJACENT DUPLICATES FROM itab.
20. In regard to MOVE-CORRESPONDING, which of the following is NOT a true statement?
A: Moves the values of components with identical names.
B: Fields without a match are unchanged.
C: Corresponds to one or more MOVE statements.
D: Moves the values of components according to their location.
21. The following code reorders the rows so that:
DATA: itab LIKE kna1 OCCURS 0 WITH HEADER LINE.
itab-name1 = 'Smith'. itab-ort01 = 'Miami'. APPEND itab.
itab-name1 = 'Jones'. itab-ort01 = 'Chicago'. APPEND itab.
itab-name1 = 'Brown'. itab-ort01 = 'New York'. APPEND itab.
SORT itab BY name1 ort01.
A: Smith appears before Jones
B: Jones appears before Brown
C: Brown appears before Jones
D: Miami appears before New York
22. All of the following pertain to interactive reporting in ABAP except:
A: Call transactions and other programs from a list.
B: Secondary list shows detail data.
C: Good for processing lists in background.
D: AT USER-COMMAND
23. To select unique values of a field, use ____.
A: INTO TABLE
B: UP TO 1 ROWS
C: DISTINCT
D: ORDER BY
24. Given:
IF MY_IND = 'X'.

COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
If my_ind is initial, this will result in:
A: Changes are written to the database.
B: Changes are undone without writing them to the database.
C: A database error.
D: An abend.
25. To summarize the contents of several matching lines into a single line, use this SELECT statement clause.
A: INTO
B: WHERE
C: FROM
D: GROUP BY
26. To limit your SELECT statement to user-entered SELECT-OPTIONS, use ____.
A: IN
B: EQ
C: NE
D: BT
27. The following code indicates:
DATA: itab1 LIKE struc1 OCCURS 0 WITH HEADER LINE,
itab2 LIKE struc1 OCCURS 0 WITH HEADER LINE.
itab1[] = itab2[].
A: Set the type of itab1 to the type of itab2.
B: Move the header line of itab2 to itab1.
C: Move all the rows of itab2 to itab1.
D: Move the last row of itab2 to itab1.
28. To grant a set of access privileges to a user ____.
A: enter the authorization profile name in the user master record
B: assign the user to the authority object's list of allowed users
C: include the user name in the ABAP authorization check
D: none of the above
29. Given:
SELECT fld1 FROM tab1 INTO fld4
WHERE fld7 = pfld7.
tot = tot + fld4.
ENDSELECT.
A good performance tuning technique would be to change the SELECT statement to use:
A: GROUP-BY.
B: SUM.
C: TOT.
D: MAX.
30. What must you code in the flow logic to prevent a module from being called unless a field contains new user
input?
A: ON INPUT
B: CHAIN
C: FIELD
D: ON REQUEST
31. To make a single field open for input after an error or warning message
A: Add the field to the screen with the input attribute checked.
B: Declare the field as global data.
C: Use the FIELD flow logic statement
D: Call message type S.
32. From program zprog1, to call a subroutine named sub_name in program zprog2, code the following:
A: CALL zprog2(sub_name).

B: PERFORM sub_name(zprog2).
C: PERFORM (sub_name)zprog2.
D: INCLUDE zprog2(sub_name).
33. To prevent duplicate accesses to a master data field:
A: Create an index on the master data field.
B: Remove nested SELECT statements.
C: Use SELECT SINGLE.
D: Buffer the data in an internal table.
34. In relation to an internal table as a formal parameter, because of the STRUCTURE syntax, it is possible to:
A: Use the DESCRIBE statement within a subroutine.
B: Loop through the internal table within a subroutine.
C: Access the internal table fields within a subroutine.
D: Add rows to the internal table within a subroutine.
35. When making a function module call, pass internal tables via the parameter ____.
A: EXPORTING
B: IMPORTING
C: USING
D: TABLES
36. In regard to the DESCRIBE LIST statement, which of the following is a true statement?
A: Retrieves the ABAP report name.
B: Retrieves the number of list lines and pages.
C: Retrieves the window title.
D: None of the above.
37. Which dialog programming section is used to handle user functions?
A: PBO
B: PAI
C: INITIALIZATION
D: None of the above
38. To allow the user to double-click a list line, write code within the event:
A: START-OF-SELECTION.
B: AT LINE-SELECTION.
C: INITIALIZATION.
D: TOP-OF-PAGE.
39. In the following code, what does function FC12 do?
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'FC11'.
SCROLL LIST LEFT BY 20 PLACES.
WHEN 'FC12'.
SCROLL LIST FORWARD.
ENDCASE.
A: Shifts the list rows up.
B: Moves the cursor.
C: Scrolls the list to the right.
D: Performs a page up.
40. If you need to add a new field to a table delivered with the standard SAP system, you should add the field
____.
A: with the Tab.maint.generator function
B: directly to the table with a name that starts with Z or Y
C: via a secondary index
D: using an append structure
41. The CASE statement may not contain a logical expression, as in
CASE my_fld > 3.

A: True
B: False
42. What is the major difference between an ABAP Dictionary table and an ABAP Dictionary structure?
A: A table has columns but no rows, and a structure has rows but no columns.
B: A structure has a primary key and a table does not.
C: A table may not be buffered, but a structure may be buffered.
D: A table stores data, and a structure does not.
43. Which statement correctly declares a field-symbol?
A: FIELD-SYMBOLS fs.
B: FIELD-SYMBOLS <fs>.
C: FIELD-SYMBOLS [fs].
D: FIELD-SYMBOLS (FS).
44. How many digits may be stored in the following data object?
DATA: digits(6) type p.
A: 6
B: 11
C: 12
D: 5
45. The following code indicates:
INITIALIZATION.
concatenate 'IEQ' sy-uname into suname.
A: The field suname will be output in the page header.
B: SELECT-OPTION suname will contain the user name in its from value at runtime.
C: The user name is set equal to the value contained in field suname.
D: A default value of 'IEQ' is assigned to the PARAMETER suname.
46. Pressing the enter key in PC mode while entering code in the ABAP editor will do all of the following except:
A: Insert a blank line after the current line
B: Insert a blank line before the current line
C: Select the beginning of a block of lines
D: Split the current line at the cursor position
47. This data type has a default length of eight and a default value = '00000000'.
A: P
B: D
C: N
D: C
48. In regard to the three-tier client/server architecture, which of the following is a true statement?
A: The presentation server processes the SAP program logic.
B: An application server is responsible for updating database tables.
C: Typically, there is a one-to-one ratio of database servers to presentation servers.
D: The application server layer is the level between a presentation server and a database server.
49. What will this code output?
PARAMETERS: rad1 radiobutton group g1,
rad2 radiobutton group g1,
rad3 radiobutton group g1.
CASE 'X'.
WHEN rad1.
write: /1 'ABC'.
WHEN rad2.
write: /1 'DEF'.
WHEN rad3.
Write: /1 'XYZ'.
ENDCASE.
A: ABC
B: DEF

C: XYZ
D: Nothing; a syntax error occurs.
E: Depends on which radiobutton the user chooses
50. The following code indicates
write: /5 'I Love ABAP'.
A: Output 'I Lov' on the current line
B: Output 'I Love ABAP' starting at column 5 on the current line
C: Output 'I Lov' on a new line
D: Output 'I Love ABAP' starting at column 5 on a new line
51. The following event may be explicitly coded, but it is also implied.
A: END-OF-SELECTION.
B: START-OF-SELECTION.
C: AT LINE-SELECTION.
D: AT SELECTION-SCREEN.
52. The following code indicates:
SELECTION-SCREEN POSITION 10.
A: The next parameter or comment will start at column 10.
B: The next parameter or comment will start at row 10.
C: The cursor will be placed on the 10th selection screen parameter.
D: Row 10 of the selection screen will appear at the top of the screen.
53. Which keyword adds a line to the end of an internal table?
A: DELETE
B: APPEND
C: ADD
D: MODIFY
1. If a table does not have MANDT as part of the primary key, it is ____.
A: A structure
B: Invalid
C: Client-independent
D: Not mandatory
2. In regard to CALL, which of the following is NOT a valid statement?
A: CALL FUNCTION
B: CALL SCREEN
C: CALL TRANSACTION
D: CALL PROGRAM
3. Name the type of ABAP Dictionary table that has these characteristics:
Same number of fields as the database table
Same name as database table
Maps 1:1 to database table
A: Pooled
B: Cluster
C: Transparent
D: View
4. An event starts with an event keyword and ends with:
A: Program execution.
B: END-OF-EVENT.
C: Another event keyword.
D: END-EVENT.
5. What is the system field for the current date?
A: SY-DATUM
B: SY-DATE
C: SY-DATID
D: SY-SDATE
6. The following code indicates:

SELECT fld1 fld2 FROM tab1 APPENDING TABLE itab


WHERE fld1 IN sfld1.
A: Add rows to the existing rows of itab.
B: Add rows to itab after first deleting any existing rows of itab.
C: Select rows from tab1 for matching itab entries.
D: Nothing, this is a syntax error.
7. You may change the following data object as shown below so that it equals 3.14.
CONSTANTS: PI type P decimals 2 value '3.1'.
PI = '3.14'.
A: True
B: False
8. The SAP service that ensures data integrity by handling locking is called:
A: Update
B: Dialog
C: Enqueue/Dequeue
D: Spool
9. Which of these sentences most accurately describes the GET VBAK LATE. event?
A: This event is processed before the second time the GET VBAK event is processed.
B: This event is processed after all occurrences of the GET VBAK event are completed.
C: This event will only be processed after the user has selected a basic list row.
D: This event is only processed if no records are selected from table VBAK.
10. Which of the following is not a true statement in regard to a hashed internal table type?
A: Its key must always be UNIQUE.
B: May only be accessed by its key.
C: Response time for accessing a row depends on the number of entries in the table.
D: Declared using internal table type HASHED TABLE.
Ans. A,D
11. TO include database-specific SQL statements within an ABAP program, code them between:
A: NATIVE SQL_ENDNATIVE.
B: DB SQL_ENDDB.
C: SELECT_ENDSELECT.
D: EXEC SQL_ENDEXEC.
12. To measure how long a block of code runs, use the ABAP statement:
A: GET TIME <f>.
B: SET TIME FIELD <f>.
C: GET RUN TIME FIELD <f>.
D: SET CURSOR FIELD <f>.
13. When a secondary list is being processed, the data of the basic list is available by default.
A: True
B: False
14. Given:
DATA: BEGIN OF itab OCCURS 10,
qty type I,
END OF itab.
DO 25 TIMES. itab-qty = sy-index. APPEND itab. ENDDO.
LOOP AT itab WHERE qty > 10.
WRITE: /1 itab-qty.
ENDLOOP.
This will result in:
A: Output of only those itab rows with a qty field less than 10
B: Output of the first 10 itab rows with a qty field greater than 10
C: A syntax error

D: None of the above


15. After a DESCRIBE TABLE statement SY-TFILL will contain
A: The number of rows in the internal table.
B: The current OCCURS value.
C: Zero, if the table contains one or more rows.
D: The length of the internal table row structure.
16. You may declare your own internal table type using the TYPES keyword.
A: True
B: False

17. After adding rows to an internal table with COLLECT, you should avoid adding more rows with APPEND.
A: True
B: False
18. Which of the following is not a component of control break processing when looping at an internal table?
A: AT START OF
B: AT FIRST
C: AT LAST
D: AT NEW
19. A dictionary table is made available for use within an ABAP program via the TABLES statement.
A: True
B: False
20. Which of the following would be best for hiding further selection criteria until a function is chosen?
A: AT NEW SELECTION-SCREEN
B: SELECTION-SCREEN AT LINE-SELECTION
C: SUBMIT SELECTION-SCREEN
D: CALL SELECTION-SCREEN
21. What must you code in the flow logic to prevent a module from being called unless a field contains a noninitial value (as determined by its data type)?
A: ON INPUT
B: CHAIN
C: FIELD
D: ON REQUEST
22. The AT USER-COMMAND event is triggered by functions defined in the ____.
A: screen painter
B: ABAP report
C: menu painter status
D: ABAP Dictionary
23. In regard to a function group, which of the following is NOT a true statement?
A: Combines similar function modules.
B: Shares global data with all its function modules.
C: Exists within the ABAP workbench as an include program.
D: Shares subroutines with all its function modules.
24. In regard to SET PF-STATUS, you can deactivate unwanted function codes by using ____.
A: EXCLUDING
B: IMMEDIATELY
C: WITHOUT
D: HIDE
25. In regard to data transported in PAI when the FIELD statement is used, which of the following is NOT a true
statement?
A: Fields in PBO are transported directly from PAI.
B: Fields with identical names are transported to the ABAP side.
C: Fields not defined in FIELD statements are transported first.
D: Fields that are defined in FIELD statements are transported when their corresponding module is called.

26. The order in which an event appears in the ABAP code determines when the event is processed.
A: True
B: False
27. A field declared as type T has the following internal representation:
A: SSMMHH
B: HHMMSS
C: MMHHSS
D: HHSSMM
28. Which of the following is NOT a component of the default standard ABAP report header?
A: Date and Time
B: List title
C: Page number
D: Underline
29. Assuming a pushbutton with function code 'FUNC' is available in the toolbar of a list report, what event is
processed when the button is clicked?
A: AT USER-COMMAND.
B: AT PFn.
C: AT SELECTION-SCREEN.
D: END-OF-SELECTION.
30. In regard to field selection, what option of the SELECT statement is required?
A: FOR ALL ENTRIES
B: WHERE
C: INTO
D: MOVE-CORRESPONDING
31. The following program outputs what?
report zjgtest1
write: /1 'Ready_'.
PARAMETER: test.
INITIALIZATION.
write: /1 'Set_'.
START-OF-SELECTION.
write: /1 'GO!!'.
A: Set_ GO!! (each on its own line)
B: Set_ Ready_ GO!! (all on their own lines)
C: Ready_ GO!! (each on its own line)
D: Ready_ Set_ GO!! (all on their own lines)
32. To declare a selection criterion that does not appear on the selection screen, use:
A: NO-DISPLAY
B: INVISIBLE
C: MODIF ID
D: OBLIGATORY
33. An internal table that is nested within another internal table should not contain a header line.
A: True
B: False
34. What is output by the following code?
DATA: BEGIN OF itab OCCURS 0, letter type c, END OF itab.
itab-letter = 'A'. APPEND itab. itab-letter = 'B'. APPEND itab.
itab-letter = 'C'. APPEND itab. itab-letter = 'D'. APPEND itab.
LOOP AT itab.
SY-TABIX = 2.
WRITE itab-letter.
EXIT.

ENDLOOP.
A: A
B: A B C D
C: B
D: B C D
35. To select all database entries for a certain WHERE clause into an internal table in one step, use
A: SELECT_INTO TABLE itab_
B: SELECT_INTO itab_
C: SELECT_APPENDING itab
D: SELECT_itab_
36. After a successful SELECT statement, what does SY-SUBRC equal?
A: 0
B: 4
C: 8
D: Null
37. This selection screen syntax forces the user to input a value:
A: REQUIRED-ENTRY
B: OBLIGATORY
C: DEFAULT
D: SELECTION-SCREEN EXCLUDE
38. If the following code results in a syntax error, the remedy is:
DATA: itab TYPE SORTED TABLE OF rec_type WITH UNIQUE KEY field1
WITH HEADER LINE.
itab-field1 = 'Company'. itab-field2 = '1234'. INSERT TABLE itab.
itab-field1 = 'Bank'. itab-field2 = 'ABC'. INSERT TABLE itab.
SORT itab.
LOOP AT itab.
write: /1 itab-field1, itab-field2.
ENDLOOP.
A: There is no syntax error here
B: Remove the SORT statement
C: Change INSERT to APPEND
D: Add a WHERE clause to the loop
39. If this code results in an error, the remedy is:
SELECT fld1 fld2 FROM tab1 WHERE fld3 = pfld3.
WRITE: /1 tab1-fld1, tab1-fld2.
ENDSELECT.
A: Add a SY-SUBRC check.
B: Change the WHERE clause to use fld1 or fld2.
C: Remove the /1 from the WRITE statement.
D: Add INTO (tab1-fld1, tab1-fld2).
40. When modifying an internal table within LOOP AT itab. _ ENDLOOP. you must include an index number.
A: True
B: False
41. To allow the user to enter values on the screen for a list field, use:
A: OPEN LINE.
B: SET CURSOR FIELD.
C: WRITE fld AS INPUT FIELD.
D: FORMAT INPUT ON.
42. Before a function module may be tested, it must first be:
A: Linked
B: Authorized

C: Released
D: Active
43. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain
the data declaration for the field?
A: PBO module include program
B: TOP include program
C: PAI module include program
D: Subroutine include program
44. If a table contains many duplicate values for a field, minimize the number of records returned by using this
SELECT statement addition.
A: MIN
B: ORDER BY
C: DISTINCT
D: DELETE
45. The system internal table used for dynamic screen modification is named:
A: ITAB
B: SCREEN
C: MODTAB
D: SMOD
46. Within the source code of a function module, errors are handled via the keyword:
A: EXCEPTION
B: RAISE
C: STOP
D: ABEND
47. Which system field contains the contents of a selected line?
A: SY-CUCOL
B: SY-LILLI
C: SY-CUROW
D: SY-LISEL
48. The following statement writes what type of data object?
WRITE: /1 'Total Amount:'.
A: Text literal
B: Text variable
C: In-code comment
D: Text integer
49. For the code below, second_field is of what data type?
DATA: first_field type P, second_field like first_field.
A: P
B: C
C: N
D: D
50. Which of the following describes the internal representation of a type D data object?
A: DDMMYYYY
B: YYYYDDMM
C: MMDDYYYY
D: YYYYMMDD
51. A BDC program is used for all of the following except:
A: Downloading data to a local file
B: Data interfaces between SAP and external systems
C: Initial data transfer
D: Entering a large amount of data
52. In regard to PERFORM, which of the following is NOT a true statement?
A: May be used within a subroutine.
B: Requires actual parameters.
C: Recursive calls are allowed in ABAP.

D: Can call a subroutine in another program.


53. What is the transaction code for the ABAP Editor?
A: SE11
B: SE38
C: SE36
D: SE16
54. In regard to HIDE, which of the following is NOT a true statement?
A: Saves the contents of variables in relation to a list line's row number.
B: The hidden variables must be output on a list line.
C: The HIDE area is retrieved when using the READ LINE statement.
D: The HIDE area is retrieved when an interactive event is triggered.
55. Database locks are sufficient in a multi-user environment.
A: True
B: False
56. The complete technical definition of a table field is determined by the field's:
A: Domain
B: Field name
C: Data type
D: Data element
57. In regard to LEAVE, which of the following is NOT a true statement?
A: May be used to return immediately to a calling program.
B: May be used to stop the current loop pass and get the next.
C: May be used to start a new transaction.
D: May be used to go to the next screen.
58. The following code indicates:
SELECT fld6 fld3 fld2 fld1 FROM tab1 INTO CORRESPONDING FIELDS OF TABLE itab
WHERE fld3 = pfld3.
A: The order of the fields in itab does not matter.
B: Fill the header line of itab, but not the body.
C: Table itab can only contain fields also in table tab1.
D: None of the above.
59. The ABAP statement below indicates that the program should continue with the next line of code if the
internal table itab:
CHECK NOT itab[] IS INITIAL.
A: Contains no rows
B: Contains at least one row
C: Has a header line
D: Has an empty header line
60. What will be output by the following code?
DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.
itab-fval = 1. APPEND itab.
itab-fval = 2. APPEND itab.
FREE itab.
WRITE: /1 itab-fval.
A: 2
B: 0
C: blank
D: 1
61. To allow the user to enter a range of values on a selection screen, use the ABAP keyword:
A: DATA.
B: RANGES.
C: PARAMETERS.
D: SELECT-OPTIONS.
62. If an internal table is declared without a header line, what else must you declare to work with the table's

rows?
A: Another internal table with a header line.
B: A work area with the same structure as the internal table.
C: An internal table type using the TYPES statement.
D: A PARAMETER.
63. Assuming an internal table contains 2000 entries, how many entries will it have after the following line of
code is executed?
DELETE itab FROM 1500 TO 1700.
A: This is a syntax error.
B: 1801
C: 1800
D: 1799
64. To remove lines from a database table, use ____.
A: UPDATE
B: MODIFY
C: ERASE
D: DELETE
65. All of the following may be performed using SET CURSOR except:
A: Move the cursor to a specific field on a list.
B: Move the cursor to a specific list line.
C: Move the cursor to a specific pushbutton, activating that function.
D: Move the cursor to a specific row and column on a list.
66. When is it optional to pass an actual parameter to a required formal parameter of a function module?
A: The actual parameter is type C.
B: The formal parameter contains a default value.
C: The formal parameter's "Reference" attribute is turned on.
D: It is never optional.
67. Coding two INITIALIZATION events will cause a syntax error.
A: True
B: False
68. Adding a COMMIT WORK statement between SELECT_ENDSELECT is a good method for improving
performance.
A: True
B: False
69. To save information on a list line for use after the line is selected, use this keyword.
A: APPEND
B: EXPORT
C: WRITE
D: HIDE
70. To bypass automatic field input checks, include this in PAI.
A: AT EXIT-COMMAND
B: ON INPUT
C: ON REQUEST
D: LEAVE TO SCREEN 0.
71. Within a function module's source code, if the MESSAGE_RAISING statement is executed, all of the
following system fields are filled automatically except:
A: SY-MSGTY
B: SY-MSGNO
C: SY-MSGV1
D: SY-MSGWA
72. The following code indicates:
REPORT ZLISTTST.
START-OF-SELECTION.
WRITE: text-001.

FORMAT HOTSPOT ON.


WRITE: text-002.
FORMAT HOTSPOT OFF.
AT LINE-SELECTION.
WRITE / text-003.
A: Text-002 may not be selected.
B: The value of text-002 is stored in a special memory area.
C: Text-002 may be clicked once to trigger the output of text-003.
D: None of the above.
73. The ____ type of ABAP Dictionary view consists of one or more transparent tables and may be accessed by
an ABAP program using Open SQL.
A: Database view
B: Projection view
C: Help view
D: Entity view
74. A concrete field is associated with a field-symbol via ABAP keyword
A: MOVE
B: WRITE
C: ASSIGN
D: VALUE
75. The output for the following code will be:
report zabaprg.
DATA: char_field type C.
char_field = 'ABAP data'.
WRITE char_field.
A: ABAP data
B: A
C: Nothing, there is a syntax error
D: None of the above
76. Page footers are coded in the event:
A: TOP-OF-PAGE.
B: END-OF-SELECTION.
C: NEW-PAGE.
D: END-OF-PAGE.
77. The event AT SELECTION-SCREEN OUTPUT. occurs before the selection screen is displayed and is the
best event for assigning default values to selection criteria.
A: True
B: False
78. The TABLES statement declares a data object.
A: True
B: False
79. Assuming tab1-fld7 is not a key field, how can you prevent reading all the table rows?
SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
WHERE fld7 = pfld7.
WRITE: /1 fld4, fld5, fld6.
ENDSELECT.
A: Take fld7 out of the WHERE clause.
B: Create an index in the ABAP Dictionary for tab1-fld7.
C: Use INTO TABLE instead of just INTO.
D: Take the WRITE statement out of the SELECT_ENDSELECT.
80. Which of the following is NOT a required attribute when creating an ABAP program?
A: Application
B: Title
C: Status

D: Type
81. When creating a transparent table in the ABAP Dictionary, which step automatically creates the table in the
underlying database?
A: Adding technical settings to the table
B: Checking the table syntax
C: Saving the table
D: Activating the table
82. Within the ABAP program attributes, Type = 1 represents:
A: INCLUDE program
B: Online program
C: Module pool
D: Function group
E: Subroutine pool
83. If this code results in an error, the remedy is:
SELECT fld1 SUM( fld1 ) FROM tab1 INTO_
A: Remove the spaces from SUM( fld1 ).
B: Move SUM( fld1 ) before fld1.
C: Add GROUP BY f1.
D: Change to SUM( DISTINCT f1 ).
84. Which keyword adds rows to an internal table while accumulating numeric values?
A: INSERT
B: APPEND
C: COLLECT
D: GROUP
85. Assuming itab has a header line, what will be output by the following code?
READ TABLE itab INDEX 3 TRANSPORTING field1.
WRITE: /1 itab-field1, itab-field2.
A: The contents of the third row's itab-field1.
B: The contents of the third row's itab-field1 and itab-field2.
C: The contents of the third row's itab-field2.
D: Nothing.
86. The following code indicates:
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: myparam(10) type C,
Myparam2(10) type N,
SELECTION-SCREEN END OF BLOCK.
A: Draw a box around myparam and myparam2 on the selection screen.
B: Allow myparam and myparam2 to be ready for input during an error dialog.
C: Do not display myparam and myparam2 on the selection screen.
D: Display myparam and myparam2 only if both fields have default values.
87. Which statement will sort the data of an internal table with fields FRUIT, QTY, and PRICE so that it appears
as follows?
FRUIT QTY PRICE
Apples 12 22.50
Apples 9 18.25
Oranges 15 17.35
Bananas 20 10.20
Bananas 15 6.89
Bananas 5 2.75
A: SORT itab DESCENDING BY QTY PRICE.
B: SORT itab BY PRICE FRUIT.
C: SORT itab.
D: SORT itab BY PRICE DESCENDING.
88. Which keyword adds a line anywhere within an internal table?
A: APPEND
B: MODIFY
C: ADD

D: INSERT
89. To read a single line of an internal table, use the following:
A: LOOP AT itab. _ ENDLOOP.
B: READ itab.
C: SELECT SINGLE * FROM itab.
D: READ TABLE itab.
90. Which Open SQL statement should not be used with cluster databases?
A: UPDATE
B: MODIFY
C: DELETE
D: INSERT
91. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain
the data declaration for the field?
A: PBO module include program
B: TOP include program
C: PAI module include program
D: Subroutine include program
92. This flow logic statement is used to make multiple fields open for input after an error or warning message.
A: GROUP
B: FIELD-GROUP
C: CHAIN
D: LOOP AT SCREEN
93. Given:
PERFORM subroutine USING var.
The var field is known as what type of parameter?
A: Formal
B: Actual
C: Static
D: Value
A. ABAP Dictionary
1. The structure of a table has been changed in the ABAP Dictionary. Which of the following adjustments in the
relevant database table is correct, if you want to retain the previous data?
Delete and recreate the database table
Change the database directory (ALTER TABLE) where the structure change with ALTER TABLE is supported by
the database.
Convert the table
2. In SAP terminology, what is a check table?
A value table specified in the definition of the domain for a field.
Any internal table, used to check input values.
A table assigned to one or more fields of a foreign key table for checking input values.
The table created for a foreign key.
The table to which a foreign key refers.
3. Can you store data persistently in a structure?
Yes
No
Yes, as long as the structure has been created in the ABAP Dictionary.
4. Which of the following statements are true?
A Repository object can have an original version in more than one system.
You can change a local object without using a change request.
A Repository object can only have an original version in a single system. Other systems may contain copies of
the object.
You can only correct a Repository object in its original system.
B. ABAP Workbench
5. You want to define an interface status for a details list displayed after a WINDOW statement.
Which status type do you have to use?

Screen
Dialog box
List
List in dialog box
6. You have a screen with number 100, in which the next screen is defined as screen 200.
Screen 100 is called using CALL SCREEN. After the PAI modules of screen 100 have been executed, and
assuming that they contain no statements that affect the screen sequence, where does processing
continue?
In the PBO modules of screen 200.
Directly after the CALL SCREEN statement
In the PBO modules of screen 100.
7. In the ABAP Editor, how can you find information about an ABAP statement?
By placing the cursor on the keyword in your program and pressing F1
By choosing "Help on...;" from the menu (or the corresponding icon)and entering the keyword in the subsequent
dialog box.
By placing the cursor on the keyword in your program and pressing F4.
By placing the cursor on the keyword in your program and choosing the "Help" menu.
8. You want to transport a local object into another system. What do you do?
Assign the object to a change request.
Assign the object to a transport request.
Reassign the object to a different development class and then assign it to a transport request.
You cannot transport local objects.
Copy the object and assign the copy to a different development class, then assign the object to a transport
request.
9. Which of the following statements about development classes are true?
The development class to which an object is assigned determines its path through the transport landscape.
If you want objects to be transported together, they must all belong to the same development class.
The interlinking of corrections requires that the objects involved all belong to the same development class.
A development class is a container for objects that all belong to thesame functional area.
The development class of an object determines who is allowed to change it.
C. Batch Input
10. Which of the following function modules are used to construct batch input sessions?
BDC_ADD_TRANSACTION
BDC_INSERT
BDC_CLOSE_GROUP
BDC_OPEN_GROUP
11. You are using Transaction SM35 (System->Services->Batch input- >Edit) to process a batch input session
in the mode 'Display errors only';. An error occurs.
Which of the following assertions could apply?
The system flags the session status as 'Incorrect'.
The batch input program used to generate the session must be restarted before you the session can be
processed again.
The system flags the session status as 'Incorrect'. The session can be processed again.
The system flags the session status as 'Incorrect'. It can only be processed again in the processing mode
'Process/foreground'.
The system flags the session status as 'Incorrect'. It can only be processed again by you.
D. Dialog Programming
12. In a program, how can you find out how many lines of a table control (step loop) are displayed?
The value of SY-STEPL
The value of SY-LOOPC in a module called between LOOP and ENDLOOP in the PBO event.
The value of SY-LOOPC in a module called between LOOP and ENDLOOP in the PAI event.
The value of SY-LOOPC but not between the LOOP and ENDLOOP statements.

Using the DESCRIBE statement


13. In the middle of a dialog program, you need to change to list mode in order to read data using a logical
database.
Which of the following statements would you use?
CALL SCREEN
READ LIST
CALL TRANSACTION <Report transaction>
LEAVE TO LIST-PROCESSING
SUBMIT <Name> AND RETURN
14. You used the statement LEAVE TO LIST-PROCESSING to switch to list processing from a dialog program.
How can you return to dialog processing?
EXIT
Standard BACK function
Not possible
You can ONLY return to dialog porcessing if you used the AND RETURN TO SCREEN n addition in the
LEAVE TO LIST-PROCESSING statement.
15. You have a screen with three input/output fields named F1, F2 and F3 respectively. F1 is in the first line of
the screen, F2 in the second line, and F3 in the third line. When the screen is displayed, how would you ensure
that the cursor is positioned at the first character of field F2?
By entering the field name F2 in the cursor position field in the screen attributes.
By using the statement SET CURSOR FIELD 'F2' in a PAI module.
By using the statement SET CURSOR FIELD 'F2' in a PBO module.
By using the statement SET CURSOR LINE 2 in a PBO module.
16. How can you inactivate functions in the GUI status?
LOOP AT SCREEN. SCREEN-INACTIVE. MODIFY SCREEN.
SET FUNCTION INACTIVE.
SET PF-STATUS EXCLUDING f
SET PF-STATUS EXCLUDING itab
17. In a dialog program, how can you display a dialog box?
GO TO SCREEN 200
CALL SCREEN 200
SET SCREEN 200
CALL SCREEN 200 STARTING AT 5 5.
WINDOW 200 STARTING AT 5 5.
E. Enhancements
18. Must Exits be predefined by SAP programmers?
No
Yes
Customers can determine for themselves where they want to use exits
19. Which ABAP statement is used to call a customer enhancement from an SAP program?
CALL FUNCTION 'ZXY_APPLICATION-001' ...
PERFORM 'ZXYZ1234' ...
CALL CUSTOMER-FUNCTION '001' ...
CALL DIALOG 'ZXY-APPLICATION-001' ...
CALL SUBSCREEN ... INCLUDING ...
20. Which of the following statements about Customizing are true?
Customizing, together with the Implementation Guide (IMG) allows customers to adapt SAP functions to their
own particular needs.
Customizing is largely client-specific.
Customizing has to be provided for by SAP.
Customizing is carried out in the development system and transported to the production system.
21. What is the difference between a repair and a correction?

A correction is a change to an object in its original system.


A repair is a temporary correction that cannot be transported.
A repair can contain new objects.
Any change to an SAP object in a customer system requires a repair task in a change request in the
Workbench Organizer.
You can also repair customer objects.
22. Which of the following statements about Modifications are true?
A modification is a repair to an SAP object.
A modification is always a repair.
Modifications must be registered in OSS.
Modifications must be compared with the original object immediately.
23. Which of the following statements applies to append structures?
An append structure is always assigned to a single table.
A table may not contain more than one append structure.
Append structures must be provided for by SAP.
Append structures are not possible for tables containing a long field.
Append structures must be compared with the SAP original in a Release upgrade.
24. Which of the following statements about SAP enhancements are true?
An SAP enhancement consists of one or more components.
An SAP enhancement must be registered in OSS.
Each customer enhancement project can only contain a single SAP enhancement.
25. Function module exists refer to function modules. Which of the following statements are true of these
function modules?
They belong to a customer function group.
They must be created by SAP.
Customers can edit them using Transaction CMOD.
They may contain screen calls.
They can include the GET <table> statement for reading data using a logical database.
26. Which of the following are features of menu exits?
They allow customers to call their own functions from SAP menus.
They are usually coupled with a function module exit.
The position and function code of a menu exit are defined by the SAP
programmer.
They have function codes beginning with Y or Z.
You call them using CALL CUSTOMER-MENU.
27. Which of the following statements apply to screen exits?
They allow customers to insert a sequence of screens into the
existing screen sequence defined by SAP.
They are called in the flow logic using the statement CALL
CUSTOMER-SUBSCREEN...; INCLUDING...;
Customers can edit them using the Transaction CMOD.
To use them, the customer must create or edit a subscreen in a SAP
X function group.
All of the data from the SAP module pool is available for use in the
modules of the customer subscreen.
F. Programming Language
28. You have defined parameters and/or select options for a program. What do you have to do to ensure that
short texts are displayed on the selection screen of the report, and not just the coded names of the parameters
and select options?
Use the Screen Painter to modify the appropriate field names in the field list of the selection screen.
Output the appropriate terms at the INITIALIZATION event.
Output the appropriate terms at event AT SELECTION-SCREEN.
Maintain the selection texts.
29. Which of the following variants define an internal table?

DATA: BEGIN OF tab,


a (72),
END OF tab.
DATA: BEGIN OF tab occurs 100,
a (72),
END OF tab.
DATA: tab TYPE <Typ> OCCURS 0.
DATA: tab LIKE table of <Struktur>.
DATA: BEGIN OF COMMON,
a (72),
END OF COMMON.
30. An internal table with the fields
kunde (Type C, Length 30) and lifnr (Type I) is filled using the following statements:
itab-kunde = 'Meier'. itab-lifnr = 8. APPEND itab.
itab-kunde = 'Lehmann'. itab-lifnr = 7. APPEND itab.
itab-kunde = 'Schulze'. itab-lifnr = 4. APPEND itab.
itab-kunde = 'Schmidt'. itab-lifnr = 10. APPEND itab.
Which of the following statements would you use to read the entry for Schmidt?
SELECT SINGLE * FROM itab WHERE kunde = 'Schmidt'.
READ TABLE itab WITH KEY 'Schmidt' BINARY SEARCH.
READ TABLE itab WITH KEY 'Schmidt'.
READ TABLE itab INDEX 10.
G. R/3 System Architecture
31. Which type of server exists only once in an R/3 System?
Message server
Database server
Application server
Presentation server
Enqueue server
H. Reporting
32. Which event do you use to generate page headers for a details list?
AT LINE-SELECTION
TOP-OF-PAGE
TOP-OF-PAGE DURING LINE-SELECTION
NEW-PAGE
END-OF-PAGE
33. Which of the following statements would you use in interactive reporting to make field contents available for
use in a subsequent detail list?
WRITE
AT LINE-SELECTION
AT USER-COMMAND
HIDE
MODIFY LINE
34. When does the event 'AT LINE-SELECTION' occur?
when you double-click on a line in a list
When you position the cursor on a line in a list and press the F2 function key
When you position the cursor on a line in a list and press the F4 function key
When you position the cursor on a line in a list
35. How do you define the selection screen of a program?
Using PARAMETERS statements
Using statements in the AT SELECTION-SCREEN event block
By specifying a logical database in the program attributes
Using SELECT-OPTIONS statements
Using FIELD-SYMBOLS statements
36. Which addition in the PARAMETERS statement allows you to place default values on the selection screen?

DEFAULT
LIKE
VALUE
MEMORY ID
37. How can you suppress the default title of a list?
By defining a TOP-OF-PAGE event in the program and using it to display something else.
By choosing System -- List -- List header and entering your own title.
By using the NO STANDARD PAGE HEADING addition in the REPORT statement.
By entering a title in the text elements of the program.
By using the NEW-PAGE NO-TITLE statement.
38. Which statement would you use to leave a list that you created by using a SUBMIT statement?
LEAVE.
LEAVE PROGRAM.
LEAVE LIST-PROCESSING.
LEAVE TO LIST-PROCESSING.
EXIT.
39. Which of the following statements can you use to change a list?
LOOP AT SCREEN, SCREEN-NAME = 'xxxx'. END LOOP.
MODIFY LINE FIELD VALUE <f1> FROM 'xxxx'.
SY-LISEL(10) = 'xxxx'.
AT LINE-SELECTION.
MOVE 'xxxx' TO LISTLINE.
READ LINE FIELD VALUE <f1> INTO <g1>.
<g1> = 'xxxx'.
I. System
40. You want to define a screen in which you can trigger a function you have already defined.
Which system/program variables return the corresponding function code?
SY-PFKEY
In the variables assigned to the OK code field (command field)
SY-TCODE
OK-CODE
41. From which system field can you find out the current GUI status?
SY-PFKEY
SY-UCOMM
SY-STATUS
MORE ABAP QUESTIONS FROM SKILL DRILL
1. To get the average value of a database table field as you select it, use ____.
A: GET AVERAGE
B: SELECT AVERAGE
C: SELECT AVG
D: COMPUTE AVG
2. To change one or more lines of a database table, use ____.
A: UPDATE
B: INSERT
C: INTO
D: MOD
3. To get the number of rows in an internal table, use the ABAP statement:
A: READ TABLE itab INDEX nlines.
B: DESCRIBE TABLE itab LINES nlines.
C: COUNT TABLE itab LINES INTO nlines.
D: COLLECT itab LINES nlines.
4. A template that groups up to ten fields for testing access privileges is known as ____.
A: Authorization
B: Authorization object
C: User profile

D: Authority profile
5. To exchange data between reports without an external subroutine call, you may use:
A: IMPORT_MEMORY data_object MEMORY ID 'ID'.
B: READ_DATA data_object.
C: EXPORT data_object TO MEMORY ID 'ID'.
D: SAVE data_object MEMORY ID 'ID'.
6. Given:
PERFORM my_sub USING fld1 fld2.
FORM my_sub using fld1 fld2.
ENDFORM.
The parameter fld1 is passed by:
A: Value
B: Reference
C: Value and result
D: None of the above
7. Which of the following is NOT a field of a selection screen range internal table?
A: Sign
B: Option
C: Low
D: High
E: Value
8. In regard to Runtime Analysis, which of the following is NOT a true statement?
A: System-level performance problems are identified.
B: Helps you analyze the performance of any program created within the ABAP Workbench.
C: Helps identify potentially inefficient database accesses.
D: Measurement results are saved in performance data files.
9. Internal tables may be declared without a header line.
A: True
B: False
10. By definition, what fields make up the standard internal table key?
A: All the table's fields.
B: All the non-numeric fields.
C: All the numeric fields.
D: The first field.
11. The following line of code indicates:
GET CURSOR FIELD MY_FLD.
A: The cursor is positioned on the field MY_FLD.
B: MY_FLD contains the number of the line on which the cursor is positioned.
C: MY_FLD contains the name of the field on which the cursor is positioned.
D: The cursor column number is moved to MY_FLD.
12. The field declared below is of what data type?
DATA: new_fld(25).
A: P
B: N
C: I
D: C
13. To set up a screen field to allow default values to be stored across user sessions:
A: Turn on the field attribute flag for SPA/GPA.
B: Enter a value in the search-help field attribute.
C: Set the field to display only.
D: Use the identical names concept.
14. Given:
SELECT fld1 fld2 fld3 FROM tab1 INTO TABLE itab

FOR ALL ENTRIES IN stab


WHERE fld7 = stab-fld7.
Which of the following is a true statement?
A: This is an inner-join between tab1 and stab.
B: Itab is filled with values from stab.
C: Stab is filled with values from tab1.
D: If stab is empty, all rows of tab1 will be read into itab.
15. In regard to a dialog step, which of the following is NOT a true statement?
A: Begins at start of PAI of the current screen.
B: Ends at end of PBO of the next screen.
C: Ends when the next screen is displayed.
D: Begins when the next screen is displayed.
16. To pass data from your program to a function module, use the ____.
A: EXPORTING parameter of CALL FUNCTION
B: EXPORTING parameter of the function module
C: IMPORTING parameter of CALL FUNCTION
D: USING parameter of CALL FUNCTION
17. Within an interactive list event, you can override the value of SY-LSIND.
A: True
B: False
18. Dialog programs must be executed via a transaction code.
A: True
B: False
19. To ensure that you select data directly from the database, use ____.
A: CLIENT-SPECIFIED
B: BYPASSING BUFFER
C: ORDER BY
D: GROUP BY
20. The business (non-technical) definition of a table field is determined by the field's ____.
A: domain
B: field name
C: data type
D: data element
21. What is output by the following code?
IF 'A' NA 'ABC'.
Write: /1 'Ready_'.
ELSEIF 'A' CO 'ABC'.
write: /1 'Set_'.
ELSE.
Write: /1 'GO!!'.
ENDIF.
A: Ready_
B: Set_
C: Go_
D: Ready_ Set_ Go_
22. You declare a local data object that retains its value across multiple subroutine calls using the keyword
A: DATA
B: TYPES
C: PARAMETERS
D: STATICS
23. If this code results in an error, the remedy is
SELECT * FROM tab1 WHERE fld3 = pfld3.
WRITE: /1 tab1-fld1, tab1-fld2.
ENDSELECT.
A: Add a SY-SUBRC check.

B: Change the * to fld1 fld2.


C: Add INTO (tab1-fld1, tab1-fld2).
D: There is no error.
24. Which of the following is NOT one of the types of internal tables in ABAP?
A: Standard
B: Sorted
C: Hashed
D: Unique
25. The following code indicates:
COMMIT WORK.
A: Undo all database changes.
B: Write changes permanently to the database.
C: Increment the time-slice counter.
D: None of the above.
26. After a DESCRIBE TABLE statement SY-TFILL will contain
A: The number of rows in the internal table.
B: The current OCCURS value.
C: Zero, if the table contains one or more rows.
D: The length of the internal table row structure.
27. To select one record for a matching primary key, use ____.
A: SELECT
B: SELECT INTO
C: SELECT SINGLE
D: SELECT ENTRY
28. Given:
IF MY_IND = 'X'.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
If my_ind is initial, this will result in:
A: Changes are written to the database.
B: Changes are undone without writing them to the database.
C: A database error.
D: An abend.
29. The control block ON CHANGE OF fld1_ENDON may be used between SELECT_ENDSELECT.
A: True
B: False
30. The main difference between function modules and normal ABAP subroutines is that ____.
A: function modules can call subroutines but not vice versa
B: subroutines can call function modules but not vice versa
C: function modules have a clearly defined interface
D: subroutines are stored in a global library
31. If the user picks the WIND function, the following code indicates:
AT USER-COMMAND.
IF SY-UCOMM = 'WIND'.
WINDOW STARTING AT 7 4 ENDING AT 65 12.
WRITE text-900.
ENDIF.
A: Display text-900 in a dialog window.
B: Display text-900 in a full screen.
C: Output text-900 on row 4, starting at column 7.
D: Draw a box around text-900 with coordinates (7,4) and (65,12)

32. Which of the following is NOT one of the main components of a screen painter screen?
A: Screen attributes
B: Flow logic
C: Include program
D: Screen layout
E: Field attributes
33. Function module source code may not call a subroutine.
A: True
B: False
34. To allow a basic list line to branch to a different SAP transaction use:
A: LEAVE TRANSACTION
B: SUBMIT TRANSACTION
C: EXECUTE TRANSACTION
D: CALL TRANSACTION
35. With regard to data objects, which of the following is NOT a true statement?
A: A data object holds data in memory at runtime.
B: The PARAMETERS keyword declares a data object.
C: Local data objects may be declared inside a subroutine.
D: Global data objects are only accessible outside a subroutine.
36. Given these data declarations, which of these statements will cause a syntax error?
DATA: num_field(10) type c, pack_field type p decimals 2.
A: WRITE: num_field, pack_field.
B: WRITE: 'Sales order number', num_field.
C: MOVE 12- to pack_field.
D: MOVE '9.9' to pack_field.
37. An ABAP data type may be declared with reference to the SAP data type P.
A: True
B: False
38. Which of the following declares an internal table data object?
A: DATA: myrec like vbak
B: DATA: cust like kna1 occurs 0
C: DATA: hold_number(10) type C
D: None of the above
39. Given this code what is output last?
DATA: my_counter type I.
CLEAR my_counter.
DO.
my_counter = my_counter + 1.
write: /1 my_counter.
IF my_counter >= 10. EXIT. ENDIF.
ENDDO.
END-OF-SELECTION.
Write: /1 'Good-bye!'.
A: Good-bye!
B: 10
C: 11
D: 9
40. The following code indicates:
CALL SCREEN 9000 STARTING AT 10 5 ENDING AT 60 20
A: Screen 9000 is called with the cursor at coordinates (10,5)(60,20).
B: Screen 9000 must be of type "Modal dialog box."
C: Display screen 9000 in a full window.
D: Screen 9000 may only contain an ABAP list.

41. Which statement does not contain a syntax error?


A: DATA invoice_number(10) type N default '1234567890'.
B: TYPES cust_type like kna1 occurs 0.
C: CONSTANTS apple(10) type c value 'Apple', orange(10) type c value 'Orange'.
D: DATA data_obj type p decimals 2 value 234.98.
42. Which of the following is NOT a component of a function module's interface?
A: Importing parameters
B: Exporting parameters
C: Field-string parameters
D: Changing parameters
43. This event occurs before a selection screen is displayed and may be used to assign default values.
A: INITIALIZATION.
B: TOP-OF-PAGE.
C: START-OF-SELECTION.
D: GET.
44. Which of the following may NOT be modified using the ABAP Dictionary transaction?
A: Type groups
B: Search help
C: Lock objects
D: Function groups
45. The major difference between EXIT and STOP is:
A: STOP jumps to the END-OF-SELECTION event.
B: EXIT and STOP are identical.
C: EXIT quits a program when used inside a loop.
D: STOP causes the program to end with an abend error.
46. In regard to a local private object, which of the following is a true statement?
A: May be used in a production environment
B: May only be viewed by the person that created it
C: May not be transported
D: Development class is $LOC
47. Which of the following would be stored in a table as master data?
A: Customer name and address
B: Sales order items
C: Accounting invoice header
D: Vendor credit memo
48. The ABAP statement, CLEAR itab. will delete all rows of an internal table that has no header line.
A: True
B: False
49. To make a selection criterion case-sensitive, use:
A: ACCEPTING CASE
B: LOWER CASE
C: UPPER CASE
D: CASE
50. An internal table can have another internal table as one of its components.
A: True
B: False
51. A SELECT_ENDSELECT loops through a database table's rows into a specified work area.
A: True
B: False
52. To select data from more than one table, you may use all of the following except:
A: INNER JOIN.
B: LEFT OUTER JOIN.
C: A database view.
D: None of the above

53. In an R/3 environment, where is the work of a dialog program performed?


A: On the application server using a dialog work process service.
B: On the presentation server using a dialog work process service.
C: On the database server using a dialog work process service.
D: None of the above.
54. To read the lines of an internal table one-by-one, use the following:
A: LOOP AT itab. _ ENDLOOP.
B: READ itab.
C: SORT itab.
D: SCROLL TABLE itab.
55. All of the following will delete all rows of an internal table with a header line except:
A: CLEAR itab.
B: REFRESH itab.
C: CLEAR itab[].
D: FREE itab.
56. You can only perform an authorization check outside of a SELECT_ENDSELECT.
A: True
B: False
57. What addition to the READ TABLE statement must be used when reading a hashed or sorted internal table
to ensure that a binary search will be used?
A: WITH KEY
B: WITH TABLE KEY
C: SEARCH TYPE
D: WHERE
58. Errors to be handled by the calling program are defined in a function module's ____.
A: exceptions interface
B: source code
C: exporting interface
D: main program
59. What must you code in the flow logic to prevent a module from being called unless a field contains a noninitial value (as determined by its data type)?
A: ON INPUT
B: CHAIN
C: FIELD
D: ON REQUEST
60. In regard to subroutines and function modules, to ensure that an actual parameter is the same type as its
corresponding formal parameter, you should ____.
A: code a SY-SUBRC check
B: specify a reference field
C: verify the types yourself when coding
D: use the DESCRIBE FIELD statement
61. To trigger an interactive event from within an ABAP program without user interaction, use the statement:
A: SET USER-COMMAND
B: SET PF-STATUS
C: CALL FUNCTION
D: AT USER-COMMAND
62. When a secondary list is being processed, the data of the basic list is available by default.
A: True
B: False
63. Which table type would be most appropriate for accessing table rows using an index.
A: Hashed table
B: Standard table
C: Sorted table
D: None of these may be accessed using an index.

64. Given:
REPORT ZINTERAC.
WRITE 'First List'.
AT PF5.
WRITE: 'Second List'.
After running the report, how would the user receive the output, "Second List?"
A: No further action is required
B: Double-click the "First List" row
C: Press the keyboard function key F5
D: This is not possible for the given code
65. To automatically share data with another report during an external subroutine call, the shared data may be
declared ____.
A: in both programs with the same name; no additional code is required
B: in a data dictionary structure
C: as global data objects in either program
D: in both programs between BEGIN OF COMMON PART_ END OF COMMON PART
66. Database locks are sufficient in a multi-user environment.
A: True
B: False
67. The program type attribute for a dialog program is:
A: M
B: 1
C: I
D: D
68. To add your own functions to an ABAP list, what statement should you use?
A: SET TITLEBAR '100'.
B: SET PF-STATUS '100'.
C: GUI-STATUS = '100'.
D: CALL FUNCTION '100'.
69. Which is the correct sequence of events?
A: AT SELECTION-SCREEN, TOP-OF-PAGE, INITIALIZATION
B: START-OF-SELECTION, AT USER-COMMAND, GET dbtab
C: INITIALIZATION, END-OF-SELECTION, AT LINE-SELECTION
D: GET dbtab, GET dbtab LATE, START-OF-SELECTION
70. Function module source code may have its own local data.
A: True
B: False
71. Changing the length of a field in the ABAP Dictionary will cause an ABAP program that references that field
to use the new length the next time the program is run.
A: True
B: False
72. In regard to the AT USER-COMMAND event, which of the following is NOT a true statement?
A: The standard system function 'BACK' is processed here.
B: Executed when a function key is pressed.
C: SY-UCOMM contains the current function code.
D: Function codes from your own menu painter status are processed here.
73. To assign an initial value, include this option of the PARAMETERS statement:
A: FIRST
B: INITIALIZATION
C: VALUE
D: DEFAULT
74. Pressing the enter key in PC mode while entering code in the ABAP editor will do all of the following except:

A: Insert a blank line after the current line


B: Insert a blank line before the current line
C: Select the beginning of a block of lines
D: Split the current line at the cursor position
75. What will be the value of SY-SUBRC after looping through an internal table?
A: Four, if all of the rows are not read.
B: SY-SUBRC is not set by a LOOP AT itab. _ ENDLOOP.
C: Zero, if at least one record was read.
D: Zero, regardless of how many rows are read.
76. All of these allow you to step through the flow of a program line-by-line except:
A: Enter /h then execute
B: Execute in debug mode
C: Enter /i then execute
D: Set a breakpoint
77. If this code results in an error, the remedy is:
SELECT fld1 fld2 FROM tab1 WHERE fld3 = pfld3.
WRITE: /1 tab1-fld1, tab1-fld2.
ENDSELECT.
A: Add a SY-SUBRC check.
B: Change the WHERE clause to use fld1 or fld2.
C: Remove the /1 from the WRITE statement.
D: Add INTO (tab1-fld1, tab1-fld2).
78. Which of the following is not a true statement in regard to a hashed internal table type?
A: Its key must always be UNIQUE.
B: May only be accessed by its key.
C: Response time for accessing a row depends on the number of entries in the table.
D: Declared using internal table type HASHED TABLE.
79. Which Open SQL statement should not be used with cluster databases?
A: UPDATE
B: MODIFY
C: DELETE
D: INSERT
80. The following code indicates:
CALL SCREEN 300.
A: Start the PAI processing of screen 300.
B: Jump to screen 300 without coming back.
C: Temporarily branch to screen 300.
D: Exit screen 300.
81. ABAP Open SQL allows SAP applications to run on any supported database system without modifying the
source code.
A: True
B: False
MORE ABAP QUESTIONS FROM SKILL DRILL
1. Which of the following is not a valid ABAP relational operator?
A: CP
B: NC
C: O
D: NS
2. Entering transaction SE80 will take you to an interface tool for managing application development objects.
This tool is called the ____.
A: ABAP editor
B: ABAP workbench
C: Object list
D: Repository browser

3. In regard to a subquery, which of the following is a true statement?


A: SELECT SINGLE may be used.
B: UPDATE may not use a subquery.
C: Allows you to program a second SELECT as part of the WHERE clause.
D: The outer SELECT is processed first.
4. What will be output by the code below?
DATA: alph type I value 3.
write: alph.
WHILE alph > 2.
write: alph.
alph = alph - 1.
ENDWHILE.
A: 3
B: 3 2
C: 3 3 2
D: 3 3
5. To write a custom text on the selection screen use SELECTION-SCREEN:
A: SKIP.
B: COMMENT.
C: TEXT.
D: FIELD.
6. You should never nest SELECT statements because this results in a syntax error.
A: True
B: False
7. All of the following control statements allow conditional execution of blocks of code except
A: EXIT
B: CASE
C: WHILE
D: IF
8. Assuming itab is a standard internal table that has been sorted by fld1, which of the following statements will
normally read rows most efficiently?
A: READ TABLE itab WITH KEY fld1 = fld2.
B: READ TABLE itab WITH KEY fld1 = fld2 BINARY SEARCH.
C: READ TABLE itab WITH KEY fld3 = fld4.
D: READ TABLE itab WITH KEY fld3 = fld4 BINARY SEARCH.
9. Which of the following is NOT a component of selection screen syntax?
A: PARAMETERS
B: SELECT-OPTIONS
C: RANGES
D: AS CHECKBOX
10. To view the contents of an ABAP Dictionary table, use transaction ____.
A: SE16
B: SE10
C: SE36
D: SE37
11. Which of the following is not a component of dialog programming environment?
A: Transaction code
B: Screen
C: ABAP module pool
D: Background job
12. To declare a table control in the module pool, use:
A: CONTROLS ctrl_name TYPE TABLE CONTROL.
B: TYPES ctrl_name TABLEVIEW.
C: DATA ctrl_name TYPE TABLE CONTROL.
D: CONTROLS ctrl_name TYPE TABLEVIEW USING SCREEN 100.

13. All of the following are valid Open SQL statements except:
A: OPEN DATASET.
B: CLOSE CURSOR.
C: DELETE.
D: COMMIT WORK.
14. To read data from the database, use ____.
A: READ TABLE
B: SELECT
C: OPEN DATASET
D: READ DATASET
15. The following code indicates:
READ TABLE itab WITH KEY field1 = sy-langu field2 = counter.
A: Read table itab row-by-row until finding an entry other than field1 = sy-langu and field2 = counter.
B: Read the row with an index number equal to the value stored in counter.
C: Read the internal table using the binary search method to find field1 = sy-langu and field2 = counter.
D: Read the first row found in itab that has field1 = sy-langu and field2 = counter.
16. At runtime Native SQL is converted to ABAP Open SQL.
A: True
B: False
17. A Logical Unit of Work will either be carried out completely or not at all.
A: True
B: False
18. All of the following are true in regard to a parameter passed by reference, except:
A: A pointer to the memory location of the parameter's value is passed.
B: Changing the formal parameter immediately changes the passed parameter.
C: Besides USING, no additional syntax is required.
D: New memory is allocated for the parameter's value.
19. A dictionary table is made available for use within an ABAP program via the TABLES statement.
A: True
B: False
20. To modify several fields in a screen without referencing each individual field name:
A: Access the SPA/GPA parameter for each of the fields.
B: Assign the fields to a single ABAP Dictionary structure.
C: Group the fields in a CHAIN.
D: Identify the fields via their group name.
21. Given:
SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
WHERE fld7 = pfld7.
WRITE: /1 fld4, fld5, fld6.
SELECT fld8 FROM tab2 INTO fld9
WHERE fld10 = tab1-fld6.
WRITE: /1 fld9.
ULINE.
ENDSELECT.
ENDSELECT.
All of the following are good performance tuning methods except:
A: Use SELECT fld1 fld2 fld3 FROM tab1 INTO itab_
B: Convert the nested SELECT statements to a database view
C: Code your own database join.
D: Use SELECT_FOR ALL ENTRIES IN itab.
22. To make a single field open for input after an error or warning message
A: Add the field to the screen with the input attribute checked.
B: Declare the field as global data.

C: Use the FIELD flow logic statement


D: Call message type S.
23. Which system variable contains the number of rows affected by a SELECT, UPDATE, or INSERT
statement?
A: SY-LOOPC
B: SY-LICNT
C: SY-SUBRC
D: SY-DBCNT
24. Which dialog programming section is used to initialize a screen's field values?
A: PBO
B: PAI
C: INITIALIZATION
D: None of the above
25. In regard to the OCCURS parameter, which of the following is a true statement?
A: Determines the maximum number of rows when using APPEND itab SORTED BY.
B: Sets the upper limit for adding rows with APPEND itab.
C: Allocates memory in blocks of 800 Bytes.
D: None of the above
26. In regard to the START-OF-SELECTION event, which of the following is a true statement?
A: Executed before the selection screen is displayed.
B: This is the only event in which a SELECT statement may be coded.
C: Executed when the user double-clicks a list row.
D: Automatically started by the REPORT statement.
27. An administrative unit in which SAP services are started and stopped at the same time is called:
A: Message server
B: Instance
C: Gateway
D: Profile
28. The following code will output:
write: /1 'Start'.
PERFORM write_next.
write: 'End'.
FORM write_next.
write: 'next'.
EXIT.
write: 'more'.
ENDFORM.
A: Start next
B: Start next more
C: Start next End
D: Start more End
29. SELECT SINGLE requires no ENDSELECT.
A: True
B: False
30. Given:
LOOP at itab.
AT NEW field1.
Write: /1 itab-field1.
ENDAT.
ENDLOOP.
All non-numeric fields to the right of itab-field1 are

A: Left unchanged
B: Filled with spaces
C: Filled with *
D: None of the above
31. The ABAP keyword for adding authorizations to a program is ____.
A: AUTH-CHECK
B: AUTHORITY-CHECK
C: AUTHORIZATION-CHECK
D: AUTHORITY-OBJECT
32. If the following code results in a syntax error, the remedy is:
DATA: itab TYPE SORTED TABLE OF rec_type WITH UNIQUE KEY field1
WITH HEADER LINE.
itab-field1 = 'Company'. itab-field2 = '1234'. INSERT TABLE itab.
itab-field1 = 'Bank'. itab-field2 = 'ABC'. INSERT TABLE itab.
SORT itab.
LOOP AT itab.
write: /1 itab-field1, itab-field2.
ENDLOOP.
A: There is no syntax error here
B: Remove the SORT statement
C: Change INSERT to APPEND
D: Add a WHERE clause to the loop
33. You declare a local data object that retains its value across multiple subroutine calls using the keyword
A: DATA
B: TYPES
C: PARAMETERS
D: STATICS
34. Given this code, what will be the resulting output?
report zabaprg.
DATA: address(45) type C value '1600 Penn Ave.', street like address.
address = '100 Washington Place'.
WRITE: /1 'He lives at', street.
A: He lives at 100 Washington Place
B: He lives at
C: He lives at 1600 Penn Ave.
D: He lives at 100 Washington Place, 1600 Penn Ave.
E: None of the above
35. A SELECT statement without a WHERE clause is generally bad design.
A: True
B: False
36. To code a blank line on a selection screen, use SELECTION-SCREEN:
A: COMMENT
B: EXCLUDE
C: ULINE
D: SKIP
37. If itab contains 20 rows, what will SY-TABIX equal when the program reaches the WRITE statement below?
SY-TABIX = 10.
LOOP AT itab.
count_field = count_field + 1.
ENDLOOP.
WRITE: /1 count_field.

A: 0
B: 10
C: 20
D: 30
38. Which of the following is NOT a true statement in regard to a sorted internal table type?
A: May only be accessed by its key.
B: Its key may be UNIQUE or NON-UNIQUE.
C: Entries are sorted according to its key when added.
D: A binary search is used when accessing rows by its key.
39. Predefined selection criteria values assigned to a report are called:
A: Variants.
B: Matchcodes.
C: Search-helps.
D: Screen-batches.
40. In regard to the standard SAP authorization field ACTVT (Activity), "change" authority is represented by
____.
A: 02
B: 01
C: 03
D: 00
41. ABAP Open SQL contains both Data Definition Language (DDL) statements and Data Controlling Language
(DCL) statements.
A: True
B: False
42. The following code indicates:
SET SCREEN 200. LEAVE SCREEN.
A: Come back to the calling screen from screen 200.
B: Exit screen 200.
C: Branch back to the previous screen.
D: Branch to screen 200 without coming back.
43. While creating a secondary list, a message with type E will have all of these effects except:
A: The interactive processing block is terminated.
B: The entire report is terminated.
C: The previous list level is still displayed.
D: The same effects as a message with type W.
44. All of the following are true statements regarding SET TITLEBAR except:
A: Sets the title of the output list window.
B: A title is active for all screens until another SET TITLEBAR statement occurs.
C: Changes the report's title attribute.
D: A title is defined for a single program.
45. The following statement will result in a syntax error.
DATA: price(3) type p decimals 2 value '100.23'.
A: True
B: False
46. Given this code:
AT LINE-SELECTION.
Write: /1 'Thanks!'.
What will trigger the output of the word "Thanks!"?
A: Executing the ABAP report
B: Double-clicking a list row
C: Clicking once on a list row and pressing Enter
D: None of the above
47. To place a checkbox on a list, use

A: WRITE CHECKBOX.
B: FORMAT CHECKBOX ON.
C: WRITE fld AS CHECKBOX.
D: MODIFY LINE WITH CHECKBOX.
48. If c_index is a type N variable, what will be output by this code?
CLEAR c_index.
DO 3 times.
write: c_index no-gap.
c_index = c_index + 2.
ENDDO.
A: 2 4 6
B: 246
C: 0 2 4
D: 024
49. The following code reorders the rows so that:
DATA: itab LIKE kna1 OCCURS 0 WITH HEADER LINE.
itab-name1 = 'Smith'. itab-ort01 = 'Miami'. APPEND itab.
itab-name1 = 'Jones'. itab-ort01 = 'Chicago'. APPEND itab.
itab-name1 = 'Brown'. itab-ort01 = 'New York'. APPEND itab.
SORT itab BY name1 ort01.
A: Smith appears before Jones
B: Jones appears before Brown
C: Brown appears before Jones
D: Miami appears before New York
50. The following code indicates:
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: myparam(10) type C,
Myparam2(10) type N,
SELECTION-SCREEN END OF BLOCK.
A: Draw a box around myparam and myparam2 on the selection screen.
B: Allow myparam and myparam2 to be ready for input during an error dialog.
C: Do not display myparam and myparam2 on the selection screen.
D: Display myparam and myparam2 only if both fields have default values.
51. In the flow logic, what must you code in both PBO and PAI when you have included a table control in your
screen?
A: CHAIN_ENDCHAIN
B: AT EXIT-COMMAND
C: LOOP_ENDLOOP
D: SET PF-STATUS
52. The following code indicates:
SELECT fld1 FROM tab1 INTO TABLE itab
UP TO 100 ROWS
WHERE fld7 = pfld7.
A: Itab will contain 100 rows.
B: Only the first 100 records of tab1 are read.
C: If itab has less than 100 rows before the SELECT, SY-SUBRC will be set to 4.
D: None of the above.
53. Which system field corresponds to the current time?
A: SY-UZEIT
B: SY-TIME
C: SY-TIMID
54. The output for the following code will be
report zabaprg.
DATA: my_field type I value 99.
my_field = my_field + 1.
clear my_field.

WRITE: 'The value is', my_field left-justified.


A: The value is 99
B: The value is 100
C: The value is 0
D: None of the above
55. Assuming a pushbutton with function code 'FUNC' is available in the toolbar of a list report, what event is
processed when the button is clicked?
A: AT USER-COMMAND.
B: AT PFn.
C: AT SELECTION-SCREEN.
D: END-OF-SELECTION.
56. In regard to the INITIALIZATION event, which of the following is NOT a true statement?
A: Executed before the selection screen is displayed.
B: You should use SET PF-STATUS here.
C: You can assign different values to PARAMETERS and SELECT-OPTIONS here.
D: Executed one time when you start the report.
57. What value must ch_field contain so that "Nice job!" will be output?
write: /1 'Nice'.
CHECK ch_field NE 'X'.
Write: 'job!'.
A: 'X'
B: Anything other than 'X'
C: "Nice job!" will not be output by this code
D: None of the above
58. To both add or change lines of a database table, use ____.
A: INSERT
B: UPDATE
C: APPEND
D: MODIFY
59. If a program uses SELECT * statements, you should normally:
A: Include MANDT in the where clause.
B: Convert the SELECT * statements so that only the required fields are selected.
C: Completely remove the SELECT * statements from the program.
D: Do nothing.
60. In regard to performance, which of the following is a true statement?
A: WHILE is faster than DO.
B: Nested selects are efficient.
C: CHECK is very inefficient.
D: NE in a WHERE clause is better than EQ.
61. After double-clicking a line on a basic list, what will the system field SY-LSIND equal?
A: 0
B: 2
C: 1
D: The value is unchanged.
62. If a logical database contains the following in its selection screen definition, which statement is the most
efficient?
SELECTION-SCREEN FIELD SELECTION FOR TABLE LFA1.
A: SELECT * FROM LFA1_
B: GET LFA1.
C: GET LFA1 FIELDS: NAME1, STRAS, ORT01.
D: SELECT SINGLE * FROM LFA1_
63. The major difference between interactive reporting and dialog programming is
A: Dialog programming updates the database; interactive reporting does not.
B: Dialog programming uses module pools; interactive reporting does not.

C: Interactive reporting allows user input; dialog programming does not.


D: Interactive reporting reads and displays data; dialog programming does not.
64. Which of these sentences best describes how the CHECK statement works?
A: An box is output on the list and is open for user input.
B: Leave the program after processing the next line.
C: Make sure that the syntax is correct before allowing the program to run.
D: Only continue with the program if a given condition is true.
65. The ____ type of ABAP Dictionary view consists of one or more transparent tables and may be accessed by
an ABAP program using Open SQL.
A: Database view
B: Projection view
C: Help view
D: Entity view
66. To code a horizontal line on a selection screen, use SELECTION-SCREEN:
A: COMMENT
B: HLINE
C: ULINE
D: SKIP
67. To read an exact row number of an internal table, use this parameter of the READ TABLE statement.
A: INDEX
B: TABIX
C: ROW
D: WHERE
68. Which of these is NOT a valid type of function module?
A: Normal
B: Update
C: RFC
D: Dialog
69. In regard to the Identical Names Concept, which of the following is NOT a true statement?
A: Data flows back and forth between the screen and the main program.
B: If a field is in the main program, it is ignored.
C: At the end of PBO, the screen pulls in the values from the main program.
D: After user input, the screen pushes the values back into the main program.
70. If you want to use a SPA/GPA parameter value as a default value for a selection screen field, use:
A: MATCHCODE OBJECT
B: MODIF ID
C: DEFAULT
D: MEMORY ID
71. The correct sequence for creating your own function module via the function library is:
A: Create an interface, add source code, attach to a function group.
B: Create source code, attach to a function group, add an interface.
C: Create source code, add an interface, attach to a function group.
D: Enter a function group, create an interface, add source code.
72. To allow the user to execute a specific function, write code within the event ____.
A: START-OF-SELECTION.
B: AT LINE-SELECTION.
C: INITIALIZATION.
D: None of the above
ABAP Certification Sample Questions
1. Define an instance.
2. Define a client.
3. Which component handles traffic between the presentation and application server?
4. What is the standard customer namespace?

5. Are there any other customer namespaces?


6. What is true about secondary indexes: (choose correct option/s)
.Speed up database selection
.Slow down database updates
.Are created on the database when activated
.The index name looks like this: table_name$index_no
7. When activating a changed empty database table, what happens on the database?
8. What is a check table?
9. What is a foreign key table?
10. What happens in a left outer join if the right hand table does not have matching records?
11. In a search help, MUST you define at least one export parameter?
12. What is true about search helps: (choose correct option/s)
.Flexible processing with user exits
.Data selection from tables or views
.Can have defaults for import parameters
.Hit list can have several fields
13. What are valid statuses for BI folders?
14. Which transfer methods does the Data Transfer Workbench support?
15. Which technical field in the BDCDATA table holds the last cursor position?
16. Can the LSMW recorder be used to generate a CT program?
17. What is true about the LSMW: (choose correct option/s)
.Part of the SAP system
.Processes hierarchical data files (header and position)
.Needs a source field for every target field
18. Which data transfer technologies use the online transaction to load data?
19. The SAP Transaction Recorder can: (choose correct option/s)
.Generate a function module
.Be tested with CT
.Create a BI folder/session
20. If you change data while running a BI session in the foreground, what happens?
21. Do you need to know the transaction screen sequence to use Standard Data Transfer programs?
22. How do you read a LOCAL sequential file?
23. How do you write a sequential file?
24. How do you send the BDCDATA table in a Call Transaction statement?
25. What loop do you code for a READ DATASET statement?
26. Can BI update asynchronously?
27. How would you know if your synchronous CT update was successful?
Ans. From transaction Sm14
28. And asynchronous CT?
29. How can you use your own programs via the DXWB?
30. Where do you find the Object Type for registration of your program?
Ans. On the register object pop up screen
31. What is the purpose of using Update Techniques?
32. What statement is required in order to trigger updating with Update Techniques?
33. What statement or event marks the end of one SAP LUW and the beginning of a new one?
Ans. Commit work
34. What part/s of the interface is/are not permitted in an Update Function Module?
Ans.
35. If you use Perform on Commit, at what point is the interface of the subroutine evaluated?
36. How can you undo database updates?
37. How would an Enqueue function module tell you that a record is already locked?
Ans. Value of Foreign key lock parameter
38. Are transaction codes stored on T100?
39. Can you have V1 and V2 updates in one transaction?
Ans. V1 updates are primary & critical updates and V2 are secondary and non-critical updates.
40. What key is needed before you can modify a SAP program?
41. Which 2 transaction codes are used to manage enhancements?
42. Which enhancement is local, which is global:
.Field Exits
.Screen Exits
.Program Exits
.Menu Exits
43. Where can you create an enhancement to show your own F1 Help on a field?
44. What is the sequence of modification adjustments during upgrade?

Ans. SPDD & SPAU.


45. What enhancements can be created using Cmod?
46. When will AT NEW NAME1 happen?
47. What table stores icons?
48. Does a SELECT statement automatically perform a client check?
49. Which event gets triggered when the function code PICK occurs?
50. Can user Smith copy user Jones' Quickviews?
51 What methods of data collection does a functional area have access to?
52. What is true about ABAP Query: (choose correct option/s)
.Users do not need ABAP knowledge
.Users are assigned to User Groups
.Queries are sharell> - <a Authorization Areas
53. Can Quickviews be converted at ABAP Queries?
54. Can Quickviews be transported?
55. What happens in a Get Sflight event?
56. Which statements produce a selection screen in a list?
57. If you use a Logical Database, how do you read the lowest hierarchy?
58. Why would you group corrections in a change request?
59. What will be the result in Name2:
Name1 = 'Williamson'. Name2 = Name1+3(4).
60. Which of the following can not be done to an internal table type SORTED:
.Collect
.Modify
.Append
.Sort
Ans. Sorted type table cannot be sored. So D.
61. Which statements are correct regarding function modules: (choose correct option/s)
.Embedded in type F program
.Encapsulate screen sequences
.Have an interface
.Can have optional parameters
62. Sorting a type SORTED table will have what effect?
Ans. You cannot sort ,Sorted type table.
63. How does an event block end?
64. Are event blocks performed sequentially as coded?
65. How do you call an event?
66. When are CHANGING parameters passed back from a subroutine?
67. When calling function modules, is there a common work area for database tables shared between the
program and the fm?
68. Which table stores Parameter Id's used in SAP Memory?
Ans. TPARA.
69. What do you press to see a screen field's parameter id?
70. Where do you look in the screen painter to see a field&#8217;s parameter id?
71. What function type would the CANCEL function have?
72. Which PAI module would process this function?
73. Can screens be assigned to more than one module pool?
74. Which workbench tool is used to build screens?
75. How many radio button groups can you have on a screen?
76. How can you check if include programs are compatible with your code?
77. When would an ON CHAIN-INPUT module be performed?
78. What is the code for showing a list produced in a dialog program?
79. How could you produce a selection screen for this list?
80. What is the effect of SUPPRESS DIALOG in PBO?
81. When is field Name1 transported to the program in this coding:
Process After Input.
Module ABC.
Field Name1 Module DEF.
Field Name2 Module GHI.
82. If an error message was raised in Module GHI, which fields would be ready for input?
83. In which 2 places could you set the GUI status and titlebar for a modal dialog box?
84. How many originals of a program can exist in a 3-system landscape?
85. Code an array fetch to load a group of records into an internal table.
86. What does an authority check do?
87. Which data type should be used for ABAP calculations with decimals requiring absolute precision?
88. Why would the following code produce only one record in the list?

Select * from sflight.


Write: sflight-connid, sflight-carrid.
Endselect.
89. How do you read one record only from the database?
90. How many statements are contained in the following code:
Move a to: b, c, d.
91. Which type of internal table cannot be processed using the index?
Ans. Hash Type
92. There is a screen used to display the contents of a internal table. Itab is a table control or step loop. For
batch input processing you need to position the cursor on the field Itab-field2 in the forth line. What are the
required values for the fields FNAM and FVAL in table BDC?
.FNAM = BDC_CURSOR. FVAL = ITAB-FIELD2(4).
.FNAM = ITAB(4). FVAL = BDC_CURSOR.
.FNAM = SET_CURSOR. FVAL = FIELD2(4)

Potrebbero piacerti anche