我的知识星球有人提问:
Jerry老师,您好!我在做PM工单做释放时,后台调用IBAPI_ALM_ORDER_RELEASE,在debug时发现IBAPI_ALM_ORDER_RELEASE还调用了STATUS_CHECK检查状态表JEST是否存在该笔工单释放REL的记录,如果没有则报错。我想不明白,为啥没有释放记录还报错?不应该是做过释放后在JEST表有记录才不能再次释放吗?如果是这样的话,那第一次的释放记录是怎么产生的?
我们一起来看看这个函数 IBAPI_ALM_ORDER_RELEASE 的代码。
调用 IBAPI_S_HEADER_RELEASE
调用 subroutine set_header_released
调用 STATUS_CHECK
:
stk_fre 的值为 I1002
, 描述信息 Freigegeben
,意思是 approved
:
根据代码上下文分析,IBAPI_H_EXEC_FREI_INTERN
函数里调用 STATUS_CHECK
进行订单状态检查,检查的状态是下面第 116 行代码 <font color='red' size="3pt">硬编码</font>的 <font color='red' size="3pt">stk_fre</font>, 也就是 Approved 状态。
这个从业务上来也说得通,一个订单只有被审批之后,才能被 Release.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。