You are on page 1of 2

CREATE OR REPLACE procedure POSS3_1.SP_SET_APPROVAL ( P_INVPLT_ID IN PLANT.INVPLT_ID%TYPE , p_part_nbr_app IN VARTAB, p_part_nbr_dapp IN VARTAB, P_USERID IN TBL_DM_USER_MASTER.

USERID%TYPE, P_ERROR_CODE OUT NUMBER, P_ERROR_MESSAGE OUT VARCHAR2 ) AS

BEGIN for i in 1.. p_part_nbr_app.count loop -- update the approval flag for buffer analysis table. update tbl_bm_buffer_analysis set approval = 'X',updated_by=p_user_gmid, updated _date=sysdate where invplt_id = p_invplt_id and part_number = p_part_nbr_app(i); -- update the approval flag for buffer work table. update tbl_bm_buffer_work tbbw set approval='-1',updated_by=p_user_gmid,updated_ date=sysdate where exists (select 1 from tbl_bm_buffer_analysis tbba where tbba.invplt_id = tbbw.invplt_id and tbba.part_number = tbbw.part_number and tbba.part_number = p_part_nbr_app(i));

end loop; for i in 1.. p_part_nbr_dapp.count loop -- update the disapproval flag for buffer analysis table. update tbl_bm_buffer_analysis set approval = '' ,updated_by=p_user_gmid, updated _date=sysdate where invplt_id = p_invplt_id and part_number = p_part_nbr_dapp(i); -- update the disapproval flag for buffer work table. update tbl_bm_buffer_work tbbw te=sysdate where exists (select where and set approval='',updated_by=p_user_gmid,updated_da 1 from tbl_bm_buffer_analysis tbba tbba.invplt_id = tbbw.invplt_id tbba.part_number = tbbw.part_number

and tbba.part_number = p_part_nbr_dapp(i));

end loop; p_error_code := 0; p_error_message := 'SUCCESS'; commit; exception when dup_val_on_index then p_error_code := 1; p_error_message :=' Primary key column cannot be duplicated.'; rollback; when invalid_number then p_error_code := 2; p_error_message :=' Non number found in place of number field.'; rollback; when others then p_error_code := 3; p_error_message := ' Error in SP_SET_APPROVAL ' rollback; end SP_set_approval; /

sqlerrm;

You might also like