SAP增加标准TECODE ME21N订单号F4页签增强

需求描述:在ME21NTECODE下增加订单号F4页签增强。
在这里插入图片描述
在这里插入图片描述
上图为增强后的效果。
以下为实现步骤:
1.F1查看该字段的表和字段名在这里插入图片描述
2.双击进去。
在这里插入图片描述
查看输入帮助/检查。
3.双击进去查看。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里我们可以看到与前台的搜索帮助对应起来了,那大概就在这里动手脚了。
在这里插入图片描述
4.回到标准的orde,点击附加搜索帮助。
在这里插入图片描述
5.
在这里插入图片描述
在这里插入图片描述

输入名字,点击勾。
6.在这里插入图片描述
创建这个搜索帮助。
7.搜索帮助如下:
在这里插入图片描述
8.函数具体内容:
在这里插入图片描述
在这里插入图片描述
代码部分:

FUNCTION ZJZFMMMSH001.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  TABLES
*"      SHLP_TAB TYPE  SHLP_DESCT
*"      RECORD_TAB STRUCTURE  SEAHLPRES
*"  CHANGING
*"     VALUE(SHLP) TYPE  SHLP_DESCR
*"     VALUE(CALLCONTROL) LIKE  DDSHF4CTRL STRUCTURE  DDSHF4CTRL
*"----------------------------------------------------------------------
  RANGES: LR_AUFNR FOR AFPO-AUFNR,
          LR_AUART FOR AUFK-AUART,
          LR_KOKRS FOR AUFK-KOKRS,
          LR_KTEXT FOR AUFK-KTEXT,
          LR_ZYUL3 FOR ZJZSDT_OMS_ORD-ZYUL3,
          LR_DWERK FOR AFPO-DWERK.
  DATA:BEGIN OF LS_DATA,
         AUFNR TYPE AFPO-AUFNR,
         AUART TYPE AUFK-AUART,
         KOKRS TYPE AUFK-KOKRS,
         KTEXT TYPE AUFK-KTEXT,
         ZYUL3 TYPE ZJZSDT_OMS_ORD-ZYUL3,
         DWERK TYPE AFPO-DWERK,
       END OF LS_DATA,
       LT_DATA LIKE TABLE OF LS_DATA.

  CHECK CALLCONTROL-STEP = 'SELECT'.

  LOOP AT SHLP-SELOPT INTO DATA(LS_SELOPT).
    CASE LS_SELOPT-SHLPFIELD.
      WHEN 'AUFNR'.
        LR_AUFNR = CORRESPONDING #( LS_SELOPT ).
        APPEND LR_AUFNR.
      WHEN 'AUART'.
        LR_AUART = CORRESPONDING #( LS_SELOPT ).
        APPEND LR_AUART.
      WHEN 'KOKRS'.
        LR_KOKRS = CORRESPONDING #( LS_SELOPT ).
        APPEND LR_KOKRS.
      WHEN 'KTEXT'.
        LR_KTEXT = CORRESPONDING #( LS_SELOPT ).
        APPEND LR_KTEXT.
      WHEN 'ZYUL3'.
        LR_ZYUL3 = CORRESPONDING #( LS_SELOPT ).
        APPEND LR_ZYUL3.
      WHEN 'DWERK'.
        LR_DWERK = CORRESPONDING #( LS_SELOPT ).
        APPEND LR_DWERK.
      WHEN OTHERS.
    ENDCASE.
  ENDLOOP.

*根据输入参数查询数据
  SELECT
      A~AUFNR
      A~DWERK
      B~AUART
      B~KOKRS
      B~KTEXT
      C~ZYUL3
  INTO CORRESPONDING FIELDS OF TABLE LT_DATA
  FROM AFPO AS A
  INNER JOIN AUFK AS B
   ON A~AUFNR = B~AUFNR
  INNER JOIN ZJZSDT_OMS_ORD AS C
   ON A~KDAUF = C~VBELN
  AND A~DWERK = C~VKORG
  AND A~KDPOS = C~POSNR
  WHERE A~AUFNR IN LR_AUFNR
    AND B~AUART IN LR_AUART
    AND B~KOKRS IN LR_KOKRS
    AND B~KTEXT IN LR_KTEXT
    AND C~ZYUL3 IN LR_ZYUL3
    AND A~DWERK IN LR_DWERK.

  SORT LT_DATA BY AUFNR.
  DELETE ADJACENT DUPLICATES FROM LT_DATA COMPARING AUFNR.

*将查询结果回执到屏幕上来
  CALL FUNCTION 'F4UT_RESULTS_MAP'
    TABLES
      SHLP_TAB          = SHLP_TAB
      RECORD_TAB        = RECORD_TAB
      SOURCE_TAB        = LT_DATA
    CHANGING
      SHLP              = SHLP
      CALLCONTROL       = CALLCONTROL
    EXCEPTIONS
      ILLEGAL_STRUCTURE = 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.

*下一个时间点直接转到DISP,否则无法再屏幕上显示帮助列表
  CALLCONTROL-STEP = 'DISP'.





ENDFUNCTION.

9.按照以上完成,由于我是做完才写文章的,所以顺序有点像倒叙。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值