Custom PLL with GO_BLOCK

Hi
please help or suggest.
I'm setting a Delivery To Location on Purchase Order Distribution Block required, so that when users a trying to save the record a message should pop up notifying then that they must populate the DELIVERY TO LOCATION address field i've used the GO_BLOCK but im getting this error frm-40737: illegal restricted procedure go_block in WHEN-VALIDATE-RECORD trigger.
Please help and see my code below.
begin
     app_item_property2.set_property ('PO_DISTRIBUTIONS.DELIVER_TO_LOCATION',required,property_true);
     if name_in('PO_DISTRIBUTIONS.DESTINATION_TYPE') = 'Inventory' then
            app_item_property2.set_property ('PO_DISTRIBUTIONS.DESTINATION_SUBINVENTORY',required,property_true);
     end if;     
     if p_event_name = 'WHEN-VALIDATE-RECORD' then
           if p_block_name = 'PO_LINES' then
               if name_in('PO_DISTRIBUTIONS.DELIVER_TO_LOCATION') is null  then
                         fnd_message.set_name('XX','XX_PO_DELIVER_TO_LOCATION');
                           fnd_message.error;                          
                           raise form_trigger_failure;
               end if; 
               if name_in('PO_DISTRIBUTIONS.DESTINATION_TYPE') = 'Inventory' and name_in('PO_DISTRIBUTIONS.DESTINATION_SUBINVENTORY') is null then
                         fnd_message.set_name('XX','XX_DESTINATION_SUBINVENTORY');
                           fnd_message.error;
                           raise form_trigger_failure;
               end if; 
       end if;
     end if;
  exception
          when FORM_TRIGGER_FAILURE then
          Go_Block('PO_DISTRIBUTIONS');
             IF NOT FORM_SUCCESS THEN
                  RAISE Form_Trigger_Failure;
             END IF;          
          when others then
          Raise;
  end;     

Lethu,
you cannot use navigational triggers in WVR.
Why can't you use forms personalization to achieve this?
This is way simpler than modifying the custom.pll.
HTH,

Similar Messages

  • Error while compiling CUSTOM.PLL with frmcmp_batch

    We have a strange issue here. One of the users is unable to compile custom.pll . He is getting the issue
    PDE-PLI038 Cannot open file for use as a PL/SQL Library
    This is the below file permission for the custom.pll
    -rwxrwxrwx 1 applmgr oaa 20480 Apr 29 02:57 CUSTOM.pll
    This is the one with custom developments in it.
    This is user id
    uid=114(ccankim) gid=1026(oaa)*
    But when I as a applmgr user is able to compile the CUSTOM.pll successfully.
    applmgr>frmcmp_batch module=CUSTOM.pll userid=apps/***** module_type=library
    Forms 10.1 (Form Compiler) Version 10.1.2.3.0 (Production)
    Forms 10.1 (Form Compiler): Release  - Production
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options
    PL/SQL Version 10.1.0.5.0 (Production)
    Oracle Procedure Builder V10.1.2.3.0 - Production
    Oracle Virtual Graphics System Version 10.1.2.0.0 (Production)
    Oracle Multimedia Version 10.1.2.0.2 (Production)
    Oracle Tools Integration Version 10.1.2.0.2 (Production)
    Oracle Tools Common Area Version 10.1.2.0.2
    Oracle CORE     10.1.0.5.0      Production
    Compiling library CUSTOM...
    Compiling Package Spec CUSTOM......
    Compiling Package Body CUSTOM......
    Done.
    Any idea Gurus...
    EBS 12.1.3
    UNIX HP-UX B.11.31 U ia64 4294967040 unlimited-user license
    DB 11.2.0.2

    $ which frmcmp_batch
    /p01/app/applmgr/oappsp1/apps/tech_st/10.1.2/bin/frmcmp_batch
    $ ll -ltr /p01/app/applmgr/oappsp1/apps/tech_st/10.1.2/bin/frmcmp_batch
    -rwxr-xr-x 1 applmgr oaa 22544380 Dec 21 12:17 /p01/app/applmgr/oappsp1/apps/tech_st/10.1.2/bin/frmcmp_batch
    The user has execute permission.( because his user id belongs to group oaa which has execute permission)
    Full 777 permission on the directory where this CUSTOM.pll exists.
    The confusing part is, if the file would have been corrupted, it would not have been compiled successfully under applmgr user. So the doc id 1082077.1 as of now doesn't help a lot.
    :(

  • Error while compiling a custom pll with forms 11g and weblogic

    Hi there,
    I just posted a thread here:
    Error FRM-30312 while compiling a custom pll library on forms 11g weblogic
    please, I need help

    Why wouldn't you post in the proper forum, i.e the Forms forum

  • India Localization+custom.pll

    Hi,
    We are applying India Localization to Oracle application is already running in global instance.
    What kind of back up we must take for custom.pll. There are many customizations done in global instance.
    Thanks
    Naveen,Sankuratri

    India localization ships a CUSTOM.pll, which has code for some of the functionality to work. You have to merge the code in your CUSTOM.pll with the CUSTOM.pll shipped by localization patches/ patchsets.
    Note: 335113.1 - Oracle India Localization Service Tax FAQ
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=335113.1

  • Help Needed with Custom.pll

    Hi,
    I'm new to forms. In Oracle Applications when i click on Field Service Manager (Responsibility)->Field Service Dispatcher-> service request -> service requests ->Create Service requests a standard form for service requests is opened there in the menu when i click on tools -> (sub-menu) Quick Menu a form is opened with many names(when i click on a name a new form opens) how do i invoke a form when this name(function) is clicked.This is done by FND_function.execute();
    but where do i call it in the custom.pll.
    Because the Form which has to invoked is under Tools ->Quick Menu(Sub-menu on click of sub-menu a form opens ).
    Where do i call this fnd_function.execute(); in custom.pll in event procedure.
    Can anyone help me on this.
    Thanks

    Put your issue on http://forums.oracle.com/forums/forum.jspa?forumID=40 if its related to froms. If it involves OAF pages, out it on OA Framework
    --Shiv                                                                                                                                                                                                                                                                                                                                                                                                           

  • Error FRM-30312 while compiling a custom pll library on forms 11g weblogic

    hi,
    this is my case:
    Im trying to upgrade a forms 10g application to 11g, using FORMS 11g v11.1.1.3 and WEBLOGIC server v10.3.3.
    Forms files compiled correctly, also webutil.pll was correctly compiled.
    but if I try to compile my custom pll I can see the error...
    when I run application, this erros msg appears:
    FRM-40735: ON-ERROR trig raised unhandled exception ORA-06508
    I have this script to compile .pll files (libraries):
    +#SCRIPT TO COMPILE LIBRARIES+
    export ORACLE_INSTANCE=/opt/oracle/Middleware/asinst_1
    export ORACLE_HOME=/opt/oracle/Middleware/as_1
    export ORACLE_PATH=/opt/legadmi/pll:/opt/legadmi/formas
    export FORMS_PATH=/opt/legadmi/pll:/opt/legadmi/formas
    export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
    export FORMS_DEFAULTFONT="Lucida.9"
    for i in `ls *.pll`
    do
    echo Compiling: $i ....
    file=$i
    +$ORACLE_INSTANCE/bin/frmcmp.sh Module=$i Userid=user/pwd@db Module_Type=LIBRARY Batch=YES+
    done
    But this error is shown:
    Compilation errors on RP2RRO:
    PL/SQL ERROR 201 at line 106, column 8
    identifier 'RUN_PRODUCT' must be declared
    PL/SQL ERROR 0 at line 106, column 8
    Statement ignored
    PL/SQL ERROR 201 at line 123, column 8
    identifier 'RUN_PRODUCT' must be declared
    PL/SQL ERROR 0 at line 123, column 8
    Statement ignored
    PL/SQL ERROR 201 at line 153, column 8
    identifier 'RUN_PRODUCT' must be declared
    PL/SQL ERROR 0 at line 153, column 8
    Statement ignored
    PL/SQL ERROR 201 at line 169, column 8
    identifier 'RUN_PRODUCT' must be declared
    PL/SQL ERROR 0 at line 169, column 8
    Statement ignored
    Failed to generate library.
    FRM-30312: Failed to compile the library.
    I tried finding the string on the source code and delete or replace, but the only strings remainding are for example "RP2RRO_RUN_PRODUCT()", It looks like compiler finds the string within the entire word.
    I need help.

    InoL, Thank you very much.
    I know rp2rro.pll was there, and I compiled it successfully, and place it to the correct folder.
    but I did not know that my custom pll had the rp2rro as a program unit.
    I solve this problem replacing the code inside my custom library with the rp2rro.pll code that comes with forms 11g
    THANKS again.

  • How to use two dimensional array in custom.pll

    HI
    How to use two dimensional arrays in custom.pll
    I tried by the following way .
    type ship_array is table of number index by binary_integer;
    type vc_array is table of ship_array index by binary_integer;
    But I am getting the error as that
    A plsql table may not contain a table or a record with composite fields.
    Please tell me the way how to use them

    which forms version are you using? two dimensional arrays are available in >= 9i if memory serves.
    regards

  • Messaging using CUSTOM.pll

    Hello,
    I have registered a message named 'HAC_ASN_PO_ALERT' with the message type 'Note'. I have generated the message and am using the CUSTOM.pll to show the message when a specific event occurs. I am using the code below to call the message.
    FND_MESSAGE.SET_NAME('HAC','HAC_ASN_PO_ALERT');
    FND_MESSAGE.SET_TOKEN('ASN_STRING',x_asn_string);
    FND_MESSAGE.ERROR;
    This works just fine, the message displays when I want it to, but it shows with the error bell as an error message. I wanted to display the message as a note with the note icon. I have looked at the FND_MESSAGE package and there is not a procedure called NOTE. I tried SHOW, but I got an error. Can anyone please help me to get this message to display correctly?
    Thank you,
    Mike

    I am facing the same issues in R12.. Any solution for this.
    Thanks in Advance.
    Chetan

  • Using Custom.pll on AP Invoices form goes into error in 11.5.10.1

    Hi All,
    I am trying to do some customization on APXINWKB (Invoices form) using CUSTOM.pll. But whenever i am trying to open the form after adding the code in CUSTOM.pll i am getting the following error:
    ORA-06510: PL/SQL: unhandled user-defined exception
    ORA-06512: at "APPS.GL_EURO_USER_RATE_API", line 173
    ORA-06510: PL/SQL: unhandled user-defined exception
    ORA-06512: at "APPS.GL_CURRENCY_API", line 327
    ORA-01403: no data found
    FRM-40735: WHEN-NEW-ITEM-INSTANCE trigger raised unhandled exception ORA-06502.
    I am trying to display a a small message in the new form instance of the above form thru CUSTOM.pll, nothing more than that!!. If i remove the coding, the form is working perfectly. My oracle apps version is 11.5.10.1
    Can any body help me??
    Raj

    Hi Helios,
    Thank you for the update, actually the problem is solved.
    The issue is : Whenever i am trying to show a message in that form using either form personalization or CUSTOM.pll, it is giving the error, if i do any thing else like 'changing the default where clause etc', it is not giving any error. The problem is only with message. Actually my requirement is changing the where clause, which is happening with out any problem. I dropped the idea of showing the message any way.
    This problem is strange. Any ways, i am raising an SR with Oracle.
    Raj

  • How to close a custom form from CUSTOM.pll

    Dear Friends,
    We need your help on the following issue related to Oracle Apps Forms.
    We have a requirement to show a popup message (message should remain open and user should be able to continue working in the order entry form. User use this message as a reference while entering order details) when user enters a customer name or number in the order entry form . This is similar to the Stock Availability form which gets opened automatically when control enters into Order Entry Lines form, where the stock availability form remains open while entering line details.
    To fullfil the requirement, we have designed a custom form with a single text field in which the message text (some customer information) will be shown.
    We are using custom.pll to call this custom form (thru FND_FUNCTION.EXECUTE) when the control leaves customer number field. User could leave this custom form open and continue with entering order details. Till this point we could achieve what we want. i.e. we could show the popup message in the custom form after user enters a customer number.
    The problem is, after the custom form is opened, when we enter a new order for different customer, we need to close the custom form (which is opened for the previous customer) if the customer is not qualified.
    we could not achieve this. We tried using CLOSE_FORM, CLOSE_WINDOW, but did not help.
    Any body have any suggestions on achieving this... Basically, we need your help to know how we can close the custom form from CUSTOM.pll.
    Thanks,
    Uma

    I thing you haven't any (supported) option to close a form via custom.pll.
    For a long time, we have search a solution for the same problem without any result.

  • Custom.pll file modification

    HI,
    I am completly new for custom.pll file .I have never madwe chnages in this file.
    i would like like to one custome form on standrad form whlie click on the check box,which follow some condition.
    Can you plx help from where i can start,where to write the condition and how,and how to complie.
    I have the .pll in which i have to do modification.
    Thanks

    Hi,
    I think you are working with Oracle EBS,
    Can you please explain you requirement little bit clear, so that if possible we can help you.
    Here the links usefull to under that basic of custom.pll
    http://oracleappstechnicalworld.blogspot.in/2008/04/standard-forms-customizationpart1.html
    http://oracleapps4u.blogspot.in/2012/03/working-on-custompll-with-example.html
    http://oracleerpappsguide.blogspot.in/2011/04/custompll-in-oracle-application.html
    Thanks & Regards
    Srikkanth.M              
    http://oracleapps4u.blogspot.in/2012/03/working-on-custompll-with-example.html

  • Standard LOV Customization through CUSTOM.pll HELP

    Hello,
    I am currently trying to override the LOV dropdown of an Oracle 11.5.10 form using the custom.pll. The example I am using is as follows:
    procedure event(event_name varchar2) is
    form_name      varchar2(30) := name_in('system.current_form');           --added by Nazir
    block_name      varchar2(30) := name_in('system.cursor_block');      --added by Nazir
    item_name     varchar2(100) := name_in('system.current_item');
    v_sql          varchar2(5000);
    result           Number;
    rec_id           RecordGroup;
    v_login_company     VARCHAR2(50);
    begin
    if(event_name = 'WHEN-NEW-ITEM-INSTANCE') then
    if (form_name = 'ARXTWMAI' and block_name = 'TGW_HEADER') then
    if( item_name = 'CTT_TYPE_NAME_MIR') then
    v_login_company     :=     fnd_profile.value('LN_LOGIN_COMPANY');
    if (v_login_company = '0000') then
         fnd_message.set_string('Please enter description');     Testing fnd message. This works fine. Message displayed.
         --fnd_message.show;
    v_sql := 'select ctt.cust_trx_type_id cust_trx_type_id, ctt.name name, ctt.description description, ctt.type class, arl_class.meaning class_meaning, ctt.accounting_affect_flag open_receivables_flag, ctt.post_to_gl post_to_gl_flag, ctt.allow_freight_flag allow_freight_flag' ||
    ',ctt.creation_sign creation_sign, ctt.allow_overapplication_flag allow_overapplication_flag, ctt.natural_application_only_flag natural_application_only_flag, ctt.tax_calculation_flag tax_calculation_flag, arl_status.meaning default_status' ||
    ',arl_print.meaning default_printing_option, rat.name default_term from      ar_lookups arl_print, ar_lookups arl_status, ar_lookups arl_class, ra_terms rat, ra_cust_trx_types ctt ' ||
    'where '||''''||'INVOICE_PRINT_OPTIONS'||'''' || '= arl_print.lookup_type ' ||
    ' and      ctt.default_printing_option = arl_print.lookup_code' ||
    ' and' || ''''||'INVOICE_TRX_STATUS'||'''' ||'= arl_status.lookup_type' ||
    ' and      ctt.default_status = arl_status.lookup_code and      ctt.default_term = rat.term_id(+) ' ||
    ' and' || ''''||'INV/CM'||'''' || '= arl_class.lookup_type ' ||
    ' and      ctt.type = arl_class.lookup_code' ||
    ' and      ctt.type in ( ' || '''' || 'DEP' || '''' || ',' || '''' || 'GUAR' || '''' || ',' || '''' || 'INV' || '''' || ',' || '''' || 'CM' || '''' || ',' || '''' || 'DM' || '''' || ')' ||
    ' and      ( ctt.type not in (' || '''' || 'DEP' || '''' || ',' || '''' || 'GUAR' || '''' || ') or ctt.accounting_affect_flag =' || '''' || 'Y' || '''' || ')' ||
    ' order      by ctt.name' ;
                   rec_id := CREATE_GROUP_FROM_QUERY( 'TRANS_TYPE_LNCUSTOM', v_sql );
                   result := POPULATE_GROUP(FIND_GROUP( 'TRANS_TYPE_LNCUSTOM'));
                   SET_LOV_PROPERTY('ARXTWTGW_TRANSACTION_TYPE', GROUP_NAME, 'TRANS_TYPE_LNCUSTOM' );
    end if;
    end if;
    end if;
    end if;
    end event;
    I am getting following errors:
    FRM-41072: Cannot create group TRANS_TYPE_LNCUSTOM
    I checked my query with DBMS outputs and then copy that output and ran it as a query in toad and it worked fine.
    Has anyone done this before that could help me resolve the problem??
    Thanks,
    Nazir.

    Hello,
    I figured out the problem and it works perfectly fine. Basically, it does create a record group but once I move out of the item and come back to the item, it was trying to create a record group with the same name again. So I had add an extra check in my statement:
    if id_null('record group')
    then only create the group;
    Thanks Guys,
    Nazir.

  • Apps 11i custom.pll

    Does anyone know whether Apps 11i support custom.pll?
    And If so what is the advanced features and features carried over from R11.0.3?
    Thanks!

    Oracle does not support your customizations, but they supported method of customizing is via custom.pll. How's that for an oxymoron. Basically if your custom form that you call from custom.pll is bombing, you're out of luck, however if it's a direct problem with custom.pll and it's built in features, they may give you some help. You can do quite a bit with custom.pll, but you have to be careful if you're modifying seeded forms behavior. It's nice for adding entried to the Tools, and Actions menu though for launching custom forms.

  • Loosing focus on exit_form in custom.pll zoom

    This forms question involves the use of the CUSTOM.pll in Oracle Applications 11.03 (forms 4.5) to ZOOM from RCVRCERC (Receipts in PO) to INVIDITM (Organization Items). For those not familiar custom.pll is shared across the apps forms and invoked at new_form, new_block, new_item_instance trigger points. It is the only “approved” method for customizing application forms.
    I’m NOT a hardcore forms coder. More of an apps admin with some forms experience in my (distant) past.
    The zoom is functioning OK (with auto query) and I’m able to open the flexfield structure (another apps specific) via a go_item. I’m trying to reduce key strokes by having the “zoomed to” form exit when the flexfield structure is exited. The end user is only zooming to reference a flexfield value.
    To accomplish this I’m using the when_new_item_instance in custom.pll, checking for the item name (e.g. where cursor is positioned after the flexfield structure) and performing an exit_form.
    At this point the user is returned to the invoking form RCVRCERC. But, the exited form remains visible. When I mouse to this form and establish focus the exit_form takes effect and the form window closes and I’m returned to the correct form, etc.
    I put some debugging messages in the code leading up to the exit_form. I’m using fnd_message.show for this which produces a modal window that requires acknowledgement. With these debugging messages in place the form exits as expected (e.g. form exists after acknowledging the last message). Its almost as if the modal windows are forcing the focus on the form until it actually exits.
    Any ideas on how to get the “zoomed to” form to exist cleanly.
    Sorry if this isn’t clear. Not an easy thing to explain.
    Note: You’ll see this cross posted in a couple places.
    Thanks in Advance
    Ken

    Sorry about the weird chars. Wrote this in MS word and cut and paseted. They're mostly " marks, etc.
    Ken

  • FRM-40815: Form Error, using CUSTOM.pll

    Hello,
    I am trying to customize WIP Lot Transactions Oracle Standard Form using CUSTOM.pll.
    Upon navigating to one of the 3 blocks in the form(RESULTING_LOT), I am getting following error message:
    "FRM-40815: Variable GLOBAL.CLRREC_NOVALIDATE does not exist"
    This global variable is not used in CUSTOM.pll at all. But is initialized and used in the standard form only.
    When custom code is turned off, there is no error message.
    Please advise.
    Thanks,
    Krishna.

    Hi,
    Thanks for the response.
    I have created a custom profile and attached it users and Profile value has the organization names.I want the User A with Org1 value in the profile to see all the GL Batches which is created by any other user who belongs to only Org1. Say another user User B with Org2 as the profile value should not see any GL batches created by any other user in the GL Journal Form belonging to other Org's.I'm able to restrict the batches using the below query using the personalizations in the Record Group for the Batch Name.But if the user doesnt give any search criteria and then selects Find then the main form displays all the batches. Hence I want to overide the Data Block where to display accordingly.
    select a.name from gl_je_batches a
    where 1=1
    and a.created_by in (select b.user_id from
    fnd_user b,
    fnd_profile_option_values c,
    fnd_profile_options d
    where c.profile_option_id =d.profile_option_id
    AND c.level_value = b.user_id
    AND profile_option_name='KAP_USER_ORGANIZATION'
    AND c.profile_option_value =(select profile_option_value
    from fnd_profile_option_values e
    where e.level_value =fnd_profile.value('USER_ID')
    and profile_option_id=d.profile_option_id)
    Thanks,
    Ashwini.

Maybe you are looking for