2012 May 02 3:38 PM
1st time runnning the program When i provide the 3 parameeters value and click execute the simple tree appears and then from there when i click the tree alv come up fine(the screen will be as as shown below) but when i change the input parameter and the reclick the execute button it going 4 message type x dump(control framework;error processing control)
What to do to rectify it?
My program output screen
My program Code
2012 May 02 3:54 PM
Hi,
An idea:
Before clearing variables when showing your tree again, try to call the method FREE on your container and Tree object so they are re-created properly...
Cheers,
Manu.
2012 May 02 3:54 PM
Hi,
An idea:
Before clearing variables when showing your tree again, try to call the method FREE on your container and Tree object so they are re-created properly...
Cheers,
Manu.
2012 May 02 4:02 PM
E.g:
obj_tree->free( ).
obj_alv->free( ).
obj_cont1->free( ).
obj_cont2->free( ).
and then your CLEAR statement:
CLEAR: obj_tree, obj_alv, obj_cont1, obj_cont2.
Kr,
Manu.
2012 May 02 4:07 PM
if i use it before CLEAR: obj_tree, obj_alv, obj_cont1, obj_cont2.
it is giving NULL dump
thanks all
2012 May 02 4:11 PM
Hi,
Of course you need to call the free method only if your objects are bound!
E.g. I would have call your free routine only when the user press BACK from result screen...
Manu.
2012 May 02 4:13 PM
This is what i did when 'Execute' button is triggered in PAI.
i am calling form clear.
i have not cleared obj_tree(its commented in code below).if i clear that i am not able to execute the 1st time itself..(the tree does not appear)
FORM CLEAR.
obj_tree->free( ).
obj_alv->free( ).
obj_cont1->free( ).
obj_cont2->free( ).
CLEAR :IT_NODETAB,
LT_MARA,
LT_MARC,
LT_MARD,
LT_SALES,
LT_PLANT,
LT_INVENT,
LT_FORMS,
LT_MAKT,
LT_MVKE,
lt_dwerk,
it_event,
OBJ_CONT1 ,
* OBJ_TREE ,
OBJ_CONT2 ,
obj_ALV ,
* obj_handle,
FLAG,
flag_sal,
TY_TOOLBAR,
IT_NODE,
FLAG_node,
wa_node,
IT_TOOLBAR.
ENDFORM.
2012 May 02 4:18 PM
yeah..But my requirement doesn't have back button its a same screen.what to do ??
2012 May 02 4:20 PM
That's why I said you should call your free routine when the user gets back to the selection, not when pressing 'EXECUTE'...
Otherwise you can just check if your object is bound before freeing it:
IF obj_tree is BOUND.
obj_tree->free( ).
"...
ENDIF.
Manu.
2012 May 02 4:26 PM
thanks 4 helping..sorry again for one more newbie question..
"call your free routine when the user gets back to the selection" in the sense which selection it is?? were in code?? sorry again for newbie ques
2012 May 02 4:29 PM
Oups, I just see that you are using only one screen (no selection screen)...
So you definitely have to check if the objects are bound, freeing and clearing them in your form EXECUTE...
Check this, put a break point in your PBO and ensure your objects are re-created correctly...
Manu.
2012 May 02 4:39 PM
Now 1st time when i execute its executing fine.when i click second time its going for DUMP in
OBJ_alv->free( ).
When 'EXECUTE'.
PERFORM CLEAR.
FORM CLEAR.
IF obj_tree is BOUND.
obj_tree->free( ).
clear OBJ_TREE .
ENDIF.
IF OBJ_CONT1 is BOUND.
OBJ_CONT1->free( ).
clear OBJ_CONT1 .
ENDIF.
IF OBJ_CONT2 is BOUND.
OBJ_CONT2->free( ).
clear OBJ_CONT2 .
ENDIF.
IF OBJ_alv is BOUND.
OBJ_alv->free( ).
clear OBJ_alv .
ENDIF.
CLEAR :IT_NODETAB,
LT_MARA,
LT_MARC,
LT_MARD,
LT_SALES,
LT_PLANT,
LT_INVENT,
LT_FORMS,
LT_MAKT,
LT_MVKE,
lt_dwerk,
it_event,
obj_handle,
FLAG,
flag_sal,
TY_TOOLBAR,
IT_NODE,
FLAG_node,
wa_node,
IT_TOOLBAR.
ENDFORM.
2012 May 02 4:53 PM
Issue solved.
removed OBJ_alv->free( ). its working fine.
Thanks all
2012 May 02 9:08 PM
Hi,
No you don't have to remove it! Just place it before you free the related container (I guess CONT2)...
Always free children before parents!
Cheers,
Manu.