EBS Custom.pll验证多记录块

时间:2015-08-21 17:13:46

标签: plsql oracleforms oracle-apps

每次使用custom.pll创建新记录时,都需要在multirecord bloack中进行验证。

PLSQL

PROCEDURE EXP_FUNC_NEW_ITEM IS
    lv_form_name varchar2(30) := name_in('system.current_form'); 
    lv_block_name varchar2(30) := name_in('system.cursor_block'); 
    lv_item_name varchar2(30) := name_in('system.current_item');
    ln_total_amount_applied number:=0;
    lv_approval_check varchar2(1):='Y';
BEGIN

    if lv_form_name ='ARXRWMAI' 
        and lv_block_name='APP_FOLDER'  
        and lv_item_name ='APPLY_DATE' 
    then
        copy(0,'APP_FOLDER.AMOUNT_APPLIED_DSP');
        GO_ITEM('APP_FOLDER.AMOUNT_APPLIED_DSP');
    end if;
    if lv_form_name ='ARXRWMAI' 
        and lv_block_name='APP_FOLDER'  
        and name_in('APP_FOLDER.AMOUNT_APPLIED_DSP')!=0 
    then 
        ln_total_amount_applied:=0;
        FIRST_RECORD;
        LOOP
            if name_in('app_folder.trx_number')='Refund' then
                ln_total_amount_applied:=ln_total_amount_applied+name_in('app_folder.amount_applied');
            end if;
            Exit when name_in('SYSTEM.LAST_RECORD') = 'TRUE';
            NEXT_RECORD;
        END LOOP;
        if ln_total_amount_applied !=0 then 
            ---Checks the approval amount for the user 
            lv_approval_check:=EXP_UN_AR_RECEIPT_API_PUB.check_activity_authority
                            (name_in('ar_world.user_id'),
                             fnd_profile.value('org_id'),
                             ln_total_amount_applied,
                             name_in('app_folder.invoice_currency_code'),
                             name_in('app_folder.trx_number'));
        end if;
        if lv_approval_check='N' then
            Fnd_message.set_string('You do not have authority to refund selected amount. Please contact your manager for details or change the amount applied and check again.'); 
            Fnd_message.show; 
            GO_ITEM('APP_FOLDER.AMOUNT_APPLIED_DSP');
        else
            DO_KEY('CREATE_RECORD'); -- THIS PART IS THE ONE NOT WORKING.. IS NOT CREATING THE NEW RECORD
        end if;
    end if;
END;

问题是当按Tab键创建新记录时,正在进行验证但是没有创建新记录。有什么想法吗?

0 个答案:

没有答案