EBS 批量发运确认API

API wsh_deliveries_pub.delivery_action问题点:

1、发运确认会调用接口请求,同一个SO对应几个交货号会报出现锁,
2、请求会存在延时,报表不能输出正确的结果
解决方法:
把发运确认API设置为延迟接口,即p_sc_defer_interface_flag为‘Y’,
然后存储过程中直接调用连接停靠站过程。

DECLARE
  x_Return_Status VARCHAR2(1);
  x_Msg_Count     NUMBER;
  x_Msg_Data      VARCHAR2(3500);
  l_Trip_Id       NUMBER;
  l_Trip_Name     VARCHAR2(40);
  x_Msg_Details   VARCHAR2(3000);
  x_Msg_Summary   VARCHAR2(3000);
BEGIN

  Fnd_Global.Apps_Initialize(0
                            ,50627
                            ,190);

  Wsh_Deliveries_Pub.Delivery_Action(p_Api_Version_Number      => 1.0
                                    ,p_Init_Msg_List           => Fnd_Api.g_True
                                    ,x_Return_Status           => x_Return_Status
                                    ,x_Msg_Count               => x_Msg_Count
                                    ,x_Msg_Data                => x_Msg_Data
                                    ,p_Action_Code             => 'CONFIRM'
                                    ,p_Delivery_Id             => R2.Delivery_Id
                                    ,p_Sc_Rule_Id              => 1 --发运规则 select * from wsh_ship_confirm_rules
                                    ,p_Sc_Action_Flag          => 'S'
                                    ,p_Sc_Stage_Del_Flag       => 'Y'
                                    ,p_Sc_Actual_Dep_Date      => SYSDATE
                                    ,p_Sc_Intransit_Flag       => 'Y'
                                    ,p_Sc_Close_Trip_Flag      => 'Y'
                                    ,p_Sc_Create_Bol_Flag      => 'N'
                                    ,p_Sc_Defer_Interface_Flag => 'Y' --为‘Y’,手动运行连接停靠站
                                    ,x_Trip_Id                 => l_Trip_Id
                                    ,x_Trip_Name               => l_Trip_Name);

  IF (x_Return_Status <> Wsh_Util_Core.g_Ret_Sts_Success AND
     x_Return_Status <> 'W') THEN
    ROLLBACK;
    --raise Api_Failed; 
  ELSE
  
    --调用连接停靠站请求过程
    --defer_interface_flag是'Y',需运行以下接口请求
    Wsh_Ship_Confirm_Actions.Interface_All(Errbuf        => Errbuf2
                                          ,Retcode       => Retcode2
                                          ,p_Mode        => p_Mod
                                          ,p_Stop_Id     => p_Stop_Id
                                          ,p_Delivery_Id => R2.Delivery_Id
                                          ,p_Log_Level   => p_Log_Level);
    IF Retcode != '0' THEN
      ROLLBACK;
    ELSE
      COMMIT;
    END IF;
  END IF;

END;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值