Oracle ERP ZOOM按鈕開發
— 在ERP標準custom.pll文件中,填寫下面類似代碼:
FUNCTION zoom_available RETURN BOOLEAN IS form_name VARCHAR2(30) := name_in('system.current_form'); block_name VARCHAR2(30) := name_in('system.cursor_block'); BEGIN IF (form_name = 'WIPDJMDF') THEN RETURN TRUE; ELSIF (form_name = 'POXSCASL' AND block_name = 'ASL_SUPPLIERS') THEN RETURN TRUE; ELSE RETURN FALSE; END IF; END zoom_available; --上段代碼表示我們在form_name為:「wipdjmdf」,「poxscasl」的時候zoom按鈕可用; --然後在自己定義的pll文件中響應zoom按鈕: PROCEDURE event(event_name VARCHAR2) IS form_name VARCHAR2(30) := name_in('system.current_form'); block_name VARCHAR2(30) := name_in('system.current_block'); item_name VARCHAR2(30) := name_in('system.current_item'); form_status VARCHAR2(30) := name_in('system.form_status'); l_record_status VARCHAR2(30) := name_in('system.record_status'); v_stage VARCHAR2(1000); v_item_id NUMBER; v_vendor_name VARCHAR2(300); BEGIN /*when form instance*/ default_value(NULL, 'GLOBAL.XXUTS_MFG_REVISION_MPN'); /*全局參數*/ IF (event_name = 'ZOOM' AND form_name = 'POXSCASL') THEN v_item_id := name_in('ASL_ITEMS.ITEM_ID'); fnd_function.EXECUTE( /*調用另一Form*/function_name => 'XXUTS_MFG_ITEM_REVISION', other_params => 'INVENTORY_ITEM_ID =' || v_item_id); END IF; IF (form_name = 'POXSCASL') AND (event_name = 'WHEN-NEW-ITEM-INSTANCE') THEN IF name_in('GLOBAL.XXUTS_MFG_REVISION_MPN') IS NOT NULL THEN copy(name_in('global.XXUTS_MFG_REVISION_MPN'), 'ASL_SUPPLIERS.PRIMARY_VENDOR_ITEM'); copy(NULL, 'global.XXUTS_MFG_REVISION_MPN'); END IF; END IF; END event; |