zoukankan      html  css  js  c++  java
  • ABAP如何返回'F4IF_INT_TABLE_VALUE_REQUEST'函数隐含的字段

    请参照红颜色代码
    *&---------------------------------------------------------------------*
    *& Report  ZUS_SDN_F4IF_INT_TAB_VAL_REQ
    *&
    *&---------------------------------------------------------------------*
    *&
    *&
    *&---------------------------------------------------------------------*

    REPORT  zus_sdn_f4if_int_tab_val_req.

    TYPE-POOLS: shlp.
    tables: knb1.
    DATA:
      gd_repid     TYPE syrepid,
      gt_knb1      TYPE STANDARD TABLE OF knb1,
    *用于返回需要选中纪录的各个字段值
      gt_values    TYPE STANDARD TABLE OF ddshretval.
    parameters: p_kunnr like  knb1-kunnr.

    INITIALIZATION.
      gd_repid = syst-repid.
      SELECT * FROM knb1 INTO TABLE gt_knb1 UP TO 100 ROWS.


    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_kunnr.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          ddic_structure         = 'KNB1'
          retfield               = 'KUNNR'  " overwritten in callback !!!
    *     PVALKEY                = ' '
         DYNPPROG               = gd_repid
         DYNPNR                 = '1000'
         DYNPROFIELD            = 'P_KUNNR'
    *     STEPL                  = 0
    *     WINDOW_TITLE           =
    *     VALUE                  = ' '
          value_org              = 'S'  " structure
    *     MULTIPLE_CHOICE        = ' '
    *     DISPLAY                = ' '
          callback_program       = gd_repid
          callback_form          = 'CALLBACK_F4'

    *     MARK_TAB               =
    *   IMPORTING
    *     USER_RESET             =
        TABLES
          value_tab              = gt_knb1
    *     FIELD_TAB              =
          return_tab             = gt_values
    *     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.

    START-OF-SELECTION.

    *现实返回字段的值
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
        EXPORTING
          i_structure_name = 'DDSHRETVAL'
        TABLES
          t_outtab         = gt_values
        EXCEPTIONS
          program_error    = 1
          OTHERS           = 2.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.

    END-OF-SELECTION.
    *&---------------------------------------------------------------------*
    *&      Form  CALLBACK_F4
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    FORM callback_f4
                TABLES record_tab STRUCTURE seahlpres
                CHANGING shlp TYPE shlp_descr
                         callcontrol LIKE ddshf4ctrl.
    * define local data
      DATA:
        ls_intf     LIKE LINE OF shlp-interface,
        ls_prop     LIKE LINE OF shlp-fieldprop.
    *Hide unwanted fields
      CLEAR: ls_prop-shlpselpos,
             ls_prop-shlplispos.
      MODIFY shlp-fieldprop FROM ls_prop
        TRANSPORTING shlpselpos shlplispos
      WHERE ( fieldname NE 'BUKRS'  AND
              fieldname NE 'KUNNR'  AND
              fieldname NE 'PERNR' ).
    *  " Overwrite selectable fields on search help
    *添加需要返回的字段
      REFRESH: shlp-interface.
      ls_intf-shlpfield = 'BUKRS'.
      ls_intf-valfield  = 'X'.
      APPEND ls_intf TO shlp-interface.
      ls_intf-shlpfield = 'KUNNR'.
      ls_intf-valfield  = 'P_KUNNR'.
      APPEND ls_intf TO shlp-interface.

    ENDFORM.                    " CALLBACK_F4

  • 相关阅读:
    若依启动非常慢
    【转】上火了一吃就好的食物
    实型输入控制
    【转】中国地理的几个概念
    如何在阅读邮件时时保留原有html格式正文的样式
    好的代码不是设计出来的,而是重构出来的
    .net用OLEDB方式操作SqlServer和Sybase
    悬浮框实现
    C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍
    ODBC驱动重新注册
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157185.html
Copyright © 2011-2022 走看看