• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
^ω^SAp傻X^o^
博客园    首页    新随笔    联系   管理    订阅  订阅
F4搜索帮助 带回多个值

昨天群里有人问,就自己试了一下,POV执行在走PAI之前,所以空表行的时候TABLE里是没有数据的,所以一开始想用MIDOFY的想法看来不完善,可以再空表时做个APPEND。

 

 

后来又换了个想法,直接更新屏幕值。

测试的程序,比较乱

MODULE POV_MATNR INPUT.
  DATA:T_TAB TYPE TABLE OF MAKT.
  DATA:R_TAB TYPE TABLE OF DDSHRETVAL WITH HEADER LINE.
  DATA:P_TAB TYPE TABLE OF DYNPREAD.
  DATA:S_TAB TYPE DYNPREAD.
  DATA:LINE TYPE I.
  DATA:LV_FIELD(30) TYPE C.

  GET CURSOR FIELD  LV_FIELD LINE LINE.

  CALL FUNCTION 'DYNP_GET_STEPL'
    IMPORTING
      POVSTEPL = LINE.

  SELECT * INTO CORRESPONDING FIELDS OF TABLE T_TAB FROM MAKT.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
*     DDIC_STRUCTURE  = ' '
      RETFIELD        = 'MATNR'
*     PVALKEY         = ' '
      DYNPPROG        = SY-REPID
      DYNPNR          = SY-DYNNR
      DYNPROFIELD     = 'GW_ZMMS014-MATNR'
*     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       = T_TAB[]
*     FIELD_TAB       =
      RETURN_TAB      = R_TAB[]
*     DYNPFLD_MAPPING =
    EXCEPTIONS
      PARAMETER_ERROR = 1
      NO_VALUES_FOUND = 2.
  READ TABLE R_TAB INDEX 1.
  S_TAB-FIELDNAME = 'GW_ZMMS014-MATNR'.
  S_TAB-STEPL = LINE.
  S_TAB-FIELDVALUE = R_TAB-FIELDVAL."ls_return_tab-fieldval.
  APPEND S_TAB TO P_TAB..
  S_TAB-FIELDNAME = 'GW_ZMMS014-MAKTX'.
  S_TAB-STEPL = LINE.
  S_TAB-FIELDVALUE = '1222222'."ls_return_tab-fieldval.
  APPEND S_TAB TO P_TAB..

  CALL FUNCTION 'DYNP_VALUES_UPDATE'
    EXPORTING
      DYNAME               = SY-REPID
      DYNUMB               = SY-DYNNR
    TABLES
      DYNPFIELDS           = P_TAB
    EXCEPTIONS
      INVALID_ABAPWORKAREA = 1
      INVALID_DYNPROFIELD  = 2
      INVALID_DYNPRONAME   = 3
      INVALID_DYNPRONUMMER = 4
      INVALID_REQUEST      = 5
      NO_FIELDDESCRIPTION  = 6
      UNDEFIND_ERROR       = 7.
ENDMODULE.

 

^_^很多人都把资料锁进了note里,以后还怎么百度呢^_^
posted on 2016-12-08 12:03  ^ω^SAP傻X^o^  阅读(1665)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3