1

I had a two days training in using the SAP .NET Connector 3.x for SAP RFC Calls. I have access to the SE37, SE16 and SE11 transactions but I'm not allowed (and skilled) to write and deploy my own ABAP Functions.

My question is: How can I find the corresponding ABAP function to a manual action, performed on the SAP-FrontEnd?

Is there a log file anywhere or is there a possibility to perform a trace to see, which functions are called by my FrontEnd?

Thank you in advance, Jan

Sandra Rossi
  • 11,934
  • 5
  • 22
  • 48
Jan021981
  • 521
  • 3
  • 28
  • quite often there isn't any. You can first look at function modules in SE37 that have the literal "BAPI" in their name (Business Application Programming Interface, if I remember correctly). There's also transaction BAPI that lists some of these function modules (but not all). But in the end it is a sometimes frustrating manual search, both through SE37 and google. Google in combination with the SAP developer network might be your best shot. It also pays to search for the terms SAP uses in their application, as SAP consultants are used to those. – Dirk Trilsbeek Nov 07 '18 at 14:25

3 Answers3

1

I suppose you want to know, which Function Modules, methods a.s.o are called.

If so, try transaction SAT (or SE30 in older systems). You can call any transaction or report from SAT and measure its runtime and also see, which modules are called. The result scope depends on the setup of the supplied variant, so maybe you will have to setup your own variant. Documentation can be found here: https://help.sap.com/doc/saphelp_nwpi71/7.1/en-US/4a/2f5264cfc4044fe10000000a421937/content.htm

kaman-thah
  • 21
  • 2
0

If you want to do something with SAP standard data, then the first place to look for a function module should be the transaction BAPI. It's a library of function modules sorted by application which are intended by SAP for use in customer applications. All these function modules are RFC-capable, well-documented and supported by SAP. And they also perform all the necessary permission checks and input validations to prevent users from doing things they are not supposed to do.

If you can not access the transaction code BAPI, then you can also use the SE37 to look for BAPI function modules. Their names all begin with "BAPI_" so you can use the search-help to look for function modules matching the pattern BAPI_*

However, not every user action is covered by a corresponding BAPI function module. In that case my usual approach is to run the process in the debugger (enter the function code /h into the command line before performing that action) and set a dynamic break-point on the ABAP instruction CALL FUNCTION. That way the debugger will stop whenever a function module is called. Chances are that you find one that does what you want and has the input parameter you want to provide. However, keep in mind that most function modules you will find willv not be supported for use in customer code (which means the SAP reserves the right to change them in a future release), and even fewer will be RFC-capable.

Another option is to look for database usage. When you know that a certain database table must be read or written to during a user action, then you can open that table with transction SE11 and click on the "Where used list" button. It will show you any code that uses that table. If you are lucky, you find a use of that table in a function module or a method of a class which you can borrow. But the same caveats apply.

Philipp
  • 67,764
  • 9
  • 118
  • 153
0

There is an interesting program from SAP, RS_ABAP_SOURCE_SCAN, which can be useful to find different development objects. Sometimes only some code fragments are known and it is where it can get handy with finding:

RS_ABAP_SOURCE_SCAN

Note that this program does not have a transaction code, so it should be started from SE38 or SE80 and it is not available on all systems.

AlexSchell
  • 953
  • 1
  • 1
  • 18