ITPub博客

首页 > Linux操作系统 > Linux操作系统 > mblnr的搜索帮助

mblnr的搜索帮助

原创 Linux操作系统 作者:hzq2010 时间:2011-05-15 11:23:59 0 删除 编辑

做选择界面客户看见采购订单有选择按钮 ,要我把物料凭证的按钮也弄出来    查看se11 里没有搜索帮助  看mb03 有个写在程序里的搜索帮助  我想把mb03里的搜索帮助搬过来用。

上网查到一篇文章

使用MB51选出物料凭证清单,双击某张凭证返回到先前的选择屏幕的代码

SAP ABAP程序的选择屏幕字段的搜索帮助通常来讲,我们是通过DICTIONARY创建的SEARCH HELP或DOMAIN上的CHECK TABLE等继承而来,某些情况下我们在定义PARAMETERS的时候使用MATCHCODE OBJECT指定特定的搜索帮助。除此之外,还有一些特殊的搜索帮助,采用了一些特别的方法,比如在标准程序中物料凭证编号,使用的就是MB51的程序,示例代码如下:CONSTANTS: C_X TYPE C VALUE ‘X’.
PARAMETERS:P_MBLNR TYPE MKPF-MBLNR.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MBLNR.  
    DATA: FLAG(1).
    FLAG  = ‘X’.
EXPORT C_X TO MEMORY ID ‘MB51_FLAG’.
  CALL TRANSACTION ‘MB51′.
  GET PARAMETER ID ‘MBN’ FIELD P_MBLNR.

如此,再通过MB51的选择屏幕选出物料凭证清单后,双击某张凭证后就返回到先前的选择屏幕,物料凭证编号就填好了。

 

代码拷过去    双击凭证后跳转到凭证的行项目,不是我想要的。

将程序改成

DATA: FLAG(1).
PARAMETERS:P_MBLNR TYPE MKPF-MBLNR.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MBLNR.
  FLAG  = ‘X’.
  EXPORT FLAGTO MEMORY ID ‘MB51_FLAG’.
  CALL TRANSACTION ‘MB51′.
  GET PARAMETER ID ‘MBN’ FIELD P_MBLNR.

或者

 

DATA: FLAG(1).
SELECT-OPTIONS: s_MBLNR FOR mkpf-mblnr MEMORY ID bes.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_MBLNR-low..
FLAG  = ‘X’.
EXPORT  FLAG  TO MEMORY ID ‘MB51_FLAG’.
CALL TRANSACTION ‘MB51′.
GET PARAMETER ID ‘MBN’ FIELD s_MBLNR-low.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_MBLNR-high..
FLAG  = ‘X’.
EXPORT  FLAG  TO MEMORY ID ‘MB51_FLAG’.
CALL TRANSACTION ‘MB51′.
GET PARAMETER ID ‘MBN’ FIELD s_MBLNR-high.

 

 

或者
data it_mkpf LIKE TABLE OF mkpf WITH HEADER LINE .

PARAMETERS:P_MBLNR TYPE MKPF-MBLNR.
INITIALIZATION.

SELECT * INTO CORRESPONDING FIELDS OF TABLE IT_MKPF
  FROM MKPF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MBLNR.

*    EXPORT FLAG TO MEMORY ID ’MB51_FLAG’.
*  CALL TRANSACTION ’MB51′.
*  GET PARAMETER ID ’MBN’ FIELD P_MBLNR.
CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST’
EXPORTING
*     DDIC_STRUCTURE         = ’ ’
  RETFIELD               = ‘MBLNR’

*     PVALKEY                = ’ ’
  DYNPPROG               =  ‘ZMMRP014111111′
  DYNPNR                 = SY-DYNNR
  DYNPROFIELD            = ‘P_MBLNR’  “ 此屏幕字段参数
  VALUE_ORG              = ‘S’
*     MULTIPLE_CHOICE        = ’ ’
*     CALLBACK_PROGRAM       = ’ ’
*     CALLBACK_FORM          = ’ ’
TABLES
  VALUE_TAB              = IT_mkpf[]    “ 存放预选值清单的内表
*     FIELD_TAB              =
*     RETURN_TAB             =
*     DYNPFLD_MAPPING        =
EXCEPTIONS
  PARAMETER_ERROR        = 1
  NO_VALUES_FOUND        = 2
  OTHERS                 = 3.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23495244/viewspace-695402/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: ABAP时间函数
请登录后发表评论 登录
全部评论

注册时间:2010-03-11

  • 博文量
    196
  • 访问量
    205416