前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SPA软件SE16N实现类似PL/SQL查询表功能

SPA软件SE16N实现类似PL/SQL查询表功能

作者头像
SPA_小阿龙
发布2021-02-24 16:23:14
1.6K0
发布2021-02-24 16:23:14
举报
文章被收录于专栏:SPA顾问之路SPA顾问之路

声明:本文章仅用于SAP软件的应用与学习,不代表SAP公司。(注:文中所示截图来源SAP软件,相应著作权归SAP所有。)

对于在SPA系统前台查询表的数据字典(表、字段、主外建等)等信息时,我们经常使用SE11、SE16或SE16N等事物代码,简单方便且快捷。

在我看来,SPA系统在前台还是提供了很多使用的工具或技巧的,比如看似难记复杂的事物代码,其实使用起来还是挺方便的,而不用去一层一层地点击菜单或目录去找具体的事物。如你想创建一个订单,直接通过事物代码窗口输入ME21或ME21N去创建就行了。

今天给大家介绍下SE16N可以实现像在PL/SQL工具下通过SQL语句去查询数据库表的信息的功能(SE11/SE16功能类似,对于已经熟悉的老顾可以直接飘过)。

以EKPO(采购凭证行项目表)为例,我们介绍下如何通过SE16N查询我们要的信息,注意:SE16N/SE11/SE16只限于前台且单表数据字典、数据等查询,无法实现跨表关联查询。但对于单表可实现查询表、字段、数据条目数据、具体数据,并能按照指定的条件进行查询。

如图,我们直接点击

键执行结果如下:

注意:对于无特殊要求,不建议大家一次查询过多数据量,保持系统推荐的500条即可,若对数据量无要求,直接修改成20条以内(看看屏幕显示就知道了,多了还要点击下拉查看)。其次,如果查询的数据量较大且数据表本身数据量较大,执行起来也慢,还会占用系统过多资源。那么,这样的查询的作用可以实现查看表的样例数据,对表中的数据有个基本的认识,对数据管理、数据治理等梳理工作非常有帮助。

提示:如上图,可以看到 SQL查询语句,找到通过PL/SQL查询800生产库数据表的感觉了吧。

提示:如上图,假如我们只想查询关于工厂1710但不属于库存地点171C下的采购订单,我们可以通过点击

选择约束条件,下图是可以选择约束的条件类型:

我们来看一下具体的查询结果和具体SQL语句:

查询表的条目数或者在某种约束条件下表的条目数,直接点击

键:

以上内容仅供大家参考学习!

阿龙补充

通过以上的方式我们就可以知道SQL数据是如何取数的,如果你学过SQL的话很简单,通过表的关联,增删改查的方式就知道,但是通常数量量多的话我们执行se16n的时候就会比较卡,数据跑半天才出来,业务顾问进场会用2种方式来查询数据:

①SPA软件默认带的db02进行数据查询

系统中的事务码为DB02。进入后,直接从左侧菜单跳转到“SQL Command Editor”功能,即可出现SQL编辑器画面。如下图:

在编辑器中输出SQL代码,点击

即可以执行SQL语句,并在Result屏幕中输出结果数据,同样可以利用ALV的标准功能进行导出Excel等操作。

这样对于上述我们在se16n执行的条件,就可以放到这里进行sql的执行啦,如果对SQL不熟悉的情况下,这是比较简单的一种方式。

②通过自开发ZSQL的方式进行数据查询

对于很多生产机内部顾问基本上很多时候都是没用db02这种比较重要的权限,但是对于很多数据表需要join的时候怎么办呢,国外有个大神曾经写过一个ZSQL,来实现数据的查询。(如果想要代码的话,可以公众号回复ZSQL)

具体如果导入程序的话,里面附赠操作手册,可以按手册导入。se38执行界面后如下:

但是这个程序的SQL语法与我们DB02的写法又有不同,所以大家可以参考下,如下的一些简单写法,进行参照。

例如:查询8000工厂E空且不存在工艺路线的物料

select b~mtart b~BISMT c~maktx a~matnr a~werks a~BESKZ a~SOBSL

from marc as a

inner join mara as b on b~matnr eq a~matnr

inner join makt as c on c~matnr eq a~matnr

where a~PSTAT like '%D%'

and c~SPRAS = '1'

and a~LVORM <> 'X'

and a~BESKZ = 'E'

and a~SOBSL = ''

and a~werks = '1000'

and a~matnr not in ( select MATNR from mapl where mapl~WERKS = '1000' and PLNTY = 'N' and LOEKZ <> 'X' )

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SPA顾问之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档