Skip to main content

Required customer Function Modules


To use the full potential of the Performer Suite, please install all function modules.

👉🏽 The Performer Suite allows you to install and update all necessary function modules in your SAP system automatically and with minimal manual effort.
The scope of functions can be extended by using those RFC-capable customer function modules.

(with BW releases from 7.4, it is necessary to use customer function modules for SAP synchronization)

Overview of customer Function Modules

#

Module

Function Module

Description

1

General

Z_RFC_ENTITY_SYNC

Synchronization with SAP objects. If the Function Module is not installed, the synchronization works, but with less performance.
(info) (not needed for BW/4HANA)

2

Docu Performer,
System Scout

Z_RFC_READ_REPORT

Read the Source code of Includes, Reports, and Function Modules.

3

Docu Performer

Z_RFC_GET_DTP_DETAILS

Read DTP Filter and Semantic Groups.

4

Docu Performer

Z_RFC_AUTH_CHECK

Identify users who are authorized to Queries. If the Function Module is not installed, this will still work, but with much less performance.

5

System Scout

Z_RFC_USAGE_ANALYSIS

Mandatory for Where-Used analysis of InfoObjects and reporting entities. The Where-Used analysis of InfoProvider works also without the Function Module.

6

System Scout

Z_RFC_CODESCAN

Mandatory for a scan of ABAP source code (coding in Transformations, Includes, Methods, DTP Routines, etc.)

7

Docu Performer, Migration Booster

Z_RFC_GET_STRING

Mandatory for table calls where at least one field is of type STRING.

8

Migration Booster,
Translation Steward

Z_RFC_TRANSLATION

Change descriptions of objects in relevant tables of the SAP BW-System.

9

Migration Booster

Z_RFC_ADSO_GETDTL_XML

Read information about an ADSO.

10

Migration Booster

Z_RFC_ADSO_CREATE_XML

Create and activate ADSOs in the SAP BW-System.

11

General

Z_RFC_FUNCTION_DELETE

Delete Function Modules in the SAP BW-System. Required when updating Function Modules.

12

Translation Steward

Z_RFC_CHECK_ACT_TR

Check, activate, and assign transports of all object types in the Translation Steward.

13

Migration Booster

Z_RFC_HCPR_CREATE

Create and activate HCPRs in the SAP BW-System.
(info) (can only be created if the class 'cl_rso_hcpr_metadata_api' is found in your BW - see SAP Note 2391785)

The first character (by default: 'Z_') is a freely selectable prefix that can be defined individually.

Keep in mind, the SAP function module "FUNCTION_CREATE_REMOTE" does not support technical names containing a slash '/'.
If you really need this character (because of own SAP customer namespace), we recommend the following:
👉🏽 Simply create the function module with Z_ and then copy it to the required namespace in SAP.

TOP-Include (manual creation)

If your company policy does not allow the automatic installation of function modules via the Performer Suite, you can install them manually.
In this case, the TOP include must also be modified (see code below):

image-20241206-081412.png

👉🏽 Replace Z_AH in our example below with the name of your function group.

PRESS HERE to see the content of the TOP-Include (Z_AH)
CODE
FUNCTION-POOL Z_AH.                        "MESSAGE-ID ..


TYPES: BEGIN OF ty_trdirt,
         name TYPE trdir-name,
         sprsl TYPE spras,
         text TYPE repti,
       END OF ty_trdirt.

TYPES: BEGIN OF ty_rsarout,
         codeid TYPE rscodeid,
         codetp TYPE rscodetp,
       END OF ty_rsarout.

TYPES: BEGIN OF ty_dd02l,
         tabname TYPE tabname,
       END OF ty_dd02l.

DATA: ls_512 TYPE c LENGTH 512,
      lt_rsaabap TYPE HASHED TABLE OF rsaabap
                 WITH UNIQUE KEY codeid objvers line_no,
      ls_rsaabap TYPE rsaabap,
      lt_rsarout TYPE HASHED TABLE OF ty_rsarout
                 WITH UNIQUE KEY codeid,
      ls_rsarout TYPE ty_rsarout,
      lt_dd02l TYPE HASHED TABLE OF ty_dd02l
               WITH UNIQUE KEY tabname,
      ls_dd02l TYPE ty_dd02l,
      lt_trdirt TYPE HASHED TABLE OF ty_trdirt
                WITH UNIQUE KEY name sprsl,
      ls_trdirt TYPE ty_trdirt,
      lv_result TYPE rsaabap-line,
      ls_result TYPE match_result,
      lv_result_txt TYPE c LENGTH 60,
      lv_len_p1 TYPE i,
      lv_line_no TYPE i,
      lv_offset TYPE i,
      lv_codetp TYPE rscodetp,
      lt_qtab TYPE TABLE OF bwafsource.


* Global data for Query Scan
TYPES:
  zscan_t_data_sort TYPE SORTED TABLE OF rsz_x_eltdir
    WITH NON-UNIQUE KEY eltuid,
  BEGIN OF ty_s_data_scan,
    compuid         TYPE sysuuid_25,
    objvers         TYPE rsobjvers,
    infocube        TYPE rsinfocube,
    compid          TYPE rszcompid,
    version         TYPE rszversion,
    objstat         TYPE rsobjstat,
    activfl         TYPE rsactivfl,
    contrel         TYPE rscontrel,
    conttimestmp    TYPE rsconttimestmp,
    deftp           TYPE rszdeftp,
    owner           TYPE rsowner,
    compdim         TYPE rszcompdim,
    timestmp        TYPE rstimestmp,
    tstpnm          TYPE rststpnm,
    tstpdat         TYPE rststpdat,
    tstptim         TYPE rststptim,
    txtsh           TYPE rstxtsh,
    txtlg           TYPE rstxtlg,
    lastused        TYPE rstimestmp,
    created         TYPE rstimestmp,
    "-------------------------------
    level           TYPE c LENGTH 4,
    compuid_parent  TYPE sysuuid_25,
  END OF ty_s_data_scan,
  ty_t_data_scan TYPE STANDARD TABLE OF ty_s_data_scan,

  BEGIN OF ty_s_data_range,
    compuid   TYPE sysuuid_25,
    eltuid    TYPE rsuniidx,
    iobjnm    type RSIOBJNM,
    sign      TYPE raldb_sign,
    opt       TYPE rsz_operator,
    low       TYPE rschavl,
    high      TYPE rschavl,
    lowflag   TYPE rsztypeflag,
    shiftlow  TYPE rrvshift,
    highflag  TYPE rsztypeflag,
    shifthigh TYPE rrvshift,
    hienm     TYPE rshienm,
  END OF ty_s_data_range,
  ty_t_data_range TYPE STANDARD TABLE OF ty_s_data_range,

begin of zscan_s_iobjnm_range,
  sign   type c length 1,
  option type c length 2,
  low    type rsiobjnm,
  high   type rsiobjnm,
end of zscan_s_iobjnm_range,
zscan_t_iobjnm_range type standard table of zscan_s_iobjnm_range,

begin of zscan_s_infocube_range,
  sign   type c length 1,
  option type c length 2,
  low    type rsinfocube,
  high   type rsinfocube,
end of zscan_s_infocube_range,
zscan_t_infocube_range type standard table of zscan_s_infocube_range,

begin of zscan_s_uname_range,
  sign   type c length 1,
  option type c length 2,
  low    type xubname,
  high   type xubname,
end of zscan_s_uname_range,
zscan_t_uname_range type standard table of  zscan_s_uname_range,

begin of zscan_s_deftp_range,
  sign   type c length 1,
  option type c length 2,
  low    type rszdeftp,
  high   type rszdeftp,
end of zscan_s_deftp_range,
zscan_t_deftp_range type standard table of zscan_s_deftp_range,

begin of zscan_s_subdeftp_range,
  sign   type c length 1,
  option type c length 2,
  low    type rszsubdeftp,
  high   type rszsubdeftp,
end of zscan_s_subdeftp_range,
zscan_t_subdeftp_range type standard table of zscan_s_subdeftp_range,

BEGIN OF ty_chavl,
  sign   TYPE rssign,
  option TYPE rsoption,
  low    TYPE rslow,
  high   TYPE rshigh,
END OF ty_chavl.

TYPE-POOLS:
  rs,                                  "BW global
  rrms,                                "message server
  rsz,                                 "Qry definition global
  rzx0,                                "Qry RFC interface
  rzd1.                                "Qry definition database

TYPES:
  BEGIN OF ty_s_eltuid,
    eltuid TYPE  sysuuid_25,
  END OF ty_s_eltuid,
  ty_t_eltuid TYPE SORTED TABLE OF ty_s_eltuid WITH UNIQUE DEFAULT KEY,

  BEGIN OF ty_s_rszeltxref,
    seltuid  TYPE sysuuid_25,
    teltuid  TYPE sysuuid_25,
    laytp    TYPE rszlaytp,
    "infocube TYPE rsinfocube,
  END OF ty_s_rszeltxref,
  ty_t_rszeltxref TYPE STANDARD TABLE OF ty_s_rszeltxref,
  ty_t_rszcompdir TYPE SORTED TABLE OF rszcompdir
    WITH UNIQUE KEY compuid.

DATA:
  g_t_rszcompdir TYPE ty_t_rszcompdir,
  ls_chavl TYPE ty_chavl,
  gt_chavl TYPE STANDARD TABLE OF ty_chavl.


* Gloabl data for ABAP Scan
TYPES:
  BEGIN OF s_rsaabap,
    codeid  LIKE rsaabap-codeid,
    codetp  LIKE rsarout-codetp,
    line_no LIKE rsaabap-line_no,
    line    TYPE char255,
  END OF s_rsaabap,
  t_rsaabap TYPE STANDARD TABLE OF s_rsaabap.

TYPES:
  BEGIN OF s_result,
     codetp        TYPE rsarout-codetp,
     targetname    TYPE rstran-targetname,
     targettype    TYPE rstran-targettype,
     targetsubtype TYPE rstran-targetsubtype,
     sourcename    TYPE rstran-sourcename,
     sourcetype    TYPE rstran-sourcetype,
     sourcesubtype TYPE rstran-sourcesubtype,
     routinetype   TYPE c LENGTH 4,
     txtlg         TYPE rsaroutt-txtlg,
     iobjnm        TYPE rsupdrout-iciobjnm,
     tranid        TYPE rstran-tranid,
     codeid        TYPE rsaabap-codeid,
     line_no       TYPE rsaabap-line_no,
     line          TYPE c LENGTH 255,
   END OF s_result,
   t_result TYPE STANDARD TABLE OF s_result.

TYPES:
  s_string TYPE char255,
  t_string TYPE STANDARD TABLE OF char255.

TYPES:
  BEGIN OF s_devcl_range,
    sign    TYPE c LENGTH 1,
    option  TYPE c LENGTH 2,
    low     LIKE tadir-devclass,
    high    LIKE tadir-devclass,
  END OF s_devcl_range,
  t_devcl_range TYPE STANDARD TABLE OF s_devcl_range.

TYPES:
  BEGIN OF s_logdp_range,
    sign    TYPE c LENGTH 1,
    option  TYPE c LENGTH 2,
    low     LIKE rsldpiot-logdpid,
    high    LIKE rsldpiot-logdpid,
  END OF s_logdp_range,
  t_logdp_range TYPE STANDARD TABLE OF s_logdp_range.

TYPES:
  BEGIN OF s_name_range,
    sign    TYPE c LENGTH 1,
    option  TYPE c LENGTH 2,
    low     LIKE trdir-name,
    high    LIKE trdir-name,
  END OF s_name_range,
  t_name_range TYPE STANDARD TABLE OF s_name_range.

TYPES:
  BEGIN OF s_subc_range,
    sign    TYPE c LENGTH 1,
    option  TYPE c LENGTH 2,
    low     LIKE trdir-subc,
    high    LIKE trdir-subc,
  END OF s_subc_range,
  t_subc_range TYPE STANDARD TABLE OF s_subc_range.

TYPES:
  BEGIN OF s_clas_range,
    sign    TYPE c LENGTH 1,
    option  TYPE c LENGTH 2,
    low     LIKE seoclass-clsname,
    high    LIKE seoclass-clsname,
  END OF s_clas_range,
  t_clas_range TYPE STANDARD TABLE OF s_clas_range.

TYPES:
  BEGIN OF s_fugr_range,
    sign    TYPE c LENGTH 1,
    option  TYPE c LENGTH 2,
    low     LIKE tlibt-area,
    high    LIKE tlibt-area,
  END OF s_fugr_range,
  t_fugr_range TYPE STANDARD TABLE OF s_fugr_range.

"Result table for Include scan
TYPES:
  BEGIN OF s_object,
    object    LIKE tadir-obj_name,"Name of FUGR, PROG..
    obj_name  LIKE tadir-obj_name,"Name of FUNC, REPS..
    incl_name LIKE tadir-obj_name,"Name of Include
    meth_name TYPE seocpdname,"Name of Method
  END OF s_object.

DATA:
p_level_max TYPE int4,
gt_rsaabap  TYPE t_rsaabap,
gt_result   TYPE t_result,
gt_object   TYPE STANDARD TABLE OF s_object.

Required Authorizations in SAP

You need the following SAP authorizations if you want to install the customer function modules:

AAAB - Cross-application Authorization Objects

S_RFC - Authorization Check for RFC Access [T-B274007000]

Authorizations Field

Values

ACTVT

16 Execute

RFC_NAME

AUTHORITY_CHECK, ENQUEUE_READ, RFC_FUNCTION_DELETE, RFC_GET_ FUNCTION_INTERFACE, RFC_READ_REPORT, RFC_READ_TABLE, RFC1,

RFCPING, RPY_INCLUDE_UPDATE, RS_FUNCTION_POOL_INSERT, RS_FUNCTI-

ONMODULE_INSERT, SDTX, SEUF, SIFP, SIW_RFC_REPOSITORY, SIW_RFC_WRI-

TE_TADIR, SUNI, SUSR, SYST, USER_NAME_GET, Y*, Z*

RFC_TYPE

FUGR, FUNC

S_SIW_CFG - Authorization for projects in SIW [T-B274007000]

Authorizations Field

Values

ACTVT

02

Config ID

<DUMMY>

BC_A - Basis: Administration

S_TABU_NAM - Table Access by Generic Standard Tools [T-B274007000]

Authorizations Field

Values

ACTVT

03

Table

CVERS, DEVACCESS, E070V, E071, FUPARAREF, INFO_FUNCT, PROGDIR, TADIR, TFDIR, TLIBG

BC_C - Basis - Entwicklungsumgebung

S_DEVELOP - ABAP Workbench [T-B274007000]

Authorizations Field

Values

ACTVT

01, 02, 03, 07, 16 Execute

DEVCLASS

$TMP, *,        Y*, Z*

OBJNAME

1

Y*, Z*

OBJTYPE

FUNGR, FUNC

P_ GROUP

*

For "DEVCLASS" and "OBJNAME" customer-specific namespaces are required.

Developer Key

For a Dev Key, please check the table DEVACCESS (SAP transaction SE16) for your user name to be found.

The SAP user needs a Developer Key (from your SAP Basis) in the following two cases:

  1. If you want to create new Function Modules or

  2. Update present Function Modules (e.g. after a major release of the Performer Suite)

  • Onwards SAP Basis Release >= 7.53 (table=CVERS /COMPONENT=SAP_BASIS), we no longer need to check for a developer key (when we create the function modules).

  • As of SAP Basis 7.53, the authorization object S_DEVELOP is required.

  • BW/4HANA 2.0 and certain releases of S/4 are then based on an SAP Basis >= 7.53.

If your SAP User cannot be found in the table DEVACCESS, but you received a Dev Key from your SAP basis do the following:

  1. Go to SAP transaction SE80 and start creating a program.

  2. Proceed with the process, until the SAP GUI asks you to enter your Developer Key.

  3. Now, the check of the Function Modules will be successful (no need to restart the Performer Suite).

    Steps 1 to 3 in the SAP GUI
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.