Vous êtes sur la page 1sur 9

QB – 6 M.

Rajagopalan

ABAP Question set:

1. What is an ABAP data dictionary?


ABAP 4 data dictionary describes the logical structures of the objects used in application development
and shows how they are mapped to the underlying relational database in tables/views.

2. What are domains and data element?


Domains:
Domain is the central object for describing the technical characteristics of an attribute of business
objects. It describes the value range of the field.

Data Element:
It is used to describe the semantic definition of the table fields like description the field. Data element
describes how a field can be displayed to end-user.

3. What is foreign key relationship?


A relationship which can be defined between tables and must be explicitly defined at field level. Foreign
keys are used to ensure the consistency of data. Data entered should be checked against existing data to
ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified.
Cardinality mentions how many dependent records or how referenced records are possible.

4. Describe data classes.


Master data: It is the data which is seldomly changed.
Transaction data: It is the data which is often changed.
Organization data: It is a customizing data which is entered in the system when the system is
configured and is then rarely changed.
System data: It is the data which R/3 system needs for itself.

5. What are indexes?


Indexes are described as a copy of a database table reduced to specific fields. This data exists in
sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read,
a pointer to the associated record of the actual table are included in the index. The indexes are activated along
with the table and are created automatically with it in the database.

6. Difference between transparent tables and pooled tables.


Transparent tables:
Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure
corresponds to single database field. Table in the database has the same name as in the dictionary.
Transparent table holds application data.

Pooled tables.
Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the
database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.

7. What is an ABAP/4 Query?


ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can
generate the following 3 simple reports:
Basic List: It is the simple reports.
Statistics: Reports with statistical functions like Average, Percentages.
Ranked Lists: For analytical reports.

For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional
group can be created using with or without logical database table. Finally, assign user group to functional group.
Finally, create a query on the functional group generated.

8. What is BDC programming?


Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a
automatic procedure referred to as BDC (Batch Data Communications).The central component of the transfer is
a queue file which receives the data vie a batch input programs and groups associated data into “sessions”.

31/Oct/2007 1 of 9
QB – 6 M. Rajagopalan

9. What are the functional modules used in sequence in BDC?


These are the 3 functional modules which are used in a sequence to perform a data transfer
successfully using BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and
user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one
transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session.

10. What are internal tables?


Internal tables are 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-organizing the contents of
database tables according to users need.

11. What is ITS? What are the merits of ITS?


ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system,
which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A
complete web transaction can be developed and tested in R/3 system. All transaction components, including
those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of
automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at
runtime.

12. What is DynPro?


DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic
Screen is also called as DynPro.

13. What are screen painter and menu painter?


Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user
to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of
Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars,
menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu
painter both are the graphical interface of an ABAP/4 applications.

14. What are the components of SAP scripts?


SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is
like a standard normal documents. Layout sets. - Layout set consists of the following components: Windows
and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists
of Header, paragraph, and character string. ABAP/4 program.

15. What is ALV programming in ABAP? When is this grid used in ABAP?
ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which
can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the
readability and functionality of any report output. Cases arise in sap when the output of a report contains
columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose
selected columns and arrange the different columns from a report output and also save different variants for
report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report
output. The report output can contain up to 90 columns in the display with the wide array of display options.

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

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

31/Oct/2007 2 of 9
QB – 6 M. Rajagopalan

18. 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:
i) Check functions which check that user input is complete, correct and plausible.
ii) Meaningful data selection.
Iii) Central authorization checks for database accesses.
iv) Good read access performance while retaining the hierarchical data view determined by the
application logic.
Disadvantages:
i) If you do not 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).

19. 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 (i.e.) data for screen fields, to which screen it is passed, program name
behind it, and how next screen is processed.

20. How to upload data using CATT?


These are the steps to be followed to Upload data through CATT: Creation of the CATT test case &
recording the sample data input. Download of the source file template. Modification of the source file. Upload of
the data from the source file.

21. What is Smart Forms?


Smart Forms allows you to create forms using a graphical design tool with robust functionality, color,
and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution.

22. How can I make a differentiation between dependent and independent data?
Client dependent or independent transfer requirements include client specific or cross client objects in
the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are
client independent. If you display the object list for one change request, and then for each object the object
attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will
be client dependent.

23. What is the difference between macro and subroutine?


Macros can only be used in the program the are defined in and only after the definition are expanded at
compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other
programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or
twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine
that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I’ve never
used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the
subroutine is called external (used by more than one program) use a FUNCTION.

24. Is there any standard SAP report which gives a count of the number of times a program is
executed?
Try transaction STAT

25. When we create a customer the information is updated in structure RF02D and the some tables like
KNA1 are updated. How can we find the tables for master data transactions?
Go to ABAP Workbench -> Overview -> application hierarchy - SAP -> follow the customizing based
tree for your application. Double click on a lowest hierarchy level to get for the correct marked development
class. Here you can find all the tables, views, logical databases etc. used for a system operation.

26. How can we use CAD with SAP?


Third party tools from Eigner + Partner provide interfaces to SAP. Another third party software -
Fastlook Plus from Kamel Software enables you to view all of the Autocad formats.

31/Oct/2007 3 of 9
QB – 6 M. Rajagopalan

27. How can I access SAP through Internet?


SAP has its own Internet transaction Server (ITS) . Other products include Haht, WebObjects,
NetDynamics etc. Each product has its' own architecture. However to access the database, access paths SAP
GUI or RFC Channel have to be used.

28. How can we transport the standard text?


Refer note 3355 in OSS for a complete explanation. The SAPscript objects that should be transported
must be written in a transport request. The entries are as follows:
R3TR FORM NAME (NAME = Name of the layout set)
R3TR STYL NAME (NAME = Name of the style)
R3TR TEXT OBJECT,NAME,ID,L
(OBJECT = Text object, NAME = Text name, ID = Text ID, L = Text language)
If you want to transport a number of texts, you can use report RSTXTRAN to insert the individual text keys into
a correction. The transport request must be entered and released via the transport system.

29. How to find what transactions a particular user was running for a given period in the past
(Eg: from 1st of a month)
You may use the transaction - STAT.

30. We want protect / lock a field so that only selected people can change the value while others can
only read. How to set the authorizations?
Create an authorization object for change mode. Loop at screen in the user exit and set input to 0.
Check the user based on sy-uname and the authorization. Decide whether input should be 0 or 1.

31. How to lock a user defined transaction for some time during which no user can access the same?
Use transaction SM01. Scroll through the transactions and check against the transaction to be locked.
And after the maintenance is over, go back to SM01 and uncheck the same to unlock.

Batch Data Communication (BDC)

32. Our ABAP program is working properly in Foreground. Can I schedule it for background processing
on the weekend?
SAP standard program RSBDCSUB helps you to schedule the job. Create a variant for RSBDCSUB
with the BDC session name.

33. How can we send a mail to the user intimating him that his report/BDC is completed in background?
You can use FUNCTION RS_SEND_MAIL_FOR_SPOOLLIST
If Unix is being used, you may send a report to any internet mail with the following:
REPORT ZSNDMAIL .
DATA: COMND(200) type c.
DATA: RESULT(200) type c occurs 100 with header line.
PARAMETERS: FILE(60) type c lower case default '/sapdata/sd_outbound/testmail.dat'.
PARAMETERS: SUBJECT(60) type c lower case.
PARAMETERS: EMAIL(60) type c lower case.
INITIALIZATION.
TRANSLATE EMAIL TO LOWER CASE.
START-OF-SELECTION.
TRANSLATE EMAIL TO LOWER CASE.
CONCATENATE 'cat' FILE '| elm -s "' subject '"' email into comnd seperated by space.
CALL 'SYSTEM' ID 'COMMAND' FIELD comnd 'TAB' FIELD UNIX_RESULTS-*SYS*.
Loop at Results.
write: /1 results.
endloop
end-of-selection.

31/Oct/2007 4 of 9
QB – 6 M. Rajagopalan

SAPScript
34. We get the total number of pages as expected by using 'SAPSCRIPT-FORMPAGES' in a duplex
layout. In our case duplex case is always 'Terms & Conditions'. We do not want the number of pages as
in duplex printing. What is the best possible solution?
On the Terms & Conditions page, Change the Page counter mode to 'HOLD' to keep the page counter
from incrementing when you print the Term & Conditions.

35. Can I Print a logo on an Invoice?


Save a Logo using Paintshop Pro or Corel Draw as Tiff file. Use RSTXLDMC to convert the logo to
standard text in SapScript. When the program is executed, the path and file name have to be correctly
specified. Process could be like the following:

Run RSTXLDMC
Enter file name C:\MAIL\COMPLOGO.TIF
Resolution for Tiff file
Absolute X-position
Absolute Y-position
Absolute positioning
Reserved height
Shift to right
UOM = CM
Text title
Line width for text = 132
Text name ZHEX-MACRO-COMPLOGO
Text ID ST
Text language = E
Postscript scaling
Width & Height according to PS scaling
Number of Tiff gray levels (2,4,9) 2
Then Create a new window 'COMP' with attributes;
Window COMP description Company Logo
Window type CONST
Left margin 7.00 CH window width 10.00 CH
Upper margin LN window height 8.00 LN
Finally in the text element , mention
/: INCLUDE 'ZHEX-MACRO-COMPLOGO' OBJECT TEXT ID ST LANGUAGE 'E'.

Please note that if object name is not indicated as 'ZHEX...', the logo may not be printed!
You will not be able to see the logo in a test print. The same will be printed in actual printout.

If you are using two logos in the same layout, the names of the logos should be unique. Say 'ZHEX-MACRO-
OGO1' and 'ZHEX-MACRO-LOGO2'. Else all the information will be overwritten.If the logo is not EXACTLY
TIFF 6.0 , the same will not be printed.
See OSS notes 5995, 18045, 39031 for some inputs.

31/Oct/2007 5 of 9
QB – 6 M. Rajagopalan

RFC:

36. We want to move a SAP table to an Access table using TABLE_EXPORT_TO_MSACCESS_RFC


Importing parameters are
DBNAME
DEST
FLG_APPEND
FLG_POPUP
LANGU
The table has three columns:

TABNAM
MANDT
SDATA
we have no Exporting parameters.
How shall we set the parameters?
Install the PS utilities, which are part of SAPGUI install CD. You may run report RIACCESS from SE38.
Go to SALE -> Communication -> Define RFC Destination. Setup two RFC destinations PS_ACCESS_1 and
PS_ACCESS_2 and will have to get them to point to wdpsastr.exe and wdpsatab.exe respectively. Then
execute RIACCESS and choose PS_ACCESS_1 to generate access tables. Please note that Access only
supports tables with up 255 fields.

37. We want an RFC do the following transactions - MB1A, MB1C,>MB01 (goods receipt/issue).
Call the RFC INBOUND_IDOC_PROCESS with IDOC_CONTROL and IDOC_DATA. The structure in
the fields data in the IDOC_DATA are e1mbxyh and e1mbxyi.

Transports
38. In a Dev instance, we want to transport a modification to a layout set from one client to another.
What is the best way?
Use transaction SE71. Choose Utilities->Copy from Client. Layout sets need not be transported
between clients, via transport requests DEVKxxxxxx.

39. We need to keep track of the transports that need to flow through to other systems (ie, DEV, TST,
TRN, PRD etc). Is there a way do this?
SAPCRAFT enables you to control the CTS from DEV system. This keeps track of all transports at all
Stages and enables you to allocate Import, export and Authorization functions to specific user.

Tables
39. We specify the logical database. And we want a field that is not present in any of the tables
defaulted in logical database. How can we want to add this additional field from a different table?
Presume you have a logical database, table 1, table 2, table 3. Define the required field as additional
field say fld of table 1, table 2 or table 3 and then in the code section define.
Perform get_f1d(zxxxxxxx) using f1d.
Form zxxxxxxx could be like;
Form get_f1d using f.
Select * from where 'conditions'
f = table4 - f1d.

40. We need to download an internal table to the Presentation Server(local workstation). Whenever we
run the program, the same file has to be saved as a separate file in sequential order. Ex: 0001.txt,
0002.txt etc. Where can we store the last file number?
SAP has a table TVARV for storing the variants. A record may be created in TVARV for all the programs
that require this kind of incremental records

For Ex: the record could be 100Zmm10001 MM sequence rec where first part consists of client code and the
program being run. Client code is required because TVARV does not has a field for client code. The second part
is the description indicating the purpose what the record is created. This entire string may be posted in the
Name field (char - 30).

The Type field ( char- 1) may be populated with P or S (Parameter or Selection) Low field (char- 45) may be
populated with '0001' when run first time and increment it by one in your program for downloading of the internal
table.

31/Oct/2007 6 of 9
QB – 6 M. Rajagopalan

Batch input / Direct input:


41. We are calling transaction VL01 in batch input to create deliveries using a program for delivery due
list. How ever we are unable to create deliveries for transport stock orders. Why?
Batch-inputs can not be used to fill the "delivery due list" screen because it is not a dynpro. This is a
standard SAP report. A SAP report (check with "System -> Status") may be called using SUBMIT sentence with
the appropriate options. It is preferred to call a report than create a Batch-input program.

42. What are some sample direct input data transfer programs?
In MM for Material Master data – RMDATIND
FI - for Accounting Documents - RFBIBL00
PP - for Independent requirements - RM06IN00
CA - for Classification data - RCCLBI03

Upgrade SAP or Installation of SAP R/3 and ECC:


What is ECC? Where to find the installation steps of ECC 5/6.0 with SQL as database and on windows
platform with the steps including Solution Manager installation?

http://service.sap.com/instguides

ECC means Enterprise Central Component.

There are all the relevant installation guides. You NEED SAPNet access because without a registered and
licensed SolMan installation number you will not be able to generate the SolMan key for the ECC installation.

Upgrade to 4.7
Have you gone through an upgrade to 4.7? What is the difference or changes associated with 4.7.

If you are currently on 4.6C and are inching forward to upgrading to 4.7 then this information might be useful to
you. There is very little difference between 4.6 and 4.7, the only "steps" you should need are steps in SU25
(skip step 1) Then go through all your role and perform a merge old new to bring in the new authorization
objects Just to forewarn you of a potential problem which have been encounter at the point of writing.

After updating/ modifying roles in step 2C, when going back into 2C to make sure all roles are now green, 70%
have gone back to red! The maintenance done is ok, but there seems to be a problem while trying to go back
into the roles again to re-generate.

SAP recognizes them as needing "adjustment", so you cannot pick them up in mass generate in PFCG as they
do not come in, even though the authorizations tab is red.

This problem is currently with SAP and it is confirmed that nothing have been done wrongly. Generally, the work
is quite manageable in the upgrade, but don't be surprised at how big the upgrade is when compared to
upgrading from 46b to 46c.

If we have full software of 46c and 47E is it possible to upgrade 46c to 47E or there is a separate 47E
upgrade software need to be requested from SAP? Where I can get the document with upgrade steps
on the service market place?

It is of course possible and supported:


http://service.sap.com/inguides
 SAP Components
 SAP R/3 Enterprise
 (choose your version)
 at the bottom there is an "Upgrade guide" for Windows and Unix.

For Upgrades it is recommended to read ALL the notes mentioned in the upgrade guide and to make sure one
is using the correct version of the "tp" program the correct version of the "R3trans" program
the correct version of the "R3up" program
-
All that is explained in the upgrade guide and in the corresponding notes.
If this is your first upgrade you should take a person, that has some experience on doing that for the first time.

31/Oct/2007 7 of 9
QB – 6 M. Rajagopalan

Installation of SAP R/3


Currently we are going to install SAP on a new IBM server from the existing COMPAQ server. Where can I get
the steps for that.

Configuration is :

OS - windows 2003 server

DB - Oracle 9i

SAP 4.7

http://service.sap.com/instguides

 SAP Components
 SAP R/3 Enterprise
 SAP R/3 Enterprise Core 4.70 / Ext. Set 2.00 (SR1)
 Inst. Guide - R/3 Enterprise 4.7 x 2.00 SR1 on Win: Oracle
The above url is the SAP Service Marketplace with all the information you need to install, configure and run
system. You need to be a valid licensed customer with a user ID and PASSWORD to use that. Without access
you won't be able to successfully run any SAP systems because it has notes, patches etc.

Difference between MRP vs MPS:


Explain the difference between MRP & MPS. Though both components gives you the requirement list,
what we gain out of MPS run rather than running MRP. What is the main idea behind this?

The following might help in explaining the difference between MPS and its counter part MRP.

Master Production Schedule (MPS):


MPS operates within only one level of the BOM, While MRP can be utilized throughout all levels of a
Material BOM. If a MPS is run on a material, the necessary orders are planned at that level. Dependent
requirements (if any) are placed on the next BOM level down, and then the process stops.

Main Idea : Master production scheduling (MPS) is a form of MRP that concentrates planning on the
parts or products that have the great influence on company profits or which dominate the entire production
process by taking critical resources. These items are marked as parts (MPS items) and are planned with extra
attention.
These items are selected for a separate MPS run that takes place before the MRP run. The MPS run is
conducted without a BOM explosion so that the MRP controller can ensure that the Master schedule items
(MSI) are correctly planned before the detailed MRP run takes place.

The master production schedule is a line on the master schedule grid that reflects the anticipated build
schedule for those items assigned to the master scheduler. The master scheduler maintains this schedule, and
in turn, it becomes a set of planning numbers that drives material requirements planning. It represents what the
company plans to produce expressed in specific configurations, quantities, and dates. The master production
schedule is not a sales item forecast that represents a statement of demand. The master production schedule
must take into account the forecast, the production plan, and other important considerations such as backlog,
availability of material, availability of capacity, and management policies and goals. Syn: master schedule.

Material Requirements Planning (MRP):


A set of techniques that uses bill of material data, inventory data, and the master production schedule to
calculate requirements for materials. It makes recommendations to release replenishment orders for material.
Further, because it is time-phased, it makes recommendations to reschedule open orders when due dates and
need dates are not in phase. Time-phased MRP begins with the items listed on the MPS and determines.

(1) the quantity of all components and materials required to fabricate those items and
(2) the date that the components and material are required. Time-phased MRP is accomplished by exploding
the bill of material, adjusting for inventory quantities on hand or on order, and offsetting the net requirements by
the appropriate lead times.

31/Oct/2007 8 of 9
QB – 6 M. Rajagopalan

Interview Questions for SAP Basis

1. What is private mode? When does user switch to user mode?


Private mode is a mode where the heap data is getting exclusively allocated by the user and is no more
shared across the system. This happens when your extended memory is exhausted.

2. What is OSP mean? What if user is given with this authorisation?


An OPS is the mechanism the admin users uses to connect to the database.

3. Can you kill a Job?


Yes - SM37 - select - kill

4. If you have a long running Job? How do you analyse?


Use transaction SE30.

5. When we should use Transactional RFC ?


"Transactional RFC" means, that either both parties agree that the data was correctly transferred - or
not. There is no "half data transfer".

6. What is the use of trusted system? I know that there is no need of UID and PWD to communicate with
partner system. In what situation it is good to go for Trusted system?
E.g. if you have an R/3 system and a BW system and don't want to maintain passwords. Same goes for
CRM and a lot of other systems/applications.

Let me know if my understanding below is correct:

1) By default the RFC destination is synchronous

2) Asynchronous RFC is used incase if the system initiated the RFC call no need to wait for the response before
it proceeds to something else.

Yes - that's right.

But keep in mind, that it's not only a technical issue whether to switch to asynchronous. The application must
also be able to handle that correctly.

31/Oct/2007 9 of 9

Vous aimerez peut-être aussi