SAP-SM30加筛选条件

作者: Mmm_余安 | 来源:发表于2019-03-27 19:25 被阅读89次

客户想维护某个表,这时候最简便的方法就是直接调用SM30,根据不同的需求给SM30做限制

  • 例如:加筛选条件(有些数据不能让每个客户看见)
ZTFI_0048.png
  DATA:GV_ZBSTYPE TYPE ZBSTYPE.


  GV_ZBSTYPE = 'W'."只显示表里类型为W的数据



  GT_VIMSELLIST-VIEWFIELD = 'ZBSTYPE'.
  GT_VIMSELLIST-OPERATOR = 'EQ'.
  GT_VIMSELLIST-VALUE = GV_ZBSTYPE.

  APPEND GT_VIMSELLIST.

  CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
    EXPORTING
      ACTION                = 'U'
      VIEW_NAME             = 'ZTFI_0048' "要显示的表
      COMPLEX_SELCONDS_USED = 'X'
    TABLES
      DBA_SELLIST           = GT_VIMSELLIST.
  • 必填,搜索帮助等

在逻辑流里面加校验


image.png

<摘录一点小笔记>
• ON INPUT:只要该字段不为初始值就会触发module

• ON REQUEST:该字段发生变化后触发module

CHAIN.
FIELD: f1,f2.
FIELD: f3 MODULE mod1 ON INPUT. 只有f3为非初始值时才调用mod1 ENDCHAIN.

CHAIN.
FIELD:f1,f2.
FIELD:f3 MODULE mod1 ON CHAIN-INPUT. f1,f2,f3中任一字段包含非初始值时都调用mod1
ENDCHAIN

如果不在 CHAIN中时,不能像下面这样写:

FIELD a. "FIELD与MODULE只能写在同一语句当中 MODULE check_a ON INPUT. 只有在CHAIN中时,MODULE语句才可以单独出现(不与FIELD在同一语句中),且只能是CHAIN-INPUT: MODULE mod1 ON CHAIN-INPUT.

所以我上面应该用ON INPUT会更好一点

<言归正传>

"做校验或根据某个字段带出另一个字段的值

MODULE GET_ZDDAT INPUT.
  DATA LV_VBELN TYPE VBELN.

  SELECT SINGLE KUNNR VBELN
     FROM VBAK
     INTO ( ZTFYV-KUNNR,LV_VBELN )
     WHERE   VBELN = ZTFYV-VBELN.
  IF LV_VBELN IS INITIAL.
    MESSAGE '销售订单号不存在!' TYPE 'E' DISPLAY LIKE 'S'.
  ENDIF.
ENDMODULE.
"限制按钮功能
MODULE USER_COMMAND1 INPUT.
  IF SY-UCOMM = 'DELE'.
    LOOP AT EXTRACT .
    CHECK <XMARK> EQ 'M'.
    IF EXTRACT+115(1) EQ 'X'."EXTRACT是将数据汇总在EXTRACT字段里,在这里内表没有办法用

    MESSAGE '已审批不能删除' TYPE 'E' DISPLAY LIKE 'S'.

      ENDIF.
    ENDLOOP.

  ENDIF.

ENDMODULE.

相关文章

  • SAP-SM30加筛选条件

    客户想维护某个表,这时候最简便的方法就是直接调用SM30,根据不同的需求给SM30做限制 例如:加筛选条件(有些数...

  • python之pandas数据筛选和csv操作

    1. 数据筛选 (1)单条件筛选 (2)多条件筛选 可以使用&(并)与| (或)操作符或者特定的函数实现多条件筛选...

  • SQL-DQL之条件查询(2)

    1.条件查询: 2.筛选条件的分类 一. 按条件表达式筛选简单条件运算符:> , <, = , >= , <= ,...

  • pandas dataframe Boolean条件筛选数据2

    Boolean条件筛选数据2 复杂的条件筛选条件1:score>=8 并且 ans_name 是以Mike开头条件...

  • 03-便宜股筛选

    1. 基础筛选 筛选条件序号筛选条件PB0-1.5PE0-10股息率大于等于3% 2. 二次筛选 三个条件等权重,...

  • pandas dataframe boolean条件数据筛选3

    pandas dataframe boolean条件数据筛选3 列与列之间的比较形成的筛选条件筛选出 answer...

  • pandas 数据筛选loc and iloc

    1. 单条件筛选 2. 多条件筛选 可以使用&(并)与| (或)操作符或者特定的函数实现多条件筛选 3. 索引 索...

  • MySQL(四)DQL之条件查询

    1、语法:select 查询列表 from 表名 where 2、筛选条件分类: (1)按条件表达式筛选 简单条件...

  • mysql DQL语言条件查询

    一、语法select 查询列表from 表名where 筛选条件 二、筛选条件的分类1、简单条件运算符> < = ...

  • mysql条件查询

    进阶2:条件查询 /* 语法:select查询列表from表名where筛选条件; 分类:一、按条件表达式筛选 *...

网友评论

    本文标题:SAP-SM30加筛选条件

    本文链接:https://www.haomeiwen.com/subject/njgzvqtx.html