EBS 学习笔记 wsh_delivery_details_pub.update_shipping_attributes 使用

来源:互联网 发布:域名不能备案怎么办 编辑:程序博客网 时间:2024/06/01 13:56
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
原创粉丝点击