如何提高读取BSEG的性能(sap已清项和未清项的提取)

本文介绍了SAP系统中的财务管理模块,特别是BSEG表及其关联表的作用。详细解释了未清项管理和已清项管理的概念,以及如何在SAP R/3系统中使用特定的事务代码来查看供应商、总账和客户的未清项及已清项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

The FI-GL table BSEG, which is one of our biggest PR1 tables, is an example of a clustered table. At the database-level, there is no table called BSEG, but instead RFBLG is being used for the BSEG data. Most of the fields known in BSEG are not known in the database table RFBLG, but are compressed in a VARDATA field of RFBLG. So tests in the WHERE clause of SELECTs agains BSEG are not used by the database (e.g. lifnr = vendor account number, hkont = G/L account, kostl = cost center). As a consequence, these tests are done after the facts similar to using the CHECK statement, and as already said in tip 1, CHECK statements are worse than tests in the WHERE-clause.

Check this link also.
https://forums.sdn.sap.com/thread.jspa?forumID=50&threadID=38572&messageID=373481#373481
1) select with header information from bkpf
2) use secondary index tables
http://forums.sdn.sap.com/jive3/thread.jspa?forumID=50&threadID=14280&messageID=105504#105504
1.BSAK Accounting: Secondary Index for Vendors
2.BSAS Accounting: Secondary Index for G/L Accounts
3.BSIK Accounting: Secondary Index for Vendors
4.BSID Accounting: Secondary Index for Customers
5.BSIM Secondary Index, Documents for Material
6.BSAD Accounting: Secondary index for customers
7.BSIS Accounting: Secondary Index for G/L Accounts
3) use logical data base e.g.: BRF
4)具体说明
BSAD:应收明细(已清帐)
BSID:应收明细(未清帐)
BSAS:总帐明细(已清帐)
BSIS:总帐明细(未清帐)
BSAK:应付明细(已清帐)
BSIK:应付明细(未清帐)
BSEG主要通过“凭证号”“会计年度”“行号”和这六张表关联,BKPF 是财务凭证抬头,BSEG 是财务凭证行项目。在财务凭证记账的时候,数据被插入 BKPF 和 BSEG,如果有必要,数据同时插入以上六张表中的一个未清表。
一般情况下一笔业务产生的凭证都是未清的,那么:
   如果该业务行是客户相关的,则被记录到BSID;
   如果该业务行是供应商相关的,则被记录到BSIK;
   无论和客户相关还是和供应商相关,都是和总帐相关,所以也会有记录到BSIS;
   但是如果这笔业务被清帐了,则相应的记录会从BSI*转移到BSA*

一般情况下:
   应收账款、预收账款、其他应收款、应收汇票等科目既和客户相关,又和未清项管理的总帐科目相关;
   应付账款、预付账款、其他应付款、应付汇票等科目既和供应商相关,又和未清项管理的总帐科目相关;
   其他总帐科目一般不启用未清项管理,所以记录一般都放在BSIS中。

5)未清项和已清项的概念
清项(Open Item),表示财务凭证行项目的一种挂账的状态,这种状态,提示该行项目需要被清帐(Clearing)。在 FS00 设置科目的时候,有一个选项是 'Open Item Mngment',该选项选中后,表示财务凭证行项目中记账科目为此科目时,该行项目有未清或者已清的状态。
已清项(Close Item),表示该行项目已经被清帐。
具体应用中,'Open Item Mngment' 用得比较普遍的是应收(客户)和应付(供应商)的科目。
此外,在总帐中,也有一些应用,比如对于银行的对账单,也一般使用,这样可以再对帐无误后再做清帐。

为什么需要使用到未清项管理?目的是为了记录完整的业务交易。比如对客户A有两笔应收款 A1 与 A2,A1 因为有些商务纠纷,可能需要进一步交涉,所以客户先针对 A2付款。如果没有未清项管理,这一笔收款可能只能针对时间顺序靠前的交易 A1 了,显然,这样是一种比较混乱的状态。实际上,几乎大部分科目理论上都可以进行未清项管理,但是,有可能这样做不能带来显著的效益反而带来管理成本的增加。

6)未清项和已清项sap提供的TCODE
在 SAP R/3 中,使用 FBL1N , FBL3N, FBL5N 分别可以查看供应商,总账,客户类型科目的未清已清项。
via: https://forums.sdn.sap.com/thread.jspa?threadID=100759  

<think>嗯,用户需要查询SAP FM模块的底层数据库表信息。这是一个比较专业的SAP技术问题,用户可能是SAP顾问、开发人员或系统管理员,需要这些信息进行数据提取、报表开发或系统集成工作。 从用户的问题表述来看,ta对SAP系统有一定了解,直接使用了"FM模块"这个专业缩写。不过没有说明具体需要哪个子模块的信息,可能需要进一步细化。 我注意到引用内容里有些相关线索:引用[3]提到了MM模块的一些核心表如MARA、MARC等,虽然不直接相关,但说明用户可能关注类似的结构。引用[1]提到"organising the contents of database tables",暗示用户需要表结构信息而非功能说明。 在专业层面,SAP FM模块涉及的表确实很多,需要按功能域分类说明: - 总账相关的表集中在BSEG、BKPF这类凭证表 - 资产管理需要ANLA/ANLB等 - 特别要注意FM特有的预算表如FMIFIIT 用户可能没意识到的是:直接查表有风险,SAP推荐通过逻辑视图如ACDOCA访问数据。这点必须重点提醒,否则可能导致程序不兼容升级。 考虑到用户可能需要具体示例,准备提供几个典型表结构说明,比如BKPF的关键字段。但要注意避免信息过载,所以按功能域分组展示核心表即可。 后续问题设计要引导用户明确具体需求:是开发报表?数据迁移?还是接口开发?不同场景需要的表深度不同。比如做年度结算可能需要FM相关的特别分类账表。</think>以下是SAP财务管理模块(Financial Management,简称FM)的核心数据库表分类说明及关键表结构解析: --- ### 一、核心数据库表分类 #### 1. **总账会计(GL)** - **BKPF**:会计凭证抬头 存储凭证号、公司代码、会计年度等核心信息 *示例字段:`BELNR`(凭证), `GJAHR`(会计年度), `BUKRS`(公司代码)* - **BSEG**:会计凭证行项目 关联`BKPF`,存储科目、金额、成本中心等明细 *关键字段:`BUZEI`(行号), `HKONT`(总账科目), `DMBTR`(本币金额)* - **SKAT**:总账科目主数据 存储科目描述、科目组等(通过`SAKNR`字段关联BSEG) #### 2. **应付账款(AP)** - **LFA1**:供应商主数据(通用信息) *字段:`LIFNR`(供应商号), `NAME1`(名称)* - **LFB1**:供应商公司代码数据 存储付款条件、统驭科目等(关联字段`LIFNR`) - **RBKP**:发票凭证抬头 *关键字段:`BELNR`(发票号), `GJAHR`(年度)* - **RSEG**:发票行项目 关联`RBKP`,存储物料、数量、税额等 #### 3. **应收账款(AR)** - **KNA1**:客户主数据(通用) *字段:`KUNNR`(客户号), `NAME1`(名称)* - **KNB1**:客户公司代码数据 存储信贷限额、付款条件等 - **VBRK**:开票凭证抬头 *字段:`VBELN`(发票号), `FKDAT`(开票日期)* - **VBRP**:开票凭证行项目 关联`VBRK`,存储开票数量、金额 #### 4. **资产管理(AM)** - **ANLA**:资产主记录 *关键字段:`ANLN1`(资产号), `BUKRS`(公司代码)* - **ANLB**:资产折旧范围 存储折旧方法、使用年限 - **ANEP**:资产行项目 记录资产交易明细(如购置、折旧) #### 5. **基金管理(FM)专用表** - **FMIFIIT**:基金管理承诺项目 跟踪预算承诺及实际消耗 - **FMPGRID**:基金中心-基金-承诺项目组合 管理预算分配关系 - **FMIT**:基金管理主数据(基金/承诺项目) --- ### 二、关键表关联示例 ```sql SELECT BKPF~BELNR, BSEG~HKONT, BSEG~DMBTR FROM BKPF INNER JOIN BSEG ON BKPF~BUKRS = BSEG~BUKRS AND BKPF~BELNR = BSEG~BELNR AND BKPF~GJAHR = BSEG~GJAHR WHERE BKPF~BUKRS = '1000' AND BKPF~BLART = 'SA' -- 凭证类型=总账 ``` --- ### 三、注意事项 1. **直接访问风险** 直接读取底层表(如BSEG)可能影响性能SAP推荐使用逻辑视图(如`ACDOCA` - 新总账统一日记账) 2. **权限控制** 需分配`S_TABU_NAM`权限组访问表数据 3. **版本差异** S/4 HANA中部分表被CDS视图替代(如`BSEG` → `ACDOCA`)[^1][^3] --- ### 四、数据查询建议路径 ```mermaid graph LR A[业务需求] --> B{数据类型} B -->|主数据| C[SKAT/LFA1/KNA1] B -->|交易数据| D[BKPF/BSEG] B -->|预算数据| E[FMIFIIT/FMIT] B -->|资产数据| F[ANLA/ANEP] ``` > ⚠️ **重要提示**:生产系统直接查询底层表需谨慎,建议通过ABAP CDS视图或标准报表提取数据,避免兼容性问题[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值