Error 7343 Ocurred

leoriyagami
10 de Febrero del 2006
Hola Gente, aca les tengo una buena:

Error 7343 Ocurred en Forms, al parecer este error se da cuando se intenta acceder a un nodo de un tree y el nodo ya no existe. Investigando un poco encontre que ese error es un BUG de oracle, que para solucionar la cuestión debo entrar a metalink y colocar Bug:1586783, pero no tengo acceso a metalink.

Por otro lado si alguien se ha topado con este problemilla y lo ha solucionado, pues agradeceria bastante su colaboración.

Tambien les comento que la forma funciona bien, hace lo que tiene que hacer, y lo hace "bien", el unico problema es el mensaje.

Cualquier ayuda..muchas gracias.

Saludos.

Jor-El
10 de Febrero del 2006
Pues esto es lo que viene en el Metalink, espero que te sirva :

Subject: Frm-99999: Error 7343 Occurred When Using Htree (Tree Control) in Oracle Forms
Doc ID: Note:292050.1 Type: PROBLEM
Last Revision Date: 07-DEC-2004 Status: PUBLISHED


The information in this document applies to:
Oracle Forms - Version: 6.0.8 to 9.0.4
This problem can occur on any platform.

Errors
FRM-99999

Symptoms
A form contains a HTREE object.
At runtime, when using the Tree control, the following error occurs:

FRM-99999: Error 7343 occurred.
See the release notes file (relnotes) for information about this error.

(In the release notes there is no information to be found about the 7343 error)

The problem may be intermittent and not reproducable everytime.
Cause
The error results from \'loose\' / \'incorrect\' coding

Reference:

Bug 1586783 Abstract: FRM-99999: ERROR 7343 OCCURED. SEE RELEASE NOTES FOR INFORMATION

This bug was closed as not a bug. The problem arises when the developer / programmer does not realise that a WHEN-TREE-NODE-SELECTED trigger fires on a deselection event as well as on a selection event.
Fix
The error can be avoided by writing code which takes into account that the WHEN-TREE-NODE-SELECTED trigger fires on a deselection event.

In WHEN-TREE-NODE-SELECTED trigger add the line

IF :system.trigger_node_selected = \'TRUE\'
THEN
..

e.g.

DECLARE
..

BEGIN
..
htree := Find_Item (\'block.tree_item\');

IF :system.trigger_node_selected = \'TRUE\'
THEN
parent_node := Ftree.Get_Tree_Node_Parent (htree, :SYSTEM.TRIGGER_NODE);
node_value := Ftree.Get_Tree_Node_Property (htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_VALUE);
node_depth := Ftree.Get_Tree_Node_Property (htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_DEPTH);
node_label := Ftree.Get_Tree_Node_Property (htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_LABEL);
node_icon := Ftree.Get_Tree_Node_Property (htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_ICON);
node_state := Ftree.Get_Tree_Node_Property (htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_STATE);
END IF;
References
Bug 1586783 - Frm-99999: Error 7343 Occured. See Release Notes For Information.



a
10 de Febrero del 2006
jor-el te informo que es ilegal publicar documentación de metalink, debes poner que que lean la Note:292050.1, te lo digo por experiencia.
no te lo tomes a mal

Jor-El
10 de Febrero del 2006
Tranqui que no me lo tomo a mal.

Puede ser que tengas razón, pero tampoco he publicado nada del otro mundo y mas tratandose de un Bug de Developer.

Gracias de todas maneras por el aviso.

Nos vemos

leoriyagami
10 de Febrero del 2006
Jor-El, gracias en verdad me ha servido el codigo.