2010年4月13日 星期二

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
xyz軟體補給站 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
xyz資訊工坊 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 ;
xyz軟體補給站 end if ;
end event;

xyz

沒有留言:

張貼留言