abap cert some examples

95
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 4 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

Upload: palsign

Post on 18-Jul-2016

64 views

Category:

Documents


19 download

TRANSCRIPT

Page 1: Abap Cert Some Examples

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

4

cl_context_clas cl_ctmenu cl_menu menu_class

Starting at Column 10, Row 20 Ending at Column 20, Row 30Starting 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

Page 2: Abap Cert Some Examples

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

Loop at itab. ctr = ctr + 1write: sy-tabix.check ctr = 3.

Page 3: Abap Cert Some Examples

delete itabendloop.1 2 3 3 4 1 2 4 5 1 2 3 4 5 1 2 3 4

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: begin of itab_structure,Field1 type p,Field2 type c,Field3 type I,Field4 type n,end of itab_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 caseThe 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

Page 4: Abap Cert Some Examples

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

Perform calculate_sales using amount.

FORM calculate_sales changing value(f_amount) (More than one answer is correct)

Formal Parameter f_amount is allocated it’s 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

Page 5: Abap Cert Some Examples

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_

Select A B Cfrom my_tableinto wa_listThe 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 clieObjects created using the IMG are stored in the repositoIt stores development objects It stores client-specific objects

It is attached to profiles An authorization is defined in the program attributesDefines 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

Page 6: Abap Cert Some Examples

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

Page 7: Abap Cert Some Examples

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

Page 8: Abap Cert Some Examples

Enabled Non Updateable

implementation definition attributes method

Result Exception Importing Returning

REFRESH_TABLE_DISPLAY SET_TABLE_FOR_DISPLAY SET_TABLE_FOR_FIRST_DISPLCONSTRUCTOR

Hashed

CREATEFROMDATA GETDETAIL UPDATEDETAIL CREATELIST GETLIST

SY-LISEL

CL_GUI_CUSTOM _CONTAINER CL_GUI_ALVGRID_CONTAINER CL_GUI_CONTAINER_ALV

Select A B Cfrom my_tableinto wa_listOnly 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

Page 9: Abap Cert Some Examples

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

Page 10: Abap Cert Some Examples

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

2

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

Page 11: Abap Cert Some Examples

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

Page 12: Abap Cert Some Examples

The system places the cursor in the error field PBO is reprocessed The field is ready for input again

4

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.Module Validate on Chain-InputENDCHAIN.

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

Page 13: Abap Cert Some Examples

Process After InputModule Exit at exit-commandField ABC Module Validate_ABC.

10 All fields not defined in FIELD statements20 System performs Auto Field Checking 30 Fields in FIELD Statements

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

Page 14: Abap Cert Some Examples

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

Page 15: Abap Cert Some Examples

Call Function Enqueue_ESMYLOCK ExportingField1 = …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

Page 16: Abap Cert Some Examples

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

Page 17: Abap Cert Some Examples

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

Page 18: Abap Cert Some Examples

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

Page 19: Abap Cert Some Examples

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

Page 20: Abap Cert Some Examples

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_container type ref to cl_gui_custom_container,cl_grid type ref to cl_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

Page 21: Abap Cert Some Examples

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

Page 22: Abap Cert Some Examples

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

Page 23: Abap Cert Some Examples

Create a Batch input session for each transaction Issue a COMMIT Work every time you perform a BDC_OPEN_GROUPIssue 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.

Page 24: Abap Cert Some Examples

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

Page 25: Abap Cert Some Examples

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. Business Blueprint2. Realization3. Project Preparation4. Go-Live and Support5. Final Preparation

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.Project Leader creates a change request and assigns developers to the change requestB.Developer creates repository objects and assigns objects to a development classC.WBO creates a task for each developer assigned to the change requestD.Project Leader releases change requestE.Developer releases taskF.Objects are exported to the transport directory

Page 26: Abap Cert Some Examples

B A C D E F A C B E D F A B C D E F

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

Page 27: Abap Cert Some Examples

catalog

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

At Selection-Screen on value-request for sales. Call screen 100.

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

Page 28: Abap Cert Some Examples

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.

Page 29: Abap Cert Some Examples

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

Page 30: Abap Cert Some Examples

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

Page 31: Abap Cert Some Examples

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.

Page 32: Abap Cert Some Examples

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?

Page 33: Abap Cert Some Examples

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.

Page 34: Abap Cert Some Examples

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

Page 35: Abap Cert Some Examples

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?

Page 36: Abap Cert Some Examples

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?

Page 37: Abap Cert Some Examples

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.

Page 38: Abap Cert Some Examples

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

Page 39: Abap Cert Some Examples

5. These events are listed in the order they will be processed: AT SELECTION-SCREEN, START-OF-SELECTION, 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:

Page 40: Abap Cert Some Examples

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

Page 41: Abap Cert Some Examples

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

Page 42: Abap Cert Some Examples

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

Page 43: Abap Cert Some Examples

____. 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.

Page 44: Abap Cert Some Examples

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.

Page 45: Abap Cert Some Examples

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.

Page 46: Abap Cert Some Examples

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 non-initial 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

Page 47: Abap Cert Some Examples

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

Page 48: Abap Cert Some Examples

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

Page 49: Abap Cert Some Examples

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:

Page 50: Abap Cert Some Examples

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

Page 51: Abap Cert Some Examples

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:

Page 52: Abap Cert Some Examples

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.

Page 53: Abap Cert Some Examples

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

Page 54: Abap Cert Some Examples

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?

Page 55: Abap Cert Some Examples

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'.

Page 56: Abap Cert Some Examples

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

Page 57: Abap Cert Some Examples

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

Page 58: Abap Cert Some Examples

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

Page 59: Abap Cert Some Examples

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:

Page 60: Abap Cert Some Examples

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

Page 61: Abap Cert Some Examples

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

Page 62: Abap Cert Some Examples

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:

Page 63: Abap Cert Some Examples

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

Page 64: Abap Cert Some Examples

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

Page 65: Abap Cert Some Examples

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 non-initial 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

Page 66: Abap Cert Some Examples

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.

Page 67: Abap Cert Some Examples

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: FalseMORE ABAP QUESTIONS FROM SKILL DRILL

1. Which of the following is not a valid ABAP relational operator? A: CP

Page 68: Abap Cert Some Examples

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

Page 69: Abap Cert Some Examples

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.

Page 70: Abap Cert Some Examples

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.

Page 71: Abap Cert Some Examples

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:

Page 72: Abap Cert Some Examples

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

Page 73: Abap Cert Some Examples

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.

Page 74: Abap Cert Some Examples

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.

Page 75: Abap Cert Some Examples

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.

Page 76: Abap Cert Some Examples

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 Sm1428. 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 screen31. 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 work34. 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?

Page 77: Abap Cert Some Examples

Ans. Value of Foreign key lock parameter38. 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?

Page 78: Abap Cert Some Examples

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 Type92. 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)