Sei sulla pagina 1di 8

ABAP Interview Questions

1. How data is stored in cluster table?


Each field of cluster table behaves as tables which contains the
no. of entries.
2. What are client dependant objects in abap/sap?
SAP Script layout, text element, and some DDIC objects.
3. On which even we can validate the input fields in module
programs?
In PAI (Write field statement on field you want to validate, if
you want to validate group of fields put in chain and End chain
statement.)
4. In selection screen I have three fields, plant mat no and
material group. If I input plant how do I get the mat no and
material group based on plant dynamically?
AT SELECTION-SCREEN ON VALUE-REQUEST FOR MATERIAL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' to get material and
material group for the plant.
5. How do you get output from IDOC?
Data in IDOc is stored in segments; the output from IDoc is
obtained by reading the data stored in its respective segments.
6. When top of the page event is triggered?
After executing first write statement in start-of-selection
event.
7. Can we create field without data element and how?
In SE11 one option is available above the fields strip. Data
element/ direct type.
8. How do we debug sapscript?
Go to SE71 give lay set name, go to utilities select debugger
mode on.
9. Which transaction code can I used to analyze the performance
of ABAP program.
TCode AL21.
10. How can I copy a standard table to make my own z_table.
Go to transaction SE11. Then there is one option to copy table.
Press that button. Enter the name of the standard table and in
the Target table enter Z table name and press enter.
ABAP Frequently Asked Question
ABAP/4

Q: 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?
A: 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.

B D C
Q: Our ABAP program is working properly in Foreground. Can I
schedule it for background processing on the weekend?
A: SAP standard program RSBDCSUB helps you to schedule the job.
Create a variant for RSBDCSUB with the BDC session name.
Q: How can we send a mail to the user intimating him that his
report/BDC is completed in background?
A: 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.

SapScript
Q: 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?
A: 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.
Q: Can I Print a logo on an Invoice?
A: 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-LOGO1' and 'ZHEX-MACROLOGO2'. 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.

R F C
Q: 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?
A: 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.
Q: We want an RFC do the following transactions - MB1A,
MB1C,>MB01 (goods receipt/issue).
A: Call the RFC INBOUND_IDOC_PROCESS with IDOC_CONTROL and
IDOC_DATA. The structure in the field sdata in the IDOC_DATA is
e1mbxyh and e1mbxyi.

Transports

Q: In a Dev instance, we want to transport a modification to a


layout set from one client to another. What is the best way?
A: use transaction SE71. Choose Utilities->Copy from Client.
Layout sets need not be transported between clients, via
transport requests DEVKxxxxxx.
Q: We need to keep track of the transports that need to flow
through to other systems (i.e. DEV, TST, TRN, PRD etc). Is there
a way do this?
A: 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.

EDI/IDOC
Q:1 We created an EDI Vendor and created all required output
conditions. However no IDOC is generated when PO is printed. Why?
A: Go to Header->output for the PO. The output type shall be '6'.
The status shall be '1'. If the status is '0' check the timing.
If the status is 2, go to 'GOTO->Processing Log' and the
explanation for non-generation of IDOC can be seen.
Q: How can we create / upload IDOC's from legacy system to SAP?
A: Third party tool Mercator may be used to convert Legacy files
to Idoc format. Mercator provides an IDOC tree import facility,
SAP provides the export facility. You can transfer the Idoc
layouts from SAP to Mercator automatically and then map.
Q: We want to receive an outbound EDI 855 IDOC only if E2EDP20
-scheduling confirmation segment is present. Else get an "error"
status preventing triggering the EDI subsystem.
A: User exit logic has to be added in function IDOC_INPUT_ORDRSP.
# Set up a test flag and set it off when the IDOC header is
read.
# Turn the flag ON when the EDP20 segment is read.
# Interrogate this flag when the next segment after EDP20 in the
same IDOC comes in. If it is on, you have an EDP20 coming in.
# Issue an error status 51 with suitable message for whichever
condition you don't want the IDOC to be processed, this will stop
the IDOC from posting.
Q: Where ever PO is sent to the vendor via EDI, we want an
acknowledgement of the PO by vendor. Which fields are updated and
what should be my procedure?
A: Execute Program: IDOC_INPUT_ORDRSP
Process code: ORDR

Message type: ORDRSP


IDOC: ORDERS01
The confirmation process allows the supplier to return an
acknowledgment. Only Dates and quantities can be changed The
information is stored in the PO and can be viewed via Item>Confirmation->Overview. The PO can be flagged as 'confirmation
required' so that Pos without acknowledgement receipt can be
monitored. Control keys and tolerances (days and quantities) have
to be customized.

A L E
Q: Our IDOC remains in status 51 (not posted) while testing ALE
setup by passing DEBMAS02 IDocs. The message 'Field KNA1-BRSCH is
not an input field'. This is the Industry key. What are we
missing?
A: Go to IMG - menu path IMG->Logistics General-> Logistics Basic
Data: Business partners->Customers-> Control->Define Account
groups and field selection for customer.
Select sold-to or ship-to. Select General Data. Select control
and double click. Industry key is found here. Change the option
to 'Optional Entry'.
Check OSS 5599. You may have to update view V_T078D also.

Batch In-put/ Direct In-put


Q: 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?
a: 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.
Q:
A:
FI
PP
CA

What are some sample Direct input data transfer programs?


In MM for Material Master data - RMDATIND
- for Accounting Documents - RFBIBL00
- for Independent requirements - RM06IN00
- for Classification data - RCCLBI03

Handling Tables

Q: 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?
A: 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.
Q: 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?
A: 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.

Others
Q: How can we use CAD with SAP?
A: 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.
Q: How can I access SAP through Internet?
A: 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.
Q: How can we transport the standard text?
A: 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.
Q: How to find what transactions a particular user was running
for a given period in the past (Eg: from 1st of a month)
A: You may use the transaction - STAT.
Q: 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?
A: Create an authorization object for change mode. Loop at screen
in the user exit and set input to 0. Check the user based on syuname and the authorization. Decide whether input should be 0 or
1.
Q: How to lock a user defined transaction for some time during
which no user can access the same?
A: 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.

Potrebbero piacerti anche