Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Problem of Hexa Values for Decforms

 
IT Resource Center Foru_3
Occasional Contributor

Problem of Hexa Values for Decforms

Hi All,

We are working on an application which uses Decforms for user inputs(i.e we enter some values on screen fileds). Once of the screen field has been defined as Character(3). When we give any of charecters like " " * , ! , @ , # , $ , % , ^ , & , ( , ) " and some of the mnemonic like "SOH, ETX ", etc then it will work fine. But if any Hexa decimal values like "X2A for +" is given then we are getting a error like ..

%FORMS-E-PROC_ESCAPE_ERR, request terminated due to severe error in procedural escape routine

Here I have copied a part of trace where the error triggerd :

Begin collecting record field TPA_F_I_SECURITY_QUAL from form data item TPA_F_I_SECURITY_QUAL.
Collecting record field TPA_F_I_SECURITY_QUAL from form data item TPA_F_I_SECURITY_QUAL.
End of collecting record field TPA_F_I_SECURITY_QUAL from form data item TPA_F_I_SECURITY_QUAL.
Procedural escape signalled the following error:
%FORMS-E-PROC_ESCAPE_ERR, request terminated due to severe error in procedural escape routine
-SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000000, PC=0000000000000000, PS=0
Returning receive control text "EI031".
End request.

Begin DISABLE request.
Begin Initialize request phase.
Validate the arguments for this request.
End Initialize request phase.
Begin External Response phase.
Begin external responses for this request.
Begin interpreting default response for this request.
End default response for this request.
End external responses for this request.
End External Response phase.
End request.



"-SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000000, PC=0000000000000000, PS=0
Returning receive control text "EI031"."

When I compiled I did not find any errors or warnings.
I followed the following steps to get the trace :
DEFINE FORMS$TRACE "T"
DEFINE FORMS$TRACE_FILE "my directory"
DEFINE/USER SYS$INPUT SYS$COMMAND

--
even I tried with error logs using the following command:
DEFINE FORMS$LOG_EVENTS "T"

I have also attachaed the EVENT_LOG file. So if any body has the idea how to solve these type of problems and how to find which escape routine was failed, please let me know how to solve.

Regards
-KSSR
8 REPLIES 8
Volker Halle
Honored Contributor

Re: Problem of Hexa Values for Decforms

KSSR,

did you read the DECforms Programmer's Reference Manual's chapter

2.3.7 Enhancements to Escape Routine Debugging

about the FORMS$DEBUG_ESCAPE_ROUTINES logical ?

Volker.
Volker Halle
Honored Contributor

Re: Problem of Hexa Values for Decforms

IT Resource Center Foru_3
Occasional Contributor

Re: Problem of Hexa Values for Decforms

Hi Volker,

I have alredy tried the thing which you have specified. But I did not get any extra information if compare with my earlier trace file.

Here I have set "define FORMS$DEBUG_ESCAPE_ROUTINES "T" " in my current session. and started the normal image once, then Form Manager did not call the debugger, then I set the same value and run the debug image, then also i did not find any extra things from the earlier one.

any how I will provide you more details from trace file:

Save_tpa is one of the procedure call which will be called from forms like :
Begin CALL response step for procedural escape SAV_TPA.
Begin collecting record field TPA_F_PARTNER_ID from form data item TPA_F_PARTNER_ID.
Collecting record field TPA_F_PARTNER_ID from form data item TPA_F_PARTNER_ID.
End of collecting record field TPA_F_PARTNER_ID from form data item TPA_F_PARTNER_ID.
---
--
Begin collecting record field TPA_F_I_SECURITY_QUAL from form data item TPA_F_I_SECURITY_QUAL.
Collecting record field TPA_F_I_SECURITY_QUAL from form data item TPA_F_I_SECURITY_QUAL.
End of collecting record field TPA_F_I_SECURITY_QUAL from form data item TPA_F_I_SECURITY_QUAL.
Procedural escape signalled the following error:
%FORMS-E-PROC_ESCAPE_ERR, request terminated due to severe error in procedural escape routine
-SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000000, PC=0000000000000000, PS=0
Returning receive control text "EI031".


in case of success:

Begin CALL response step for procedural escape SAV_TPA.
Begin collecting record field TPA_F_PARTNER_ID from form data item TPA_F_PARTNER_ID.
Collecting record field TPA_F_PARTNER_ID from form data item TPA_F_PARTNER_ID.
End of collecting record field TPA_F_PARTNER_ID from form data item TPA_F_PARTNER_ID.
---
---
Begin collecting record field TPA_F_I_SECURITY_QUAL from form data item TPA_F_I_SECURITY_QUAL.
Collecting record field TPA_F_I_SECURITY_QUAL from form data item TPA_F_I_SECURITY_QUAL.
End of collecting record field TPA_F_I_SECURITY_QUAL from form data item TPA_F_I_SECURITY_QUAL.
Begin distributing record field TPA_F_PARTNER_ID to form data item TPA_F_PARTNER_ID.
Distributing record field TPA_F_PARTNER_ID to form data item TPA_F_PARTNER_ID.
End of distributing record field TPA_F_PARTNER_ID to form data item TPA_F_PARTNER_ID.
---
---
Begin distributing record field TPA_F_I_SECURITY_QUAL to form data item TPA_F_I_SECURITY_QUAL.
Distributing record field TPA_F_I_SECURITY_QUAL to form data item TPA_F_I_SECURITY_QUAL.
End of distributing record field TPA_F_I_SECURITY_QUAL to form data item TPA_F_I_SECURITY_QUAL.
End response step.



-Regards
-KSSR
Volker Halle
Honored Contributor

Re: Problem of Hexa Values for Decforms

KSSR,

did you read that chapter in the manual ?

Just defining the logical won't do any good. You need to use this mechanisum to enable you to set a break point in your procedural escape routine...

Maybe this routine isn't even defined ? PC=VA=0 could point to a call to an undefined entry point.

Volker.
IT Resource Center Foru_3
Occasional Contributor

Re: Problem of Hexa Values for Decforms

Hi Volker,

If simply defining FORMS$DEBUG_ESCAPE_ROUTINES macro is not the thing that i have to follow, then I am understing the following things :
-----
To invoke the Debugger, you must link the executable image that calls the
Form Manager with traceback.
--
Here I have two things one is normal exe, another is debug exe.
So I have to normal exe or debug exe?, and what is the traceback here.
-----

Once the Form Manager invokes the Debugger, you must enter the appropriate
SET IMAGE, SET MODULE, and SET BREAK debug commands to set up a
debugging environment. A GO command is also required. The SS$DEBUG
condition is signalled as close as possible to the actual CALLG instruction that
invokes the escape routine."
--
Where I have to keep the break points here?
-----

I have already debugged the code by keeping break points ar Sav_tpa function which again calls many sub routines, but if i check the return values of all sub routines form this function, they all are fine and returning success.

after the success of this routine the control again going to FORMS_TRANSCEIVE() request, then hangs here.

- KSSR