详解EBS接口开发之销售订单挑库发放


1. 对销售订单的有效性验证
    1)检查销售订单的行是否被完全传回客户化表
    2)验证销售订单的关键字段
    3)检查子库存是否启用了货位控制,如果启用了货位控制,没有生成货位,则调用API生成货位
    4)调用API检查子库存中的某一个物料的现用量和可用量
2. 销售订单发放
     调用API进行销售订单发放
     发放成功:        返回一个批号,这个批号作为挑库发放的参数
3.  销售订单挑库发放
     调用API进行挑库发放
     发放前             行状态:准备发放           下一步:挑库发放             判断依据:销售订单发放生成的批号作为挑库发放的参数
     发放成功          行状态:已发放至仓库     下一步:处理物料搬运单    判断依据:返回一个批号,这个批号作为挑库发放的参数
     发放失败          行状态:已延交              下一步:挑库发放             判断依据:未成功返回一个批号
     说明:订单发放是按照整个订单发放的。
4. 处理物料搬运单
    处理成功:         行状态:发运                 下一步:                                  判断依据:返回成功的处理状态
    处理成失败         行状态:                       下一步:处理物料搬运单             判断依据:未返回成功的处理状态
5.  得到销售订单的交货号(delivery_id)
     调用API 查看是否产生发运号
     成功:返回发运号
     失败:未返回发运号
6.  发运确认
     处理成功           订单状态为:关闭
     说明:如果发运确认已经成功,则会自动调用 连接形成停靠站 接口程序
具体实现代码
  1. 对销售订单的有效性验证
      调用API验证货位的代码:
   
 fnd_profile.put('MFG_ORGANIZATION_ID',p_organization_id);
            
     l_locator_type := get_locator_type(p_sub_inv,p_organization_id);        
     IF l_locator_type != 1  THEN
                         
       l_locator  := p_sub_inv || '.' ||
                     p_project || '.' || 
                     p_task;
             
       inv_loc_wms_pub.create_locator(x_return_status            => l_status,
                                      x_msg_count                => l_msg_count,
                                      x_msg_data                 => l_msg_data,
                                      x_inventory_location_id    => l_locator_id,
                                      x_locator_exists           => l_locator_exists,
                                      p_organization_id          => p_organization_id,
                                      p_organization_code        => p_organization_code,
                                      p_concatenated_segments    => l_locator,
                                      p_description              => NULL,
                                      p_inventory_location_type  => l_locator_type,
                                      p_picking_order            => NULL,
                                      p_location_maximum_units   => NULL,
                                      p_subinventory_code        => p_sub_inv,
                                      p_location_weight_uom_code => NULL,
                                      p_max_weight               => NULL,
                                      p_volume_uom_code          => NULL,
                                      p_max_cubic_area           => NULL,
                                      p_x_coordinate             => NULL,
                                      p_y_coordinate             => NULL,
                                      p_z_coordinate             => NULL,
                                      p_physical_location_id     => NULL,
                                      p_pick_uom_code            => NULL,
                                      p_dimension_uom_code       => NULL,
                                      p_length                   => NULL,
                                      p_width                    => NULL,
                                      p_height                   => NULL,
                                      p_status_id                => 1,
                                      p_dropping_order           => NULL);
       IF l_locator_id IS NULL THEN
         o_err_code := g_error;
         o_err_msg  := '创建(获取)货位弹性域发生错误';
       ELSE
         o_locator_id := l_locator_id;
       END IF;


调用API验证库存现用量和可用量的代码:
inv_quantity_tree_pub.query_quantities(p_api_version_number  => 1.0,
                                              x_return_status       => l_return_status,
                                              x_msg_count           => l_msg_count,
                                              x_msg_data            => l_msg_data,
                                              p_organization_id     => l_organization_id,
                                              p_inventory_item_id   =&
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值