This discussion is archived
6 Replies Latest reply: Sep 9, 2013 1:55 AM by Christian Erlinger RSS

Please acknowledge-106557-106557:non ORACLE exception

Vijetha Explorer
Currently Being Moderated

Hi everyone.

I have created a form in which the required data gets displayed in the excel (.xls) file on clicking a button.

When i run the form, I am getting error that is FRM-40735: WHEN-BUTTON PRESSED trigger raised unhandled exception ORA-106557.

When i run the form again, I am getting result as expected. It works perfectly fine.

After i log in to the software, only for the first click i get that error. Later it works fine.

So i tried to catch the exact error by putting an exception code that is:

EXCEPTION

WHEN OTHERS THEN

MESSAGE(SQLCODE||' - '||SQLERRM);

PAUSE;

END;

After compiling with the exception; I got an error message and an error alert window.

The Error window shows 'Please acknowledge'.

The Error message is -106557-106557:non ORACLE exception .

 

I am not getting to know what is wrong exactly because it shows FRM-40735 error only for the first time, later it works fine.

Can you Help me with this.

Thank You.

  • 1. Re: Please acknowledge-106557-106557:non ORACLE exception
    Su.gi Newbie
    Currently Being Moderated

    Hi Vijetha,

      Can you post ur code which you wrote it in that button........

     

    try this

    write somewhere in u r code.

     

    Clear_message;

  • 2. Re: Please acknowledge-106557-106557:non ORACLE exception
    Andreas Weiden Guru
    Currently Being Moderated

    First you should remove that error-handler as it does nothing good and only hides the spcefifc error. How do you populate your excel-sheet? Do you use WEBUTIL and CLIENT_OLE. If so, i would guess that there is something wrong in that code. Best way to trap the error would be to debug in that case.

  • 3. Re: Please acknowledge-106557-106557:non ORACLE exception
    Vijetha Explorer
    Currently Being Moderated

    I am using form builder 6i and Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production.

    I'am sorry, I have no knowledge on WEBUTIL and CLIENT_OLE.

    I have removed the exception.

    Now i logged in to the software & i tried to extract the data into excel file, now i am not getting any error. Its working perfect. But i feel that the error might occur again.

    What do you suggest me to do?

  • 4. Re: Please acknowledge-106557-106557:non ORACLE exception
    Vijetha Explorer
    Currently Being Moderated

    DECLARE

      CURSOR C_EXCEL IS

      SELECT DISTINCT INDIRECT_RECD.SLNO SLNO,

      INDIRECT_RECD.COMPLIANCE COMPLIANCE,

      INDIRECT_RECD.DUE_DATE DUE_DATE,

      INDIRECT_RECD.UNIT1 UNIT1,

      INDIRECT_RECD.UNIT2 UNIT2,

      INDIRECT_RECD.UNIT4 UNIT4,

      INDIRECT_RECD.UNIT5 UNIT5,

      INDIRECT_RECD.UNIT6 UNIT6,

      INDIRECT_RECD.UNIT7 UNIT7,

      INDIRECT_RECD.UNIT11 UNIT11,

      INDIRECT_RECD.UNIT12 UNIT12,

      INDIRECT_RECD.UNIT14 UNIT14,

      INDIRECT_RECD.UNIT15 UNIT15,

      INDIRECT_RECD.UNIT16 UNIT16,

      INDIRECT_RECD.UNIT18 UNIT18,

      INDIRECT_RECD.UNIT20 UNIT20,

      INDIRECT_RECD.UNIT25 UNIT25,

      INDIRECT_RECD.UNIT91 UNIT91,

      INDIRECT_RECD.COMP_MONTH COMP_MONTH

      FROM INDIRECT_RECD

      WHERE COMP_MONTH=:IT_DATE; 

     

      CONVID PLS_INTEGER;

       ROWCOUNT NUMBER;

       RW NUMBER:= 7;

       RR NUMBER :=2;

       x number :=0;

       sn number := 1;

       OUT_FILE Text_IO.File_Type;

       FNAME VARCHAR2(50);

      

    BEGIN

      FNAME := GET_FILE_NAME('C:\', File_Filter=>'Excel Files (*.xls)|*.xls|',DIALOG_TYPE=>SAVE_FILE);

      IF FNAME IS NOT NULL THEN

      OUT_FILE := Text_IO.Fopen(FNAME, 'w'); 

      Text_IO.Fclose (out_file);

       CONVID := DDE.App_Begin('C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\EXCEL.EXE '||FNAME,

       DDE.APP_MODE_MAXIMIZED);

       dbms_lock.sleep(1);

      ConvID := DDE.Initiate('EXCEL', FNAME);

     

      DDE.Poke(ConvID,'R1C2','COMPANY LTD.',DDE.CF_TEXT,2000);

      DDE.Poke(ConvID,'R2C2','INDIRECT.', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R3C2','MONTHLY REPORT - CLOSED.', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R4C2','For the MONTH/YEAR = '||to_char(to_date(:IT_DATE,'RRRR/MM'),'MONTH/RRRR'), DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C1','SLNo.', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C2','Compliance', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C3','Due_Date', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C4','Unit-1', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C5','Unit-2', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C6','Unit-4', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C7','unit-5', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C8','Unit-6', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C9','Unit-7', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C10','Unit-11', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C11','Unit-12', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C12','Unit-14', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C13','Unit-15', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C14','Unit-16', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C15','Unit-18', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C16','Unit-20', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C17','Unit-25', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C18','Unit-91', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C18','YEAR/MM', DDE.CF_TEXT, 2000);

     

       For i in C_EXCEL

         loop

        

         sn := sn + 1;

                DDE.Poke(ConvID,'R'||RW||'C'||1,nvl(i.SLNO,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||2,nvl(i.COMPLIANCE,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||3,nvl(to_char(i.DUE_DATE,'DD-MON-RRRR'),' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||4,nvl(i.UNIT1,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||5,nvl(i.UNIT2,' '), DDE.CF_TEXT, 2000);

            DDE.Poke(ConvID,'R'||RW||'C'||6,nvl(i.UNIT4,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||7,nvl(i.UNIT5,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||8,nvl(i.UNIT6,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||9,nvl(i.UNIT7,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||10,nvl(i.UNIT11,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||11,nvl(i.UNIT12,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||12,nvl(i.UNIT14,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||13,nvl(i.UNIT15,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||14,nvl(i.UNIT16,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||15,nvl(i.UNIT18,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||16,nvl(i.UNIT20,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||17,nvl(i.UNIT25,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||18,nvl(i.UNIT91,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||18,nvl(i.COMP_MONTH,' '), DDE.CF_TEXT, 2000);

     

         RW := RW+1;

         x :=1;

        

      end loop;

    RR:=RW-1;

      IF x  = 1 THEN

     

      DDE.Poke(ConvID,'R'||RW||'C2','END OF REPORT', DDE.CF_TEXT, 2000);

      ELSE

      DDE.Poke(ConvID,'R7C1','No Data Found', DDE.CF_TEXT, 2000);

      END IF;

      END IF;

    End;

  • 5. Re: Please acknowledge-106557-106557:non ORACLE exception
    Vijetha Explorer
    Currently Being Moderated

    DECLARE

      CURSOR C_EXCEL IS

      SELECT DISTINCT INDIRECT_RECD.SLNO SLNO,

      INDIRECT_RECD.COMPLIANCE COMPLIANCE,

      INDIRECT_RECD.DUE_DATE DUE_DATE,

      INDIRECT_RECD.UNIT1 UNIT1,

      INDIRECT_RECD.UNIT2 UNIT2,

      INDIRECT_RECD.UNIT4 UNIT4,

      INDIRECT_RECD.UNIT5 UNIT5,

      INDIRECT_RECD.UNIT6 UNIT6,

      INDIRECT_RECD.UNIT7 UNIT7,

      INDIRECT_RECD.UNIT11 UNIT11,

      INDIRECT_RECD.UNIT12 UNIT12,

      INDIRECT_RECD.UNIT14 UNIT14,

      INDIRECT_RECD.UNIT15 UNIT15,

      INDIRECT_RECD.UNIT16 UNIT16,

      INDIRECT_RECD.UNIT18 UNIT18,

      INDIRECT_RECD.UNIT20 UNIT20,

      INDIRECT_RECD.UNIT25 UNIT25,

      INDIRECT_RECD.UNIT91 UNIT91,

      INDIRECT_RECD.COMP_MONTH COMP_MONTH

      FROM INDIRECT_RECD

      WHERE COMP_MONTH=:IT_DATE;

     

      CONVID PLS_INTEGER;

       ROWCOUNT NUMBER;

       RW NUMBER:= 7;

       RR NUMBER :=2;

       x number :=0;

       sn number := 1;

       OUT_FILE Text_IO.File_Type;

       FNAME VARCHAR2(50);

     

    BEGIN

      FNAME := GET_FILE_NAME('C:\', File_Filter=>'Excel Files (*.xls)|*.xls|',DIALOG_TYPE=>SAVE_FILE);

      IF FNAME IS NOT NULL THEN

      OUT_FILE := Text_IO.Fopen(FNAME, 'w');

      Text_IO.Fclose (out_file);

       CONVID := DDE.App_Begin('C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\EXCEL.EXE '||FNAME,

       DDE.APP_MODE_MAXIMIZED);

       dbms_lock.sleep(1);

      ConvID := DDE.Initiate('EXCEL', FNAME);

     

      DDE.Poke(ConvID,'R1C2','COMPANY LTD.',DDE.CF_TEXT,2000);

      DDE.Poke(ConvID,'R2C2','INDIRECT.', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R3C2','MONTHLY REPORT - CLOSED.', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R4C2','For the MONTH/YEAR = '||to_char(to_date(:IT_DATE,'RRRR/MM'),'MONTH/RRRR'), DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C1','SLNo.', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C2','Compliance', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C3','Due_Date', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C4','Unit-1', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C5','Unit-2', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C6','Unit-4', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C7','unit-5', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C8','Unit-6', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C9','Unit-7', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C10','Unit-11', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C11','Unit-12', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C12','Unit-14', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C13','Unit-15', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C14','Unit-16', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C15','Unit-18', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C16','Unit-20', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C17','Unit-25', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C18','Unit-91', DDE.CF_TEXT, 2000);

      DDE.Poke(ConvID,'R6C18','YEAR/MM', DDE.CF_TEXT, 2000);

     

       For i in C_EXCEL

         loop

       

         sn := sn + 1;

                DDE.Poke(ConvID,'R'||RW||'C'||1,nvl(i.SLNO,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||2,nvl(i.COMPLIANCE,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||3,nvl(to_char(i.DUE_DATE,'DD-MON-RRRR'),' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||4,nvl(i.UNIT1,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||5,nvl(i.UNIT2,' '), DDE.CF_TEXT, 2000);

            DDE.Poke(ConvID,'R'||RW||'C'||6,nvl(i.UNIT4,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||7,nvl(i.UNIT5,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||8,nvl(i.UNIT6,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||9,nvl(i.UNIT7,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||10,nvl(i.UNIT11,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||11,nvl(i.UNIT12,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||12,nvl(i.UNIT14,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||13,nvl(i.UNIT15,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||14,nvl(i.UNIT16,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||15,nvl(i.UNIT18,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||16,nvl(i.UNIT20,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||17,nvl(i.UNIT25,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||18,nvl(i.UNIT91,' '), DDE.CF_TEXT, 2000);

         DDE.Poke(ConvID,'R'||RW||'C'||18,nvl(i.COMP_MONTH,' '), DDE.CF_TEXT, 2000);

     

         RW := RW+1;

         x :=1;

       

      end loop;

    RR:=RW-1;

      IF x  = 1 THEN

     

      DDE.Poke(ConvID,'R'||RW||'C2','END OF REPORT', DDE.CF_TEXT, 2000);

      ELSE

      DDE.Poke(ConvID,'R7C1','No Data Found', DDE.CF_TEXT, 2000);

      END IF;

      END IF;

    End;

     

  • 6. Re: Please acknowledge-106557-106557:non ORACLE exception
    Christian Erlinger Guru
    Currently Being Moderated

    Without knowing the line causing the error it will be hard to guess what the cause of your ORA-106557 is. To me this error code seems to be a DDE specific error code which of course isn't documented anywhere. So what you could do is to trap all the DDE specific exceptions and translate them into something meaningful; e.g.

     

    begin
      dde.app_begin('blabla');
    exception
      when dde.dde_app_failure then
        message('An application program specified in a DDE.APP_BEGIN call could not be started.');
      when [...]
    end;

     

    a list of all dde exceptions can be found by searching for "dde exceptions" in your forms builder online help. Then at least you would know the exact cause (if it is DDE related).

     

    cheers

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points