abap性能优化——利用凭证的number ranger提高abap程序性能
當(dāng)我們的程序需要搜索某些憑證的時(shí)侯,常常會(huì)涉及到比較龐大的數(shù)據(jù)表,比如BSEG, MSEG, VBRP等等,如果這時(shí)又無(wú)法獲取憑證號(hào)碼等一些關(guān)鍵字段的值,那么程序必然會(huì)消耗非常多的資源。這種情況下,下面的方法或許可以得到意想不到的效果。
前提:
-? 知道被搜索憑證的類(lèi)型
-? 無(wú)法利用數(shù)據(jù)表的關(guān)鍵字搜索憑證
解決方案:
-?? 利用已知的憑證類(lèi)型,得到該類(lèi)型憑證的號(hào)碼范圍,從數(shù)據(jù)表中得到該號(hào)碼范圍內(nèi)的所有憑證,存入內(nèi)表,通過(guò)操作該內(nèi)表進(jìn)一步對(duì)其他的條件字段進(jìn)行篩選。
步驟:
1. 讀取數(shù)據(jù)表TVAK得到憑證類(lèi)型的number ranger object.
2. 讀取數(shù)據(jù)表NRIV得到該number ranger object的當(dāng)前號(hào)碼范圍
3. 利用SELECT語(yǔ)句的BETWEEN子句,基于憑證號(hào)碼字段,讀取被搜索憑證的數(shù)據(jù)表,并存入內(nèi)表
4. 進(jìn)一步根據(jù)其他條件篩選內(nèi)表。
總結(jié)
以上是生活随笔為你收集整理的abap性能优化——利用凭证的number ranger提高abap程序性能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 通过FM CO_VB_ORDER_POS
- 下一篇: 在Global Object Servi