news 2026/7/7 19:11:49

财务同事催报表?别慌!用SAP SQVI+SE93,30分钟搞定一个自定义凭证查询工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
财务同事催报表?别慌!用SAP SQVI+SE93,30分钟搞定一个自定义凭证查询工具

财务人员自救指南:30分钟用SQVI+SE93打造专属凭证查询工具

每到月底结账,财务部门的同事总会被各种临时报表需求淹没。"能不能帮我查一下这两个成本中心之间的所有凭证?""需要按供应商+物料组合的付款明细..."标准事务码FB03显然无法满足这些灵活查询需求。本文将分享一套零代码解决方案,通过SQVI可视化表连接和SE93事务码创建,让非技术人员也能快速构建生产级查询工具。

1. 为什么SQVI+SE93是财务人员的效率利器

在SAP环境中,财务人员常陷入两难:标准报表功能有限,而定制开发又需要依赖ABAP团队。SQVI(QuickViewer)的独特价值在于:

  • 图形化表连接:通过拖拽方式建立数据关联,无需编写JOIN语句
  • 实时数据预览:每一步操作都可立即验证数据准确性
  • 生产环境就绪:生成的查询可直接通过SE93封装成正式事务码

我曾见过一位财务主管用这套方法,在季度审计前连夜赶制出20多个定制查询,避免了外包开发的高成本和长周期。下面这个对比表展示了传统开发与SQVI方案的差异:

维度ABAP开发SQVI方案
技术门槛需要编程基础纯图形化操作
开发周期2-5天0.5-2小时
修改灵活性需修改代码随时调整字段
维护成本需开发团队支持业务人员自主维护

2. 实战:构建多维凭证查询工具

2.1 准备阶段:确定数据需求

假设我们需要查询包含以下信息的凭证明细:

  • 凭证编号、过账日期、金额
  • 成本中心、利润中心
  • 供应商名称、物料编号

这涉及多个表的关联:

  • BKPF(凭证抬头)
  • BSEG(凭证行项目)
  • LFA1(供应商主数据)
  • MAKT(物料描述)

提示:建议先在SE16N中单独查看每个表的结构,确认关键字段(如凭证号BELNR、公司代码BUKRS等)

2.2 SQVI操作关键步骤

创建新查询"ZFI_VOUCHER_MULTI":

1. 执行SQVI → 输入查询名称 → 选择"表连接" 2. 依次添加BKPF、BSEG、LFA1、MAKT表 3. 设置关联条件: - BKPF-BELNR = BSEG-BELNR - BKPF-BUKRS = BSEG-BUKRS - BSEG-LIFNR = LFA1-LIFNR - BSEG-MATNR = MAKT-MATNR 4. 勾选输出字段: - BKPF: BELNR, BUDAT, BLDAT - BSEG: DMBTR, KOSTL, PRCTR - LFA1: NAME1 - MAKT: MAKTX 5. 设置选择屏幕字段(允许用户输入的参数)

常见连接问题排查:

  • 自动关联错误:右击错误连线 → 删除后手动指定
  • 数据不匹配:检查公司代码是否一致(BUKRS字段)
  • 性能问题:避免连接超过5个表,大数据表最后连接

2.3 用SE93创建正式事务码

将查询转化为生产环境可用的T-CODE:

1. 执行SE93 → 输入新事务码(如ZFI_VOUCH) 2. 选择"程序和选择屏幕(报表事务)" 3. 输入SQVI生成的程序名(通常以AQVI开头) 4. 设置GUI支持选项 → 保存到适当包

测试时若遇到授权问题,需申请以下权限对象:

  • S_TCODE(事务码使用权)
  • S_TABU_NAM(表访问权)

3. 高级技巧:让查询更实用

3.1 添加计算字段

在SQVI的"字段列表"界面:

  1. 点击"创建计算字段"
  2. 输入表达式如BSEG-DMBTR * CASE WHEN BSEG-SHKZG = 'H' THEN -1 ELSE 1 END
  3. 命名新字段为"实际金额"

3.2 优化用户界面

通过以下设置提升易用性:

  • 将常用字段设为默认选择(如公司代码)
  • 设置字段默认值:&BUKRS = '1000'
  • 添加字段分组:"凭证基本信息"、"业务伙伴信息"

3.3 性能调优方案

当查询响应慢时:

  1. 在SQVI配置中激活"分页显示"
  2. 设置最大返回行数(如5000行)
  3. 为关键表创建选择索引:
DATA: lt_index TYPE TABLE OF sval. APPEND VALUE #( tabname = 'BKPF' field = 'BUKRS' ) TO lt_index. APPEND VALUE #( tabname = 'BKPF' field = 'BELNR' ) TO lt_index.

4. 典型场景解决方案

4.1 成本中心分析报表

连接表:

  • CSKS(成本中心主数据)
  • BSEG(行项目)
  • SKAT(总账科目文本)

输出配置:

  • 按成本中心分组汇总
  • 添加方差计算(预算vs实际)

4.2 供应商付款追踪

特殊处理:

  • 关联银行明细表(BSEC)
  • 添加账龄计算字段
  • 设置付款状态标识

4.3 跨系统数据比对

通过RFC连接外部数据源:

  1. 在SQVI中选择"跨系统表连接"
  2. 配置远程系统登录参数
  3. 指定关键字段映射关系

这套方法最让我惊喜的是它的灵活性——上周我们应付账款团队需要按特殊统计维度(供应商地区+物料类别)分析数据,从需求提出到交付使用只用了25分钟。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 20:03:05

扩展openeuler/syskits:3步添加自定义命令的开发者手册

扩展openeuler/syskits:3步添加自定义命令的开发者手册 【免费下载链接】syskits A foundational command set comprising over 100 commands, providing command-as-a-service support at the basic command layer. 项目地址: https://gitcode.com/openeuler/sys…

作者头像 李华
网站建设 2026/7/6 2:09:50

CSS 内边距(padding)完全指南:从盒子模型到实战导航栏

在学习 CSS 盒模型时,padding(内边距)​ 是一个绕不开的基础属性。它决定了"内容与边框之间留多少空隙",直接影响元素的视觉呼吸感和点击体验。本文带你从概念到实战,把 padding 彻底吃透。 📦 …

作者头像 李华