搜索帮助中根据界面条件显示实现方法一

本文详细介绍了如何使用ABAP代码在库存系统中根据已输入的工厂进行搜索帮助,通过调用特定函数和参数设置,实现按工厂筛选库存地点的功能。此方法仅适用于代码实现的搜索帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EG:

举个例子,假如界面中的库存地点要根据已输入的工厂进行显示搜索帮助,往往自己做的搜索帮助只能查询出全部的库存地点,并不能根据已输入的工厂进行查询。

这时候,我们只需要调用下函数:


TYPESBEGIN OF CURSORTYPE,
       FNAME LIKE D021S-FNAM,
       POS   LIKE SY-STEPL,
       VALUE LIKE D021S-FNAM,
       END OF CURSORTYPE.
DATASETCURSOR TYPE CURSORTYPE.
DATADYNPFIELDS LIKE DYNPREAD OCCURS WITH HEADER LINE.
DATADYNPRO_PROGRAM  LIKE SY-REPID"Programmpool und Nummer in dem
DATADYNPRO_NUMBER   LIKE SY-DYNNR"das aktuelle Dynpro liegt.


GET CURSOR FIELD  SETCURSOR-FNAME
               LINE   SETCURSOR-POS
               VALUE  SETCURSOR-VALUE.

  REFRESH DYNPFIELDS.
  MOVE 'P_WERKS' TO DYNPFIELDS-FIELDNAME.
  DYNPFIELDS-STEPL SETCURSOR-POS.
  APPEND DYNPFIELDS.

  DYNPRO_PROGRAM  SY-REPID.          "believe it or not - these
  DYNPRO_NUMBER   SY-DYNNR.          "assignments are necessary!

  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      DYNAME                   DYNPRO_PROGRAM
      DYNUMB                   DYNPRO_NUMBER
      PERFORM_INPUT_CONVERSION 'X'
    TABLES
      DYNPFIELDS               DYNPFIELDS
    EXCEPTIONS
      INVALID_ABAPWORKAREA     1
      INVALID_DYNPROFIELD      2
      INVALID_DYNPRONAME       3
      INVALID_DYNPRONUMMER     4
      INVALID_REQUEST          5
      NO_FIELDDESCRIPTION      6
      INVALID_PARAMETER        7
      UNDEFIND_ERROR           8
      OTHERS                   9.

*  READ TABLE SCR_ITEM_M INDEX SETCURSOR-POS.
  READ TABLE DYNPFIELDS WITH KEY FIELDNAME 'P_WERKS'"P_WERKS是屏幕控件名
*end 读取屏幕工厂


如此之后,我们再编写搜索帮助的时候,就能按照屏幕中工厂条件进行搜索,当然,该方法只针对代码实现的搜索帮助。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值