All Subjects Flashcards

1
Q

What does CONV do?

A

Changes the supplied field to the expected type

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the EXACT keyword do

A

Demands that the result be exactly the same value as the source

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How does CORRESPONDING work ( not move corresponding)

A

Can be used in a method call to use structure fields of same name and type as input parameters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

give an example of a SWITCH

A

As a replacement of a case/endcase

Gvtext = switch string( gvclass
When ‘Y’ then ‘bob’
When ‘4’ the ‘jim’
Else ‘fran’ )
Can also have local variables defined by LET
Can also be used with write. WRITE SWITCH string( gvfield when 4 then ‘it was 4

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Give an example if COND

A

Replaces if/elseif

Gvvalue = COND I( when la2 = 6 then 4 )

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is difference between a data type and a data object

A

Objects take up memory. They are of a type. A type is just a specification

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the length and value ranges of the 6 numeric abap types

A

I - integer - length of 4 bytes - range of -2,147,483,648 to + 2,147,483,647 no decimals
p - packed - length of 1 to 16/initial length of 8, range of 2* length -1 and up to 14 decimals
F - binary floating point - length of 8 - max length +/- 1.79E+308 min len +/- 2.22E-308 and zero up to 16 decimals
DECFLOAT16 - floating point decimal - length of 8 - max length +/- 1E+385 min +/- 1E-383 and zero up to 16 decimals
DECFLOAT34 - floating point decimal - length of 16 - max/min +/- 1E+6145 min +/- 1E-6143 and zero up to 34 decimals
INT8 - large integer - 8 bytes - really big numbers with no decimals

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the maximum length of type C and N fields?

A

65,535

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What maximum length of a type X field?

A

65,535

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What’s the difference between clike and cseq?

A

Clike is for generic c,n,d,t, string

Csequence is for c and string only

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the predefined generic types in ABAP

A
ANY
DATA
SIMPLE (only for elementary of flat character like structures)
NUMERIC (I,I8,F,P,DECFLOAT16,DECFLOAT34)
DECFLOAT (DECFLOAT16,DECFLOAT34)
CLIKE (C,N,D,T,STRING)
CSEQUENCE(C,STRING)
XSEQUENCE(X,XSTRING)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What objects are part of the DEEP category?

A

All reference objects
All internal tables
All structures with at least one deep component
Data types String and Xstring

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How long can a literal be?

A

255

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What differences exist between string and text literals

A

Trailing spaces are suppressed in a text literal but not a string literal
Use quotes in text literal, back quotes in a string

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the three types of literals?

A

Numeric, text, string

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

If a table is declared in a form, or function module, it is visible throughout the entire program. True or false?

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Can i have the same field name declared in the top of a program and in a form?

A

Yes, but the element of the same name in the top will not be a available while in the form

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

An inline data declaration cannot be addressed statically before the declaration. True or false.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Can inline declarations be used if the result type is generic? (Type any..)?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

How is a host variable defined in an sql statement?

A

@

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

In new syntax for sql a comma must be between fields…true?

A

Yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

In the new open sql, what part of the statement should be last

A

INTO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

In new sql what statement has been introduced?

A

FIELDS which can be placed after the FROM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Is SUBMIT program a synchronous or asynchronous process

A

Sychronous. The only way to process something async from a program is to call a function module starting new task

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

How can i submit a program and fill the called program selection screen?

A

You can specify a variant or provide specific values for input fields

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

How do I pass a select option to a submit program?

A

WITH seloption (‘EQ’|’NE’) value

WITH sel-option BETWEEN val1 AND val2 SIGN (‘I’|’E’)

You can also pass a range table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What is the difference between LEAVE TO TRANSACTION and CALL TRANSACTION

A

Leave to transaction does not return to the calling program. Call transaction returns to the call point.
Call transaction skips the tcode auth check, not sure if leave to does or not.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What should you supply if from a program you call a transaction that does updates?

A

Specify the UPDATE as local, sync, async..

Default is async

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

How can i fill screen data of a called transaction

A

Using a table of the BDCDATA type

Data gtdata type table of bdcdata.

CALL TRANSACTION ‘bob’
USING gtdata

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

How can I receive messages from a called transaction?

A

Using the MESSAGES addition
Data gtmesssages type table of BDCMSGCOLL
CALL TRANSACTION ‘bob’
MESSAGES gtmessages

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

If a CALL TRANSACTION is in a program running in background, what must the program provide.

A

Basically the entire BDC table must be filled including functions
I would just creat a FM myself

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What are the fields in the BDCDATA structure

A
program (only first record)
Dynpro (only first rec of new screen)
Dynbegin (‘X’ for first rec of screen only)
Fnam
Fval
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

If i want to call a transaction from a program but not have the user see screens, what do I do?

A

Same as BDC. Use mode = ‘N’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Is ABAP compiled or generated?

A

Compiled at runtime

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Are programs loaded every time they are called?

A

No, program loads are saved on the apllication server and database buffer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Are temporary versions of programs (those being edited) stored?

A

No, only temp versions are used

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What is the PXA

A

Program Execution Area. Each program can only exist once per app server. Roll areas are created for each running copy of the program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

How can i tell if a program is loaded in the PXA

A

Use ST02 detail analysis, click program in other objects, click buffered objects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

What is the maximum number of external sessions a user can have?
What is the default?
Where is it set?

A

16
6
rdisp/max_alt_modes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

What is the maximum number of internal sessions that each external session can have?

A

9

These are the call transaction, submit….called from an external session process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

How are function groups and global classes loaded into memory

A

One time when first called by a program. They are added to the program group and do not initiate a new internal session

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Do internal sessions share function groups with other internal sessions or the external session?

A

No, the function group is loaded separately for each session

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What happens when a function group calls another function group, what can happen

A

Errors can occur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Within a program group all programs share what components?

A

TABLES, NODES, COMMON PART

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

How can I analyze memory

A

SM04 and AL08

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

List some examples of how data can be shared between programs

A
Using the called program interface (selection screen)
ABAP memory
SAP memory (set/get)
Database tables
Local files
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

Give an example of ABAP Memory usage between internal sessions

A

EXPORT
conn = gconn
Flights = gflights (this is a table)
TO MEMORY ID ‘myid’

In next orogram
IMPORT
   conn = gconn
   Flights = gtflights
FROM MEMORY ID ‘myid’
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

How is the MEMORY ID cleared?

A

FREE MEMORY ID

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

When dealing with internal tables what do these three keywords do
CLEAR, REFRESH, FREE

A

CLEAR AND REFRESH remove the data

FREE clears data and releases the memory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

When dealing with passing strings and internal tables as parameters is by value different than by reference?

A

Technically no. They are passed by sharing. However, if you use call by value and then change the object in the called procedure then a resource intensive copy occurs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

Where is a shared area defined?

A

Transaction SHMA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What is the super class of shared area classes?

A

CL_SHM_AREA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

How can i see all shared memory

A

SHMM shared memory monitor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

Name the 5 numeric data OBJECT types

A

I - integer
P - packed decimal
F - binary floating point arithmetic
DECFLOAT16 and DECFLOAT34 - decimal floating point

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Are integer results rounded or truncated?

A

Rounded

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

In packed fields what are the two possible values of the last byte?

A

D for negative

C for positive

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

When fixed point arithmetic is turned off, what happens?

A

The decimals definition of a packed field is only used for output. The program treats all numbers as integers regardless of the presence of a decimal.
So 123.67 is treated as 12367

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

DECFLOAT16 and DECFLOAT34 are like type P or type F in regards to accuracy of decimal handling?

A

Like type P

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

Explain the arithmetic conversion rules for mixed expressions

A

If all are I then I
If one is p then p
If one is f then f (this include DECFLOAT34 and DECFLOAT16)
If a type p and a type f exist, type f is used

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

What are the classical keywords used in text processing

A

CONCATENATE, FIND, REPLACE, SHIFT,SPLIT, CONDENSE, OVERLAY, TRANSLATE, WRITE TO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

In unicode systems what mode should be used with the SHIFT keyword

A

PLACES IN BYTE MODE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

List logical operators for character and byte operations

A

CO, CA, CS, CP, CN, NA, NS, NP

BYTE-CO, BYTE-CA, BYTE-CS, BYTE-CN, BYTE-NA, BYTE-NS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

If a D (date) field is used in arithmetic, its value is converted to..

A

The number of days since January 1, 0001

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

If a T (time) field is used in arithmetic its value is converted to…

A

The number of seconds since midnight

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

There are 16 formating options for expressions. Name 10

A
WIDTH
ALIGN (left, center, right)
PAD 
CASE
SIGN
EXPONENT 
DECIMALS 
ZERO
STYLE
CURRENCY 
NUMBER
DATE
TIME
TIMESTAMP
TIMEZONE
COUNTRY
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

What literals in string processing must be escaped by a \ in literal text

A

|
{
}
So if i want to have a } i would enter it as }

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

There are 6 descriptive string functions. What are they?

A

STRLEN (returns length)
NUMCHAR (returns length excluding trailing blanks)
FIND (returns offset)
FIND_ANY_OF (returns offset of any character contained in the pattern, always case sensitive)
COUNT (number of occurrences)
COUNT_ANY_OF (number of occurrences of any character contained in pattern, always case sensitive)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

What are the three categories of string functions

A

Descriptive functions which return a numeric result
Processing functions which return a character result
Predicate functions which return true or false

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q

What are the 18 processing functions for strings? Name 12

A
Shift-left
shift-right
condense
to-upper and to-lower and to-mixed and from-mixed
replace
insert
substring
Cmax and cmin
Concat-lines-of
Escape
Match
Repeat
Reverse
Translate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

What are the predicate string functions

A

Contains, contains-any-of, matches

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q

What is the regular expression operator for any character?

A

.

The preiod

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q

What is the regular expression operator for zero or more occurrences?

A

*

Asterisk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

What is the regular expression operator for 1 or more.

A

+

Plus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q

What is the regular expression operator for min/max occurrences?

A

{m,n}

75
Q

What is the regular expression operator for exactly # of occurrences?

A

{m}

76
Q

What is the regular expression operator for 0 or 1 occurrences?

A

?

Question mark

77
Q

What is the regular expression operator to indicate or?

A

|

Like if it can be A or B it would be written as A|B

78
Q

What is the regular expression operator for substring?

A

( )
So if a string could be ABC or ADC
I would write as A(B|D)C

79
Q

What regular expression operators indicate the start and end of a line.

A

^ and $

80
Q

What regular expression operators indicate the start and end of a word

A

< and >

81
Q

What is the escape character for regular expressions.?

A

\

82
Q

What are some of the regular expression operators for single character

A

. = any character
\u = any upper case
\l = any lower case
\d = any digit
[] = any value include between the brackets [ACDRf]
Placing a ^ in the brackets makes it a not [^ACDRf]
Placing a - makes it a value range [A-F] or [^A-F]
You can also use groups like [[:upper:]] or [[:digit:]]

83
Q

Additional regular expression character combinations include

A
{n}
{n,m}
?
*
\+
|
(?:)
( j
84
Q

Where can regular expressions be used in ABAP keywords?

A

FIND and REPLACE

85
Q

What string functions support the use of regular expressions

A
COUNT
COUNT_
CONTAINS 
FIND
FIND_
MATCH
MATCHES
REPLACE
SUBSTRING
SUBSTRING_
86
Q

Can a standard table have a unique key?

A

No

87
Q

What additional object is created when creating a hash table?

A

A hash board

88
Q

Can I loop at a hash table?

A

Yes you can. And you can loop using the defined keys

89
Q

Can a hash table be sorted?

A

Yes it can. Only needed if you are going to loop thru it

90
Q

What are three index operations that might corrupt a sorted table?

A

APPEND, MODIFY, INSERT (index specified)

91
Q

When the key is implicit, does the FROM need to have the same structure as the INTO?

A

No
READ TABLE bob
FROM bobsearch
INTO bobresult

In this case the fields of bobsearch are used as key fields but the structure does not need to match bobresult

92
Q

What is internal table implicit key vs explicit key

A

FROM is implicit. The fields of the key are populated in a structure
DELETE TABLE tbob FROM areabob

WITH TABLE KEY
Fld1 = val1

93
Q

What is the easist way to look at code and tell whether the access is key or index

A

All index access has the word INDEX. All key access has the word TABLE. INDEX and TABLE are mutually exclusive when accessing internal tables

94
Q

When using DELETE by key. What two approaches work?

A

FROM, or TABLE KEY. Generic KEY can not be used

95
Q

With what KEY operations are limited to using an implicit (from) key?

A

MODIFY, INSERT

96
Q

What three index operations can be used on standard and sorted tables

A

DELETE, APPEND, MODIFY, INSERT

97
Q

What three stanents can be used without the INDEX addition within a loop that will cause an exception if used outside of a loop?

A

INSERT, MODIFY, DELETE can all be used without the index addition within a loop because the system will use sy-tabix as the default. Using these statements outside of a loop without the INDEX addition causes a short dump

98
Q

When using the WHERE keyword with MODIFY within an internal table, what other keyword must be used?

A

TRANSPORTING

99
Q

When using the WHERE clause for internal table processing, the TABLES keyword is omitted. True or false.

A

True

Delete mytab where carrid = ‘BOB’

100
Q

Can a WHERE clause be used when accessing a HASH table?

A

Apparently yes but i need to check on this

101
Q

After 7.4 move-corresponding can be used for internal tables as well as structures. Is this statement true?

A

Yes

102
Q

If I want to use move-corresponding to populate a table from a table without overwriting existing lines what KEYWORD must I add?

A

KEEPING TARGET LINES

MOVE-CORRESPONDING tab1 TO tab2 KEEPING TARGET LINES

103
Q

What are the 3 variants of the COMPARING keyword used for deleting adjacent duplicates?

A

COMPARING
COMPARING col1 col2 col3
COMPARING ALL FIELDS

104
Q

What prerequisite must be met before the COLLECT statement can be used?

A

All non-key fields must be numeric. Easily accomplished by declaring the internal table with the DEFAULT KEY option.

105
Q

Secondary table keys can be unique or non-unique. Is this true?

A

Yes

106
Q

Secondary internal table keys can be of what types

A

UNIQUE STANDARD
NON-UNIQUE SORTED
UNIQUE HASHED

107
Q

What is the maximum number of secondary keys for an internal table?

A

15

108
Q

What are the four internal table processing statements where a secondary key cannot be used?

A

APPEND, INSERT, READ TABLE…WITH TABLE KEY, DELETE TABLE …WITH TABLE KEY

109
Q

What’s more expensive, a secondary key, or resorting a table?

A

The secondary key is more expensive

110
Q

READ TABLE itab1 INDEX idx INTO workarea

Can be replaced with…..in the new syntax?

A

workarea = itab1[idx]

111
Q

READ TABLE itab INDEX idx USING KEY key INTO workarea

Can be replaced by what using new syntax?

A

Workarea = itab[ KEY key INDEX idx]

112
Q

READ TABLE itab WITH KEY col1 = ‘val1’ INTO workarea

Can be replaced by what using new syntax?

A

Workarea = itab[ col1 = val1 ]

113
Q
READ TABLE itab WITH TABLE KEY key
           COMPONENTS 
                col1 = val1
           INTO workarea.
Can be replaced by what in new syntax?
A

Workarea = itab[ KEY key col1 = val1 ]

Note components keyword is optional after key

114
Q

What would the following do?

Tab2 = VALUE #( BASE = tab1
Col1 = ‘bob’ ) ).

A

This would append a line to tab1 before copying it to tab2

115
Q

What is the difference between these commands?

VALUE #( BASE = itab2 )
VALUE #( FOR tline in itab2 where(….

A

BASE is all of the table
FOR is an iterative statement. We will loop thru itab2 into tline based on the where statement. So lines not in the where statement will not be processed

116
Q

Two new built in functions exist for determining if a line exists and where. Give examples of both.

A

idx = LINE_INDEX( itab1[ ] )

IF LINE_EXISTS( itab1[ ])
….
ENDIF.

117
Q

How is a generic data reference declared?

A

Type ref to DATA

118
Q

How do I assign a data reference to an actual data field?

A

GET REFERENCE OF into
so;
data my_field type I value 10.
data my_ref type ref to I.

GET REFERENCE OF my_field into my_ref.
or
my_ref = REF #( my_field ).

119
Q

What does the dereference of a data object do? and when must it be used?

A

It can always be used as an alternative but when the reference is TYPE REF TO DATA it must be used. And the result mut be assigned to a field symbol.

data my_field type I value 10.
data my_ref type ref to data

GET REFERENCE OF my_field into my_ref.

Assign my_ref->* to .

120
Q

How can I tell if a reference is assigned?

A

If is [NOT] bound

121
Q

Assign, check assignment, unassign a field symbol

A

ASSIGN my_field TO .
IF is assigned….
UNASSIGN

122
Q

How is an inline field symbol declared

A

ASSIGN afield TO FIELD_SYMBOL()

123
Q

Is a field symbol a dereferenced pointer?

A

Yes, it pretty much is

124
Q

Can you use CASTING when accessing an internal table with a field symbol?

A

No

125
Q

List two restrictions for using field symbol assignment in a LOOP

A

You cannot use SUM

You can not reassign or unassign the field symbol within the loop

126
Q

ABAP allows what types of dynamic statements

A

Dynamic

  • extension of internal tables or strings
  • offset and length specifications
  • Specification of program object names (forms, methods, sort criteria..)
  • Specification of type and data declarations
127
Q

In a select statement, what can be dynamically supplied

A

FROM, WHERE, and the field list

128
Q

In a select statement, what cannot be dynamically supplied

A

INTO (although you can use an inline declaration to serve the same purpose)

129
Q

When a dynamic object is used, how is it identified

A

In parentheses with no spaces (dynamic)

130
Q

When calling a function module or method dynamically, how are parameters passed?

A

Using the PARAMETER-TABLE statement

131
Q

When calling a function module or method dynamically, how are exceptions passed?

A

Using the EXCEPTION-TABLE statement

132
Q

What does INSERT REPORT do

A

Creates a permanent program in the repository

133
Q

GENERATE SUBROUTINE POOL

A

Creates a transient include

134
Q

Is it possible to dynamically assign a variable to a fields symbol?

A

Yes, use type ANY
FIELD-SYMBOL .
gv_name = ‘MY_STRUCT-FIELD’.
ASSIGN (gv_name) to .

135
Q

When assigning components of a structure are assigned to a field system, what are the two methods of addressing?

A

By name or component number.

136
Q

What is the only keyword that can be used to dereference a generically typed reference variable?

A
ASSIGN reffld->* to 
FS must be a generically typed field symbol
example
DATA my_data TYPE REF TO DATA.
FIELD-SYMBOL  TYPE ANY
ASSIGN mY_data->* TO .
 = 5
137
Q

What is the RTTI and what is it used for?

A

Runtime Type Identification and it is used to query information about run time objects

138
Q

What are the four abstract classes of the RTTI

A

CL_ABAP_TYPEDESCR
CL_ABAP_DATADESCR
CL_ABAP_COMPLEXDESCR
CL_ABAP_OBJECTDESCR

139
Q

What are the six RTTI classes tht can be instanciated?

A
CL_ABAP_ELEMDESCR
CL_ABAP_REFDESCR
CL_ABAP_STRUCTDESC
CL_ABAP_TABLEDESCR
CL_ABAP_CLASSDESCR
CL_ABAP_INTFDESCR
140
Q

Can the RTTI classes be instantiated directly using CREATE OBJECT?

A

No, you must use the static method CL_ABAP_TYPEDESCR=>DESCRIBE_BY_xxxx

141
Q

What are the four DESCRIBE_BY_ types in RTTI?

A

DESCRIBE_BY_NAME
DESCRIBE_BY_DATA
DESCRIBE_BY_DATA_REF
DESCRIBE_BY_OBJECT_REF

142
Q

What is the RTTC?

A

RunTime Type Creation

143
Q

Describe what the CREATE DATA statement builds

A

The CREATE DATA statement;

  • creates a data object dynamically
  • assigns memory to it
  • points the data reference variable to tht object in memory
  • The data object is not given a name and has to be dereferenced to be used
144
Q

What tasks are performed by the Open SQL Interface?

A
  • Translate the open SQL to native SQL
  • Add the client to the request
  • Manages the SAP buffer
145
Q

What is a DB-WP and what does it do?

A

The DataBase Work Process is a shadow process of the database. Each SAP WP is assigned to one DB-WP when database access is required

146
Q

What is the transaction code for SQL Trace

A

ST05

147
Q

What are the two types of database optimizers?

A

Rule based and cost based

148
Q

What are the read times for these three scenarios?
Read from Application Server Table Buffer
Read from Database Buffer
Read from Database

A

.1ms for app server
1ms for database buffer
10ms for database

149
Q

What is the recommended setting for buffer refresh in seconds?

A

60 to 240

150
Q

What is the size recommendation for buffered tables

A

Less than 10mb

151
Q

What happens if the table buffer runs out of space?

A

The newly buffered objects will overwrite the old

152
Q

What is read to determine if buffered information has changed and needs to be sychronized

A

DDLOG

153
Q

What fields cannot be used in the Select/Order by clause

A

String, LCHAR, LRAW, RAW_STRING

154
Q

Can SELECT DISTINCT be used on Pool and Cluster tables?

A

Yes, but you must use * in the field list. You cannot select individual columns

155
Q

What are the 5 aggregate functions allowed by Open Sql

A
Min( colname }
Max( colname )
AVG( colname )
SUM( colname )
Count( * )
156
Q

What are the two prerequisites for using “ORDERBY PRIMARY KEY”

A

Single table in the FROM. No views

All fields of the primary key must be included in the field list

157
Q

What will COUNT( DISTINCT colname ) provide

A

A count of the unique values of the column

158
Q

If a select contains both columns and aggregate functions, how is the data returned?

A

As a table

159
Q

If a select contains both columns and aggregate functions, what other keyword must exist?

A

GROUP BY. Group by must include all non-aggregate fields in the field list. It can contain fields not in the select list but this is not recommended

160
Q

What can the HAVING function contain

A

HAVING is after group by. It can only contain fields in the GROUP BY clause or aggregate functions.

161
Q

Do Aggregate functions in the HAVING need to mimic the aggregate functions in the Select?

A

Nope, they can be different

162
Q

There are 8 types of operators used with the WHERE clause. Name them!

A
  • The EQ, LT, GT, NE, LE, GE or (=,,<>, <=,>=)
  • BETWEEN obj1 AND obj2
  • IN (obj1, obj2)
  • IN a range table or select option table
  • LIKE using % as the wildcard, or _ for single character
  • IS [NOT] NULL
  • AND, OR
  • NOT
163
Q

In a LIKE comparison how can I search for a wildcard character such as !

A

use the keyword ESCAPE. For example
WHERE fld1 LIKE ‘__!_’ ESCAPE ‘!’
would allow a search for a _ in the third column of the field

164
Q

Can the APPENDING be used in a select statement where the target table is HASHED or SORTED

A

Yes, the APPENDING and APPENDING CORESPONDING ncan be used. The system converts these to inserts

165
Q

What is the only possible reason to use a SELECT/ENDSELECT

A

If the result set would be too large for the memory area

166
Q

What Parameter can be added to select/endselect to control the number of records of each pass

A

PACKAGE SIZE

167
Q

The class lists 9 new operators and functions for 750. What are they?

A
&&
LENGTH
LPAD
LTRIM
RTRIM
RIGHT
REPLACE
SUBSTRING
CONCAT
168
Q

What is the difference between && and CONCAT?

A

CONCAT uses exactly 2 operands.
CONCAT can handle sting types
CONCAT can have a reult length of 1333 where as && has a max of 255

169
Q

There are 10 new arithmetic operands that can be used within the select. Name them.

A

+, -, *, /
ABS, CEIL, FLOOR, DIV, MOD
ROUND

170
Q

What keyword can be used in a select to convert the type of a field to one that can be used in mathematical equations

A

CAST( fld as TYPE type ) / CAST( fld2 as TYPE type )

171
Q

Can only fields of the table be used in CAST?

A

No, CAST( 100 as TYPY FLTP ) is also acceptable

172
Q

Can CASE be used in a select statement?

A
Yes it can 
CASE fld1
  WHEN 'A' THEN '123'
  WHEN 'B' THEN 'ABC'
  ELSE '1W2'
END AS fld2.
173
Q

Within a select can CASE only be used with a single field?

A
No, CASE can also be used in expressions.  For example
CASE
WHEN fld1 GT fld2 THEN 'X
ELSE ' '
END AS fld2
174
Q

Nested selects should…..?

A

Be avoided at all costs

175
Q

Client handling in views is the responsibility of the programmer…..?

A

Not any more. Implicit handling of CLIENT now happens automatically

176
Q

What is the maximum number of tables in a join?

A

50

177
Q

What is the maximum number of subqueries in a join?

A

50

178
Q

Where can a subquery be added to a SELECT?

A

In the WHERE or HAVING clause

179
Q

When using FOR ALL ENTRIES how are duplicates handled

A

They are deleted. It is best if you can remove duplicates from the driving table

180
Q

How does ASSERT work?

A

If the ASSERT is false then the program fails

181
Q

What are the four states of an ASSERT

A

Inactive (bypassed)
Break (debugger opens if assertion fails)
Log (write to the log if the assertion fails)
Abort (runtime error if fails)

182
Q

What are the run time analysis tcodes

A

SAT replaced SE30

183
Q

In ST05 results what are the two methods of grouping SQL statements

A

Value Identical and Structure Identical

184
Q

How is the SQL Monitor accessed

A

First it must be activated. It is activated by SQLM. It can be read thru SQLM or SQLMD