FAQ'S ON ABAP Cross Applications

What are the types of remote communications ?

communications between two independent SAP System client-server communications between an SAP System acting as the client and an external server.RFC is SAP's platform-independent core technology for all the three types of remote communications.

 What is RFC?

A remote function call is a call to a function module running in a system different from the caller's. The remote function can also be called from within the same system (as a remote call), but usually caller and callee will be in different systems.

6. What is the statement used for calling RFC in ABAP/4 programs?
Any ABAP/4 program can call a remote function using the CALL FUNCTION...DESTINATION statement.

7. RFC functions must be registered in SAP systems as _______________.

8. Destination parameter are defined in which table?
Logical destinations are defined in the RFCDES table (or the TRFCD table in R/2 Systems) via transaction SM59

9. How to Call interfaces for non-SAP programs ?
To help implement RFC partner programs in non-SAP Systems, SAP provides :
The RFC Generator to create stub programs

External Interfaces

10. What is RFC generator ?

The function library in R/3 provides a facility for generating and then downloading RFC programs to a workstation or PC. This facility is the RFC Interface Generator. With this tool, you can create RFC stub programs (that call SAP function modules) and example programs (that show how to call stub programs).

11. What is RFC stub program?

RFC stub programs contain all the parameter-handling and communications necessary to call SAP function modules from a non-SAP System.

12. What is RFC-API?

The RFC-API on OS/2, Windows, Windows NT and all R/3-based UNIX platforms makes it possible to use the RFC functionality between an SAP System (R/3 from Release 2.1 and R/2 from Release 5.0D onwards) and a C program on the above platforms. It is of no significance to the caller whether the remote function is provided in an SAP System or in a C program.

13. How does processing of RFC interface take place in ABAP/4?

The RFC interface is effectively invisible to the ABAP/4 programmer. Processing for calling remote programs is built into the CALL FUNCTION statement. Processing for being called is generated automatically (in the form of an RFC stub) for every function module registered as remote. This stub serves as an interface between the calling program and the function module.

14. Distinguish between RFC client & RFC server.

RFC client is the instance that calls up the Remote Function Call to execute the function that is provided by an RFC server. In the following, the functions that can be executed remotely will be called RFC functions and the functions provided via RFC API will be called RFC calls.

All RFC functions available in a remote RFC server system, which are called by an RFC client, are processed transaction ally.

15. When is RFC connection closed ?
When the context of the calling ABAP/4 program has ended or
explicitly by RfcAbort or RfcClose in the external program.

16. What is Transactional RFC?
To make the execution of RFC functions reliable, safe and independent from the availability of the RFC server or RFC server system, the transactional RFC (tRFC) was introduced for R/3 systems from Release 3.0 onwards,data can be transferred between two R/3 systems. This ensures that the called function module is executed only once in the RFC server system.

17. Where system logs the remote call request in DB tables?
The system logs the remote call request in the database tables ARFCSSTATE and ARFCSDATA with all of its parameter values. You can display the log file using transaction SM58. When the calling program reaches a COMMIT WORK, the remote call is forwarded to the requested system for execution.

Transactional RFC requests are transferred, with parameter data in byte-stream form, using TCP/IP or X400.

18. What are restrictions for Transactional calls?
There are two restrictions on writing remote functions that are to be called transactionally:

• Transactional calls cannot return parameter values. As a result, the interface for these functions should not specify any EXPORT parameters.
• Functions that run transactionally may not perform call-backs: the caller's context does not necessarily still exist when the call-back is relayed back to the original system.

19. What exceptions raise in a remote funcation?

System raises COMMUNICATION_FAILURE and SYSTEM_FAILURE internally, there is no reason for you to raise them in your program.

20. How call-back mechanism used in RFC calls?

You can trigger this call-back mechanism by using the special destination name "BACK". If this name is specified in an RFC call on the system acting as the server, the system uses the same RFC connection that was established when the server received the first call. Once an RFC connection is established, it is maintained until it is either explicitly closed or until the calling program terminates

21. What are technical requirements for RFC programming in ABAP/4?

External Systems systems must support TCP/IP. OS/2: TCP/IP for OS/2 from IBM.

Windows 3.1/3.11: All TCP/IP products that support the socket interface.
Windows NT/95: Microsoft standard
UNIX platforms: Manufacturer's standard

The RFCSDK for the respective platforms contains the following libraries and includes:

saprfc.h This include file contains all data types and structures required and the prototypes (declarations) of the RFC calls.
sapitab.h This include file contains all the RFC calls required to manipulate internaltables

librfc Depending on the platform, the following libraries are required:
OS/2: librfc.dll and librfc.lib for Compile/Link
Windows 3.1/3.11: librfc16.dll, librfc2.dll, librfc3.dll, librfc4.dll
and librfc5.dll and librfc16.lib for Compile/Link
Windows NT/95: librfc32.dll and librfc32.lib for Compile/Link
UNIX-Platforms: librfc.a

SAP R/3 Systems

For RFC between external systems and R/3, there are no specific requirements in the R/3 System, except that the R/3 System has to be Release >= 2.1.

24: 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.

25.What is the difference between Messages and Message Types? (IN EDI)

Messages: display message to hel0p analyze errors that occurred during the allocation run.
Message types: define the business document and also defines the logic of the selection and posting programs.

Q:26 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:27 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:28 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:29 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

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.


Q:30 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.


31. What are the different ways in which you can make
changes to SAP standard software ?


Enhancements to the SAP Standard
Modifications to the SAP Standard
Customer Development

32. What is customizing ?

Customizing is the setting of system parameters via SAP's own interface.

33. Why do you need enhancements ?

The standard applications do not offer some of the functionality you need.
The R/3 enchancement concept allows you to add your own functionality to SAP's standard business applications.

34. What are the different types of enhancements ?

Enhancements using customer exits

Customers' potential requirements which are not included in the standard software are incorporated in the standard as empty modification 'shells'. Customers can then fill these with their own coding. Enhancements can relate to programs, menus and screens. Upward compatibility is assured. In other words, SAP guarantees that the jump from the standard software to the exit and the interface which call the exit will remain valid in future releases.

Enhancements to ABAP/4 Dictionary elements

These are ABAP/4 Dictionary enhancements (creation of table appends), text enhancements (customer-specific key words and documentation for data elements) and field exits (creation of additional coding for data elements).

35. What is customer development ?

Creating customer-specific objects within the customer name range.

36. What is SSCR ?

SSCR (SAP Software Change Registration) is a procedure, for registering all manual changes to SAP source coding and SAP Dictionary objects.

37.What is the difference between modifications and enhancements ?

Modifications mean making changes to the SAP standard functionality.
Enhancements mean adding some functionality to SAP standard functionality.

38. What are the disadvantages of modification ?

Modifying standard code can lead to errors
Modifications mean more work during software upgrades

39. What are the advantages of enhancements ?
Do not affect standard SAP source code
Do not affect software upgrades

40. when do you opt for modification ?

Customer exits are not available for all programs and screens within the R/3 standard applications. You can only use exits if they already exist within the SAP R/3 System . Otherwise you have to opt for modifications .

41. What are the various types of customer exits ?
Menu exits
Screen exits
Function module exits
Keyword exits

42. What is a menu exit ?

Adding items to the pulldown menus in standard R/3 applications .

43.What is a screen exit ?

Adding fields to the screens within R/3 applications. SAP creates screen exits by placing special subscreen areas within a standard R/3 screen and calling a customer subscreen from within the standard dynpro's flow logic.

44. What is a function module exit ?

Adding functionality to R/3 applications. Function module exits play a role in both menu and screen exits.

45. What is a keyword exit ?

Add documentation to the data elements of key words defined in the ABAP/4 Dictionary. The system displays this documentation whenever a user presses F1 to get online help for a screen field.

46. How do SAP organizes its exits ?

SAP organizes its exits in packages that are called SAP enhancements. Each SAP enhancement can contain many individual exits.

47. What is an add-on project ?

To take advantage of the exits available within standard R/3 applications, you need to create an add-on project. This project lets you organize the enhancement packages and exits you want to use. The add-on project also allows you to hang add-on functionality onto the exit hooks contained with SAP enhancements.

Q48: What is the difference between a user exit and a customer exit? Do I need to get some kind of access key from SAP to do a user exit?

Strictly speaking a user exit is any place within standard SAP, where SAP have added a mechanism for client specific code to be executed.

Customer exits are maintained with transaction CMOD. They are constructed in such a way that all development is in the customer name range, so no access keys are required.

Most other types of exits require an access key, as they are places where you can put your own code directly into standard SAP. For example, in Sales Order Processing, SAPMV45A, a number of user exits can be found in include MV45AFZZ. To modify this, however, you would need an access key from SAP for this include. If you wanted to utilize the screen exits available in Sales Order Processing, you would need an access key for SAPMV45A.

VOFM transaction manages many user exits. When a VOFM exit is created, two access keys are required. One for the include in which the code will be, and one of the function group in which it sits.


ALE is SAP proprietary technology that enables data communications between two or more SAP R/3 systems and/or R/3 and external systems. When a new enterprise resource planning (ERP) solution such as R/3 is implemented, companies have to interface the ERP system with legacy systems or other ERP systems.

ALE provides intelligent mechanisms where by clients can achieve integration as well as distribution of applications and data.

ALE technology facilitates rapid application prototyping and application interface development, thus reducing implementation time.
The ALE components are inherently integrated with SAP applications and are robust, leading to a highly reliable system.

ALE comes with application distribution/integration scenarios as well as a set of tools, programs, data definitions, and methodologies that you can easily configure to get an interface up and running.


BAPIs provide a stable, standardized method for third-party applications and components to integrate into the Business Framework. These interfaces are being specified as part of SAP's initiative with customers, partners and leading standards organizations. Also, SAP has implemented the emerging Object Application Group (OAG) specifications with BAPIs.

Q50: what we have to take care of explicitly in BAPi’s when you code directly in ABAP and make changes in the database and want to commit the database.

Ans: commit work statement has to be added.



SAP Financial Payment Cards

No comments :

Post a Comment