研究、分享我学习零售业SAP的历程
------------打造中国第一个零售SAP博客

text:
1. What is the typical structure of an ABAP/4 program?
HEADER

,BODY,FOOTER.
2. What are field symbols and field groups.?
Have you used "component idx of structure"

clause with field groups?
Field symbols:-
Field groups :-
3. What should be the

approach for writing a BDC program?
STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table

CALLED "CONVERSION".
STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".
STEP 3:

DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity)
ii) create sessions (sessions are

created and processed.if success data will transfer).
4. What is a batch input session?
BATCH INPUT

SESSION is an intermediate step between internal table and database table.
Data along with the action is stored in

session ie data for screen fields, to which screen it is passed,program name behind it, and how next screen is processed.

5. What is the alternative to batch input session?
Call transaction.
6. A situation: An

ABAP program creates a batch input session.
We need to submit the program and the batch session in back ground.

How to do it?
Please go to SM36 and create background job by giving job name,job class and job steps

(JOB SCHEDULING)
8. What are the problems in processing batch input sessions?
How is batch input

process different from processing online?
PROBLEMS:-
i) If the user forgets to opt for keep session

then the session will be automatically removed from the session queue(log remains). However if session is processed we may

delete it manually.
ii)if session processing fails data will not be transferred to SAP database table.
10.

What are the different types of data dictionary objects?
tables, structures, views, domains, data elements,

lock objects, Matchcode objects.
11. How many types of tables exists and what are they in data dictionary?

4 types of tables
i)Transparent tables - Exists with the same structure both in dictionary as well as in

database exactly with the same data and fields. Both Opensql and Nativesql can be used.
ii)Pool tables & iii)

Cluster tables -
These are logical tables that are arranged as records of transparent tables.one cannot use native sql

on these tables
(only opensql).They are not managable directly using database system tools.
iv)Internal tables

- .
12. What is the step by step process to create a table in data dictionary?
step 1: creating

domains(data type,field length,range).
step 2: creating data elements(properties and type for a table
field).
step 3: creating tables(SE11).
13. Can a transparent table exist in data dictionary but not

in the data base physically?
No. Transporent tables do exist with the same structure, both in the dictionary as

well as in database, exactly with the same data and the fields.
14. What are the domains and data elements?

DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE.
DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT.
15. Can you create a table with fields not

referring to data elements?
YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data

element.
16. What is the advantage of structures? How do you use them in the ABAP programs?
The most

important advantage of the structures is that they have global existence (i.e.; these could be used by any other program

without creating it again).
17. What does an extract statement do in the ABAP program?
Once

you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset

using the following statements:
EXTRACT .
When the first EXTRACT statement occurs in a program, the

system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new

extract record is added to the dataset
EXTRACT HEADER.
When you extract the data, the record is filled with

the current values of the corresponding fields.
As soon as the system has processed the first EXTRACT statement for a

field group , the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert

new fields into the field groups and HEADER. If you try to modify one of the field groups afterwards and use it in

another EXTRACT statement, a runtime error occurs.
By processing EXTRACT statements several times using different

field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups

dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not

determine the structure at the beginning of the program.
18. What is a collect statement? How is it different

from append?
If an entry with the same key already exists, the COLLECT statement does not append a new line,

but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry.

19. What is open sql vs native sql?
ANS:-
20. What does an EXEC SQL stmt do in ABAP?

What is the disadvantage of using it?
21. What is the meaning of ABAP/4 editor integrated with ABAP/4 data

dictionary?
22. What are the events in ABAP/4 language?
Initialization, At selection-

screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,At

LAST,AT END, AT FIRST.
23. What is an interactive report?
What is the obvious diff of such report

compared with classical type reports?
An Interactive report is a dynamic drill down report that produces the

list on users choice.
diff:-
a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with the

system
the list produced by interactive report allows the user to interact with the system.
b) ONCE A

CLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL.
c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.IN

INTERACTIVE DRILLING IS POSSIBLE.
24. What is a drill down report?
Its an Interactive report where

in the user can get more relavent data by selecting explicitly.
25. How do you write a function module in SAP?

Describe.
Creating function module:-

  • called program - se37-creating funcgrp,funcmodule by

    assigning attributes,importing,exporting,tables,exceptions.

  • calling program - SE38-in pgm click pattern and write

    function name- provide export,import,tables,exception values.

26. What are the exceptions in function

module?
COMMUNICATION_FAILURE
SYSTEM_FAILURE
27. What is a function group?

GROUP OF ALL RELATED FUNCTIONS.
28. How are the date and time field values stored in SAP?

DD.MM.YYYY. HH:MM:SS
30. Name a few data dictionary objects?

TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS.
31. What happens when a table is activated

in DD?
It is available for any insertion,modification and updation of records by any user.
32. What

is a check table and what is a value table?
Check table will be at field level checking.
Value table

will be at domain level checking ex: scarr table is check table for carrid.
33. What are match codes? describe?

It is a similar to table index that gives list of possible values for either primary keys or non-primary keys.

34. What transactions do you use for data analysis?
35. What is table maintenance generator?

36. What are ranges? What are number ranges?
max,min values provided in selection screens.

37. What are select options and how are they different from parameters?
select options provide

ranges where as parameters do not.
SELECT-OPTIONS declares an internal table which is automatically filled with values

or ranges
of values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table.
SELECT-OPTIONS FOR .
A selection table is an internal table with fields SIGN, OPTION, LOW and

HIGH.
The type of LOW and HIGH is the same as that of .
The SIGN field can take the following values: I

Inclusive (should apply) E Exclusive (should not apply)
The OPTION field can take the following values: EQ Equal GT

Greater than NE Not equal BT Between LE Less
than or equal NB Not between LT Less than CP Contains pattern GE Greater

than or equal NP No pattern.
Select Options vs Parameters
PARAMETERS allow users to enter a single

value into an internal field within a report.
SELECT-OPTIONS allow users to fill an internal table with a range of

values.
For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing
Goto - Text

elements - Selection texts - Change.
Eg:- Parameters name(30).
when the user executes the ABAP/4 program,an

input field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fields

by using text elements as described in Selection Texts.
38. How do you validate the selection criteria of a

report?
And how do you display initial values in a selection screen?
validate :- by using match code

objects.
display :- Parameters default 'xxx'.
select-options for spfli-

carrid.

39. What are selection texts?
40. What is CTS and what do you know about it?

The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP

Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape.
This documentation provides you with an overview of how to manage changes with the CTS and essential information on

setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when

planning your development project.
For practical information on working with the Change and Transport System, see

Change and Transport Organizer and Transport Management System.
41. When a program is created and need to be

transported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How

do you do it?
42. What is the client concept in SAP? What is the meaning of client independent?

43. Are programs client dependent?
Yes.Group of users can access these programs with a

client no.
44. Name a few system global variables you can use in ABAP programs?
SY-SUBRC,SY-

DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX.....
SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WAS

TRIGGERED.
45. What are internal tables? How do you get the number of lines in an internal table?
How to

use a specific number occurs statement?
i)It is a standard data type object which exists only during the

runtime of the program.
They are used to perform table calculations on subsets of database tables and for re-

organising the contents of database tables according to users need.
ii)using SY-DBCNT.
iii)The number of memory

allocations the system need to allocate for the next record population.
46. How do you take care of performance

issues in your ABAP programs?
Performance of ABAPs can be improved by minimizing the amount of data to be

transferred.
The data set must be transferred through the network to the applications, so reducing the amount OF time

and also reduces the network traffic.
Some measures that can be taken are:
- Use views defined in the ABAP/4

DDIC (also has the advantage of better reusability).
- Use field list (SELECT clause) rather than SELECT *.
-

Range tables should be avoided (IN operator)
- Avoid nested SELECTS.
i)system tools
ii)field symbols and

field groups.
ans:-
Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does not

physically reserve space for a field,but points to a field which is not known until runtime of the program.
eg:-

FIELD-SYMBOL [].
Field groups : A field group combines several fields under one name.At runtime,the INSERT

command is used to define which data fields are assigned to which field group.
There should always be a HEADER field

group that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER field

group.
47. What are datasets?
The sequential files(ON APPLICATION SERVER) are called datasets. They

are used for file handling in SAP.
48. How to find the return code of a statement in ABAP programs?

Using function modules.
49. What are interface/conversion programs in SAP?
CONVERSION

: LEGACY SYSTEM TO FLAT FILE.
INTERFACE : FLAT FILE TO SAP SYSTEM.
50. Have you used SAP supplied

programs to load master data?
51. What are the techniques involved in using SAP supplied programs? Do you

prefer to write your own programs to load master data? Why?
52. What are logical databases? What are the

advantages/disadvantages of logical databases?
To read data from a database tables we use logical database. A

logical database provides read-only access to a group of related tables to an ABAP/4 program.
advantages
The programmer need not worry about the primary key for each table.Because Logical database knows how the different

tables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data.
i)An easy

-to-use standard user interface.
ii)check functions which check that user input is complete,correct,and plausible.
iii)meaningful data selection.
iv)central authorization checks for database accesses.
v)good read access

performance while retaining the hierarchical data view determined by the application logic.
disadvantages
i)If you donot specify a logical database in the program attributes,the GET events never occur.
ii)There is no

ENDGET command,so the code block associated with an event ends with the next event
statement (such as another GET or

an END-OF-SELECTION).
53. What specific statements do you using when writing a drill down report?

AT LINE-SELECTION,AT USER-COMMAND,AT PF.
54. What are different tools to report data in SAP? What

all have you used?
55. What are the advantages and disadvantages of ABAP/4 query tool?

56. What are the functional areas? User groups? and how does ABAP/4 query work in relation to
these?

57. Is a logical database a requirement/must to write an ABAP/4 query?
59. What are Change

header/detail tables? Have you used them?
60. What do you do when the system crashes in the middle of a BDC

batch session?
we will look into the error log file (SM35).
61. What do you do with errors in BDC

batch sessions?
We look into the list of incorrect session and process it again. To correct incorrect session

we analyize the session to determine which screen and value produced the error.For small errors in data we correct them

interactively otherwise
modify batch input program that has generated the session or many times even the

datafile.
62. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?

go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)
63.

Is it possible to run host command from SAP environment? How do you run?

64. What kind of financial

periods exist in SAP? What is the relavent table for that?
65. Does SAP handle multiple currencies? Multiple

languages?
Yes.
66. What is a currency factoring technique?
67. How do you

document ABAP/4 programs? Do you use program documentation menu option?
68. What is SAPscript and layout

set?
The tool which is used to create layout set is called SAPscript. Layout set is a design document.

69. What are the ABAP/4 commands that link to a layout set?
Control commands,system commands,

70. What is output determination?
71. What are IDOCs?
IDOCs are intermediate

documents to hold the messages as a container.
72. What are screen painter? menu painter? Gui status?

dynpro - flow logic + screens.
menu painter -
GUI Status - It is subset of the interface elements

(title bar,menu bar,standard tool bar,push buttons) used for a certain screen.
The status comprises those elements

that are currently needed by the transaction.
73. What is screen flow logic? What are the sections in it? Explain

PAI and PBO.
The control statements that control the screen flow.
PBO - This event is triggered before

the screen is displayed.
PAI - This event is responsible for processing of screen after the user enters the data and

clicks the pushbutton.
74. Overall how do you write transaction programs in SAP?
Create program-

SE93-create transcode-Run it from command field.
75. Does SAP has a GUI screen painter or not? If yes what

operating systems is it available on? What is the other type of screen painter called?
76. What are step

loops? How do you program pagedown pageup in step loops?
step loops are repeated blocks of field in a screen.

77. Is ABAP a GUI language?
Yes.
ABAP IS AN EVENT DRIVEN LANGUAGE.
78. Normally

how many and what files get created when a transaction program is written?
What is the XXXXXTOP program?

ABAP/4 program.
DYNPRO
79. What are the include programs?
When the same

sequence of statements in several programs are to be written repeadly they are coded in include programs (External programs)

and are included in ABAP/4 programs.
80. Can you call a subroutine of one program from another program?
Yes- only external subroutines Using 'SUBMIT' statement.
81. What are user exits? What is involved in writing

them? What precations are needed?
82. What are RFCs? How do you write RFCs on SAP side?
83.

What are the general naming conventions of ABAP programs?
Should start with Y or Z.
84. How do you

find if a logical database exists for your program requrements?
SLDB-F4.
85. How do you find the

tables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP

structures?
Transcode is entered in command field to open the table.Utilities-Table contents-display.

86. How do you find the menu path for a given transaction in SAP?
87. What are the different

modules of SAP?
FI,CO,SD,MM,PP,HR.
89. How do you get help in ABAP?
HELP-SAP LIBRARY,by

pressing F1 on a keyword.
90. What are different ABAP/4 editors? What are the differences?
91.

What are the different elements in layout sets?
PAGES,Page windows,Header,Paragraph,Character String,Windows.

92. Can you use if then else, perform ..etc statements in sap script?
yes.
93. What

type of variables normally used in sap script to output data?
94. How do you number pages in sapscript layout

outputs?
95. What takes most time in SAP script programming?
LAYOUT DESIGN AND LOGO

INSERTION.
96. How do you use tab sets in layout sets?
97. How do you backup sapscript layout

sets? Can you download and upload? How?
98. What are presentation and application servers in SAP?

The application layer of an R/3 System is made up of the application servers and the message server. Application

programs in an R/3 System are run on application servers. The application servers communicate with the presentation

components, the database, and also with each other, using the message server.
99. In an ABAP/4 program how do you

access data that exists on a presentation server vs on an application server?
i)using loop statements.
ii)flat
100. What are different data types in ABAP/4?
Elementary -

predefined C,D,F,I,N,P,T,X.
userdefined TYPES.
ex: see in intel book page no 35/65

Structured -
predefined TABLES.
userdefined Field Strings and internal tables.

101. What is difference between session method and Call Transaction?
102. Setting up a BDC

program where you find information from?
103. What has to be done to the packed fields before submitting to a

BDC session.
fields converted into character type.
104. What is the structure of a BDC

sessions.
BDCDATA (standard structure).
105. What are the fields in a BDC_Tab Table.

program,dynpro,dynbegin,fnam,fval.
106. What do you define in the domain and data element.

Technical details like
107. What is the difference between a pool table and a transparent table and

how they are stored at the database level.
ii)Pool tables is a logical representation of transparent tables

.Hence no existence at database level. Where as transparent tables are physical tables and exist at database level.

108. What is cardinality?
For cardinality one out of two (domain or data element) should be the

same for Ztest1 and Ztest2 tables. M:N
Cardinality specifies the number of dependent(Target) and independent (source)

entities which can be in a relationship.

posted on 2008-01-10 13:42  会东  阅读(4004)  评论(1编辑  收藏  举报