*----------------------------------------------------------------------
* 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. [转]神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列

    原文:https://www.cnblogs.com/youzhibing/p/11516154.html 这篇文章,对group by的讲解不错 -------------------------- ...

  2. P2002 消息扩散[SCC缩点]

    题目描述 有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市发布消息才能让这所有n个城市都得到消息. 输入格式 第一行两个整数n,m表示n个城市, ...

  3. 16 关于webpack和npm中几个问题的说明

    1.json里面不能写注释 2.'webpack-dev-server'不是内部或外部命令,也不是可运行的程序或批处理文件. 注意:webpack-dev-server包只需要本地安装就行,不用全局安 ...

  4. Jmeter+Jenkins持续集成(一、环境准备)

    1.安装JDK (1)下载JDK,jdk8u181-x64.dmg 并进行安装 (2)配置环境变量.打开配置文件 open -e .bash_profile.按照自己的安装路径进行配置. JAVA_H ...

  5. Java Redis+Spring-data-redis 队列 单机版

    1.redis.properties ##redisIP地址 #redis.host=10.14.2.212 redis.host=127.0.0.1 ##redis默认端口号 redis.port= ...

  6. 转,sql 50道练习题

    SQL语句50题   -- 一.创建教学系统的数据库,表,以及数据 --student(sno,sname,sage,ssex) 学生表--course(cno,cname,tno) 课程表--sc( ...

  7. linux系列(六):rmdir命令

    1.命令格式: rmdir [选项] 目录名 2.命令功能: 该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限. 3.命令参数: - p 删除指定目录后,若该目录的上层 ...

  8. 【概率论】5-1:分布介绍(Special Distribution Introduction)

    title: [概率论]5-1:分布介绍(Special Distribution Introduction) categories: - Mathematic - Probability keywo ...

  9. 【LGR-059】洛谷7月月赛题解

    传送门 比赛的时候正在大巴上,笔记本没网又没电(不过就算有我估计也不会打就是了) \(A\) 咕咕 const int N=(1<<10)+5; int a[N][N],n; void s ...

  10. 基于JSON的接口测试框架

    更多学习资料请加QQ群: 822601020获取 实现效果 需求场景: 公司微服务接口使用数字签名的方式, 使用Postman调试接口每次都需要修改源码将验签临时关闭, 但是关闭后,其他微服务不能正常 ...