Solved

FRM-18108 / FRM-30436 / FRM-30041 / FRM-30085  Compilation Errors

Posted on 2004-09-22
8
8,312 Views
Last Modified: 2008-01-09
Hello,

Getting the following errors when compiling certain forms/reports:
=====
FRM-18108: Failed to load the following objects.
 
Source Module:TOOLBAR
  Source Object: ICONES
Source Module:TOOLBAR
  Source Object: H_TOOLBAR
....
....
FRM-30436: Parent window not specified for canvas.View Canvas H_TOOLBAR
FRM-30041: Position of item places it off of canvas.
Item: BUTTON_HELP
Block: VARIABLE
Form: TBDOCTRK
 
FRM-30085: Unable to adjust form for output.
=====

Any ideas how to resolve these issues ?

PT
0
Comment
Question by:ptreves
  • 4
  • 3
8 Comments
 
LVL 22

Accepted Solution

by:
Helena Marková earned 500 total points
ID: 12130489
I think that you ought to open form or report in the Oracle Developer Suite 10g ...
0
 
LVL 13

Expert Comment

by:anand_2000v
ID: 12131204
The Forms or reports which you are opening have objects from another form. Please make sure that the parent form from where you have copied these objects are in the same location where they were originally. If the path is different try to get the parent form into the location where you are comiling/executing this form
0
 

Author Comment

by:ptreves
ID: 12132824
Hello,

Yes, the location is different, different machine, different folder, different OS.
Were do I specify the path ?

PT
0
 

Author Comment

by:ptreves
ID: 12631227
Hello,

I have looked more carefully at the source code to one funtion called PRINT_BORDEREAU that calls another form. Here is the source code of the PROGRAM UNIT:
-----
PROCEDURE PRINT_BORDEREAU IS
        pl_id      PARAMLIST;
      al_id      ALERT;
      al_butt      NUMBER;
BEGIN
      /* Mettre a jour la date d'envoi a la municipalite */
      if :doctracking.SENTTO_CADAST_DATE1 is null
      then      :doctracking.SENTTO_CADAST_DATE1 := sysdate;
      elsif :doctracking.SENTTO_CADAST_DATE2 is null
      then      :doctracking.SENTTO_CADAST_DATE2 := sysdate;
      else      :doctracking.SENTTO_CADAST_DATE3 := sysdate;
      end if;

      /* Verification de la date de gel */
      if nvl(:doctracking.SENTTO_CADAST_DATE3,
            nvl(:doctracking.SENTTO_CADAST_DATE2,
                  :doctracking.SENTTO_CADAST_DATE1)) > :doctracking.date_gel
      then      al_Id := FInd_alert('AL_DATE_GEL');
            al_butt := show_Alert(AL_id);
            if al_butt = alert_button2 then
                  raise form_trigger_failure;
            end if;
      end if;

      pl_id := Get_parameter_list('PROPOSAL');
      if not id_null(pl_id)
      then destroy_parameter_list(pl_id);
      end if;

      pl_id := Create_parameter_list('PROPOSAL');
      --add_parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO');
      --add_parameter(pl_id,'DESTYPE',TEXT_PARAMETER,'Preview');
      --add_parameter(pl_id,'DESNAME',TEXT_PARAMETER,'Lexmark Lower Tray');
      --add_parameter(pl_id,'COPIES',TEXT_PARAMETER,'1');
      add_parameter(pl_id,'P_PROJECT',TEXT_PARAMETER,:doctracking.project);
      --add_parameter(pl_id,'P_CTRLNUM',TEXT_PARAMETER,to_char(:doctracking.ctrlnum));
      --add_parameter(pl_id,'P_SEQNUM',TEXT_PARAMETER,to_char(:doctracking.seqnum));
-- il faut verifier l'etat : creer - remplacer - annuler - corriger
-------------------------------------------------------------------
      --run_product(FORMS,'pre_bord.fmx',SYNCHRONOUS,RUNTIME,FILESYSTEM,pl_id,null);
      CALL_FORM('pre_bord',HIDE,NO_REPLACE, NO_QUERY_ONLY,pl_id);
      destroy_parameter_list(pl_id);

      -- Insertion dans la table TBTRXINP pour la charge de messagerie.
      if :charge_mess_cadast = 'Y' then
              insert_tbtrxinp_mess(2);
      end if;
=====
I noticed the built-in CALL_FORM as follows:

CALL_FORM('pre_bord',HIDE,NO_REPLACE, NO_QUERY_ONLY,pl_id);

1) Does this mean that I should include the pre_bord form in the same folder as the Tbdoctrk form ?

PT

0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 22

Expert Comment

by:Helena Marková
ID: 12641716
1) Yes, of course.
0
 

Author Comment

by:ptreves
ID: 12661058
Hello,

I have do this and tried to recompile my forms.
The form "Tbdoctrk" calls "Pre_bord" which in turn calls the report "brdreau.rdf".

I can compile the "Pre_bord" form without errors. I still cannot compile the Tbdoctrk main form.

The compilation errors make reference to a source module called TOOLBAR which in turn call several source objects.

The last compilation error looks like:

FRM-30436: Parent window not specified for canvas. View canvas H_TOOLBAR
FRM-30041: Position of item places it off of canvas
Item: BUTTON_HELP
Block: VARIABLE
Form: TBDOCTRK

FRM 30085: Unable to adjust form for output
-----

Any ideas how I can resolve these issues ?

PT
0
 

Author Comment

by:ptreves
ID: 12661068
Hello,

Let me add the following, the Main form Tbdoctrk compiles without errors on iDS, but gives the mentionned compilation errors when compiled using f90genm.sh under Linux.

Any ideas ?

PT
0
 
LVL 22

Expert Comment

by:Helena Marková
ID: 12662368
I have no ideas, because I always compile forms and reports in a developers.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
oracle function to get percentge of shelf life remaining 17 45
EXECUTE IMMEDIATE 5 36
automatic email alert 1 22
sql query 9 22
Introduction A previously published article on Experts Exchange ("Joins in Oracle", http://www.experts-exchange.com/Database/Oracle/A_8249-Joins-in-Oracle.html) makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This video shows syntax for various backup options while discussing how the different basic backup types work.  It explains how to take full backups, incremental level 0 backups, incremental level 1 backups in both differential and cumulative mode a…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now