EBS销售订单挑库发放处理程序

在EBS实施中,经常遇到从外部传进来一个被登记的销售订单,需要通过程序进行销售订单的挑库发放

 

下面是对SO挑库发放的实现步骤的详细实现:

 

1. 对销售订单的有效性验证

    1)检查销售订单的行是否被完全传回客户化表

    2)验证销售订单的关键字段

    3)检查子库存是否启用了货位控制,如果启用了货位控制,没有生成货位,则调用API生成货位

    4)调用API检查子库存中的某一个物料的现用量和可用量

 

2. 销售订单发放

     调用API进行销售订单发放

     发放成功:        返回一个批号,这个批号作为挑库发放的参数

 

3.  销售订单挑库发放

     调用API进行挑库发放

     发放前             行状态:准备发放           下一步:挑库发放             判断依据:销售订单发放生成的批号作为挑库发放的参数

     发放成功          行状态:已发放至仓库     下一步:处理物料搬运单    判断依据:返回一个批号,这个批号作为挑库发放的参数

     发放失败          行状态:已延交              下一步:挑库发放             判断依据:未成功返回一个批号

     说明:订单发放是按照整个订单发放的。

 

4. 处理物料搬运单

    处理成功:         行状态:发运                 下一步:                                  判断依据:返回成功的处理状态

    处理成失败         行状态:                       下一步:处理物料搬运单             判断依据:未返回成功的处理状态

 

5.  得到销售订单的交货号(delivery_id)

     调用API 查看是否产生发运号

     成功:返回发运号

     失败:未返回发运号

 

6.  发运确认

     处理成功           订单状态为:关闭

     说明:如果发运确认已经成功,则会自动调用 连接形成停靠站 接口程序 

 

具体实现代码

  1. 对销售订单的有效性验证

 

      调用API验证货位的代码:

      

     

 

 

     调用API验证库存现用量和可用量的代码:

     

 

 

 

 2. 销售订单发放

     调用API进行销售订单发放的代码:

     

  

 

   销售订单发放生成的批号作为步骤3的参数

 

 3. 销售订单挑库发放 

    调用API进行挑库发放的代码:

     

 

 

 

4.  处理物料搬运单

     调用API处理物料搬运单的代码:

     

 

 

 

5. 得到销售订单的交货号(delivery_id)

    得到交货号的代码:

    

  

 

 

6.  发运确认  

     根据步骤5中返回的delivery_id确认是否进行发运确认,

     如果delivery_id不为空,并且没有返回错误信息。

     调用API进行发运确认的代码:

   

 

 

   

  结果通过以上步骤,可以成功的将一个外围系统导入的销售订单进行挑库发放,成功处理此销售订单,并将销售订单行的状态变成“关闭”

   

 

 

 

 

 

 

 

   

posted @ 2012-11-15 11:42  刘伟聪  阅读(1107)  评论(0编辑  收藏  举报