关于CRM one order函数的一些代码审查和改进建议
寫(xiě)作于2017年2月17日
Issue1
這個(gè)函數(shù)的signature是別人寫(xiě)好的,大家研究過(guò)consumer怎么消費(fèi)這個(gè)FM的?
如果et_product_detail有多個(gè)entry,則es_product_detail只包含et_product_detail的最后一行. 這個(gè)…
Question1
這個(gè)API里面的實(shí)現(xiàn)和ORGMAN有什么關(guān)系??放在這的意圖是?
Issue2
既然這個(gè)FM內(nèi)只需要product header的division field,然后get_single_h_with_desc_by_guid確實(shí)支持只取required field, 為什么不用?
這個(gè)和上面那個(gè)CRMS4_ORGMAN_CHECK_API_OBJ的實(shí)現(xiàn)是完全一樣的,必須要分開(kāi)實(shí)現(xiàn)背后有什么故事?
Issue3
這里要加error handling的TODO:
Issue4
怎么能夠在LOOP里調(diào)用get_instance?!
Issue5
在我們的生產(chǎn)代碼里,還是會(huì)有可能進(jìn)入到這個(gè)COM API的分支:
Issue6
沒(méi)有必要用嵌套的TRY CATCH
放在一個(gè)層級(jí)結(jié)構(gòu):
Issue7
這行語(yǔ)句有什么用?
Question2
那為什么line 451不直接用cs_orderadm_i_wrk-ordered_prod?
?
Issue9
從語(yǔ)義上說(shuō),為什么只取第一個(gè)uom?它是main uom?
Issue10
這種ABAP錯(cuò)誤處理不對(duì)。如果在方法調(diào)用后用sy-subrc evaluate, 必須要求方法里用non-OO的方式declare了exception。如果用TRY CATCH,要求方法體里raise OO的exception。
ges.githubusercontent.com/5669954/54063458-7f750f00-4247-11e9-9966-0a4fea02c7cd.png)
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的关于CRM one order函数的一些代码审查和改进建议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 这下真的亏惨了?外媒称维珍轨道破产打击日
- 下一篇: 代码环复杂度的计算公式