*----------------------------------------------------------------------
* 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. 【清北学堂】广州OI学习游记

    \(Day~0\) 早上\(9\)点多才爬起来,然后水了道题. 下午从[数据删除]出发,颠簸了将近\(5\)个小时终于抵达广州. 一出地铁站--卧槽这天,卧槽这风,要下雨的节奏? 没过两分钟倾盆大雨. ...

  2. webpack搭建组件库相关知识

    1 .inquirer.js —— 一个用户与命令行交互的工具 2. existsSync 方法说明: 以同步的方法检测目录是否存在. 如果目录存在 返回 true ,如果目录不存在 返回false语 ...

  3. matlab(7) Regularized logistic regression : mapFeature(将feature增多) and costFunctionReg

    Regularized logistic regression : mapFeature(将feature增多) and costFunctionReg ex2_reg.m文件中的部分内容 %% == ...

  4. mysql类型为varchar double类型字符串求和多出多个小数

    -- 错误 SELECT SUM(price) FROM m_user -- 正确 SELECT TRUNCATE ( ) FROM m_user u; -- 正确 SELECT ) ) FROM m ...

  5. 39、扩展原理-BeanFactoryPostProcessor

    39.扩展原理-BeanFactoryPostProcessor BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的 BeanFactoryPostPro ...

  6. 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+SpringMVC项目详解

    http://blog.csdn.net/noaman_wgs/article/details/53893948 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+Spri ...

  7. HSSFWorkbook 模版使用

    Java中导入.导出Excel 一.介绍当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用 ...

  8. TensorFlow(六):tensorboard网络结构

    # MNIST数据集 手写数字 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # ...

  9. linux系列(七):mv命令

    1.命令格式: mv [选项] 源文件或目录 目标文件或目录 2.命令功能: Linux mv命令用来为文件或目录改名.或将文件或目录移入其它位置. 3.命令参数: -b :若需覆盖文件,则覆盖前先行 ...

  10. ansible 问题记录(2)

    普通用户执行ansible,但是在远程需要root权限,这个时候执行ansible命令报如下错误: 经分析是由于sudo的时候,普通用户没有在sudoer文件 2.在playbook里面使用sudo认 ...