zoukankan      html  css  js  c++  java
  • 如何提高读取BSEG的性能(sap已清项和未清项的提取)

    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  

  • 相关阅读:
    mysql 触发器 插入
    【经验】STL的list vector在iterator迭代器的循环中 使用erase 造成的BUG
    C/C++ 关于 for循环 的第二个表达式右侧非常量的时候
    MySQL C API的一个让我头疼的问题,获得一行记录中包括NULL
    vim粘贴代码的时候,恶心的缩进.
    [转]分析MySQL数据类型的长度【mysql数据字段 中length和decimals的作用!熟悉mysql必看】
    [转]对于孩子:旅行的意义何在?
    libc中的标准函数 localtime和localtime_r 的用法
    【腾讯面试题目】非循环方式 计算一个32位整数中被置1的位数
    C++对带有分隔符的字符串 分割为数字的通用解决方案
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157491.html
Copyright © 2011-2022 走看看