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.

download free ebook - (siemens) TABC43 Data Transfer certification material

Download free ebook - (siemens) TABC42 ABAP Programming Techniques 2/2 certification material

Download free ebook - (siemens) TABC42 ABAP Programmiertechniken 1/2 Certification material

Free download - (siemens)TABC41 ABAP Development Workbench 2/2 Certification material

Free Download - (Siemens)TABC41 -ABAP Development Workbench 1/2 certification pdf

New Exceptions that Can Be Handled in Release 6.20


1. Exceptions that Can Be Handled and Method Calls

2. Exceptions that Can Be Handled and Function Module Calls

3. Exceptions that Can Be Handled and Widening Cast

4. Exceptions that Can Be Handled and CALL TRANSFORMATION

5. Exceptions that Can Be Handled and GENERATE REPORT|SUBROUTINE POOL

6. Exceptions that Can Be Handled and SCAN

7. Exceptions that Can Be Handled and Open SQL

8. Exceptions that Can Be Handled and EXPORT TO SHARED MEMORY

9. Exceptions that Can Be Handled and PROVIDE

Modification 1

Exceptions that Can Be Handled and Method Calls

For CALL METHOD the following exceptions can now be handled, having been assigned to existing exception classes:

* CALL_METHOD_NOT_IMPLEMENTED
* CALL_METHOD_NOT_ACCESSIBLE
* CALL_METHOD_CONFLICT_TAB_TYPE
* CALL_METHOD_CONFLICT_GEN_TYPE
* CALL_METHOD_CONFLICT_TYPE

Modification 2

Exceptions that Can Be Handled and Function Module Calls

For CALL FUNCTION the following exceptions can now be handled, having been assigned to existing exception classes. Only for the first two exceptions in the following list was the new exception class CX_SY_DYN_CALL_ILLEGAL_FUNC introduced:

* CALL_FUNCTION_NOT_ACTIVE
* CALL_FUNCTION_NOT_FOUND
* CALL_FUNCTION_PARM_MISSING
* CALL_FUNCTION_PARAM_NOT_FOUND
* CALL_FUNCTION_CONFLICT_GEN_TYP
* CALL_FUNCTION_CONFLICT_LENG
* CALL_FUNCTION_CONFLICT_TYPE
* CALL_CALL_FUNCTION_NO_VB
* CALL_FUNCTION_WRONG_ALIGNMENT


Modification 3


Exceptions that Can Be Handled and Widening Cast

For Widening Cast the following exceptions can now be handled, having been assigned to an existing exception class:

* MOVE_CAST_ERROR_DYN
* MOVE_CAST_REF_ONLY


Modification 4


Exceptions that Can Be Handled and CALL TRANSFORMATION

The following exception classes were introduced for the CALL TRANSFORMATION statement:

* CX_SY_CONVERSION_BASE64
* CX_SY_CONV_ILLEGAL_DATE_TIME


Modification 5

Exceptions that Can Be Handled and GENERATE REPORT | SUBROUTINE POOL

The following exception class was introduced for the GENERATE REPORT|SUBROUTINE POOL statement:

* CX_SY_GEN_SOURCE_TOO_WIDE


Modification 6

Exceptions that Can Be Handled and SCAN

For the SCAN statement, the following exception class ws introduced:

* CX_SY_SCAN_SOURCE_TOO_WIDE


Modification 7

Exceptions that Can Be Handled and Open SQL

In Open SQL, the following exceptions can now be handled, having been assigned to an existing exception class:

* ESCAPE_WITH_POOLTABLE
* SAPSQL_CONNECTION_ILL_TABTYPE


Modification 8

Exceptions that Can Be Handled and EXPORT TO SHARED MEMORY

For EXPORT TO SHARED MEMORY, the following exception was introduced:

* CX_SY_EXPORT_NO_SHARED_MEMORY


Modification 9

Exceptions that Can Be Handled and PROVIDE

For the new variant of the PROVIDE statement, the following exception classes were introduced:

* CX_SY_PROVIDE_INTERVAL_OVERLAP
* CX_SY_PROVIDE_TABLE_NOT_SORTED

The exceptions are not raised by the short form of PROVIDE.

EXTRA ( SAP Release 6.20 )

1. DAYLIGHT SAVING TIME for CONVERT TIME STAMP

2. AS PERSON TABLE for Infotypes

3. TO/FROM INTERNAL TABLE for EXPORT/IMPORT

4. CONNECTION for Open SQL

5. SOURCE for CALL TRANSFORMATION


Modification 1

DAYLIGHT SAVING TIME for CONVERT TIME STAMP

The addition DAYLIGHT SAVING TIME dst has been added to the CONVERT TIME STAMP tst statement This addition returns a flag in the data object dst that informs whether the time tst is within daylight saving (summer) time.

Modification 2

AS PERSON TABLE for Infotypes

This addition causes an internal table of personal data to be created when Infotypes nnnn is declared. The internal table receives the name PPnnnn, unless it was explicitly specified using the NAME addition.

Modification 3

TO/FROM INTERNAL TABLE for EXPORT/IMPORT

The variant EXPORT ... TO INTERNAL TABLE itab allows you to store cluster data in the internal table itab. Using the variant IMPORT ... FROM INTERNAL TABLE itab you can reimport the data you stored.

Modification 4

CONNECTION for Open SQL

The CONNECTION addition allows all Open SQL statements to use databases other than the standard database, as long as these databases are supported by SAP.

Modification 5

SOURCE for CALL TRANSFORMATION

The SOURCE addition allows the serialization of ABAP data and objects in a canonical XML format, where the XSLT processor is directly connected to the serialization. The result of this XSLT transformation can be displayed as an XML document or be converted back into ABAP data and objects.

Additions in Release 6.20

1. DAYLIGHT SAVING TIME for CONVERT TIME STAMP

2. AS PERSON TABLE for Infotypes

3. TO/FROM INTERNAL TABLE for EXPORT/IMPORT

4. CONNECTION for Open SQL

5. SOURCE for CALL TRANSFORMATION

Modification 1

DAYLIGHT SAVING TIME for CONVERT TIME STAMP

The addition DAYLIGHT SAVING TIME dst has been added to the CONVERT TIME STAMP tst statement This addition returns a flag in the data object dst that informs whether the time tst is within daylight saving (summer) time.

Modification 2

AS PERSON TABLE for Infotypes

This addition causes an internal table of personal data to be created when Infotypes nnnn is declared. The internal table receives the name PPnnnn, unless it was explicitly specified using the NAME addition.

Modification 3

TO/FROM INTERNAL TABLE for EXPORT/IMPORT

The variant EXPORT ... TO INTERNAL TABLE itab allows you to store cluster data in the internal table itab. Using the variant IMPORT ... FROM INTERNAL TABLE itab you can reimport the data you stored.

Modification 4

CONNECTION for Open SQL

The CONNECTION addition allows all Open SQL statements to use databases other than the standard database, as long as these databases are supported by SAP.

Modification 5

SOURCE for CALL TRANSFORMATION

The SOURCE addition allows the serialization of ABAP data and objects in a canonical XML format, where the XSLT processor is directly connected to the serialization. The result of this XSLT transformation can be displayed as an XML document or be converted back into ABAP data and objects.

Short Dumps in Release 6.20

1. Display of Work Areas

2. Selected Variables

3. SNAP Variables


Modification 1

Display of Work Areas

The system now only displays processed work areas, and the data area directory no longer exists. Instead you only see the directory of application tables including their administration information.

Modification 2

Selected Variables

The display of selected variables has been extended. You can now see the data for all call levels, whereas previously only the uppermost call level was displayed. You can see a display of all active calls under application calls.

Modification 3

SNAP Variables

The SNAP variable list contains the data for the short dump in compact form, without explanatory text. This data can be stored locally on the front end. Due to the shortened display, this format is suitable for sending, for example as an attachment in a customer problem message.

Further Changes in Release 6.20

1. Parameter INITIAL SIZE for Internal Tables

2. Relevant Language Key in Dictionary Structures

3. New Functions in Extended Program Check

4. Handling IMPORTING Parameters with CREATE

5. Secondary Language Access for Text Elements

6. Local SAP Memory for SET/GET PARAMETER

7. System field SY-TOCCU obsolete


Modification 1

Parameter INITIAL SIZE for Internal Tables

An internal table created in the ABAP Dictionary as a data type can be assigned an initial number of rows. This specification in the Dictionary has the same effect as the INITIAL SIZE addition in the ABAP source code. Therefore, all the specifications that describe a table, such as table type, key, row number and typ, are also available in the Dictionary.

Modification 2

Relevant Language Key in Dictionary Structures

For the error-free conversion of data that is swapped between Unicode and non-Unicode systems, you can specify the structure components responsible for the relevant language key in the ABAP Dictionary. If necessary, you can obtain this information from the Remote Function Call.

Modification 3

New Functions in Extended Program Check

The following changes have been made to the extended program check:

* Errors in included Type Groups are no longer displayed.
* An INSERT itab outside a loop causes a warning.
* All characters in the ABAP source code - especially special characters that do not comply with the Naming Conventions - trigger a warning.
* All Structure Enhancements whose ABAP source code indicate the possibility of runtime errors or changed program behavior trigger a warning.

Modification 4

Handling IMPORTING Parameters with CREATE

Formal parameters of methods that were transferred into the method using IMPORTING and referenced there using CREATE, can no longer be overwritten. This check, which was previously not executed till runtime, is now caught by the syntax check.

Modification 5

Secondary Language Access for Text Elements

A secondary language access is now available for report titles, list headings, selection texts, text symbols, and dynamic text specifications of the form ASSIGN ('TEXT-nnn') TO . If the text pool is not available in the logon language, then the system loads the text pool that corresponds with the entry in the Profile Parameter zcsa/second_language.
With the SET LANGUAGE lg statement, text elements that were not available in the text pool for the language lg previously remained unaltered. In the context of this change, these texts are now reset to their initial value.

Modification 6

Local SAP Memory for SET/GET PARAMETER

A local SAP Memory has been set up for the statements SET PARAMETER and GET PARAMETER. This ensures that parameters set within a transaction remain unchanged till the end of this transaction.

Modification 7

System field SY-TOCCU obsolete

In the statements READ TABLE, LOOP AT itab, and DESCRIBE TABLE, the system field SY-TOCCU is no longer filled.

ABAP help

Tools in Release 6.20


1. Code Inspector

2. Run Time Monitor

3. Debugger


Modification 1

Code Inspector

The Code Inspector is a tool that allows you statically check ABAP programs, function modules, classes, interfaces, and Dictionary objects for errors, performance, security, and reliability. The development of these Repository objects is supported by simple search and check functions. The check results are available in form of a tree hierarchy

The Code Inspector is called for a single object from the ABAP Editor by choosing Program → Check → Code Inspector, from the Function Builder by choosing Function Module → Code Inspector , or from the Class Builder by choosing Object Type → Check → Code Inspector. If you wish to check several Repository objects, for example all development classes in a package, then these can be grouped together in an object set. You also have the possibility of defining check variants with individual checks. A check of all objects in an object set using a specified check variant is called an inspection.

The Code Inspector executes purely static checks that only return hints and clues for an object. The actual runtime behavior can be ascertained using Runtime Analysis or SQL Trace.

Modification 2

Run Time Monitor

The Run Time Monitor is a framework that supports the recording of ABAP program information at runtime. This information can come from tests that are fixed in the SAP kernel. ABAP programmers can also query and log specific program conditions at runtime.

With Test Create ABAP Test, the Runtime Monitor creates a class, which can be called to record data in the source code. The data is first compressed in the main memory and periodically transferred to the database in a background job. The tests can be individually activated and deactivated for different servers. Compressing and saving the data hardly affects the application server, which means the Runtime Monitor can be used at any time, even in a production operation.

Modification 3

Debugger

The display of the memory consumption of dynamic objects has been divided into an overview of the total memory consumption and ranked lists for individual objects. You can compile the ranked lists according to specific criteria by choosing the function Change Settings. You now display the memory consumption by choosing Goto-> Status Displays -> Memory Consumption.

Breakpoints are then differentiated by whether they are effective in an HTTP or standard session. HTTP debugging is activated in the Editor by choosing Utilities → Settings → HTTPDebugging. Depending on the setting, the system then displays either the HTTP or standard breakpoints in the Editor.

If, under Settings, you selected the function Check Sorting Before READ BINARY SEARCH, the system checks, before every execution of this statement, whether the internal table is sorted. If the table is not sorted, a Runtime Error occurs. You should only activate this setting shortly before reaching a relevant point in the source code, because there can be a significant loss in performance, depending on the table size.

If you checked the "Check Sorting Before PROVIDE" function under settings, the system checks all of the relevant tables - and not just the area specified with extlim1 und extlim2 - for sorting and overlapping intervals when the long form of the PROVIDE statement is executed.

When displaying exception objects, the system only displayed the key itself in the field display for the TEXTID attribute that contains the OTR key of the text description assigned to the exception. Because this key is generated automatically and is nothing more than a sequence of numbers, assigning the corresponding text to the exception was difficult. The reason for this is that the displayed value had to be compared with the values of all constants generated for the exception. To simplify the assignment, the name of the constant generated for the key is now displayed as a Quickinfo. For example, in the case of an exception of the type CX_SY_FILE_IO for the TEXTID attribute the system displays READ_ERROR or WRITE_ERROR as a Quickinfo, depending on whether the exception was raised while reading or writing. The actual value of the attribute is the OTR key of the corresponding text description.

By choosing Debugging -> Session, you can now persistently save breakpoints and the settings System Debugging and Always Create Exception Object and reload them later. You can save the session, entering a name and expiry date for it. It is then available to other users and sessions, with the selected settings.

System Information

Information About the Current R/3 System

SY-DBSYS
Central database system (such as INFORMIX or ORACLE)

SY-HOST
Application server (such as HS0333, PAWDF087 …)

SY-OPSYS
Operating system of the application server (such as HP-UX, SINIX)

SY-SAPRL
R/3 Release in use (such as 30D, 46A, …)

SY-SYSID
R/3 System name (such as B20, I47, ...)

Information About the Current Terminal Session

SY-LANGU
One-character language key with the user’s logon language (such as D, E, F…)

SY-MANDT
Client in which the user is logged on (such as 000, 400…) When you use Open SQL to access the database, SY-MANDT is used as the first key field in the WHERE clause.

SY-MODNO
Index of the external sessions. The first session has the index zero. The value is increased by one each time you choose System → Create session or start a transaction by entering /o. If you have deleted sessions, the system fills free numbers before increasing the count further. Sessions started using CALL TRANSACTION STARTING NEW TASK begin again at 0.

SY-UNAME
Username of the current user, such as KELLERH, BC400-01

Information About Current Date and Time

The following system fields are always set automatically. The GET TIME statement synchronizes the time on the application server with the time on the database server and writes it to the field SY-UZEIT. SY-DATUM and the system fields for the local timezone (SY-TIMLO,SY-DATLO, and SY-ZONLO) are also reset.

SY-DATLO
User’s local date, for example 19981129, 19990628, …

SY-DATUM
Current application server date, for example 19981130, 19990627, …

SY-DAYST
X during summertime, otherwise space.

SY-FDAYW
Factory calendar day of the week: Monday = 1 … Friday = 5.

SY-TIMLO
User’s local time, for example 154353, 225312, …

SY-TZONE
Time difference in seconds between local time and Greenwich Mean Time (UTC), for example, 360, 10800.

SY-UZEIT
Current application server time. for example 164353, 215312, …

SY-ZONLO
User’s time zone, for example, EST, UTC, …

Information About the Current ABAP Program

SY-CALLD
X if the program was started using CALL TRANSACTION, CALL DIALOG, or SUBMIT[AND RETURN]. Space if the program was started using LEAVE TO TRANSACTION or using a transaction code from a screen. SY-CALLD is always space when a batch input session is being
processed.

SY-CPROG
The name of the calling program in an external routine, otherwise the name of the current program.

SY-DBNAM
The name of the logical database linked to an executable program.

SY-DYNGR
Screen group to which the current screen belongs. You can assign several screens to one screen group, for example, to allow you to modify them all identically.

SY-DYNNR
Number of the current screen. During selection screen processing, SY-DYNNR contains the screen number of the current selection screen. During list processing, it contains the number of the container screen. During subscreen processing, SY-DYNNR contains the number of the subscreen. This also applies to tabstrip controls.

SY-LDBPG
In executable programs, the database program of the associated logical database.

SY-REPID
Name of the current ABAP program. For externally-called procedures, it is the name of the main program of the procedure. If you pass SY-REPID as an actual parameter to an external procedure, the formal parameter does not contain the name of the caller, but that of the main program of the procedure. To avoid this, assign SY-REPID to an auxiliary variable and use that in the call, or use the system field SY-CPROG.

SY-TCODE
The current transaction code.

Background Processing

SY-BATCH
X if the ABAP program is running in the background, otherwise space

Batch Input

SY-BINPT
X while a batch input session is running and when an ABAP program is called using CALL

TRANSACTION USING, otherwise space.
  • OPTIONS FROM in the CALL TRANSACTION USING statement can set SY-BINPT to space either for the entire duration of the program, or at the end of the BDC data.
  • SY-BINPT is always space during a CATT procedure.

ABAP Programming

Constants

SY-ABCDE
Contains the alphabet. You can use this field with offset to retrieve a letter of the alphabet regardless of codepage.

SY-ULINE
Contains a horizontal line with length 255 that you can use when creating lists.

SY-VLINE
Contains a vertical line (|) that you can use when creating lists.

Loops

SY-INDEX


In a DO or WHILE loop, SY-INDEX contains the number of loop passes including the current pass.

Strings

SY-FDPOS
Location of hit in string operations.
  • When you use CO,CN, CA, NA, CS, NS, CP, and NP, offset values are assigned to SYFDPOS depending on the search result.
  • SEARCH … FOR … sets SY-FDPOS to the offset of the search string.
Internal Tables

SY-TABIX
Current line of an internal table. SY-TABIX is set by the statements below, but only for index tables. The field is either not set or is set to 0 for hashed tables.
  • APPEND sets SY-TABIX to the index of the last line of the table, that is, it contains the overall number of entries in the table.
  • COLLECT sets SY-TABIX to the index of the existing or inserted line in the table. If the table has the type HASHED TABLE, SY-TABIX is set to 0.
  • LOOP AT sets SY-TABIX to the index of the current line at the beginning of each loop lass. At the end of the loop, SY-TABIX is reset to the value that it had before entering the loop. It is set to 0 if the table has the type HASHED TABLE.
  • READ TABLE sets SY-TABIX to the index of the table line read. If you use a binary search, and the system does not find a line, SY-TABIX contains the total number of lines, or one more than the total number of lines. SY-INDEX is undefined if a linear search fails to return an entry.
  • SEARCH FOR sets SY-TABIX to the index of the table line in which the search string is found.

SY-TFILL
After the statements DESCRIBE TABLE, LOOP AT, and READ TABLE, SY-TFILL contains the number of lines in the relevant internal table.

SY-TLENG
After the statements DESCRIBE TABLE, LOOP AT, and READ TABLE, SY-TLENG contains the length of the lines in the relevant internal table.

SY-TOCCU
After the statements DESCRIBE TABLE, LOOP AT, and READ TABLE, SY-TLENG contains the initial amount of memory allocated to the relevant internal table.

Database Access

SY-DBCNT
SQL statements set SY-DBCNT to the number of table entries processed. In an Open SQL SELECT loop, SY-DBCNT is not set until after the ENDSELECT statement. In Native SQL, SYDBCNT is not set until after the ENDEXEC statement.
  • DELETE sets SY-DBCNT to the number of deleted lines.
  • FETCH sets SY-DBCNT to the number of lines read by the corresponding cursor.
  • INSERT sets SY-DBCNT to the number of lines inserted.
  • MODIFY sets SY-DBCNT to the number of lines processed.
  • UPDATE sets SY-DBCNT to the number of lines changed.
Return Code

SY-SUBRC
Return code, set by the following ABAP statements. As a rule, if SY-SUBRC = 0, the statement was executed successfully.
  • ASSIGN sets SY-SUBRC to 0 if the field symbol assignment was possible, otherwise to 4.
  • AUTHORITY-CHECK sets SY-SUBRC to 0 if the user has the required authorization, otherwise to 4, 8, 12, 16, 24, 28, 32, or 36 depending on the cause of the authorization failure.
  • CALL DIALOG with USING sets SY-SUBRC to 0 if the processing is successful, otherwise to a value other than 0.
  • CALL FUNCTION sets SY-SUBRC in accordance with the defined exception handling.
  • CALL METHOD sets SY-SUBRC in accordance with the defined exception handling.
  • CALL SELECTION-SCREEN sets SY-SUBRC to 0 if the user chooses Enter or Execute, and 4 if the user chooses Cancel.
  • CALL TRANSACTION with USING sets SY-SUBRC to 0 if the processing is successful, otherwise to a value other than 0.
  • CATCH SYSTEM-EXCEPTIONS sets SY-SUBRC after the ENDCATCH statement if a system exception occurs. The value is set in the program.
  • COMMIT WORK sets SY-SUBRC to 0.
  • COMMIT WORK AND WAIT sets SY-SUBRC to 0 if the update is successful, otherwise to a value other than 0.
  • COMMUNICATION INIT DESTINATION … RETURNCODE sets SY-SUBRC as specified.
  • CONCATENATE sets SY-SUBRC to 0 if the result fits into the target variable, otherwise to 4.
  • CREATE OBJECT sets SY-SUBRC if the exceptions of the instance constructor are handled in the program.
  • CREATE OBJECT in OLE2 sets SY-SUBRC to 0 if an external object could be created, otherwise to 1, 2, or 3, depending on the cause.
  • DELETE sets SY-SUBRC to 0 if the operation is successful, otherwise to 4 or another value other than 0, depending on the cause.
  • DEMAND … MESSAGES INTO sets SY-SUBRC to 0 if the message table is empty, otherwise to a value other than 0.
  • DESCRIBE LIST sets SY-SUBRC to 0 if the line or list exists, otherwise to 4 or 8.
  • EXEC SQL - ENDEXEC sets SY-SUBRC to 0 in nearly all cases. It does, however, set SYSUBRC
  • to 4 if no entry is read in a FETCH statement.
  • FETCH sets SY-SUBRC to 0 if at least one line was read, otherwise to 4.
  • GENERATE SUBROUTINE POOL sets SY-SUBRC to 0 if the generation was successful, otherwise to 8.
  • GET CURSOR sets SY-SUBRC to 0 if the cursor is correctly positioned, otherwise to 4.
  • GET PARAMETER sets SY-SUBRC to 0 if a corresponding value exists in SAP memory, otherwise to 4.
  • IMPORT sets SY-SUBRC to 0 if the import is successful, otherwise to 4.
  • INSERT sets SY-SUBRC to 0 if the operation is successful, otherwise to 4.
  • LOAD REPORT sets SY-SUBRC to 0 if the operation is successful, otherwise to 4 or 8 depending on the cause of the error.
  • LOOP sets SY-SUBRC to 0 if there is at least one pass through the extract. Otherwise, it is set to a value other than 0.
  • LOOP AT sets SY-SUBRC to 0 if there is at least one loop pass through the internal table, otherwise to 4.
  • MODIFY sets SY-SUBRC to 0 if the operation is successful, otherwise to 4.
  • MODIFY LINE sets SY-SUBRC to 0 if a line in the list was changed, otherwise it sets it to a value other than 0.
  • MODIFY sets SY-SUBRC to 0 if the operation is successful, otherwise to 4.
  • OLE2 Automation: Bundled commands set SY-SUBRC to 0 if all commands could be executed successfully, otherwise 1, 2, 3, or 4, depending on the cause of the error.
  • OPEN DATASET sets SY-SUBRC to 0 if the file could be opened, otherwise to 8.
  • Open SQL statements set SY-SUBRC to 0 if the operation is successful, otherwise to a value
  • other than 0.
  • OVERLAY sets SY-SUBRC to 0 if at least one character is overlaid, otherwise to 4.
  • READ DATASET sets SY-SUBRC to 0 if the read operation was successful, otherwise to 4 or 8, depending on the cause of the error.
  • READ LINE sets SY-SUBRC to 0 if a list line exists, otherwise to a value other than 0.
  • READ TABLE sets SY-SUBRC to 0 if table lines are found, otherwise to 2, 4, or 8, depending on the context and cause of the error.
  • REPLACE sets SY-SUBRC to 0 if the search string was replaced, otherwise to a value other than 0.
  • SCROLL sets SY-SUBRC to 0 if the scrolling within the list was successful, otherwise to 4 or 8, depending on the cause.
  • SEARCH sets SY-SUBRC to 0 if the search string was found, otherwise to 4.
  • SELECT sets SY-SUBRC to 0 if at least one line was read, otherwise to 4, or possibly 8 in SELECT SINGLE FOR UPDATE.
  • SET COUNTRY sets SY-SUBRC if the country code exists in table T005X, otherwise to 4.
  • SET BIT sets SY-SUBRC to 0 if the bit could be set, otherwise to a value other than 0.
  • SET TITLEBAR sets SY-SUBRC to 0 if the title exists, otherwise to 4.
  • SHIFT … UP TO sets SY-SUBRC to 0 if the position could be found within the string, otherwise to 4.
  • SPLIT sets SY-SUBRC to 0 if the sizes of the target fields are adequate, otherwise to 4.
  • UPDATE sets SY-SUBRC to 0 if the operation is successful, otherwise to 4.
  • WRITE … TO sets SY-SUBRC to 0 if the assignment is successful, otherwise to 4.

Screens

Screens
A group of system fields is set in the PAI event of each screen. With the exception of SY-DATAR, SY-LOOPC, and SY-STEPL, you can also use all of them in interactive list processing.

SY-CUCOL
Horizontal cursor position. Counter begins at column 2.

SY-CUROW
Vertical cursor position. Counter begins at line 1.

SY-DATAR
X if at least one input field on the screen was changed by the user or other data transport, otherwise space.

SY-LOOPC
Number of lines currently displayed in a table control.

SY-PFKEY
GUI status of the current screen. This can be set in the PBO event using the SET PF-STATUS statement.

SY-SCOLS
Number of columns on the current screen.

SY-SROWS
Number of rows on the current screen.

SY-STEPL
Index of the current line in a table control. This is set in each loop pass. SY-STEPL does not have a meaningful value outside the loop (for example, during the POV event for a table line).

SY-TITLE
Text that appears in the title bar of the screen. This is the program name for selection screens and lists, and SAP R/3 otherwise. Can be set using the SET TITLEBAR statement.

SY-UCOMM
Function code that triggered the PAI event. There is a unique function code assigned to every function that triggers the PAI event with one exception: ENTER triggers the PAI, and various function codes can be passed to SY-UCOMM:
  • If the user has entered a command in the command field, this is passed to SY-UCOMM.
  • If there is no entry in the command field and a function code has been assigned to the ENTER key, this function code is passed to SY-UCOMM.
  • If there is no entry in the command field and there is no function key assigned to the ENTER
  • key, the content of SY-UCOMM remains unchanged.

Selection Screens

SY-SLSET
Variant used to fill the selection screen.

Creating Lists

When you create a list, you can use the following system fields to control navigation. They help you to ensure that output statements do not overwrite existing output, or that data is not written outside the list. The system fields SY-COLNO and SY-LINNO always contain the current output position, and they are reset by each output statement. The other system fields contain other values used for creating lists.

SY-COLNO
Current column during list creation. The counter begins at 1. The field is set by the following output statements:
  • WRITE, ULINE, and SKIP set SY-COLNO to the next output position.
  • BACK sets SY-COLNO to 1.
  • POSITION sets SY-COLNO to . If is beyond the page border, any subsequent output statements are ignored.
  • NEW-LINE sets SY-COLNO to 1.
  • NEW-PAGE sets SY-COLNO to 1.
SY-LINCT
Page length of the list. For a default list of indefinite length, SY-LINCT is 0. If the page length is
defined, SY-LINCT has that value.
  • LINE-COUNT in the REPORT, PROGRAM, or FUNCTION POOL statement sets SY-LINCT for the current program.
  • LINE-COUNT in the SUBMIT statement sets SY-LINCT for the program called in the statement.

SY-LINNO
Current line during list creation. The counter begins at 1, and includes the page header.SYLINNO is set by the following output statements:
  • WRITE, ULINE, and SKIP increase SY-LINNO by one at each line break.
  • BACK sets SY-LINNO to the first line following the page header. If you use BACK with RESERVE, SY-LINNO is set to the first line of a block.
  • NEW-LINE increases SY-LINNO by one.
  • SKIP TO LINE sets SY-LINNO to . If is not between 1 and the length of the page, the statement is ignored.

SY-LINSZ
Line width in the list. The default value is the default window width. SY-LINSZ = SY-SCOLS, for SY-SCOLS >= 84, and 84 for SY-SCOLS <>
  • LINE-SIZE in the REPORT, PROGRAM, or FUNCTION POOL statement sets SY-LINSZ for the current program.
  • LINE-SIZE in the SUBMIT statement sets SY-LINSZ for the program called in the statement.
SY-PAGNO
Current page during list creation.
  • WRITE, ULINE, and SKIP increase SY-PAGNO by one at each page break.
  • NEW-PAGE increases SY-PAGNO by one, but only if there is at least one output line on both the current page and the intended next page.
  • NEW-SECTION in the statement NEW-PAGE PRINT ON sets SY-PAGNO to 1.

SY-TVAR0 ... SY-TVAR9
You can assign values to these variables in your programs. Their contents replace the placeholders in the list and column headers of the program in the TOP-OF-PAGE event.

SY-WTITL
The REPORT, PROGRAM, and FUNCTION-POOL statements set this variable to N if you use the NO STANDARD PAGE HEADING addition. Otherwise, it has the value space. NEW-PAGE does not set SY-WTITL.

List Processing

The following system fields are filled at each interactive list event and at the READ LINE statement:

SY-CPAGE
Page number of the topmost page in the display of the list on which the event was triggered. The counter begins at 1.

SY-LILLI
Line at which the event was triggered. The counter begins at 1 and includes the page header.

SY-LISEL
Contents of the line in which the event was triggered (restricted to the first 255 characters).

SY-LISTI
Index of the list in which the event was triggered.

SY-LSIND
Index of the list currently being created. The basic list has SY-LSIND = 0, detail lists have SYLSIND > 0. The field is automatically increased by one in each interactive list event. You may change the value of SY-LSIND yourself in the program to enable you to navigate between lists. Changes to SY-LSIND do not take effect until the end of a list event. It is therefore a good idea to place the relevant statement at the end of the corresponding processing block.

SY-LSTAT
Program-controlled name for list levels. You can assign values to SY-LSTAT during list creation. The value of SY-LSTAT when the list is finished is saved with the list. In an interactive list event, SY-LSTAT is set to the value assigned to it during creation of the list in which the event occurred. SY-LSTAT is no longer maintained, and you should not use it in your programs.

SY-STACO
Number of the first displayed column of the list from which the event was triggered. The counter begins at 1.

SY-STARO
Number of the topmost displayed line of the topmost displayed page of the list from which the event was triggered. The counter begins at 1, not including the page header.

Printing Lists

When you print lists, the spool and runtime systems require certain internal information that is set in the following system fields when you start printing.

SY-CALLR
Contains a value indicating where printing was started, for example, NEW-PAGE for programcontrolled printing, or RSDBRUNT for printing from a selection screen.

SY-PRDSN
Contains the name of the spool file during printing.

SY-SPONO
Contains the spool number during printing.

SY-MAROW, SY-MACOL
The SET MARGIN statement fills the system fields SY-MAROW and SY-MACOL. These determine the number of lines in the top margin and the number of columns in the left-hand margin respectively.

Print Parameters

The print parameters are passed to the spool system by the runtime environment, using a structure with the ABAP Dictionary type PRI_PARAMS. Before this structure existed, system fields were used instead. When you start printing, some of the fields from PRI_PARAMS are still written into system fields with the same names. However, you should not use these system fields yourself.

Messages

When the MESSAGE statement occurs, the following system fields are set. When the MESSAGE
… RAISING statement occurs in a function module or method, these fields are also set in the calling program if it is to handle the exception.

SY-MSGID
SY-MSGID contains the message class

SY-MSGNO
SY-MSGNO contains the message number

SY-MSGTY
SY-MSGTY contains the message type

SY-MSGV1,…,SY-MSGV4
SY-MSGV1 to SY-MSGV4 contain the fields used to replace the placeholders in the message.

Special Actions that Fill Message Fields
  • When you use an ENQUEUE function module to set a lock, and the FOREIGN_LOCK exception occurs, the field SY-MSGV1 contains the name of the owner of the lock.
  • When you use CALL TRANSACTION or CALL DIALOG with the USING addition, a message that occurs during the screen chain is returned in the fields SY-MSGID, SY-MSGTY, SYMSGNO, and SY-MSGV1 ... SY-MSGV4.
  • In Remote Function Call (RFC), error messages are retrieved from the remote system and placed in the system fields SY-MSGID, SY-MSGTY, SY-MSGNO,SY-MSGV1, SY-MSGV2, SY-MSGV3, SY-MSGV4. The fields are also set when a short dump or a message with type X occurs.
Internal System Fields

Internal system fields are exclusively for internal use in the ABAP runtime environment and the system kernel. They must not be overwritten in any circumstances, and should also not be read in ABAP programs.

SY-CFWAE
Undocumented

SY-CHWAE
Undocumented

SY-DEBUG
Undocumented

SY-DSNAM
File name for spool output

SY-ENTRY
Undocumented

SY-FFILE
Flat file (USING/GENERATING DATASET).

SY-FLENG
Length of a field

SY-FODEC
Number of decimal places in a field

SY-FOLEN
Output length of a field

SY-FTYPE
Data type of a field

SY-GROUP
Bundling

SY-INPUT
Undocumented

SY-LPASS
Undocumented

SY-NEWPA
Undocumented

SY-NRPAG
Undocumented

SY-ONCOM
Undocumented

SY-PAUTH
Undocumented

SY-PLAYO
Undocumented

SY-PLAYP
Undocumented

SY-PNWPA
Undocumented

SY-PRI40
Undocumented

SY-PRINI
Undocumented

SY-PRLOG
Undocumented

SY-REPI2
Undocumented

SY-RSTRT
Undocumented

SY-SFOFF
Undocumented

SY-SUBCS
Call status of an executable program

SY-SUBTY
Call type of an executable program

SY-TABID
Undocumented

SY-TLOPC
Undocumented

SY-TSTIS
Undocumented

SY-XCODE
Extended function code, filled by user actions on a list (like SY-UCOMM). Before the length of SY-UCOMM was extended from 4 to 70 characters, SY-XCODE was used internally to accommodate long entries in the command field. You should always use SY-UCOMM in application programs.

SY-XFORM
SYSTEM-EXIT subroutine.

SY-XPROG
SYSTEM-EXIT program.

Obsolete System Fields

Some of the system fields in the R/3 System were originally adopted from R/2, but are no longer filled with values. They are obsolete, and must not (indeed cannot) be used.

SY-APPLI
R/2 - ID for the SAP applications installed. Not filled in R/3.

SY-BATZD
R/2 - flag for daily background scheduling. Not filled in R/3.

SY-BATZM
R/2 - flag for monthly background scheduling. Not filled in R/3.

SY-BATZO
R/2 - flag for one-time background scheduling. Not filled in R/3.

SY-BATZS
R/2 - flag for immediate background scheduling. Not filled in R/3.

SY-BATZW
R/2 - flag for weekly background scheduling. Not filled in R/3.

SY-BREP4
R/2 - root name of the report requesting background processing. Not filled in R/3.

SY-BSPLD
R/2 - flag for spool output from background processing. Not filled in R/3.

SY-CCURS
R/2 - exchange rate and result field for CURRENCY CONVERSION. Not filled in R/3.

SY-CCURT
R/2 - table exchange rate for CURRENCY CONVERSION. Not filled in R/3.

SY-CDATE
R/2 - exchange rate date for CURRENCY CONVERSION. Not filled in R/3.

SY-CTABL
R/2 - exchange rate table for CURRENCY CONVERSION. Not filled in R/3.

SY-CTYPE
R/2 - exchange rate type for CURRENCY CONVERSION. Not filled in R/3.

SY-DCSYS
Dialog system of the R/2 System. Not filled in R/3.

SY-FMKEY
Formerly the current function code menu. Not filled in R/3.

SY-LOCDB
Local database. Not implemented.

SY-LOCOP
Local database operation. Not implemented.

SY-MACDB
Formerly the file name for matchcode access. Not filled in R/3.

SY-MARKY
Current line letter for the MARK statement. The MARK statement will not be supported for much longer.

SY-TMAXL
Formerly the maximum number of entries in an internal table. Not filled in R/3.

SY-TFDSN
Formerly the name of an external storage file for extracts. Not filled in R/3.

SY-PAGCT
R/2 - the maximum number of pages per list. Not filled in R/3.

SY-PREFX
ABAP prefix for background jobs. Not filled in R/3.

SY-SFNAM
Undocumented

SY-SPONR
In R/2, you could process spool files with the TRANSFER statement, which also set SY-SPONR.Not filled in R/3.

SY-TNAME
Formerly the name of an internal table following access. Not filled in R/3.

SY-TTABC
Formerly the index of the last line of an internal table to be read. Not filled in R/3.

SY-TTABI
Formerly the offset of internal tables in the roll area. Not filled in R/3.

SY-TPAGI
Formerly flagged whether an internal table had been moved to the paging area. Not filled in R/3.

SY-WAERS
Formerly the company code currency after reading a posting segment. Not filled in R/3.

SY-WILLI
R/2 - the number of the list line selected from a detail list. Use SY-LILLI instead.

SY-WINCO
R/2 - cursor position on a detail list. Use SY-CUCOL instead.

SY-WINDI
R/2 - index of the list for a detail list. Use SY-LSIND instead.

SY-WINRO
R/2 - cursor position for a detail list. Use SY-CUROW instead.

SY-WINSL
R/2 - contents of the selected line for detail list in a window. Use SY-LISEL instead.

SY-WINX1
R/2 - window coordinates for a detail list in a window. No corresponding field in R/3.

SY-WINX2
R/2 - window coordinates for a detail list in a window. No corresponding field in R/3.

SY-WINY1
R/2 - window coordinates for a detail list in a window. No corresponding field in R/3.

SY-WINY2
R/2 - window coordinates for a detail list in a window. No corresponding field in R/3.