2024年4月18日发(作者:)
业务场景:
自定义报表开发,需要用到自定义表作为参数录入的搜索帮助栏,如下图所示:
实现步骤:
1、 SE11创建自定义表ZT001(公司、跟踪号、项目名称等)
2、 SE38 部分代码段
**-----1、屏幕录入参数------------------------------------**
SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE T1.
PARAMETER:P_BUKRS TYPE T001-BUKRS OBLIGATORY.
PARAMETER:p_bednr TYPE zt001-bednr obligatory .
SELECT-OPTIONS: P_EBELN FOR BSAK-EBELN,
"采购订单
P_BUDAT FOR BSAK-BUDAT.
"过账日期(发票校验、付款记账)
SELECTION-SCREEN END OF BLOCK BK1.
**------2、增加自定义搜索帮助栏,BEDNR 需求跟踪号,取值ZT001 ;-----**
DATA: it_return_tab TYPE TABLE OF ddshretval WITH HEADER LINE,
wa_return LIKE LINE OF it_return_tab.
DATA: BEGIN OF lt_zmat OCCURS 0,
bukrs like zt001-bukrs,
bednr LIKE zt001-bednr,
project_name TYPE zt001-project_name,
project_num TYPE zt001-project_num,
project_date LIKE zt001-project_date,
project_company LIKE zt001-project_company,
END OF lt_zmat.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bednr.
PERFORM frm_f4_zklxn.
FORM frm_f4_zklxn.
SELECT * FROM ztfi341
INTO CORRESPONDING FIELDS OF TABLE lt_zmat where delete_state <> '1' .”
此处为用户自定义过滤条件的结果集
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'BEDNR'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'BEDNR'
value_org = 'S'
"display = 'F'
callback_program = sy-cprog
TABLES
value_tab = lt_zmat
return_tab = it_return_tab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
ENDFORM.
**----------------END-----------------------------------------**
发布评论