on 09-07-2012 10:19 PM
hello-
I started to learn Web UI and I need help in understanding the flow. I am searcing for an account by giving First Name from ICCMP_BP_SEARCH/BuPaSearchB2B which is taking me to ICCMP_BP_DETAIL/BuPaDetailB2B.
I am trying to figure out the following:
1. Where is the input processed - to see the values in debug mode of the search criteria that is given
2. where is the query/logic to get the data from backend - query.
Could you help me in understanding the flow?
regards-
Rajiv
hi the logic will be processed in the event handler for search button. all the buttons on web ui screen will be associated to the event handler methods.
go to the ICCMP_BP_SEARCH/BuPaSearchB2B (transaction BSP_WD_CMPWB). when you double click on the view, you can find event handlers right side. here according to th button name (general practice is that if button name is SEARCH , then event handler name will be eh_onsearch). find it. inside this logic will be written.
generally when you search, in the event handler, they take (lr_query example )instance of class cl_crm_bol_dquery_service, and they fire the method
get_query_result( ).
or they take the instance like
me->typed_context->search->collection_wrapper->get_current( ) into lr_query. this particular line will give the current selection criteria give by user into lr_query.
if you want to see the values. place a external break point here in the event handler. once lr_query got assinged any instance. then double click on it. in the displayed value list, double click on
SELECTION_PARAM_COL and again on ENTITY_LIST. entity_list is collection of all your selection parameters. you can see entries like this (O:316*\CLASS-POOL=CL_CRM_BOL_DQUERY_SERVICE\CLASS=LCL_SELECTION_PARAM}). just double click again , in the displayed list again doublie click on PARAMETER_DATA->{A:21*\TYPE=GENILT_SELECTION_PARAMETER}. double click on last entry, you will see the values entered by the user.
hope it helps you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Praveen-
thank you very much for the detailed explanation.Yes, this certainly helped me.
I am debugging the application by placing the external break point in the following methods:
EH_SEARCH , DO_HANDLE_INPUT, FIRE_QUERY of ICCMP_BP_SEARCH/BuPaSearchB2B
and DO_PREPARE_OUTPUT of ICCMP_BP_DETAIL/BuPaDetailB2B.
My understanding is - getting the search criteria, making a query and getting results is happening in ICCMP_BP_SEARCH and the display part is handled in ICCMP_BP_DETAIL.
Could you please correct me if my understanding is wrong?
Thanks-
Rajiv
hi rajeev,
yes, you are understanding is right.
general procedure is
suppose you have two views say search and result in the same component. then there will be two context nodes for first view search say - contextnode1(search) - contextnode2(result).
there will be one contextnode3(result) for the second RESULT view.
the secodn context node contextnode2, will be bound to custom controller context node(we will create same context node strcture for custom controller as well )
again we bind , contextnode result form RESULT view to the custom controller.
what we do is, when search is executed, we set the results to this results context node in the SEARCH view. so data will be flown like below
SEARCHVIEW(results contextnode )->customer controller(result context node)->(RESULTview(result context node).
if we use differenet component, then binding takes place in component controllers context nodes. i would suggest to search for basic documents in SDN.
Hi Rajiv,
If you really want to see how data is getting picked up then there are certain classes which actually reads data from backend for dynamic queries. For instance, All BP related dynamic queries have READ method in classes & the classes are maintained in View 'CRMV_OBJ_BUIL' . Similiarly, for all business transactions ( BT ) Query class have a set pattern for determining the desired query result class.
Regards,
Ravi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
5 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.