Parameters 如何获取参数值并将其插入查询SAP ABAP

Parameters 如何获取参数值并将其插入查询SAP ABAP,parameters,abap,Parameters,Abap,我有一个问题,我用参数生成报告,然后我必须从一个参数中获取值并将其输入Select查询,但我的值始终为空,在报告启动所有functionert之前,我会生成默认值 当我尝试这一切都是好的 PARAMETERS p_name TYPE char30. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_name. p_name = 'ARNOLD'. SELECT * FROM zyy_pat_final_db INTO TABLE tb_pt WHERE

我有一个问题,我用参数生成报告,然后我必须从一个参数中获取值并将其输入Select查询,但我的值始终为空,在报告启动所有functionert之前,我会生成默认值

当我尝试这一切都是好的

PARAMETERS p_name TYPE char30.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_name.

p_name = 'ARNOLD'.

SELECT * FROM zyy_pat_final_db INTO TABLE tb_pt WHERE NAME = p_name.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
*     DDIC_STRUCTURE  = ' '
      retfield        = 'name'
*     PVALKEY         = ' '
      dynpprog        = sy-repid
      dynpnr          = sy-dynnr
      dynprofield     = 'p_name'
*     STEPL           = 0
*     WINDOW_TITLE    =
*     VALUE           = ' '
      value_org       = 'S'
*     MULTIPLE_CHOICE = ' '
*     DISPLAY         = ' '
*     CALLBACK_PROGRAM       = ' '
*     CALLBACK_FORM   = ' '
*     CALLBACK_METHOD =
*     MARK_TAB        =
* IMPORTING
*     USER_RESET      =
    TABLES
      value_tab       = tb_pt
*     FIELD_TAB       =
*     RETURN_TAB      =
*     DYNPFLD_MAPPING =
* EXCEPTIONS
*      parameter_error = 1
*      no_values_found = 2
*      OTHERS          = 3.
*  IF sy-subrc <> 0.
* Implement suitable error handling here.
*  ENDIF.

实际上,首先要求不是很明确:如果选择参数需要select查询的值,那么使用的功能模块将不会有帮助。。。请尝试使用给定的代码

 BEGIN OF ty_mat,
    sign(1)   TYPE c,
    option(2) TYPE c,
    XXXXX(low)    TYPE ANY,
    YYYYY(high)   TYPE ANY,
  END OF ty_mat.

  DATA:  it_mat             TYPE TABLE OF      ty_mat,
         wa_mat             TYPE               ty_mat.

  LOOP AT it_TABLE INTO wa_TABLE.          "added
  wa_sam1-sign = 'I'.
  wa_sam1-option  = 'EQ' .
  wa_sam1-low = "aNY VALUE".
  APPEND wa_MAT TO it_mat.
  ENDLOOP.


and now pass it_mat to your select query with IN parameter...
问题很清楚:“
字段帮助和输入帮助的事件不会在选择屏幕和ABAP程序之间传输数据。与常规dynpros一样,适当的功能模块,如RS\u SELECTIONSCREEN\u READ…
 BEGIN OF ty_mat,
    sign(1)   TYPE c,
    option(2) TYPE c,
    XXXXX(low)    TYPE ANY,
    YYYYY(high)   TYPE ANY,
  END OF ty_mat.

  DATA:  it_mat             TYPE TABLE OF      ty_mat,
         wa_mat             TYPE               ty_mat.

  LOOP AT it_TABLE INTO wa_TABLE.          "added
  wa_sam1-sign = 'I'.
  wa_sam1-option  = 'EQ' .
  wa_sam1-low = "aNY VALUE".
  APPEND wa_MAT TO it_mat.
  ENDLOOP.


and now pass it_mat to your select query with IN parameter...