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.
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 are 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 (ie,
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.
E D I / 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->LogisticsGeneral->
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: What are some sample Direct
input data transfer programs?
A: In MM for Material Master data - RMDATIND
FI - for Accounting Documents - RFBIBL00
PP - for Independent requirements - RM06IN00
CA - 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 sy-uname and the authorization. Decide whether input should be 0 or
1.
Q: How to lock an 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.
More ABAP Q & A
ABAP Questions
Get help for your ABAP problems
ABAP Forum
- Do you have a ABAP Question?
ABAP Programming Books
ABAP
Books - Certification, BAPI, Java, Web Programming, Smart Forms, Sapscripts
Reference Books
ABAP Tips
ABAP Forum for Discussion
and Samples Program Codes for Abapers
Best regards,
SAP Basis, ABAP Programming and Other IMG Stuff
http://www.erpgreat.com
All the site contents are Copyright © www.erpgreat.com
and the content authors. All rights reserved.
All product names are trademarks of their respective
companies. The site www.erpgreat.com is in no way affiliated with
SAP AG.
Every effort is made to ensure the content integrity.
Information used on this site is at your own risk.
The content on this site may not be reproduced
or redistributed without the express written permission of
www.erpgreat.com or the content authors.
|