一些SAP S4CRM On-Premises开发的代码审查,2017-02-16

68 阅读1分钟

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?

Issue8

只需要product,为什么CDS view里要把所有field全部读出来?

Issue9

从语义上说,为什么只取第一个uom?它是main uom?

Issue10

这种ABAP错误处理不对。如果在方法调用后用sy-subrc evaluate, 必须要求方法里用non-OO的方式declare了exception。如果用TRY CATCH,要求方法体里raise OO的exception。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":