做过的一个 ALV 报表,双击 采购申请字段 调转至 ME53N ,双击 采购订单字段 跳转至 ME23N
第一种:CALL TRANSACTION
这个默认值的赋值可以通过set parameter ID来实现,语法如下:
case ucomm.
when '&IC1'. "双击
read table gt_out assigning <fs_out> index rs_selfield-tabindex.
if sy-subrc = 0.
case rs_selfield-fieldname.
when 'BANFN'.
if <fs_out>-banfn is not initial.
set parameter id 'BAN' field <fs_out>-banfn.
call transaction 'ME53N' and skip first screen.
endif.
when 'EBELN'.
SET PARAMETER ID 'BES' FIELD <fs_out>-ebeln.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
when others.
endcase.
endif.
endcase.
SET PARAMETER ID 'BLN' FIELD '1400000092'.
SET PARAMETER ID 'BUK' FIELD '1000'.
SET PARAMETER ID 'GJR' FIELD '2020'
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
parameter ID的查找方法如下,以 ME53N 为例。
第二种:调用 TH_CREATE_MODE (调用TCODE 并在新窗口展示)
CALL FUNCTION 'TH_CREATE_MODE'
EXPORTING
transaktion = 'VA03'
* DEL_ON_EOT = 0
* PARAMETERS =
* PROCESS_DARK = ''
* INHERIT_STAT_TRANS_ID = 0
* IMPORTING
* MODE =
EXCEPTIONS
max_sessions = 1
internal_error = 2
no_authority = 3
OTHERS = 4.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
做过的示例效果: