关于CRM one order函数的一些代码审查和改进建议
写作于2017年2月17日
Issue1
这个函数的signature是别人写好的,大家研究过consumer怎么消费这个FM的?
如果et_product_detail有多个entry,则es_product_detail只包含et_product_detail的最后一行. 这个…
Question1
这个API里面的实现和ORGMAN有什么关系??放在这的意图是?
Issue2
既然这个FM内只需要product header的division field,然后get_single_h_with_desc_by_guid确实支持只取required field, 为什么不用?
这个和上面那个CRMS4_ORGMAN_CHECK_API_OBJ的实现是完全一样的,必须要分开实现背后有什么故事?
Issue3
这里要加error handling的TODO:
Issue4
怎么能够在LOOP里调用get_instance?!
Issue5
在我们的生产代码里,还是会有可能进入到这个COM API的分支:
Issue6
没有必要用嵌套的TRY CATCH
放在一个层级结构:
Issue7
这行语句有什么用?
Question2
那为什么line 451不直接用cs_orderadm_i_wrk-ordered_prod?
![clipboard15](https://user-ima
Issue8
只需要product,为什么CDS view里要把所有field全部读出来?
Issue9
从语义上说,为什么只取第一个uom?它是main uom?
Issue10
这种ABAP错误处理不对。如果在方法调用后用sy-subrc evaluate, 必须要求方法里用non-OO的方式declare了exception。如果用TRY CATCH,要求方法体里raise OO的exception。
ges.githubusercontent.com/5669954/54063458-7f750f00-4247-11e9-9966-0a4fea02c7cd.png)
要获取更多Jerry的原创文章,请关注公众号"汪子熙":