使用F4IF_INT_TABLE_VALUE_REQUEST 回填屏幕多个字段

AT  SELECTION-SCREEN  ON  VALUE-REQUEST  FOR p_vkorg .
   PERFORM frm_get_zhtbh .

*AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vtweg.
*  PERFORM frm_get_zhtbh.

FORM frm_get_zhtbh .

   TYPES : BEGIN  OF ty_itab ,
          vkorg  LIKE plm_alv_115 -vkorg ,
          vtweg  LIKE plm_alv_115 -vtweg ,
          text1  LIKE plm_alv_115 -text1 ,
          text2  LIKE plm_alv_115 -text2 ,
         END  OF ty_itab .
   DATA :t_vtab       TYPE  TABLE  OF ty_itab  WITH  HEADER  LINE ,
       t_returntab  TYPE  TABLE  OF ddshretval  WITH  HEADER  LINE .


   REFRESH :t_vtab ,t_returntab .

   SELECT INTO CORRESPONDING  FIELDS  OF  TABLE t_vtab
     FROM tvta .

   SORT t_vtab  BY vkorg vtweg .
   DELETE  ADJACENT  DUPLICATES  FROM t_vtab  COMPARING  vkorg vtweg .

   LOOP  AT t_vtab .
     SELECT  SINGLE
      vtext
       INTO t_vtab -text1
       FROM tvkot
       WHERE vkorg  t_vtab -vkorg .


     SELECT  SINGLE
      vtext
       INTO t_vtab -text2
       FROM tvtwt
       WHERE vtweg  t_vtab -vtweg .

     MODIFY t_vtab .
     CLEAR t_vtab .
   ENDLOOP .

   CALL  FUNCTION  'F4IF_INT_TABLE_VALUE_REQUEST'
     EXPORTING
      retfield          'VTWEG'  "'VKORG'
      dynpprog          sy -repid
      dynpnr            sy -dynnr
      dynprofield       'F1'
*     STEPL            = 0
*     WINDOW_TITLE     =
*     VALUE            = ' '
      value_org         'S'
*     MULTIPLE_CHOICE  = ' '
*     DISPLAY          = ' '
      callback_program  sy -repid
      callback_form     'USER_FORM'
*     MARK_TAB         =
* IMPORTING
*     USER_RESET       =
     TABLES
      value_tab         t_vtab
*     FIELD_TAB        =
      return_tab        t_returntab
*     DYNPFLD_MAPPING  =
* EXCEPTIONS
*     PARAMETER_ERROR  = 1
*     NO_VALUES_FOUND  = 2
*     OTHERS           = 3
     .
   IF sy -subrc <>  0 .
     MESSAGE  ID sy -msgid  TYPE sy -msgty  NUMBER sy -msgno
             WITH sy -msgv1 sy -msgv2 sy -msgv3 sy -msgv4 .
   ENDIF .

ENDFORM .                     " FRM_GET_ZHTBH


*&---------------------------------------------------------------------*
*&      Form  USER_FORM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->SHLP       text
*----------------------------------------------------------------------*
FORM user_form  TABLES record_tab  STRUCTURE seahlpres  CHANGING shlp  TYPE shlp_descr_t   callcontrol  LIKE ddshf4ctrl
.
   DATA interface  LIKE  LINE  OF shlp - interface .
   READ  TABLE shlp - interface  INTO  interface  INDEX  1 .

   interface -shlpfield+4 ( 1 '1' .    "设置内表里返回的列值与界面上要填入字段的对应关系(第一列的值要回填入P_VKORG)
   interface -valfield  'P_VKORG' .
   APPEND  interface  TO shlp - interface .

   interface -shlpfield+4 ( 1 '2' .
   interface -valfield  'P_VTWEG' .    "设置内表里返回的列值与界面上要填入字段的对应关系(第二列的值要回填入P_VTWEG)
   APPEND  interface  TO shlp - interface .
   CLEAR  interface .
ENDFORM .                     "USER_FORM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChampaignWolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值