• Query 操作手册 (新增逻辑数据库)


    基本概念

    QUERYSAP的一项简单报表工具,它可为没有编程基础的用户用来生成简单的报表。它有图形化的界面,你可在上面托托拽拽,然后就可以见到你要的报表,可是这只是简单的应用,其实每个工具功能都是比较完善的,QUERY也不例外。

    1. 生成用户组
    SAP
    菜单工具ABAP工作台实用程序SAP查询用户组
    T-Code
    SQ03
    2
    。创建Functional area(功能区)
    SAP
    菜单工具ABAP工作台实用程序SAP查询信息集
    T-Code
    SQ02
    3
    。创建SAP Query
    SAP
    菜单工具ABAP工作台实用程序SAP查询查询
    T-Code
    SQ01

    2. 这些组件之间的关系有:
    1
    Query的管理包括建立Functional area(功能区)和User Group(用户组),并将功能区分配到相应的用户组中去。
    2
    Functional area(功能区)中定义query中需引用的表和字段。
    3
    。只有当一个用户属于至少一个用户组才可以创建、运行Queries。一个用户可以属于几个用户组。用户组中的用户享有相同的权力。
    4
    。当Functional area(功能区)分配给了某用户组,该用户组的成员即可以访问此功能区。
    5。一个Functional area(功能区)可以分配给多个用户组;多个Functional area(功能区)可以分配给一个用户组。
    6
    Queries通常为特定的用户组和特定的功能区而建立。这个用户组的用户可以访问所有分配给这个用户组的Queries

    3. 还有一点值得注意,在QUERY的管理时,有这样的概念:
      标准区(Standard Area): 建立在标准区的查询往往用以满足特定用户的特定需求,因此属于Client独立(client-specific)的查询。这些查询不会连接到SAP工作台组织器(Workbench Organizer)上。
      全局区域(Global Area): 建立在全局区域的查询是为整个系统开发的,因此属于Client交叉(cross-client)的查询。这些查询会在SAP 工作台组织器(Workbench Organizer)上注册,可以利用正常的流程传输到其他系统中。

    这里提到的标准区的INFOSET,就是指QUICKVIWER中的一个数据源InfoSet(信息集),而全局区域的InfoSet是不支持QUICKVIWER的。

    操作步骤

    1.       建立用户组

     

    截此为止,SQ03的工作已完成。

    下一步: SQ02

    这里有几个选项,我们常用的一般是前3项。

    在这里我们想做一个基于航班及其计划的报表(可能要很多报表,而不是一个),

    我们需要建立这样一个信息集,能够包含所出报表的各种信息,而这些信息可能来自多个表格。

    基础表格连接方式:

    在“使用基础表进行表连接”输入一个表格SPFLI(航班及计划涉及到2个表,SPFLISFLIGHT ),涉及到的其它表格,我们在进入后续界面能够加进去。

     

     

    添加新表后,系统会自动判断表之间的联系,用线联系起来,当然,如果有些联系不正确,我们可以右键删除。

    如果要添加连接(也就是2个表的关联字段),则可以拖动一个表的字段到另外一个表的字段上,中间的连接线就自动出现了。

    出现如下窗口

    选项1:系统将把所有表的字段放到信息集里

    选项2:系统将把表的关键字段放到信息集里

    选项3:自定义字段

    我们选择创建空字段组

    在屏幕左侧出现的是表,右侧是字段组,我们根据需要建立自己的字段组,可以删除也可以改名,右键功能即可操作。我们将建立一个字段组名为“航班”

    在做Query时,我们很容易遇到添加报表显示列的情况,无论是文本还是数字。就这个例子来讲,我们将添加一个“剩余座位”字段,单击“附加”按钮

     

    在这个屏幕里,有几个选项,对于应用顾问来讲,我们通常选择附加字段。

    因为如果附加表格会用到相对比较多的代码,对于不熟悉ABAP语言的人并不合适。

    然后保存代码

    并检查。

    然后按后退按钮,根据提示保存并生成功能区。

    然后单击 角色/用户组分配

    选择开始建立的用户组,然后保存

    然后进入SQ01建立查询

    会出现如下屏幕

    选择您配置的信息集。

    如果界面中没有出现您刚做过的信息集,那需要用SQ03进入,填入信息集对应的用户组,然后回到SQ01中创建查询,这个屏幕里就会出现您刚做过的信息集了。或者通过

     

    来实现显示有权的查询。

     

    然后单击“基本清单”

    在左侧,有字段清单和选择字段2列,众所周知,报表是要有选择条件和输出列的,

    选择条件就是选择字段,输出列就是字段清单。这里单击区分先后顺序,先单击的出现在前面,后单击的出现在后面。你可以自己做一下测试。

    操作后,可以保存。

    然后退出程序返回SQ01界面,按F8执行此报表。

    截此为止,最简单的Query就做完了。

    ALV 输出是我们最常用的方式,它不仅灵活而且拥有保存变式、小计、汇总等多种功能,例如我们对同一航线承运人ID、起飞机场、目的机场进行座位小计,效果如下

    当然我们可以针对这种格式保存为变式,下次进来时直接用这种方式

    下次进来后,可以选择曾经保存的格式,也可以设为默认格式。这种小计及合计功能,我们也可以在制作Query时来实现。如下图

    使用逻辑数据库

    简单的讲,逻辑数据库就是系统在特定的业务里,自动关联一些表,我们可以直接使用其中的各种子段而无需考虑其逻辑关联关系。在SQ02新建的界面里,我们选择PNPCE这个逻辑数库,它代表HR主数据,如果HR主数据里包含表格PA0001PA0002,PA0014,……这些表,我们完全可以不用自己关联这些表格,直接使用PNPCE即可。在F4菜单中,我们可以去选择系统内所有的逻辑数据库,用事物代码SLDB去查看逻辑数据库的帮助。如果这个逻辑数据库有选择屏幕版本,则在F4菜单中就会有选项,例如PNP就会有 000 900 两个屏幕

     

     

    我们选择PNPCE

     

     

     

     

    PNPCE包括的信息类型如上,我们可以选择我们需要的类型,例如组织分配和个人数据。

     

    进入维护界面后,就和表关联一样了,可以参考blog上半部分。

    在这里,我们可能经常遇到下面的错误:

    一个窗口里有很多红色标记的字段,那代表相应的结构里字段的描述为空,我们可以用EN 登陆,来做这个查询,然后再返回中文使用。
     
     

    上图的这种情况就可能会出现错误,进入EN,这里就会有描述。(注:这种情况,我做了几次测试,第一次做时肯定会出现错误,但是用EN登陆做了之后,别的结构如有空项,也不再报错了)

    对于熟悉ABAP语言的应用顾问,也可以创建自定义的选择屏幕元素,在SQ02->属性界面里,有个选择项,这里可以创建自定义的选择。然后在代码部分写检查代码。

     

     

    特别注释:ALV的格式管理功能,是我们在使用Query时最常用的,用户可以自定义自己的报表样式,也可以设置全局变式及默认设置。

  • 相关阅读:
    如何利用 iTunes 把 m4a/wav 文件转成 MP3 格式
    The best way to learn a programming language
    琼瑶哀悼丈夫去世
    与“芯片”相关的专业有哪些?
    君子使物,不为物使
    SRID (空间引用识别号, 坐标系)【转】
    编码
    test
    剪贴板神器:Ditto
    写Markdown博客时遇到的一些问题
  • 原文地址:https://www.cnblogs.com/elegantok/p/1572036.html
Copyright © 2020-2023  润新知