Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
/*
Template for Data fix Script
*/
WHENEVER SQLERROR EXIT FAILURE
SET SERVEROUTPUT ON SIZE 1000000
SET ECHO ON
--======================================================================
--Change Recipe Prod Validity Rules status through API: GMD_STATUS_PUB
--======================================================================
DECLARE
v_cnt NUMBER := 0;
v_cnt_s NUMBER := 0;
v_cnt_b NUMBER := 0;
l_msg_cnt NUMBER;
l_msg_lst VARCHAR2(4000);
l_ret_status VARCHAR2(10);
CURSOR cur_recipe_prod_vr
IS
SELECT mp.organization_code, msi.segment1 item_no, grvr.inventory_item_id,
msi.item_type, msi.INVENTORY_ITEM_STATUS_CODE,
ffm.formula_no, ffm.formula_vers,
gr.recipe_no, gr.recipe_version, gr.recipe_status, gr.creation_date,
grvr.RECIPE_VALIDITY_RULE_ID
,decode(grvr.recipe_use,0,'Production',2,'Costing') recipe_use
,grvr.validity_rule_status, grvr.last_update_date, grvr.start_date,
grvr.end_date
FROM mtl_system_items msi
,fm_form_mst ffm
,gmd_recipes gr
,gmd_recipe_validity_rules grvr
,mtl_parameters mp
WHERE 1 = 1
AND gr.recipe_id = grvr.recipe_id
AND gr.formula_id = ffm.formula_id
AND msi.organization_id = grvr.organization_id
AND msi.inventory_item_id = grvr.inventory_item_id
AND gr.owner_organization_id = mp.organization_id
AND grvr.recipe_use = 0
AND gr.recipe_status IN (700, 900)
AND grvr.VALIDITY_RULE_STATUS IN (700,900)
AND mp.organization_code = '200'
--AND msi.item_type = 'FG'
AND msi.primary_uom_code = 'EA'
--AND INVENTORY_ITEM_STATUS_CODE IN ('Active','Initiation')
ORDER BY 1,2;
BEGIN
DBMS_OUTPUT.put_line ('======== Processing starts ========');
DBMS_OUTPUT.put_line ( TO_CHAR (SYSDATE, 'DD-MON-YYYY HH:MI:SS PM'));
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('API calling or updating error.');
RAISE;
END;
END LOOP;
COMMIT;
DBMS_OUTPUT.put_line ('===================================');
DBMS_OUTPUT.put_line ('Total records processed: '||v_cnt);
DBMS_OUTPUT.put_line ('Records Status changed: '||v_cnt_s);
DBMS_OUTPUT.put_line ('Records End Dated: '||v_cnt_b);
DBMS_OUTPUT.put_line ('======== Process Completed ========');
DBMS_OUTPUT.put_line ( TO_CHAR (SYSDATE, 'DD-MON-YYYY HH:MI:SS PM'));
END;
/