SAP簇表BSEG取数优化的方法
生活随笔
收集整理的這篇文章主要介紹了
SAP簇表BSEG取数优化的方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
| BSEG于一般的透明表不同,它是一個(gè)簇表。對于一個(gè)簇表來說,除了主鍵項(xiàng)目外,其他項(xiàng)目都被編輯到一個(gè)長文本項(xiàng)目中,一起存儲在表簇RFBLG中的vardata項(xiàng)目中,這就決定了作為簇表的BSEG無法再建立鍵值以外的索引(INDEX),所以一般我們對于透明表來說當(dāng)主鍵項(xiàng)目不全或完全沒有時(shí),追加索引的作法對于BSEG表來說就不好用了。而BSEG簇表又是SAP系統(tǒng)中FI 會計(jì)模塊中最常被使用的數(shù)據(jù)表,所以運(yùn)用好對BSEG表的訪問技術(shù)對于FI會計(jì)模塊的擴(kuò)展開發(fā)(ADDON)至關(guān)重要。 對於簇表來說,在數(shù)據(jù)庫中沒有與之同名的實(shí)體物理表相對應(yīng),所以雖然其可在ABAP中使用,但還是有一些限制的:
除此之外,對BSEG的訪問要使用主鍵項(xiàng)目,如果沒有主鍵項(xiàng)目雖然語法調(diào)試能夠通過,但是程序執(zhí)行起來,耗時(shí)長,效率低,而且隨著業(yè)務(wù)量的增加執(zhí)行時(shí)間問題會越發(fā)嚴(yán)重,甚至導(dǎo)致程序不能正常執(zhí)行結(jié)束。 那么如果當(dāng)鍵值不足時(shí)怎么辦呢?回答,使用二次索引透明表,具體方法如下描述。比如,和銷售憑證有關(guān)的業(yè)務(wù),根據(jù)銷售憑證編號和明細(xì)編號,選取相關(guān)會計(jì)憑證明細(xì)信息。 1)、首先根據(jù)銷售憑證編號和明細(xì)編號,從BSID中檢索出未清帳明細(xì)行項(xiàng)目 2)、再根據(jù)銷售憑證編號和明細(xì)編號,從BSAD中檢索出已清帳明細(xì)行項(xiàng)目 3)、然后再根據(jù)上面檢索出的主鍵列表,從BSEG中檢索出相應(yīng)的明細(xì)行項(xiàng)目 4)、對透明表BSID和BSAD追加以VBEL2(銷售憑證編號)和POSN2(銷售憑證明細(xì)編號)為鍵值的索引(對于透明表可追加索引) 這樣一來,1)和2)步驟地操作有索引,3)步驟的操作有全主鍵項(xiàng)目,檢索速度應(yīng)該有保證。采購方面的業(yè)務(wù)、物料方面的業(yè)務(wù)等都可如法炮制。 最后需要說明一點(diǎn),不是所有的SAP系統(tǒng)都可以使用這種方法,能否使用取決于R/3系統(tǒng)的設(shè)計(jì)和配置。所以在試圖使用該方法時(shí)應(yīng)充分調(diào)查相關(guān)透明表與BSEG中的紀(jì)錄是否相符,別速度提高了,結(jié)果處理對象范圍減小了或增大了,那就與初衷背道而馳了,效率的提升一定要在確保業(yè)務(wù)數(shù)據(jù)正確的基礎(chǔ)上再加以考慮。 SAP R/3系統(tǒng)中也有幾個(gè)專門用來讀取BSEG表信息的函數(shù),可適當(dāng)參考使用,它們是:READ_BSEG、GET_ALL_BSEG。 另外最有效率的方法是改善你的應(yīng)用和需求,要使需求合理規(guī)范,這才能使效率達(dá)到最高化。 |
總結(jié)
以上是生活随笔為你收集整理的SAP簇表BSEG取数优化的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP簇表(cluster table)
- 下一篇: LOAD_TYPE_VERSION_MI