Hi everybody, working with 1.9

The problem: I call a procedure through an ACTION, I suppose this procedure, that call others procedure, or any of the procedure in the chain fail with some errors.

How I can debug this, because the TomCat access log file do not say nothing and also catalina log do not say anything.

By another side, I can't call the procedure from the sqlplus or sqldeveloper directly, from the moment that the procedures are setting and reading formspider elements, panels and so.

Any idea? Thanks in advanced. Regards.

asked 15 Aug, 19:29

JoseBenitez's gravatar image

JoseBenitez
4113
accept rate: 16%


Hi Jose,

You can run Formspider applications in debug mode. There is a button in the menu right next to the regular run button. In this mode you'll see a debug window pop up which displays lots of new information.

Also for future reference, while an application is running in debug mode, if you click shift+ctrl and hover over any UI component, the debug window will show you the panel name and the component name. This makes it very easy to find which panel, window or UI component you are looking at.

Kind Regards,
Yalim

link

answered 16 Aug, 12:07

Yalim's gravatar image

Yalim ♦♦
2.8k5
accept rate: 21%

Best solution found.

with this list of exception, and using api_application.showpopupmessage('Jose was here') is the best way to control.

If you see exception number 1, user_defined exception it is because the error is in the PL/SQL body

Regards.

null; EXCEPTION WHEN ACCESS_INTO_NULL THEN errortxt := SQLCODE || ' -- ' || sqlerrm; api_application.showpopupmessage(errortxt);

  WHEN CASE_NOT_FOUND THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

  WHEN COLLECTION_IS_NULL THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

  WHEN CURSOR_ALREADY_OPEN THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

  WHEN DUP_VAL_ON_INDEX THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

  WHEN INVALID_CURSOR THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN INVALID_NUMBER THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN LOGIN_DENIED THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN NO_DATA_FOUND THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN NOT_LOGGED_ON THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN PROGRAM_ERROR THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN ROWTYPE_MISMATCH THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN SELF_IS_NULL THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN STORAGE_ERROR THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN SUBSCRIPT_BEYOND_COUNT THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN SUBSCRIPT_OUTSIDE_LIMIT THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN SYS_INVALID_ROWID THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN TIMEOUT_ON_RESOURCE THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN TOO_MANY_ROWS THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN VALUE_ERROR THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

    WHEN ZERO_DIVIDE THEN
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt);

      when others then
                errortxt := SQLCODE || ' -- ' || sqlerrm;
                api_application.showpopupmessage(errortxt); 
                null;
link

answered 16 Aug, 12:25

JoseBenitez's gravatar image

JoseBenitez
4113
accept rate: 16%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×7
×2

Asked: 15 Aug, 19:29

Seen: 60 times

Last updated: 16 Aug, 12:25


© Copyright Gerger 2017