Google
 

Tuesday, September 18, 2007

Google Hacks ebook download

SAPscript Made easy free ebook download

Wednesday, September 12, 2007

ABAP Certification Questions

1. What is the fastest way to move one internal table to another internal table (assuming two tables of similar structure)?

a) append lines of table1 to table2.

b) loop at table1.
Move: table1-field1 to table2-field1,
table1-field2 to table2-field2.
Append table2.
Endloop.

c) table2[] = table1[].

d) loop at table1.
Move-corresponding table1 to table2.
Endloop.

e) move table1 to table2.

2. Which one of the following is true about a function module?

a) Function modules are locally accessible objects.

b) Function modules have inbound and outbound parameters.

c) Function modules have no built-in exception handling.

d) Function modules CANNOT be created by a programmer.

e) Function modules use a shared memory area.

3.

data: field1 type I value 10.

End-of-selection.
Subtract 2 from field1.
Write: / 'field1 =', field1.

Start-of-selection.
Add 5 to field1.
Write: / 'field1 =', field1.

Initialization.
Field1 = 5.
Write: / 'field1 =', field1.

What is the result after executing the above code?

a) field1 = 10
field1 = 8

b) field1 = 8
field1 = 14
field1 = 5

c) field1 = 5
field1 = 3
field1 = 8

d) field1 = 5
field1 = 10
field1 = 8

e) field1 = 8
field1 = 14

4. Which one of the following commands is used in drill-down reporting?

a) AT LINE-SELECTION

b) MODULE SET_SCREEN

c) LEAVE SCREEN

d) END-OF-PAGE

e) ON VALUE-REQUEST

5. What is an object which CANNOT be transported?

a) A local object

b) A change request

c) A development object

d) A class

e) A task

6. A GUI-Status is created in which transaction?

a) Flow Logic

b) Menu Painter

c) GUI Painter

d) Screen Painter

e) Status Painter

7. Which one of the following statements creates a GUI-status in a dialog program?

a) set pf-status '0100'.

b) set screen '0100'.

c) set gui-status '0100'.

d) set gui-status = '0100'.

e) set status '0100'.

8. Dialog programs have which naming convention?

a) ZPBOxxx

b) SAPMZxxx

c) ZDIAxxx

d) ZPAIxxx

e) Zxxx

9. Which dictionary structure contains system fields?

a) SYSTEM

b) SYTAB

c) SYST

d) SY

e) SYS

10.

An internal table ICODE contains the following entries:
field1 field2
--------------
John 12345
Alice 23478
Sam 54321
Bob 10000

IF NOT ICODE[] IS INITIAL.
SORT ICODE BY FIELD1 DESCENDING.
READ TABLE ICODE WITH KEY FIELD1 = 'Sam'.
WRITE: / SY-TABIX.
ENDIF.

What is the output of the above code after execution?

a) 1

b) 2

c) 3

d) 4

e) Sam

11.

Data: number type i.



d) field-symbols (f1) like f1.

e) field-symbols {f1}.

12. Which one of the following statements would occur in the PBO of a dialog program using table control?

a) loop at itab.

b) loop at itab with control itab_tc.

c) module exit at exit-command.

d) module user_command.

e) set screen '0100'

13.

data: begin of itab occurs 0,
field1(10),
field2(10),
end of itab.

Move: 'A' to itab-field1,
'B' to itab-field2.
Append itab.
Append itab.
Move: 'B' to itab-field1.
Append itab.
Clear itab.
Move: 'A' to itab-field2.
Append itab.

What are the contents of itab after executing the above code?

a) A B
A B
B B
A

b) A B
A B
B
A

c) A B
B
A

d) A B
B A
A

e) A B
B A
B A
B A

14. When debugging a BDC session, which command is used to exit the session?

a) /n

b) /bend

c) /nexit

d) /nquit

e) /exit

15. Which system field returns the number of records returned after a select?

a) sy-index

b) sy-recno

c) sy-lncnt

d) sy-dbcnt

e) sy-tabix

16. Which statement regarding Logical databases is FALSE?

a) Logical databases use a tree structure.

b) Logical databases use a standard selection-screen for selection criteria.

c) More than one logical database can be used in a report.

d) Any change to a logical database is reflected in all reports using that logical database.

e) Logical databases simplify and encapsulate data retrieval

17. Which one of the following is an example of an asynchronous update?

a) modify ztable from wa.

b) update ztable set field1 = '123'.

c) update ztable from ztable.

d) insert wa into ztable.

e) call function 'update_table' in update task

18. Which return code is associated with a failed authority check due to lack of user authorization for the chosen action?

a) 0

b) 4

c) 8

d) 12

e) 24

19. Which transaction is used to monitor, release, and reprocess BDC sessions?

a) SM36

b) SE37

c) SE35

d) SP35

e) SM35

20. What is the structure for the following select-options? Select-options: zname like ztable-name.

a) zname-sign
zname-value
zname-low
zname-high

b) zname-low
zname-high
zname-pattern

c) zname-sign
zname-option
zname-low
zname-high

d) zname-sign
zname-option
zname-low

e) zname-sign
zname-option
zname-low

21. Which of the following are elementary types in ABAP?

a) C,D,F,H,I,N,P,T

b) C,D,F,I,N,P,Q,T

c) A,D,F,I,N,P,T,X

d) A,D,F,H,N,P,T,X

e) C,D,F,I,N,P,T,X

22.

data: f1 type I value 1,
f2 type I value 1.
Write: / f1, f2.
Do 2 times.
Perform scope.
Enddo.
Write: / f1, f2.

Form scope.
Data: f1 type I value 2,
f2 type I value 2.
Add: 1 to f1, 1 to f2.
Write: / f1, f2.
Endform.

What is the output of this program after execution?

a) 1 1
3 3
4 4
4 4

b) 1 1
2 2
3 3
1 1

c) 1 1
3 3
3 3
3 3

d) 1 1
2 2
3 3
3 3

e) 1 1
3 3
3 3
1 1

23. Program specs call for screen 100 to appear in a modal dialog box.

PAI
------------
module do_something.
If field1 = 'X'.
Call screen '0100'.
Endif.
Endmodule.

Why does the above code fail to produce a modal box?

a) The addition 'starting at X' is left out.

b) The screen should be numbered 900.

c) The code must occur in the PBO.

d) The screen is of the wrong type.

e) Screens are not called within modules.

24. Field-symbols are defined in which of the following ways?

a) field-symbols f1 for f1.

b) field-symbols [f1].

c) field-symbols like f1.

d) field-symbols (f1) like f1.

e) field-symbols {f1}.

25.

1 TABLES: MARC.

2 DATA: BEGIN OF ITAB OCCURS 0,
3 FIELD1(5),
4 FIELD2(5),
5 END OF ITAB.

6 READ ITAB WITH KEY MATNR = '12345'.
7 IF SY-SUBRC = 0.
8 WRITE:/ ITAB-MATNR.
9 ENDIF.

Referring to the above code, which line contains an error?

a) Line 2

b) Line 5

c) Line 6

d) Line 7

e) Line 8



25.

1 TABLES: MARC.

2 DATA: BEGIN OF ITAB OCCURS 0,
3 FIELD1(5),
4 FIELD2(5),
5 END OF ITAB.

6 READ ITAB WITH KEY MATNR = '12345'.
7 IF SY-SUBRC = 0.
8 WRITE:/ ITAB-MATNR.
9 ENDIF.

Referring to the above code, which line contains an error?

a) Line 2

b) Line 5

c) Line 6

d) Line 7

e) Line 8



26.

Loop at itab.
Write itab.
Endloop.

From where is the written line derived in the above loop statement?

a) The table work area

b) sy-subrc

c) sy-index

d) The table header

e) sy-lisel

27.

An internal table icode contains the following entries:


Field1 Field2
--------------
John 12345
Alice 23478
Sam 54321
john 50000

DATA: BEGIN OF ICODE OCCURS 0,
FIELD1(5),
FIELD2(5),
END OF ICODE.

READ TABLE ICODE WITH KEY FIELD1 = 'John' BINARY SEARCH.



Why does executing the above code return a sy-subrc of 4?

a) Icode-field2 must be a numeric field.

b) The internal table has an incorrect structure.

c) Both internal table fields must be used in the search.

d) The internal table must be sorted first.

e) 'John' should not be capitalized.

28.

Data: pos like sy-index,
index(1).

do 10 times.
Check sy-index between 2 and 6.
Add 1 to pos.
Move sy-index to index.
Write at pos index.
Enddo.

What is the output of the above code after execution?

a) 26

b) 1789

c) 23456

d) 132578910

e) 178910

29. Dialog programs are of which type?

a) Type B

b) Type 1

c) Type *

d) Type M

e) Type S

30.

data: f1(12) type c value 'Test Variant',
f2(6) type c,
f3(8) type c.

Move: f1 to f2,
f2 to f3.

What do f1, f2, and f3 contain after executing the above code?

a) f1: 'Test Variant'
f2: 'ariant'
f3: ' ariant'

b) f1: 'Test Variant'
f2: 'ariant'
f3: ' Variant'

c) f1: 'Test Variant'
f2: 'Test V'
f3: 'st Varia'

d) f1: 'Test Variant'
f2: 'Test V'
f3: 'Test V '

e) f1: 'Test Variant'
f2: 'Test V'
f3: 'Test Var'

31.

1. Data: Begin of itab occurs 0,
field1,
End of itab.
2. Data: Itab1 like itab occurs 0.
3. Data: Itab1 type itab occurs 0.
4. Data: Begin of itab1 occurs 0.
Include structure itab.
Data: End of itab1.

Which of the above statements code internal tables with a header line?

a) Lines 1 and 4

b) Lines 1 and 3

c) Lines 2 and 4

d) Lines 1 and 2

e) Lines 2 and 3

32. Which one of the following SQL statements does NOT lock the affected database entries ?

a) select *

b) Insert

c) Delete

d) select single for update

e) modify

33.

data: begin of itab occurs 0,
num1 type I,
num2 type I,
num3 type I,
mark,
end of itab.

Delete from itab where mark eq 'D'.

Itab entries:
1 2 3 D
2 3 4
3 4 5 D
4 5 6 D
7 8 9 d
7 8 9 D

Given the ITAB entries, what are the contents of ITAB after executing the above code?

a) 1 2 3 D
2 3 4
3 4 5 D
4 5 6 D
7 8 9 d

b) 2 3 4

c) 7 8 9 d
7 8 9 D

d) 2 3 4
3 4 5 D
4 5 6 D
7 8 9 d
7 8 9 D

e) 2 3 4
7 8 9 d

34.

data: f1 type I value 1,
f2 type I value 1.

Do 2 times.
Perform scope.
Enddo.

Form scope.
Statics: f1 type I value 2,
f2 type I value 2.

Add: 1 to f1, 1 to f2.
Write: / f1, f2.

Perform scope2.

Endform.

Form scope2.
Write: / f1, f2.
Endform.

What is the output of the above program after execution?

a) 3 3
1 1
4 4
1 1

b) 3 3
3 3
3 3
3 3

c) 3 3
3 3
4 4
4 4

d) 3 3
0 0
4 4
0 0

e) 3 3
1 1
4 4
3 3

35. An ABAP Screen is created in which transaction?

a) Screen Editor

b) Screen Painter

c) Menu Painter

d) ABAP Editor

e) Status Painter

36. Data written to the database would be reversed under which of the following circumstances?

a) Dequeue

b) Enqueue

c) Commit

d) Message Xnnn

e) End of Transaction

37. Program specifications ask for error checking on a selection-screen which contains a parameter inside a frame.

a) at selection-screen on block b1

b) selection-screen check block b1

c) at selection-screen

d) selection-screen on field f1

e) check selection-screen

38. Table ztest has a secondary index on the following fields:

tnum, tcode.


Select * from ztest where tnum ne '123' and tcode = '456'.

Why is the index not used in the above case?

a) Indexes are not allowed on Z tables

b) Variables must be used, NOT literals

c) Select individual fields, not select *

d) Client is not in the where clause

e) NE invalidates the use of an index

39. An internal table has two fields :

Field1

Field2

Which of the following is the fastest way to fill an internal table of the structure above.

a) select field1 field2 into (itab-field1, itab-field2)
from ztable where field1 = '10'.
Append itab.
Endselect.

b) select * from ztable
where field1 = '10'.
Move ztable to wa.
Append itab from wa.
Endselect.

c) select * into corresponding-fields of itab
from ztable where field1 = '10'.

d) select * from ztable
where field1 = '10'.
Append itab.
Endselect.

e) select * into table itab from ztable
where field1 = '10'.

40. Update Bundling can occur within which of the following?

a) Within dialog tasks and dequeue processes

b) Within dialog and update tasks

c) Within enqueue processes

d) Within enqueue and dequeue processes

e) Within update tasks and enqueue processes

41.

data: begin of itab occurs 0,
field1,
end of itab.

Do 3 times.
Append initial line to itab.
Append 'X' to itab.
Enddo.

Describe table itab.
Write: sy-tfill.

What is the value of sy-tfill after executing the above code?

a) 1

b) 2

c) 3

d) 6

e) 12

42.

Table zinfo Entries:
-------------------- a1 Smith 100.00 50.00
Field Type a1 Jones 100.00 50.00
-------------------- a2 Bob 100.00 50.00
id C a3 Bob 100.00 50.00
name C a4 Mike 100.00 50.00
sales P a5 Mary 100.00 50.00
sales2 P a5 Mary 100.00 50.00

Using the above information, what is the result of the following code?

Loop at zinfo.
At new name.
Sum.
Write: / zinfo-id, zinfo-name, zinfo-sales.
Endat.
Endloop.

a) a1 Smith 100.00
a1 Jones 100.00
a2 Bob 100.00
a3 Bob 100.00
a4 Mike 100.00
a5 Mary 200.00

b) a1 Smith 100.00
a1 Jones 100.00
a2 Bob 200.00
a4 Mike 100.00
a5 Mary 100.00

c) a1 Jones 200.00
a2 Bob 200.00
a4 Mike 100.00
a5 Mary 100.00
a5 Mary 100.00

d) a1 Jones 200.00
a2 Bob 200.00
a4 Mike 100.00
a5 Mary 100.00

e) a1 Smith 200.00
a2 Bob 100.00
a3 Bob 100.00
a4 Mike 100.00
a5 Mary 200.00

43. Which one of the following is an INCORRECT form of the WRITE statement?

a) write x no-sign.

b) write x no-decimals.

c) write x left-justified no-gap.

d) write x no-zero.

e) write x under y currency us.

44.

1. Data: Begin of imara occurs 0.
2. Include structure mara.
3. Data: End of imara.
4 Data: number like mara-matnr.

5. Select * into table imara
6. From mara where matnr = number.
7. If sy-subrc = 0.
8. Write:/ imara.
9. Endif.
10. Endselect.

Which line in the above code contains a syntax error?

a) 2

b) 5

c) 6

d) 8

e) 10

45.

data: field1(4) type c value 'ABCD'.

if field1 co 'ABCD'.

endif.

What is the value of sy-fdpos after this block of code is executed ?

a) D

b) 4

c) ABCD

d) A

e) 0

46. Which statement is INCORRECT when referring to SAP memory or ABAP memory?

a) ABAP memory is only stored during the lifetime of an external session.

b) You can use ABAP memory to pass data between internal sessions.

c) SAP memory is also referred to as Global Memory.

d) SAP memory is available across transactions.

e) IMPORT/EXPORT (TO MEMORY) statements are used for SAP memory.

47. A standard type internal table ICODE contains the following entries:
field1 field2
-------------
001 New York
002 Boston
003 Houston
008 Denver
010 San Diego
020 Seattle

READ TABLE ICODE WITH KEY FIELD1 = '015' BINARY SEARCH.
WRITE: / SY-TABIX.

What is the value of sy-tabix after executing the above code?

a) 0

b) 2

c) 5

d) 6

e) 7

48.

data: field1 type I value 10.

End-of-selection.
Subtract 2 from field1.
Write: / 'field1 =', field1.

Start-of-selection.
Add 5 to field1.
Write: / 'field1 =', field1.

Initialization.
Field1 = 5.
Write: / 'field1 =', field1.

What is the result after executing the above code?

a) field1 = 5
field1 = 10
field1 = 8

b) field1 = 8
field1 = 14

c) field1 = 10
field1 = 8

d) field1 = 5
field1 = 3
field1 = 8

e) field1 = 8
field1 = 14
field1 = 5

49.

data: f1 type I value 1,
f2 type I value 1.

Do 2 times.
Perform scope.
Enddo.

Form scope.
Statics: f1 type I value 2,
f2 type I value 2.

Add: 1 to f1, 1 to f2.
Write: / f1, f2.

Perform scope2.

Endform.

Form scope2.
Write: / f1, f2.
Endform.

What is the output of the above program after execution?

a) 3 3
1 1
4 4
3 3

b) 3 3
3 3
4 4
4 4

c) 3 3
3 3
3 3
3 3

d) 3 3
1 1
4 4
1 1

e) 3 3
0 0
4 4
0 0

50.

Table ZNAME Table ZINFO
------------- --------------------------
field key field key
------------- --------------------------
mandt X mandt X
id X id X
lname X dept
fname X division
address
phone
fax

Using the above table definitions, which one of the following selects uses proper syntax?

a) select * from zinfo where id = '0025'.
Loop at zinfo.
Write: / id.
Endloop.
Endselect.

b) select mandt id lname into (client, id, lname)
from zname where id = '0025'.

Write: / id.
Endselect.

c) select * into table itab from zname
where id = '0025'.
Select * from zinfo for all entries in itab
where id = itab-id.
Write: / zinfo-dept.
Endselect.

d) select a~id a~lname a~fname b~dept into table itab
from zname as a INNER JOIN zinfo as b
on a~id = b~id
where lname = 'Smith'.

Loop at zname.
Write: / zname-id, zname-lname.
Endloop.

e) select count ( id ) sum ( lname ) into (num, lname)
from zname where id = '0025'.
Write: / num, lname.
Endselect.




51. Which one of the following statements is FALSE?

a) Local objects CANNOT be transported to another instance.

b) After a CHANGE REQUEST is released, no further changes to its' objects are allowed.

c) Development classes can be viewed by using transaction SE80.

d) A CHANGE REQUEST contains objects that can be transported to QA-PRD.

e) A CHANGE REQUEST only contains one task.

52. Which one of the following statements would occur in the PBO of a dialog program using table control?

a) loop at itab with control itab_tc.

b) loop at itab.

c) set screen '0100'.

d) module user_command.

e) module exit at exit-command

53.

data n type i.

do 5 times.
If n > 0 and n < n =" n" n =" 5." n =" n" n =" n" n =" 3,">.

e) selection-screen followed by parameters.

67. Which component on the application server controls the data traffic between work process and presentation server?

a) SapGui.

b) message handler.

c) dispatcher.

d) Dynpro processor.

e) frontend processor.

68. Which options exist for extending a table without having to modify a table within the ABAP Dictionary? More than one answer is correct.

a) append fields to the table.

b) use append structures.

c) use customer includes.

d) CI includes.

e) Insert new table fields.

69. Which of the following steps should be carried out in a transaction that implements updates ? More than one answer is correct.

a) read the record that is to be updated.

b) lock the record that is to be updated.

c) pass the changed data to the update process.

d) unlock the record that is to be updated.

e) call the Abap command commit work.

70. Which enhancements planned by SAP are maintained in transaction CMOD (SAP enhancements)? More than one answer is correct.

a) Table appends

b) Menu exits

c) function module exits

d) User exits

e) Screen exits

71. Why would you group corrections together? More than one answer is correct.

a) To enable several corrections to be assigned to the same transport.

b) To transport objects from different development classes.

c) To prevent other developers from processing the same objects.

d) To enable several developers to process the same object in parallel.

e) To retain versions of several objects together.

72. Which statements are allowed if you are working with an internal table of type sorted? More than one answer is correct.

a) Append

b) Collect

c) Sort

d) Read

e) Modify

73. How can you set the status and title for a modal dialog box?

a) In the attributes of the corresponding screen.

b) Before the corresp. call screen statement.

c) In a PBO module of the corresponding screen.

d) In the PAI module of the corresponding screen.

74. Which ABAP datatype would you use for calculations which require high degree of precision?

a) P

b) I

c) F

d) N

e) X

75. Which of the following statements about R/3 instances are correct? More than one answer is correct.

a) An R/3 instance is an administrative unit that combines together all the components of a R/3 system that provide one or more services.

b) A central R/3 system consists of one or more Instances.

c) Each instance has its own SAP buffer area.

d) Each instance contains at least one dialog service .



76. Where can you find the SET/GET parameters that has been assigned to a screen field? More than one answer is correct.

a) in table TPARA.

b) in the object list of the module pool.

c) in the F1 help for the screen field under technical info.

d) in the field list of the screen in the screen painter.

e) in the window with possible values.

77. Which letters are allowed to be the first letter in the names of customer defined tables,structures and global types? More than one answer is correct.

a) Y

b) Z

c) W

d) T

78. What must you do to undo DB changes previously issued in a dialog? More than one answer is correct.

a) output E message.

b) perform rollback work.

c) raise exception.

d) Analyze log record.

e) code rollback LUW.

79. An update function module VF is called within subprogram VU .The program contains the call , VU on commit . At which point are the parameters for the update function VF evaluated ?

a) when perform is executed

b) at the beginning of function

c) at commit work

d) at start of v1 update

e) at the end of the dialog step

80. Which events and statements determine the end of an SAP LUW in an online program with synchronous update? More than one answer is correct.

a) call function in update task

b) the start of the next dialog step

c) commit work (explicit)

d) call screen

e) leave to list processing

81. What methods can be used to set the values for printing an online list? More than one answer is correct.

a) Include SET_PRINT_PARAMTERS

b) Function SET_PRINT_PARAMETERS

c) NEW-PAGE PRINT ON

d) Function GET_PRINT_PARAMETERS

82. What does a LDB(Logical Database) provide?

a) Consistent and flexible user interface

b) Central performance improvements for update accesses

c) A method to access the data in a random manner

d) Centrally defined authorization checks

83. When you EXPORT an internal table that has a header line to ABAP/4 memory, what is the result?

a) Only the contents of the internal table is stored

b) Only the header line is stored

c) The header line and contents of the internal table are stored

d) You cannot EXPORT an internal table with a header line.

84. Which Report Statement option determines the width of a list?

a) Line-Size

b) Line-Count

c) Line-Width

d) Report Size

85. What happens to memory when the Export is executed without specifying ID. i.e EXPORT object to memory ?

a) The ABAP memory is completely overwritten

b) SAP Memory is overwritten

c) ABAP memory sets up a new default area

86. Mark the valid values for a checkbox . More than one answer is correct.

a) Any Alpha Character

b) Space

c) 0

d) 1

e) X

87. When does the processing block for a Get statement end?

a) When the next keyword event is encountered

b) When all data has been retrieved for the Get

c) After each PUT in the LDB

d) When the END GET statement is encountered

88. What technique would you use to fix the 10 leftmost columns on a list when scrolling to the right?

a) Set Left Scroll-Boundary Column 10

b) Set Right Scroll-Boundary Column 10

c) Scroll List PS+<10>

d) Scroll List Left

89. When does the system reset the formatting on a Write statement?

a) When explicitly changed using the Format statement

b) At any New Event

c) Using the Reset option of the Format statement

d) All of the above

90. Which type is not a valid GUI Status type?

a) Online(Dialog) Status

b) List Status

c) Dialog Box

d) Context Menu

91. What does the following code achieve?

At Selection-Screen on value-request for sales.

Call screen 100.

a) When the user presses F4, Screen 100 is displayed in addition to the normal help screen

b) When the user presses F1, Screen 100 is displayed instead of the normal possible values search help

c) When the user presses F4, Screen 100 is displayed instead of the normal possible values search help

d) When the user presses F1, Screen 100 is displayed in addition to the normal help screen

92. Which of the following are valid logical database types? More than one answer is correct.

a) Table

b) Structure

c) File

d) Complex Data Object

e) Node

93. Program A issues the following statement SUBMIT PROGRAM B. What takes place?

a) Program B becomes active in the same internal session of Program A

b) Program A becomes active in the same internal session of Program B

c) Program B runs in a new internal session

d) User Context is flushed

94. What is the code required in order to scroll the 3rd detail list to page 5 ?

a) Scroll LIST 3 5

b) Scroll LIST Index 3 to Page 5

c) Scroll LIST sy-index 3 to Page 5

d) Scroll LIST sy-lsind 3 to Page 5

95. For called program components that are of type transaction or report, what is true about the roll area (assuming processing will resume in the calling program).

a) They run in their own roll area

b) They run in the roll area of the caller

c) Share the same roll area

96. Select the line that would execute in the following code after the EXIT statement

10 get spfli.

20 * Processing of SPFLI records

30 write: spfli-carrid, spfli-connid.

40 counter = counter + 1.

60 if counter > 1.

70 Exit.

80 endif.

90 write:/ ‘No more processing for this Carrier’.

100 get sflight.

110 write: sflight-fldate, spfli-price.

120 end-of-selection.

130 write: / text-002, text-003.

a) 80

b) 100

c) 120

d) 130

e) Exits the Program

97. What is not a valid functional area type?

a) LDB

b) Sequential Data Set

c) Program

d) Search Help

e) Joined Tables

98. Which is not a valid option of the Write Statement?

a) NO-GAP

b) Input

c) Centered

d) Under

e) No-Zero

f) As RadioBox

99. What are the 3 main sub objects of a LDB? More than one answer is correct.

a) Structure

b) Selection Screen

c) Search Helps

d) Tables

e) DB Program

100. What is needed to ensure a check field is verified against the referenced key field of the check table?

a) same data element is required for check field and referenced field

b) same domain is required for check field and referenced field

c) same data type only is required for check field and referenced field

d) all key fields MUST have domain equality between check table andn foreign key table


101. What is true about the primary index of a table? More than one answer is correct.

a) The key fields of the table make up the primary index

b) The primary index ID is designated by the Database Adminstrator

c) The developer designates the fields to be used as the primary index

d) The primary index is automatically created when the table is activated


102. Which of the following gets stored as a Runtime Object?

a) Programs

b) Tables

c) Aggregate Objects

d) Fixed Values belonging to a domain


103. When is it better to buffer the table?

a) When a table is read infrequently

b) When a table is read frequently and the data seldom changes

c) When a table is read frequently and the data is always changing

d) When a table is linked to check tables


104. Identify the different type categories in the ABAP dictionary. More than one answer is correct.

a) Data Elements

b) Structures

c) Data definitions

d) Table Types

e) Data Models


105. What is true about views? More than one answer is correct.

a) A view is automatically created on the database upon activation

b) A view contains data

c) Maintenance Views are not updateable

d) Views can be buffered


106. Identify the case where table buffering should be set off.

a) When the most current data is required

b) When the most current data is not required

c) For Small Static non volatile tables

d) For Global Master Data


107. Table T1 wants to ensure that the key field t1-fielda entered is valid against a field t2-fielda in table T2. Which is the foreign key table?

a) T1

b) T2

c) T3 from the dictionary

d) Cannot be determined


108. Identify the one addition that is not part of the interface of a method

a) Importing

b) Result

c) Exception

d) Returning


109. What is the effect when a CLEAR statement is used on an internal table without header line?

a) The work area is intitialized

b) All the lines of the table are deleted

c) All the lines of the table are initialized

d) Nothing


110. What is the default mode for passing actual parameters in a Perform?

a) By Value

b) By Reference

c) By Changing


111. In the case of a function, Identify the item that is not a valid interface element.

a) Import parameters

b) Export parameters

c) Tables

d) Source Code

e) Exceptions


112. How would you clear the body of an internal table (with a header line). More than one answer is correct.

a) Clear ITAB[]

b) Refresh ITAB []

c) Clear ITAB

d) Refresh ITAB


113. When catching errors using the CATCH…ENDCATCH statement, where does the runtime error return code get placed?

a) sy-subrc

b) sy-fdpos

c) error class

d) system-exceptions


114. What is the value of ZFIELDB after the last line of the following code is executed?

Data: ZFIELDA(5) type c value 'ABCDE'.

ZFIELDB(4) type c.

ZFIELDA = ‘XX’.

Clear ZFIELDA.

ZFIELDB = ZFIELDA.

a) ABCDE

b) Spaces

c) ABCD

d) BCDE


115. Mark the valid use of the data statement. Assume that ZBOOK-ID is a dictionary object.

a) Data fielda value zbook-id

b) Data fielda type c like zbook-id

c) Data fielda(5) like zbook-id

d) Data fielda like zbook-id


116. Assuming you have created a data object of type c with the name ZFIELDA in your program. Which of the following is allowed?

a) Data: ZFIELDA type n

b) Types: ZFIELDA type I

c) Data: ZFIELDA type c

d) Constants: ZFIELDA type n


117. What do search statements REPLACE, SHIFT, CONCATENATE, SPLIT have in common? More than one answer is correct.

a) They all set sy-subrc

b) They all set sy-fdpos

c) They all distinguish between upper and lower case

d) They all treat the operands as type C regardless of their actual type

e) The actual type of each operand determines how the string processing is performed


118. What are valid uses of a variant? More than one answer is correct.

a) Hiding input fields

b) Pre-assigning values

c) Input validation

d) Security checking


119. How can you perform a direct database read from a buffered table?

a) Do not have buffering in the technical attributes

b) Add the BYPASSING BUFFER clause on the select statement

c) Buffering can be turned off on the application server by the programmer using the ABAP Workbench


120. What is the Effect of not Typing Formal parameters in a Form?

a) Conversion always occurs

b) Conversion never occurs

c) Forms are more flexible but prone to a short dump if conversion does not work

d) No effect

e) Forms are less flexible and are guaranteed no chance of a run time error


121. What requirement exists if a field is defined in the dictionary of type CURR?

a) The field must be numeric

b) Decimals must be defined in the domain

c) The field must be linked to another field of type CUKY

d) No other requirement exists


122. Which of the following is not a valid ABAP data statement?

a) Data fielda(5) type c

b) Data fielda(5) type n

c) Data fielda(5) type t

d) Data fielda(5) type x


123. What is the result of the following date calculation? Assume current date is 20001220.

Data: Today(8) type C.

Today = sy-datum.

Today = 10.

a) 10

b) 20001220

c) 10001220

d) 20011210


124. Mark the default size for a packed field

a) 1

b) 2

c) 4

d) 8

e) size must be specified


125. Refer to the following Code. What is the value of sy-fdpos and sy-subrc after the search is executed?

Data: mystring type c value 'ARAMCO'.

Search mystring for 'X'

a) sy-fdpos = 0 and sy-subrc = 0

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

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

d) sy-fdpos = 4 and sy-subrc = 4


126. What is true of passing by value and result in the following code? More than one answer is correct.

Perform calculate_sales using amount.

FORM calculate_sales changing value(f_amount)

a) Formal Parameter f_amount is allocated it’s own memory space

b) The address of the actual parameter is passed to the formal parameter

c) Formal parameter is copied to memory space of actual parameter at the end of the form

d) Formal parameter is not copied to memory space of actual parameter


127. Define a Logical Database.

a) An ABAP/4 Reading Program used to read and process data

b) A method to update data

c) A Reporting Tool

d) Defintion of a Relational Data Model


128. What happens if message E046 is raised?

At Selection-Screen on sales.

If sales-low <>129. What is a structured type in the ABAP dictionary that has no physical table defintion in the underlying database referred to as?

a) table

b) structured data type

c) structure

d) table type

Tuesday, September 4, 2007

What is SAP?

Click here

What is ABAP?

ABAP (Advanced Business Application Programming) is a high level programming language created by the German software company SAP. It is currently positioned, alongside the more recently introduced Java, as the language for programming SAP's Web Application Server, part of its NetWeaver platform for building business applications. Its syntax is somewhat similar to COBOL.

History

ABAP is one of many application-specific fourth-generation languages (4GLs) first developed in the 1980s. It was originally the report language for SAP R/2, a platform that enabled large corporations to build mainframe business applications for materials management and financial and management accounting. ABAP used to be an abbreviation of Allgemeiner Berichtsaufbereitungsprozessor, the German meaning of "generic report preparation processor", but was later renamed to Advanced Business Application Programming. ABAP was one of the first languages to include the concept of Logical Databases (LDBs), which provides a high level of abstraction from the basic database level.

The ABAP programming language was originally used by developers to develop the SAP R/3 platform. It was also intended to be used by SAP customers to enhance SAP applications – customers can develop custom reports and interfaces with ABAP programming. The language is fairly easy to learn for programmers but it is not a tool for direct use by non-programmers. Good programming skills, including knowledge of relational database design and preferably also of object-oriented concepts, are required to create ABAP programs.

ABAP remains the language for creating programs for the client-server R/3 system, which SAP first released in 1992. As computer hardware evolved through the 1990s, more and more of SAP's applications and systems were written in ABAP. By 2001, all but the most basic functions were written in ABAP. In 1999, SAP released an object-oriented extension to ABAP called ABAP Objects, along with R/3 release 4.6.

SAP's most recent development platform, NetWeaver, supports both ABAP and Java.

Implementation

Where Does the ABAP Program Run?
All ABAP programs reside inside the SAP database. They are not stored in separate external files like Java or C++ programs. In the database all ABAP code exists in two forms: source code, which can be viewed and edited with the ABAP workbench, and "compiled" code ("generated" code is the more correct technical term), which is loaded and interpreted by the ABAP runtime system. Code generation happens implicitly when a unit of ABAP code is first invoked; it can also be requested explicitly, which is very useful in some situations, for example for mass regeneration of code after a release upgrade. If the source code is changed later or if one of the data objects accessed by the program has changed (e.g. fields were added to a database table), then the code is automatically regenerated.

ABAP programs run in the SAP application server, under control of the runtime system, which is part of the SAP kernel. The runtime system is responsible for processing ABAP statements, controlling the flow logic of screens and responding to events (such as a user clicking on a screen button). A key component of the ABAP runtime system is the Database Interface, which turns database-independent ABAP statements ("Open SQL") into statements understood by the underlying DBMS ("Native SQL"). The database interface handles all the communication with the relational database on behalf of ABAP programs; it also contains extra features such as buffering of frequently accessed data in the local memory of the application server.

SAP Basis

The ABAP language environment, including the syntax checking, code generation and runtime system, is part of the SAP Basis component. SAP Basis is the technological platform that supports the entire range of SAP applications, now typically implemented in the framework of the SAP Web Application Server. In that sense SAP Basis can be seen as the "operating system" on which SAP applications run. Like any operating system, SAP Basis contains both low-level services (for example memory management, database communication or servicing Web requests) and high-level tools for end users and administrators. These tools can be executables ("SAP kernel") running directly on the underlying operating system, transactions developed in ABAP, or Web-based interfaces.
SAP Basis also provides a layer of abstraction between the business applications and the operating system and database. This ensures that applications do not depend directly upon a specific server or database platform and can easily be ported from one platform to another.

SAP Basis currently runs on UNIX (AIX, HP-UX, Solaris, Linux), Microsoft Windows, IBM Series i (former iSeries, AS/400) and IBM zSeries (former S/390). Supported databases are DB2, Informix, MaxDB, Oracle and Microsoft SQL Server (support for Informix was discontinued in SAP Basis release 7.00).

ABAP Objects in Release 6.20


1. New Class for Calculating with Time Stamps

2. New Variant PROVIDE FIELDS

3. Creating Objects from the XSLT Processor

4. Polymorphism and Object Services

5. Error Handling and Exceptions

6. New Methods for Ascertaining Type Attributes

7. Accessing Data References and Static Class Components in JavaScript

Modification 1

New Class for Calculating with Time Stamps

The class CL_ABAP_TSTMP was introduced for calculating with time stamps.


Modification 2

New Variant PROVIDE FIELDS

The PROVIDE FIELDS statement allows you to process internal tables without headers. The functions of the PROVIDE statement are therefore also available under ABAP Objects.


  • Modification 3

    Creating Objects from the XSLT Processor

    It is possible to create objects and call class methods from the XSLT processor. Now only public methods are allowed, whereas previously you could also call private and protected methods.

    The transfer of parameters now supports all ABAP Elementary Types, any object references, as well as the generic types CSEQUENCE and XSEQUENCE. Previously, the types C, D, F, I, N, STRING, and T were supported.

    The transfer has been tightened, so that for the data types D and I only valid specifications are permitted. Value losses for type P are now caught. The values of types X and XSTRING are converted into the XML standard format BASE64.

Modification 4

Polymorphism and Object Services


* The uniqueness of object keys is now checked not only by class, but across the whole inheritance hierarchy. Additionally, the behavior of the following methods has been changed:
* The methods RELEASE and REFRESH_PERSISTENT behave polymorphically, so that objects of subclasses can also be handled.
* The methods GET_PERSISTENT and DELETE_PERSISTENTnow access a table of the root class first, to optimize the type determination. Because the type is now stored over several transactions, it can no longer be changed.
* By searching in the tables of the root class, the methods CREATE_PERSISTENT and CREATE_TRANSIENT now check whether the object key exists in another class of the inheritance hierarchy.


Modification 5

Error Handling and Exceptions

The Interfaces IF_ABAP_MESSAGE and IF_ABAP_SERIALIZABLE_OBJECT have been added to the class CX_ROOT, which is the global superclass for all exceptions. They format texts from classes, implemented by these interfaces, as Message Texts. You can use the GET_LONG_TEXT method to obtain the long text for the exception text.


Modification 6

New Methods for Ascertaining Type Attributes


Two new methods have been introduced for ascertaining type attributes at runtime (RTTI):

* The IS_READ_ONLY method ascertains whether a referenced data object is write-protected.
* The method APPLIES_TO_DATA_REF carries out a type check between the description object and the data object. This allows you to ascertain the compatibility of data objects.

Modification 7

Accessing Data References and Static Class Components in JavaScript


Binding JavaScript objects to ABAP Objects has been extended to allow you to access data reference variables and static components (attributes and methods) of classes. In bound internal tables, you can delete rows using the JS method deleteLines and the JS method append has been renamed appendLine.

Structure Enhancements in SAP Release 6.20

Since Release 3.0, customers have been able to make changes to SAP's ABAP Dictionary structures and tables using Customizing includes or appends. However, these changes can cause problems in programs with an active Unicode Check. For example, if a purely character-type structure is enhanced, it can lose its character-type nature and hence its Fragment View is changed.

For Release 6.20, it has therefore been made possible to classify Dictionary structures and tables, so that problems resulting from structure enhancements can be easily recognized and dealt with. This classification is used in the ABAP program check to indicate all parts of the source code that will cause problems with structure enhancements - that is, where structure enhancements will cause a syntax error or change program behavior. The Dictionary categories and their effect in ABAP programs are described in the chapter Structure Enhancements.