SM30维护视图屏蔽按钮与增加选择条件
*----------------------------------------------------------------------
* 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维护视图屏蔽按钮与增加选择条件的更多相关文章
- SM30维护视图屏蔽按钮
标准维护视图 GUI状态 ESLG 编辑按钮 AEND 达到效果 DATA: l_act TYPE char1, l_name TYPE dd02v-tabname. DATA: lt_vimex ...
- SM30维护视图添加按钮
转自http://blog.csdn.net/tsj19881202/article/details/7517232 遇到某需求,要求维护sm30的视图时,能加上排序按钮. 基本参考: http:// ...
- SM30维护视图创建【转】
在SAP中,经常需要自定义数据库表.而且可能需要人工维护数据库表中的数据,可以通过SM30进行维护数据:但是SM30事务的权限太大,不适宜将SM30直接分配:因此,可以通过给维护表分配事 ...
- 屏蔽信号的多路选择I/O
前边提到了多路I/O的方法,这一章屏蔽信号的多路选择与之前的多路I/O一致,只是增加了屏蔽信号的作用.多路选择I/O中我们使用的是select函数,屏蔽信号的多路选择I/O使用的是pselect函数, ...
- SQL语法精讲(包括建库、建表、建视图、查询、增加、删除、)
SQL语法精讲(包括建库.建表.建视图.查询.增加.删除.修改) SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELE ...
- SAP 维护视图创建与修改
维护视图创建与修改 维护视图创建 T-CODE:SE54 维护ABAP数据字典 维护已生产的对象 注意:当维护视图修改后,需要删除已生成的对象,重新创建已生成的对象,否则无法显示,这个小窍门我花了半天 ...
- iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)
iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3) 2.使用代码添加按钮实现的响应 使用代码添加的按钮,实现响应需要使用到addTarget(_:action:for:)方法,其语法形 ...
- iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2)
iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2) 此时,当用户轻拍按钮后,一个叫tapButton()的方法就会被触发. 注意:以上这一种方式是动作声明和关联一起进行的,还有一种先 ...
- iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1)
iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1) 按钮主要是实现用户交互的,即实现响应.按钮实现响应的方式可以根据添加按钮的不同分为两种:一种是编辑界面添加按钮实现的响应 ...
随机推荐
- js对iframe内外(父子)页面进行操作
dom对象推荐阅读 怎么对iframe进行操作,1.在iframe里面控制iframe外面的js代码.2.在父框架对子iframe进行操作. 获取iframe里的内容 主要的两个API就是conten ...
- Nginx 负载均衡条件下 Tomcat 共享Session (Java)(一)
1.修改tomcat 下 conf/context.xml 在</Context>里面加入以下代码 <Valve className="com.orangefunctio ...
- Oracle 10g和11g中的自动统计任务
1) 先来看下oracle 10g中的自动统计任务的问题. 从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动 ...
- Linux core dump 诊断进程奔溃退出
最近项目中出现了一个问题,服务器端程序会突然崩溃退出,我们采取了coredump技术以找到崩溃原因,即确定进程退出时正在执行的函数是哪个,其状态如何. 如果系统开启了core ...
- CF837D Round Subset 动态规划
开始的时候数据范围算错了~ 我以为整个序列 2 和 5 的个数都不超过 70 ~ 一个非常水的 dp code: #include <bits/stdc++.h> #define M 75 ...
- [JXOI2017]颜色
\(Orz\) 各位题解大佬,我来膜拜一发 还有单调栈实在没弄懂 法一:线段树+堆 首先,讨论区间的个数的题目,我们可以想到枚举一个端点\(r\),找到所有的\(l\) 我们不妨设:\(ml[i]\) ...
- P3313 [SDOI2014]旅行——树链剖分+线段树(动态开点?)
P3313 [SDOI2014]旅行 一棵树,其中的点分类,点有权值,在一条链上找到一类点中的最大值或总和: 树链剖分把树变成链: 把每个宗教单开一个线段树,维护区间总和和最大值: 宗教很多,需要动态 ...
- python eval的用法
>>>x = >>> eval( '3 * x' ) >>> eval('pow(2,2)') >>> eval('2 + 2' ...
- Codeforces Round #591 (Div. 2, based on Technocup 2020 Elimination Round 1)
Virtual participate 的,D题不会做,打了1:30就打不动了,过了ABCE. A - CME 题意:? 题解:? void test_case() { int n; scanf(&q ...
- 常用的os库笔记
1.创建文件 import os os.mkdir('d:/log') 2.重命名文件 import os os.rename('d:/log','d:/newlog') 3.删除文件 import ...