通過sql將資料根據特定的條件進行分組,並把每組的資料進行挑庫生成乙個物料搬運單。
--分批測試挑庫demo
declare
p_attribute6 varchar2(240) := null;
p_attribute10 varchar2(240) := null;
x_return_status varchar2(1);
x_msg_count number;
x_msg_data varchar2(4000);
l_delivery_detail_tab wsh_util_core.id_tab_type;
x_del_rows wsh_util_core.id_tab_type;
v_msg_index_out number;
l_action_prms wsh_glbl_var_strct_grp.dd_action_parameters_rec_type;
l_action_out_rec wsh_glbl_var_strct_grp.dd_action_out_rec_type;
i number := 0;
--獲取本次所有的提貨位址和收貨位址
cursor cur1 is
select distinct wdd.attribute6,
wdd.attribute10
from wsh_delivery_details wdd
where wdd.split_from_delivery_detail_id = 1594660
and wdd.released_status = 'r';
--根據收貨位址和提貨位址獲取id, 同時生成乙個批
cursor cur2(p_attribute6 in varchar2,
p_attribute10 in varchar2) is
select wdd.delivery_detail_id,
wdd.attribute6,
wdd.attribute10
from wsh_delivery_details wdd
where wdd.split_from_delivery_detail_id = 1594660
and wdd.released_status = 'r'
and wdd.attribute6 = p_attribute6
and wdd.attribute10 = p_attribute10;
begin
--模擬登陸
begin
resp_id => 54237,
mo_global.set_policy_context(p_access_mode => 's',
p_org_id => 662);
mo_global.init('cux');
end;
l_action_prms.phase := 1;
l_action_prms.caller := 'wsh_pub';
l_action_prms.action_code := 'pick-release';
for rec1 in cur1 loop
for rec2 in cur2(rec1.attribute6,
rec1.attribute10) loop
i := i + 1;
l_delivery_detail_tab(i) := rec2.delivery_detail_id;
dbms_output.put_line('l_delivery_detail_tab(' || i || ')' ||
l_delivery_detail_tab(i));
end loop;
fnd_msg_pub.initialize;
wsh_inte***ce_grp.delivery_detail_action(p_api_version_number => 1.0,
p_init_msg_list => fnd_api.g_false,
p_commit => fnd_api.g_false,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_detail_id_tab => l_delivery_detail_tab,
p_action_prms => l_action_prms,
x_action_out_rec => l_action_out_rec);
dbms_output.put_line(x_return_status);
if x_msg_count > 0 then
for v_index in 1 .. x_msg_count loop
fnd_msg_pub.get(p_msg_index => v_index,
p_encoded => 'f',
p_data => x_msg_data,
p_msg_index_out => v_msg_index_out);
dbms_output.put_line(x_msg_data);
end loop;
end if;
--迴圈一次之後清空資料
l_delivery_detail_tab.delete;
--重置i的值
i := 0;
end loop;
end;
OM Shipping 不能挑庫
倉庫文員反映 om shipping transaction不能挑庫,訂單沒有hold,schedule ship date 也填寫了。挑庫時執行的併發程式,其日誌沒有提示錯誤資訊。使用者操作時,看到有個note資訊,第一次她很已快就關閉了,我沒有看到內容,第二次讓她慢些操作,每個提示都要認真看。這...
php mysql實現資料分批插入
上週需要將雲端的資料有條件的錄入到mysql中,最開始是使用遍歷資料然後一條條的插入的笨方法,結果速度慢的要死,所以又隨便寫了個笨方法2.0,記錄一下自己菜鳥的成長歷程。同時這也是在的第一篇文章,目的僅僅是單純的記錄一下自己的狗屎 因為我是菜鳥,哈哈。比如說有10001條資料,每次插入1000條,分...
小技巧 分批取資料庫資料
在有些業務場景中需要分批去取資料庫表中的全部資料來進行處理,最簡單的方法就是使用分頁查詢語句 偷懶以mysql為例 select from datatable limit offset,amount 這裡就會有乙個問題,隨著offset值的越來越大,這條sql要掃瞄的表資料就會越來越多,因為要定位到...