SAP ABAP 函数 TR_REQUEST_CHOICE

发布时间 2023-07-15 09:58:46作者: JerryWang_汪子熙

TR_REQUEST_CHOICE 是 SAP ABAP 中的一个函数模块,它用于在系统中处理传输请求。传输请求是 SAP 系统中的一个重要概念,它用于管理和控制系统中对象的传输。这些对象可以是程序、表、视图等。

TR_REQUEST_CHOICE 函数模块提供了一种界面,允许用户在系统中选择一个传输请求。它有一个参数 I_REQUNR,这个参数用于指定要在界面中显示的传输请求的编号。如果不指定这个参数,函数将显示系统中所有的传输请求供用户选择。

这个函数返回两个值。第一个值是 E_REQUNR,这是用户在界面中选择的传输请求的编号。第二个值是 E_USER,这是创建该传输请求的用户的用户名。

以下是一个使用 TR_REQUEST_CHOICE 函数模块的 ABAP 代码示例:

DATA: lv_requnr TYPE e070-trkorr,
      lv_user TYPE s_authority-field.

CALL FUNCTION 'TR_REQUEST_CHOICE'
  EXPORTING
    i_requnr = '000001' " 可以指定一个传输请求编号
  IMPORTING
    e_requnr = lv_requnr
    e_user = lv_user.

WRITE: / '传输请求编号: ', lv_requnr.
WRITE: / '创建用户: ', lv_user.

在这个示例中,我们调用 TR_REQUEST_CHOICE 函数模块并指定传输请求编号为 000001。然后,我们将用户选择的传输请求编号和创建用户的用户名打印到屏幕上。

需要注意的是,TR_REQUEST_CHOICE 函数模块通常用于开发系统的交互界面,因此它在后台运行的报表或者批处理程序中可能无法正常工作。此外,虽然这个函数模块可以显示系统中所有的传输请求,但用户只能选择他们有权限访问的传输请求。如果用户没有权限访问任何传输请求,这个函数将返回一个错误。

’ TR_REQUEST_CHOICE’ has two parameters to add objects and keys

  1. IT_E071

E071 structure:
TRKORR = request/task number
Pgmid = ‘R3TR’
Object = ‘TABU’
OBJ_NAME = TABNAME

( if it’s view data
Object = ‘VDAT’
OBJ_NAME = VIEWNAME

)

OBJFUNC = ‘K’. (!)
…….
Append to IT_E071

  1. IT_E071K

E071K structure:

TRKORR = request/task number
Pgmid = ‘R3TR’
Object = ‘TABU’
OBJ_NAME = TABNAME
(if it’s part of view
MASTERTYPE = ‘VDAT’
MASTERNAME =VIEWNAME
)
OBJFUNC = SPACE

TABKEY = keys ( including current client! )

….. Append to IT_E071K

You don’t have to input AS4POS, it’s calculated internally.

If this table is client dependent ( first fiedl is mandant) ,

 '001JER CONTR '. 001 = sy-sid

If not

'JER CONTE