on 09-27-2010 3:25 AM
Hi all,
I am a freshman for FPM, and currently I have met a issue when using it.
You know I want to switch to a different variant, but when I click the switch button, dump occurs:
-
Dump Info----
Note
The followin error text was processed in SD7 the systm: Access via 'NULL' object reference not possible.
The error occurred on the application server ldai1sd7_SD7_89 and in the work process. 9
The termination type was: RABAX_STATE
The ABAP call hierarchy was:
Method: WDDOMODIFYVIEW of program /1BCWDY/0AMWTCDY1FMANSV9U38B==CP
Method: IF_WDR_VIEW_DELEGATE~WD_DO_MODIFY_VIEW of program /1BCWDY/0AMWTCDY1FMANSV9U38B==CP
Method: DO_MODIFY_VIEW of program CL_WDR_DELEGATING_VIEW========CP
Method: MODIFY_VIEW of program CL_WDR_VIEW===================CP
Method: DO_MODIFY_VIEW of program CL_WDR_CLIENT_COMPONENT=======CP
Method: DO_MODIFY_VIEW of program CL_WDR_WINDOW_PHASE_MODEL=====CP
Method: PROCESS_REQUEST of program CL_WDR_WINDOW_PHASE_MODEL=====CP
Method: PROCESS_REQUEST of program CL_WDR_WINDOW=================CP
Method: EXECUTE of program CL_WDR_MAIN_TASK==============CP
Method: IF_WDR_RUNTIME~EXECUTE of program CL_WDR_MAIN_TASK==============CP
...
...
-
It ever worked fine before, and I have never changed my codes these days. Moreover, in some other development system
with old versions, the same codes can also work without any dump.
Has anyone met similar problems? I will appreciate your kindly help for any suggestions on this issue.
Thanks.
you're welcome. hope it works, hehe.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
I have exactly the same problem.
I had implemented a switch between version using the overwrite_event_gaf, and a restart of the application with the use of cl_fpm_event=>gc_event_start_over.
Evereything worked fine till we made the upgrade from 701 to 720.
Then every time the FPM got restarted AND the customizing version switched, the already mentioned dump occures in the cnr_view of the FPM_GAF_COMPONt (to be exact; in the line 291 because the used object road_map_step ist initial)
I would apreciate any info concerning this.
The plog mentioned before only shows the way i already have done it.
Greetings
Stefan
The restard i mentioned in my last post doesn't influence the problem. The dump occures every time the version gets shwitched, even if there was no restart before!
In the OVERRIDE_EVENT_GAF i use the following code to change the variant:
TRY.
CALL METHOD io_gaf->set_variant
EXPORTING
iv_variant_id = 'VARIANT_3'.
CATCH cx_fpm_floorplan .
ENDTRY.
Greetiings
Stefan
Edited by: Stefan Fasching on Oct 29, 2011 9:21 AM
Hi Alex,
What code you have written to switch variant.
I hope you have implimented IF_FPM_GAF_CONF_EXIT/IF_FPM_OIF_CONF_EXIT and
using the method OVERRIDE_EVENT_GAF/OVERRIDE_EVENT_OIF (in that you would have class IF_FPM_GAF which has the relavant methods) to switch the variant.
give us code if possible.
Thanks & Regards,
Arvind
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Arvind,
Thank you very much for your reply.
Yes, I have implemented OVERRIDE_EVENT_GAF.
Here is my related codes:
-
method OVERRIDE_EVENT_GAF .
DATA: lr_pfm TYPE REF TO if_fpm.
TRY .
CASE io_gaf->mo_event->mv_event_id.
WHEN if_fpm_constants=>gc_event-start.
CASE WD_THIS->AV_VARIANT_TYPE.
WHEN 'A'.
io_gaf->set_variant( iv_variant_id = 'VARIANT_1' ).
WHEN 'B'.
io_gaf->set_variant( iv_variant_id = 'VARIANT_2' ).
WHEN OTHERS.
io_gaf->set_variant( iv_variant_id = 'VARIANT_2' ).
ENDCASE.
WHEN 'GO_V1'.
lr_pfm = wd_this->ar_fpm.
lr_pfm->raise_event_by_id( if_fpm_constants=>gc_event-start ).
lr_pfm->raise_event_by_id( cl_fpm_event=>gc_event_select_variant ).
WD_THIS->AV_VARIANT_TYPE = 'A'.
WHEN 'GO_V2'.
lr_pfm = wd_this->ar_fpm.
lr_pfm->raise_event_by_id( if_fpm_constants=>gc_event-start ).
WD_THIS->AV_VARIANT_TYPE = 'B'.
WHEN OTHERS.
ENDCASE.
CATCH cx_fpm_floorplan.
ENDTRY.
endmethod.
-
Thanks~~
Best Regards,
Alex
Hi Alex,
I tested te same code on my PC and it is working fine.
Did you check carfully, you might be getting the the dump from somewhere else( not because of FPM).
still, go to component config and check the Variant Id (Click on change button->Variant Parameters).
and if possible from ST22 give me the source code for line of dump and also check the Desktop 2, while debugging,
to check the method of your application from where the dump is coming.
Thanks & Regards,
Arvind
Hi Arvind,
Thank you for your reply.
In fact my codes also works in the other system, but just in the current system, the dump occurs suddenly these days.
It ever worked normally before.
Here is the debugging information:
-
ST22 INFO----
15 METHOD /1BCWDY/0AMWTCDY1FMANSV9U38B==CP /1BCWDY/B_0AMWTCDY1FMANSX1NNAA 1545
CL_CNR_VIEW_CTR=>WDDOMODIFYVIEW
Web Dynpro Component FPM_GAF_COMPONENT
Controller CNR_VIEW
14 METHOD /1BCWDY/0AMWTCDY1FMANSV9U38B==CP /1BCWDY/B_0AMWTCDY1FMANSX1NNAA 180
CLF_CNR_VIEW_CTR=>IF_WDR_VIEW_DELEGATE~WD_DO_MODIFY_VIEW
Web Dynpro Component FPM_GAF_COMPONENT
Controller CNR_VIEW
13 METHOD CL_WDR_DELEGATING_VIEW========CP CL_WDR_DELEGATING_VIEW========CM004 7
CL_WDR_DELEGATING_VIEW=>DO_MODIFY_VIEW
12 METHOD CL_WDR_VIEW===================CP CL_WDR_VIEW===================CM002 7
CL_WDR_VIEW=>MODIFY_VIEW
11 METHOD CL_WDR_CLIENT_COMPONENT=======CP CL_WDR_CLIENT_COMPONENT=======CM00T 15
CL_WDR_CLIENT_COMPONENT=>DO_MODIFY_VIEW
10 METHOD CL_WDR_WINDOW_PHASE_MODEL=====CP CL_WDR_WINDOW_PHASE_MODEL=====CM00F 24
CL_WDR_WINDOW_PHASE_MODEL=>DO_MODIFY_VIEW
9 METHOD CL_WDR_WINDOW_PHASE_MODEL=====CP CL_WDR_WINDOW_PHASE_MODEL=====CM002 112
CL_WDR_WINDOW_PHASE_MODEL=>PROCESS_REQUEST
8 METHOD CL_WDR_WINDOW=================CP CL_WDR_WINDOW=================CM00V 12
CL_WDR_WINDOW=>PROCESS_REQUEST
7 METHOD CL_WDR_MAIN_TASK==============CP CL_WDR_MAIN_TASK==============CM00I 76
CL_WDR_MAIN_TASK=>EXECUTE
6 METHOD CL_WDR_MAIN_TASK==============CP CL_WDR_MAIN_TASK==============CM00U 6
CL_WDR_MAIN_TASK=>IF_WDR_RUNTIME~EXECUTE
5 METHOD CL_WDR_CLIENT_ABSTRACT_HTTP===CP CL_WDR_CLIENT_ABSTRACT_HTTP===CM019 100
CL_WDR_CLIENT_ABSTRACT_HTTP=>HANDLE_REQUEST
4 METHOD CL_WDR_MAIN_TASK==============CP CL_WDR_MAIN_TASK==============CM00J 95
CL_WDR_MAIN_TASK=>IF_HTTP_EXTENSION~HANDLE_REQUEST
3 METHOD CL_HTTP_SERVER================CP CL_HTTP_SERVER================CM01B 388
CL_HTTP_SERVER=>EXECUTE_REQUEST_FROM_MEMORY
2 FUNCTION SAPLHTTP_RUNTIME LHTTP_RUNTIMEU02 1155
HTTP_DISPATCH_REQUEST
1 MODULE (PBO) SAPMHTTP SAPMHTTP 13
%_HTTP_START
Chosen variables
Name
Val.
No. 15 Ty. METHOD
Name CL_CNR_VIEW_CTR=>WDDOMODIFYVIEW
FIRST_TIME
2
0
0
0
2000
VIEW
D0002000
3000C400
D30000002C040000
LV_TMP_ROP_ID
FPM1
4543
60D1
0000
0000
460050004D003100
ROAD_MAP_STEP
F0000000
F0000000
FF00000000000000
%_DUMMY$$
2222
0000
0000
0000
2000200020002000
SY-REPID
/1BCWDY/0AMWTCDY1FMANSV9U38B==CP
2344545234455445344445535334334522222222
F123749F01D7434916D1E3695382DD3000000000
...
...
-
Is it enough for your analysis?
Thank you very much ~~
Best Regards,
Alex
Hi Arvind,
The dump occurs in the following place:
Component: FPM_GAF_COMPONENT
View : CNR_VIEW
Method : WDDOMODIFYVIEW( )
-
WDDOMODIFYVIEW( )----
...
...
iv_variant_id = lv_variant_id
iv_substep_id = space
iv_substep_variant = space ).
IF lv_roadmap_rendering_necessary = abap_true.
road_map_step = cl_wd_road_map_step=>new_road_map_step( view = view description = lv_name
id = lv_tmp_rop_id ).
road_map->add_step( road_map_step ).
ELSE.
road_map_step = road_map->get_step( id = lv_tmp_rop_id ).
ENDIF.
road_map_step->set_name( lv_roadmap_int ). ##########Dump occurs because road_map_step is initial#########
road_map_step->set_enabled( lv_mainstep_enabled ).
Create Roadmap Context Element and bind it to the UI-Element
lo_el_rop_data = lo_nd_rop_data->create_element( ).
lo_el_rop_data->set_attribute( EXPORTING name = 'ID' value = road_map_step->id ).
...
...
-
Thank you very much.
Best Regards,
Alex
These days I checked this problem again, and I find that the dump is caused because the internal implementation for
WDDOMODIFYVIEW() in CNR_VIEW of FPM_GAF_COMPONENT has been modified in the latest version. It has made it
impossible to raise the CL_FPM_EVENT=>START directly by users.
However, I am still confused on how to restart my FPM application after setting a new variant ID. I ever tried the FPM_
NAVIGATION_TO API, but got errors like "No launchpad entry"....
I will appreciate for any ideas on this problem
Thanks.
Best Regards,
Alex
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.