SAP表维护视图应用

更新时间:2024-04-18 12:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Author: John. Yuan

数据字典

注意:1.在SAP数据字典中建立的数据表在数据库中能看见; 2.在数据库中直接建立的表不会在SAP数据字典中看见; 3.在SAP数据字典或者数据库中添加数据都能相互查阅; SE14可以对底层数据库进行相关操作,很有实用性;

,此选项只是可以用SE16进行数据表记录的单个维

护,即比禁用此选项

维护视图(SE11)

1. 定义:维护视图属于数据字典中视图的一种,可以对多个表中的数据进行增删改查,另

外,维护视图中的表关联是基于外键字段的关联,并且连接类型是外连接(左外); 2. 可以对数据字段中的表或者视图(通常是维护视图或者数据库视图生成表维护对话框,

进而进行数据维护);

生成表维护对话框(SE54/55,或者在SE11中点击“实用程序->表格维护生成器”) SE54初始界面

的表多了两个选项操作

可以生成维护对话框的数据字典对象有表和视图(通常建维护视图) 1. 删除该数据字典对象,也可结合下面的创建,修改按钮;

2. 生成表维护对话框,也可结合下面的创建,修改按钮(重点用在对表/视图修改,需要删除后重新创建,或者直接重新创建以适应调整); 3. 相关权限组操作 4. 相关权限组分配操作

5. 测试界面,相当于对维护了表维护对话框的程序进行

6. 事实上创建了表维护框是通过系统自动的在指定的函数组中生成的功能模块和屏幕等相关程序对象来实现的,可以通过此按钮对改程序进行编辑和查看;

Author: John. Yuan

访问该表维护对话框:

1. SM30 (不适合一般用户,开发人员用) 2. 通过写一个可执行程序,在程序中通过一个函数调用该表或者维护视图,再分配T-Code; 3. 直接分配T-Code;

SE93:

选中上面的跳过即没有SM30初始屏幕,直接进入;

对应视图或者表名;

SHOW为初始为显示界面,需要点击修改进入修改界面;UPDATE为修改初始界面,’X’为选中该属性,使之生效;(还有SM30单选按钮字段)

*--------------------------------------------------------------------------------------------------------------------- 以下是最新总结

*--------------------------------------------------------------------------------------------------------------------- 数据批量维护程序

批量维护即对于表维护器的操作需要通过其它设置: ? 第一步:

(生成表维护器)操作:SE11(菜单:实用程序->表格操作维护器),对应事务码:SE55 选择权限组,输入函数组名称,选择维护类型一步;

单击“查找屏幕号”按钮,产生建议屏幕号; 最后点击

新建按钮,保存,存储为本地对象,即新生成了一个程序;

? 第二步:

SM30,输入表名,即可进入数据维护;

Author: John. Yuan

? ABAP应用

法一:直接分配事物码

Author: John. Yuan

法二:ABAP代码(按钮隐藏与数据过滤) REPORT ZSDR_DISCOUNT_UPDATE. TABLES:ZDISCOUNT,T001.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-001. PARAMETERS P_BUKRS LIKE T001-BUKRS OBLIGATORY.

PARAMETERS P_LFGJA LIKE ZDISCOUNT-LFGJA OBLIGATORY DEFAULT SY-DATUM(4).

PARAMETERS P_LFMON LIKE ZDISCOUNT-LFMON OBLIGATORY DEFAULT SY-DATUM+4(2).

SELECTION-SCREEN END OF BLOCK BLOCK1.

DATA: WA_VIMSELLIST TYPE VIMSELLIST, \过滤表或者视图中的显示数据行 IT_VIMSELLIST TYPE TABLE OF VIMSELLIST,

WA_VIMEXCLFUN TYPE VIMEXCLFUN, \隐藏表维护视图应用工具栏的按钮 IT_VIMEXCLFUN TYPE TABLE OF VIMEXCLFUN.

AT SELECTION-SCREEN.

Author: John. Yuan

\权限检查

AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'ACTVT' DUMMY

ID 'VKORG' FIELD P_BUKRS. IF SY-SUBRC NE 0.

MESSAGE E398(00) WITH '对不起,您没有执行公司代码' P_BUKRS '的权限!'. ENDIF.

START-OF-SELECTION. \过滤表和视图中的数据

WA_VIMSELLIST-VIEWFIELD = 'BUKRS'. WA_VIMSELLIST-OPERATOR = 'EQ'. WA_VIMSELLIST-AND_OR = 'AND'. WA_VIMSELLIST-VALUE = P_BUKRS. APPEND WA_VIMSELLIST TO IT_VIMSELLIST.

CLEAR WA_VIMSELLIST.

WA_VIMSELLIST-VIEWFIELD = 'LFGJA'. WA_VIMSELLIST-OPERATOR = 'EQ'. WA_VIMSELLIST-AND_OR = 'AND'. WA_VIMSELLIST-VALUE = P_LFGJA.

APPEND WA_VIMSELLIST TO IT_VIMSELLIST.

CLEAR WA_VIMSELLIST.

WA_VIMSELLIST-VIEWFIELD = 'LFMON'. WA_VIMSELLIST-OPERATOR = 'EQ'. WA_VIMSELLIST-AND_OR = 'AND'. WA_VIMSELLIST-VALUE = P_LFMON. APPEND WA_VIMSELLIST TO IT_VIMSELLIST.

\屏蔽新建和复制按钮按钮,只能让用户修改(按功能码FUNCTION CODE)

WA_VIMEXCLFUN-FUNCTION = 'NEWL'.\新建 ANZG 修改显示切换 KOPE 复制权限

APPEND WA_VIMEXCLFUN TO IT_VIMEXCLFUN. WA_VIMEXCLFUN-FUNCTION = 'KOPE'.

APPEND WA_VIMEXCLFUN TO IT_VIMEXCLFUN.

*&调用视图维护函数替代SM30

CALL FUNCTION 'VIEW_MAINTENANCE_CALL' EXPORTING

ACTION = 'U' \显示 U 修改 T 传输 VIEW_NAME = 'ZDISCOUNT' TABLES

DBA_SELLIST = IT_VIMSELLIST

Author: John. Yuan

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. IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

Author: John. Yuan

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. IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

本文来源:https://www.bwwdw.com/article/iphp.html

Top