EBS 学习笔记 wsh_delivery_details_pub.update_shipping_attributes 使用

DECLARE
  lv_return_status       VARCHAR2(5);
  ln_msg_count           NUMBER;
  lv_msg_data            VARCHAR2(10000);
  lr_changed_attributes  wsh_delivery_details_pub.changedattributetabtype;
  lr_serial_rangetab_rec wsh_glbl_var_strct_grp.ddserialrangetabtype;


BEGIN
  lr_changed_attributes(1).delivery_detail_id := 142861; --物料单编号
  lr_changed_attributes(1).shipped_quantity := 0; -- 发运的数量  如果之前有序列号  需要重新分配    如果要改变的shipped_quantity 数量和更新之前的一样,则会报错
  --lr_changed_attributes(1).serial_number    := 'B065'; --这里的序列号指定只能当发运的数量shipped quantity为1的时候可以使用
  lr_changed_attributes(1).cycle_count_quantity := 2; -- backordered数量
  
  --如果你要分配的物料单内有多个要发运的  而且需要 序列号 则可以加上下列数据
  lr_serial_rangetab_rec(1).delivery_detail_id := 142821;
  lr_serial_rangetab_rec(1).from_serial_number := 'B060';
  lr_serial_rangetab_rec(1).to_serial_number   := 'B060';
  
  lr_serial_rangetab_rec(2).delivery_detail_id := 142821;
  lr_serial_rangetab_rec(2).from_serial_number := 'B066';
  lr_serial_rangetab_rec(2).to_serial_number   := 'B066';
  
  
  wsh_delivery_details_pub.update_shipping_attributes(p_api_version_number => 1.0,
                                                      p_init_msg_list      => fnd_api.g_false,
                                                      p_commit             => fnd_api.g_false,
                                                      x_return_status      => lv_return_status,
                                                      x_msg_count          => ln_msg_count,
                                                      x_msg_data           => lv_msg_data,
                                                      p_changed_attributes => lr_changed_attributes,
                                                      --p_serial_range_tab   => lr_serial_rangetab_rec, 这个可以没有
                                                      p_source_code => 'OE');

  dbms_output.put_line('first ship confirm   return status ' || lv_return_status || '--lv_msg_data ' || lv_msg_data ||
                       fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false));
  IF lv_return_status <> 'S' THEN
    FOR i IN 1 .. ln_msg_count LOOP
      lv_msg_data := lv_msg_data || '|' || fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false);
    END LOOP;
  END IF;
  dbms_output.put_line('lv_msg_data' || lv_msg_data);
END;
--这个api主要是用来更新物料单的一些信息, 要注意的是  当要更新的物料单时,如果物料是有序列号控制的,运行会报异常,让你重新分配序列号。  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值