*----------------------------------------------------------------------
* TABLES/Structure
*----------------------------------------------------------------------
TABLES:T001W,
YTDRIVERI,
YTDRICAR. *----------------------------------------------------------------------
* DATA
*----------------------------------------------------------------------
DATA: BEGIN OF GT_TAB OCCURS ,
WERKS LIKE T001W-WERKS,
END OF GT_TAB. DATA: BEGIN OF GT_NAM OCCURS ,
TPNAM LIKE YTDRIVERI-TPNAM,
END OF GT_NAM. DATA: BEGIN OF GT_DATA OCCURS .
INCLUDE STRUCTURE YTDRICAR.
DATA: END OF GT_DATA. DATA: IT_VIMSELLIST TYPE TABLE OF VIMSELLIST,
IW_VIMSELLIST TYPE VIMSELLIST,
IT_VIMEXCLFUN TYPE TABLE OF VIMEXCLFUN,
IW_VIMEXCLFUN TYPE VIMEXCLFUN.
*DATA: IT_MKOAR TYPE TABLE OF TY_MKOAR,
* IW_MKOAR TYPE TY_MKOAR.
DATA: W_FLG TYPE C. *======================================================================
* SELECTION-SCREEN
*======================================================================
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-. PARAMETERS: P_WERKS LIKE T001W-WERKS DEFAULT 'W001'.
SELECT-OPTIONS: S_TPNAM FOR YTDRIVERI-TPNAM NO-EXTENSION NO INTERVALS. SELECTION-SCREEN END OF BLOCK BLK1. *----------------------------------------------------------------------
* INITIALIZATION
*----------------------------------------------------------------------
INITIALIZATION. * 初始化数据
PERFORM FRM_INITIAL. *----------------------------------------------------------------------
* AT SELECTION-SCREEN
*----------------------------------------------------------------------
AT SELECTION-SCREEN. * 权限检查部分
PERFORM FRM_CHECK_AUTHOR. *======================================================================
* MAIN PROGRAM
*======================================================================
* START-OF-SELECTION
*----------------------------------------------------------------------
START-OF-SELECTION. *&选择条件判断
SELECT WERKS
INTO TABLE GT_TAB
FROM YTDRIVERI
WHERE WERKS EQ P_WERKS. IF SY-SUBRC NE .
MESSAGE I001.
ENDIF. *编辑过滤数据条件
IF P_WERKS IS NOT INITIAL.
IW_VIMSELLIST-VIEWFIELD = 'WERKS'.
IW_VIMSELLIST-OPERATOR = 'EQ'.
IW_VIMSELLIST-AND_OR = 'AND'.
IW_VIMSELLIST-VALUE = P_WERKS.
APPEND IW_VIMSELLIST TO IT_VIMSELLIST.
ENDIF. *&司机名称作为选择条件
IF S_TPNAM IS NOT INITIAL.
SELECT TPNAM
INTO TABLE GT_NAM
FROM YTDRIVERI
WHERE WERKS EQ P_WERKS
AND TPNAM IN S_TPNAM.
IF SY-SUBRC NE .
MESSAGE I001.
ENDIF. *&司机名称作为过滤选择条件
LOOP AT GT_NAM.
IW_VIMSELLIST-VIEWFIELD = 'TPNAM'.
IW_VIMSELLIST-OPERATOR = 'EQ'.
IW_VIMSELLIST-AND_OR = 'OR'.
IW_VIMSELLIST-VALUE = GT_NAM-TPNAM.
APPEND IW_VIMSELLIST TO IT_VIMSELLIST.
* CLEAR IW_MKOAR.
ENDLOOP.
ENDIF. *屏蔽按钮(按T-CODE)
* IW_VIMEXCLFUN-FUNCTION = 'NEWL'.
* APPEND IW_VIMEXCLFUN TO IT_VIMEXCLFUN.
* IW_VIMEXCLFUN-FUNCTION = 'KOPE'.
* APPEND IW_VIMEXCLFUN TO IT_VIMEXCLFUN.
IW_VIMEXCLFUN-FUNCTION = 'DELE'.
APPEND IW_VIMEXCLFUN TO IT_VIMEXCLFUN.
" MKPF 全选 *BREAK AD_CAIXIANG. **& -锁表
CALL FUNCTION 'ENQUEUE_EYTDRIVERI'
EXPORTING
MODE_YTDRIVERI = 'E'
MANDT = SY-MANDT
WERKS = P_WERKS
* WERKS = DBA_SELLIST-VALUE
EXCEPTIONS
FOREIGN_LOCK =
SYSTEM_FAILURE =
OTHERS = . IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. * CALL FUNCTION 'YH_YTDRIVERI_CALL'
* EXPORTING
* ACTION = 'S'
* VIEW_NAME = 'YTDRIVERI'
* TABLES
* DBA_SELLIST = IT_VIMSELLIST
* EXCL_CUA_FUNCT = IT_VIMEXCLFUN
* EXCEPTIONS
* CLIENT_REFERENCE = 1
* FOREIGN_LOCK = 2
* INVALID_ACTION = 3
* NO_CLIENTINDEPENDENT_AUTH = 4
* NO_DATABASE_FUNCTION = 5
* NO_EDITOR_FUNCTION = 6
* NO_SHOW_AUTH = 7
* NO_TVDIR_ENTRY = 8
* NO_UPD_AUTH = 9
* ONLY_SHOW_ALLOWED = 10
* SYSTEM_FAILURE = 11
* UNKNOWN_FIELD_IN_DBA_SELLIST = 12
* VIEW_NOT_FOUND = 13
* MAINTENANCE_PROHIBITED = 14
* OTHERS = 15. CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
ACTION = 'S'
VIEW_NAME = 'YTDRIVERI'
TABLES
DBA_SELLIST = IT_VIMSELLIST
EXCL_CUA_FUNCT = IT_VIMEXCLFUN
EXCEPTIONS
CLIENT_REFERENCE =
FOREIGN_LOCK =
INVALID_ACTION =
NO_CLIENTINDEPENDENT_AUTH =
NO_DATABASE_FUNCTION =
NO_EDITOR_FUNCTION =
NO_SHOW_AUTH =
NO_TVDIR_ENTRY =
NO_UPD_AUTH =
ONLY_SHOW_ALLOWED =
SYSTEM_FAILURE =
UNKNOWN_FIELD_IN_DBA_SELLIST =
VIEW_NOT_FOUND =
MAINTENANCE_PROHIBITED =
OTHERS = . IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. *&---------------------------------------------------------------------*
*& Form FRM_INITIAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_INITIAL . ENDFORM. " FRM_INITIAL
*&---------------------------------------------------------------------*
*& Form FRM_CHECK_AUTHOR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_CHECK_AUTHOR .
DATA: BEGIN OF LT_T001W OCCURS ,
WERKS LIKE T001L-WERKS,
END OF LT_T001W. SELECT WERKS
INTO TABLE LT_T001W
FROM T001L
WHERE WERKS EQ P_WERKS. IF LT_T001W[] IS NOT INITIAL.
LOOP AT LT_T001W.
AUTHORITY-CHECK OBJECT 'YHLM_PLANT'
ID 'ACTVT' FIELD ''
ID 'WERKS' FIELD LT_T001W-WERKS.
IF SY-SUBRC NE .
MESSAGE I002 WITH LT_T001W-WERKS .
STOP.
ENDIF.
ENDLOOP.
ELSE.
MESSAGE I011 WITH '没有任何地点!'.
STOP.
ENDIF. ENDFORM. " FRM_CHECK_AUTHOR

SM30维护视图屏蔽按钮与增加选择条件的更多相关文章

  1. SM30维护视图屏蔽按钮

    标准维护视图  GUI状态  ESLG 编辑按钮 AEND 达到效果 DATA: l_act TYPE char1, l_name TYPE dd02v-tabname. DATA: lt_vimex ...

  2. SM30维护视图添加按钮

    转自http://blog.csdn.net/tsj19881202/article/details/7517232 遇到某需求,要求维护sm30的视图时,能加上排序按钮. 基本参考: http:// ...

  3. SM30维护视图创建【转】

           在SAP中,经常需要自定义数据库表.而且可能需要人工维护数据库表中的数据,可以通过SM30进行维护数据:但是SM30事务的权限太大,不适宜将SM30直接分配:因此,可以通过给维护表分配事 ...

  4. 屏蔽信号的多路选择I/O

    前边提到了多路I/O的方法,这一章屏蔽信号的多路选择与之前的多路I/O一致,只是增加了屏蔽信号的作用.多路选择I/O中我们使用的是select函数,屏蔽信号的多路选择I/O使用的是pselect函数, ...

  5. SQL语法精讲(包括建库、建表、建视图、查询、增加、删除、)

    SQL语法精讲(包括建库.建表.建视图.查询.增加.删除.修改) SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELE ...

  6. SAP 维护视图创建与修改

    维护视图创建与修改 维护视图创建 T-CODE:SE54 维护ABAP数据字典 维护已生产的对象 注意:当维护视图修改后,需要删除已生成的对象,重新创建已生成的对象,否则无法显示,这个小窍门我花了半天 ...

  7. iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)

    iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3) 2.使用代码添加按钮实现的响应 使用代码添加的按钮,实现响应需要使用到addTarget(_:action:for:)方法,其语法形 ...

  8. iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2)

    iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2) 此时,当用户轻拍按钮后,一个叫tapButton()的方法就会被触发. 注意:以上这一种方式是动作声明和关联一起进行的,还有一种先 ...

  9. iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1)

    iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1) 按钮主要是实现用户交互的,即实现响应.按钮实现响应的方式可以根据添加按钮的不同分为两种:一种是编辑界面添加按钮实现的响应 ...

随机推荐

  1. P2161 [SHOI2009]会场预约[线段树/树状数组+二分/STL]

    题目描述 PP大厦有一间空的礼堂,可以为企业或者单位提供会议场地.这些会议中的大多数都需要连续几天的时间(个别的可能只需要一天),不过场地只有一个,所以不同的会议的时间申请不能够冲突.也就是说,前一个 ...

  2. numpy 参考:https://mp.weixin.qq.com/s?__biz=MzU1MjYzNjQwOQ==&mid=2247486010&idx=1&sn=e42e6706e0e285ecbfdbbd76fb4ff352&chksm=fbfe50accc89d9ba56a3167c519638f1327a5c5bf12ed59dd8c6de9b2c25baeec1f1f8ad5fb7&

    a=np.array([,,,]) b=np.arange() print(a,b) [ ] [ ] 对应相乘 c2=a*b      [ 0  2  6 12] 对应相乘再求和  c3=a.dot( ...

  3. css 学习笔记 菜鸟

    1 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明: 选择器通常是您需要改变样式的 HTML 元素. 每条声明由一个属性和一个值组成.每个属性有一个值.属性和值被冒号分开.CSS声明总是 ...

  4. 深入剖析TOMCAT

    理解tomcat之搭建简易http服务器 做过java web的同学都对tomcat非常熟悉.我们在使用tomcat带来的便利的同时,是否想过tomcat是如何工作的呢?tomcat本质是一个http ...

  5. 使用bootstrap的栅格布局,用row后出现横向滚动条

    原因: **row默认有:margin-left:-15px; margin-right:-15px: 解决办法: **row外层需要包裹container或者container-fluid,一句话就 ...

  6. Spring Cloud 功能使用的层面组件(一)

    来源:赤峰seo 实际上,Spring Cloud 是一个全家桶式的技术栈,它包含了很多组件.本文先从最核心的几个组件,也就是 Eureka.Ribbon.Feign.Hystrix.Zuul 入手 ...

  7. Luogu P2148 [SDOI2009]E&D (sg函数 博弈)

    题目 洛谷传送门 题解 打表找sgsgsg规律. 严谨证明见:纳尔的博客 CODE #include <bits/stdc++.h> using namespace std; int sg ...

  8. PHP 连接MySQL

    连接MySQL 在我们访问MySQL数据库前,我们需要先连接到数据库服务器: 实例(MySQLi - 面向对象) <?php $servername = "localhost" ...

  9. Greenplum 函数 gp_dist_random

    转载自:https://yq.aliyun.com/articles/7593 函数作用: gp_dist_random('gp_id')本质上就是在所有节点查询gp_id, gp_dist_rand ...

  10. VsCode安装Go的相关插件

    今天在学习Go的时候,安装Go的相关插件,显示安装不上,但是右下角也一直会提示让你安装,当然你可以设置成忽略,为了开发效率,我选择了安装.然后出现了问题,一直Failed.在网上看到了很多的文章,不是 ...