Wdr_context_change_list
Hi Experts,
I have a situation where on the click of the Update button, the edited user values have to be saved in the infotype.I have used the below code in the Update method to read the edited user values of the row in lt_changes, but unable to fetch them.
DATA: lt_changes TYPE wdr_context_change_list.
DATA: obj_context TYPE REF TO if_wd_context.
Get context changes
obj_context = wd_context->get_context( ).
lt_changes = obj_context->get_context_change_log( ).
But i didn`t get any context changes.
A detailed reply would be appreciated.
Thanks in Advance,
Hyder.
Did you activate the change log before presenting the user with the screen? You need to call ENABLE_CONTEXT_CHANGE_LOG first.
Here is the online help article that details the usage of the context change log:
http://help.sap.com/saphelp_nw70/helpdata/EN/47/a8e5d273b12fe2e10000000a42189d/frameset.htm
Similar Messages
-
Usage of update-bapi and getdetail-bapi within one view
Hello,
i'm a student and i'm new to webdynpro and abap. Im trying to get data through a bapi into some screens and want to update some of these inputfields back through an update-bapi.
I get all the needed data by a getdetails-bapi and can show the data within binded inputfields, but how could i get the infos about which field was changed and how could i implement an update through the update-bapi?
It is possible, that a view with two inputfileds gets the data through the getdetails-bapi and after a change in this fields there will be an update through a update-bapi, after pushing a button?
Could you give me an example code, or could you explane me a way for implementing these?
Thanks for your help!
JohnHi John,
changes made at Contexts are stored in a table WDR_CONTEXT_CHANGE_LIST. So you can retrieve the old and new values from the table.
Please follow the below steps :
1. Create a context node (Ex:Changes) with dict.str wdr_context_change.
2. Then create one subnode under Changes ex(details) with two attributes old_value and new_value with the type of string.
3. Then write the below code at any button action.
DATA: l_ref_componentcontroller TYPE REF TO ig_componentcontroller .
DATA: l_changes TYPE wdr_context_change_list,
l_subnode type ref to if_wd_context_node,
l_subnodedata type if_USERLOG=>element_details.
field-symbols: <change> type wdr_context_change,
<new> type data,
<old> type data.
l_ref_componentcontroller = wd_this->get_componentcontroller_ctr( ).
l_changes = l_ref_componentcontroller->get_changes( ).
data: l_node type ref to if_wd_context_node.
l_node = wd_context->get_child_node( 'CHANGES' ).
l_node->bind_table( l_changes ).
loop at l_changes assigning <change>.
if <change>-old_value is not initial and <change>-new_value is not initial.
l_subnode = l_node->get_child_node( index = sy-tabix name = 'DETAILS' ).
assign <change>-new_value->* to <new>.
assign <change>-old_value->* to <old>.
* l_subnodedata-new_value_string = cl_wdr_conversion_utils=>to_string( value = <new> ).
* l_subnodedata-old_value_string = cl_wdr_conversion_utils=>to_string( value = <old> ).
l_subnodedata-new_value_string = <new>.
l_subnodedata-old_value_string = <old>.
* l_subnodedata-new_value_string = 'AC'.
* l_subnodedata-old_value_string = 'CD'.
l_subnode->bind_structure( l_subnodedata ).
endif.
endloop.
So now your context has the changed records.
Thanks. -
Hi experts,
I have to show an ALV table with the list of errors at the end of an operation. I have two separated views for this: one view when I run the operation and, at the end of this operation, I show a button and when I click on this button I can to navigate in a second view where I show the table with the list of errors... How can I do for make this table as an ALV table?
Tks a lot!You can get the changes made by user in the context. To achieve this follow the process:
1) Enable the context change log in the init method of component controller:
DATA: z_context TYPE REF TO if_wd_context.
z_context = wd_context->get_context( ).
z_context->enable_context_change_log( ).
Then call following method in the component controller to get the context changes:
DATA: lt_changes TYPE wdr_context_change_list.
DATA: z_context TYPE REF TO if_wd_context.
z_context = wd_context->get_context( ).
lt_changes = z_context->get_context_change_log( ).
You will get all context changes in the table lt_changes.
Compare these values with the values before context change.
2) You can also get the changed cells using event 'on_data_check' of ALV.
Refer following link for more help:
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/c8/6c80dbedfe42d1a93f8e6df1d7244a/frameset.htm
I hope this will help.
Regards,
Saket. -
Get_context_change_log retrieves no changes although turned on
Dear all,
Thank you for looking into this issue. We have a complex WD ABAP application with many views, embedded views, etc. In most of the views embedded in the main view we're calling in the wddoinit the context method enable_context_change_log to enable logging of the context changes (to determine if the user made any changes) like this:
WDDONIT
lr_context = wd_context->get_context( ).
lr_context->enable_context_change_log
Since this is such a complex application we need to react at any user action so in the method wddobeforeaction we're trying to see if there were changes and we want to set the dirty flag of the portal integration (so that when the user moves from the app in the portal, he still has a chance to save) like this:
WDDOBEFOREACTION
lr_context = wd_context->get_context( ).
lt_changes = lr_context->get_context_change_log( ).
if lt_changes is not initial ... etc.
When making a change in the UI element attached to the context and trying to move to a different view or to exit the app, the lt_changes is always initial in the case of this one view. If we check in debug the class behind the lr_context, we see that the attribute is_context_change_enabled is set to 'X'. So apparently there are no changes - but the context does contain the new value of the text field.
What I noticed is that even in the views where this works (because it does work in other views), when calling the context method enable_context_change_log we get (in debug) the exception cx_wdr_rr_exception.
After checking some OSS notes like
1397754 WDA: Dump because view usage does not exist 20.10.2009
1415096 WDA: The repository handle is no longer valid 04.12.2009
1420019 WDA: Dump in SAPLWDR_RUNTIME_REPOSITORY
I'm starting to be afraid that something happened in development that may have cause several WD problems and it may affect our application.
Do you have some opinions about this issue?
Do you know how I could find out who throws the mentioned exception? With system debugging I couldn't go deep enough to find out who throws it.
Thank you in advance,
Ioan Radulescu,
Sr. SAP HR Consultant @ Gavdi DEHi,
Please follow this approach,
1. Place the following code in the WDDOINIT method of the Component Controller
" this you have already done
* enable context change log
data: context type ref to if_wd_context.
context = wd_context->get_context( ).
context->enable_context_change_log( ).
2. Create a new method 'GET_CHANGE_LOG' in the Component Controller's Methods Tab
" Create a Returning Parameter 'CHANGES' type WDR_CONTEXT_CHANGE_LIST
method get_change_log .
data: context type ref to if_wd_context.
context = wd_context->get_context( ).
changes = context->get_context_change_log( ).
endmethod.
3. Call the above method in WDDOBEFOREACTION as follows
DATA: l_ref_componentcontroller TYPE REF TO ig_componentcontroller .
DATA: l_changes TYPE wdr_context_change_list.
l_ref_componentcontroller = wd_this->get_componentcontroller_ctr( ).
l_changes = l_ref_componentcontroller->get_change_log( ).
" l_changes will contain all the details of the changes made.
Hope this solves your issue.
Best Regards,
Radhika Vadher. -
Webdynpro ABAP ALV tutorial - simple update or use changelog ?
I was working through the alv tutorials for webdynpro abap, and while trying to complete the
"Editing ALV in Web Dynpro for ABAP", I got to page 8 of the pdf document where it explains how to do the ONDATACHECK event handler, and it comments out the portion for updating/saving the data (as noted below), and does not explain anything further about the save.
* save data to database
{* update... => only simlate, to not change the flight data model
* content!
Now, I am new to webdynpro abap, and don't know if I am supposed to utlize the changelog for this, or if a simple update will work.
Any Ideas ?Thank you for your answer - I am guessing from your response that a method would need to be built - similar to one which I found in the SWDP_DEMO_TUTORIALS for a webdynpro called WDT_TABLE (see below) - where a check of the table changes would need to be made before an update to the table - rather than a simple one line update statement placed at that point in the code.
METHOD save_changes.
DATA: table_node TYPE REF TO if_wd_context_node,
read_sbook TYPE
if_componentcontroller=>elements_sbook_node,
aux_read_sbook TYPE
if_componentcontroller=>elements_sbook_node,
wa_read_sbook TYPE LINE OF
if_componentcontroller=>elements_sbook_node,
context TYPE REF TO if_wd_context,
change_line TYPE LINE OF wdr_context_change_list,
changes TYPE wdr_context_change_list,
aux_changes TYPE wdr_context_change,
lv_change_tab_size TYPE sy-tfill,
aux_string TYPE string,
lv_node_size TYPE sy-tfill,
aux_div TYPE int4,
aux_index TYPE i,
l_current_controller TYPE REF TO if_wd_controller,
l_message_manager TYPE REF TO if_wd_message_manager,
text TYPE string,
it_int TYPE STANDARD TABLE OF i WITH KEY table_line.
* check whether context has changed
context = wd_context->get_context( ).
changes = context->get_context_change_log( ).
LOOP AT changes INTO aux_changes.
IF aux_changes-change_kind = 'A' AND aux_changes-node_name = 'SBOOK_NODE'.
INSERT aux_changes INTO TABLE wd_this->sbook_delta.
ENDIF.
ENDLOOP.
* get the complete context in 'read_sbook' table
table_node = wd_context->get_child_node( name = 'MY_BOOKING_NODE' ).
table_node = table_node->get_child_node( name = 'SBOOK_NODE' ).
table_node->get_static_attributes_table( IMPORTING table = read_sbook
* get the size of table and changes
DESCRIBE TABLE read_sbook LINES lv_node_size.
LOOP AT wd_this->sbook_delta INTO change_line.
APPEND change_line-element_index TO it_int.
ENDLOOP.
SORT it_int.
DELETE ADJACENT DUPLICATES FROM it_int.
DESCRIBE TABLE it_int LINES lv_change_tab_size.
* get message manager
l_current_controller ?= wd_this->wd_get_api( ).
CALL METHOD l_current_controller->get_message_manager
RECEIVING
message_manager = l_message_manager.
* decide which way to update databse
IF lv_change_tab_size <> 0.
aux_div = lv_node_size / lv_change_tab_size.
IF aux_div <= 3.
* write complete table to database
lv_change_tab_size = lv_node_size.
CL_WDT_FLIGHT_MODEL=>write_sbook_complete( read_sbook ).
ELSE.
* write only the changed records to database
LOOP AT it_int INTO aux_index.
READ TABLE read_sbook INDEX aux_index INTO wa_read_sbook.
APPEND wa_read_sbook TO aux_read_sbook.
ENDLOOP.
CL_WDT_FLIGHT_MODEL=>write_sbook_records_changed( aux_read_sbook )
ENDIF.
REFRESH wd_this->sbook_delta.
REFRESH it_int.
wd_this->sbook_changed = abap_false.
* report message
aux_string = lv_change_tab_size .
IF lv_change_tab_size = 1.
CONCATENATE aux_string 'record written to database' INTO text.
ELSE.
CONCATENATE aux_string 'records written to database' INTO text.
ENDIF.
CALL METHOD l_message_manager->report_success
EXPORTING
message_text = text.
ELSE.
* report message
CALL METHOD l_message_manager->report_success
EXPORTING
message_text = 'there are no changes to be written to database'.
ENDIF.
ENDMETHOD. -
Webdynpro Enhancement for DPR_DET_CONTAINER in cProjects
Hi gurus,
We are presently working on cPprojects web dynpros, we have to enhance some of the dynpros.
I have a requirement where the Web dynpro component DPR_DET_CONTAINER has to be enhanced. We need to add a tab named contract detail in DPR_DET_CONTAINER.
Can some please tell me how to modify a standard webdynpro specially DPR_DET_CONTAINER.
Regards,
Abhi.No need in most cases to mod anything.
I dont know what you enhancement does / should do.
Here is a sample from one of my basic C-Project enhancements. Extra TAB.
Good Luck,
Phil.
*** WDA CPROJECT INCLUDE
method CONTROL_BE_RETRIEVE .
DATA: lr_context TYPE REF TO if_wd_context.
IF wd_this->mv_upd_flag = abap_true.
lr_context = wd_context->get_context( ).
lr_context->reset_context_change_log( ).
lr_context->reset_changed_by_client( ).
wd_this->update_data_from_be( ).
* context is up to date!
CLEAR wd_this->mv_upd_flag.
ENDIF.
endmethod.
method ON_AFTER_SAVE .
wd_this->mv_upd_flag = abap_true.
wd_this->control_be_retrieve( ).
endmethod.
method ON_REPORT_CHANGES .
* 1. get context changes and report to changemanager
* 2. report actions to changemanager
DATA lr_context TYPE REF TO if_wd_context.
DATA lt_changed_attr TYPE wdr_context_change_list.
DATA ls_changed_attr TYPE LINE OF wdr_context_change_list.
DATA ls_action TYPE dpr_ts_ui_do_action.
DATA lv_rejected TYPE boole_d.
* check changelog
lr_context = wd_context->get_context( ).
lt_changed_attr = lr_context->get_context_change_log( ).
IF NOT lt_changed_attr[] IS INITIAL.
wd_this->fire_changes_occurred_evt( ).
wd_this->mv_upd_flag = abap_true.
ENDIF.
LOOP AT wd_this->mt_action INTO ls_action.
wd_this->fire_send_events_evt( ).
wd_this->mv_upd_flag = abap_true.
ENDLOOP.
CLEAR wd_this->mt_action[].
endmethod.
METHOD on_set_change_mode .
DATA:
node_ui_ctrl TYPE REF TO if_wd_context_node,
elem_ui_ctrl TYPE REF TO if_wd_context_element,
stru_ui_ctrl TYPE if_componentcontroller=>element_ui_ctrl ,
lv_abap_bool TYPE abap_bool.
*>>>>>>>>>>>>>>>> SET THE DISPLAY MODE <<<<<<<<<<<<<<<<<START<
*is_cust_input_values-change_mode = 0. READ_ONLY true
node_ui_ctrl = wd_context->get_child_node( name = if_componentcontroller=>wdctx_ui_ctrl ).
* get the node where we control the UI from
elem_ui_ctrl = node_ui_ctrl->get_element( ).
* set read only based on mode passed in
IF new_mode = 0.
lv_abap_bool = abap_true.
ELSE.
lv_abap_bool = abap_false.
ENDIF.
* and set ctx appropriately
elem_ui_ctrl->set_attribute( value = lv_abap_bool
name = 'READ_ONLY' ).
*>>>>>>>>>>>>>>>> SET THE DISPLAY MODE <<<<<<<<<<<<<<<<<END<
ENDMETHOD.
method ON_UPDATE .
* check if the PO DATA is complete,
* throw an error if not.
check wd_this->mv_upd_flag = abap_true.
wd_this->control_be_retrieve( ).
endmethod.
method README .
** WDC documentaiton
*This WDC is used as a common include
*This component starts via inbound window PLUG
*The plug decides with view category to call and fires the appropriate
*outbound plug to navigate to the next view
*Common routines at component controller are used to react to the
*save event.
*A common model class is called to post the Phase data.
*The context on the Component CTR is used to post data.
*Context tracking is used to send the event "changes occurred"
endmethod.
METHOD start .
* load the project info
* and retrieve the customer include data
* set the node info
* ATTRIBUTES on CNTLR
* gr_dpr_phase_o TYPE REF TO cl_dpr_phase_o,
* gr_common TYPE REF TO if_dpr_common,
* gr_object_manager TYPE REF TO cl_dpr_appl_object_manager,
* gs_phase_int TYPE dpr_ts_phase_int.
DATA:
l_ev_pro_type TYPE dpr_tv_pro_type,
lr_common TYPE REF TO if_dpr_common,
lv_raw_guid TYPE dpr_tv_guid,
ls_phase_chg TYPE DPR_TS_phase_CHG,
node_dpr_phase_ext TYPE REF TO if_wd_context_node,
elem_dpr_phase_ext TYPE REF TO if_wd_context_element,
stru_dpr_phase_ext TYPE if_componentcontroller=>element_dpr_phase_ext.
* set display or change mode
wd_this->on_set_change_mode( EXPORTING
new_mode = is_cust_input_values-change_mode ).
*>>>>>>>>>>>>>>>> Get project details and store in Attr and CTX <<<<<<<<<<<<<<<<<START<
* Get instance of DPR object manager, is has running object details
wd_this->gr_object_manager = cl_dpr_appl_object_manager=>get_instance( ).
* set a guid from GUID we where given when custom WDC was called
lv_raw_guid = is_cust_input_values-guid . "the current PHASE GUID
TRY.
* Try to get object from application object mapper
wd_this->gr_common =
wd_this->gr_object_manager->mr_mapper->get_application_object_by_guid(
lv_raw_guid ).
CATCH cx_dpr_object_mapping_error.
ENDTRY.
ASSERT wd_this->gr_common IS BOUND. " bug.. must be fixed
* cast this object as a project, it msut be a project or we fail
wd_this->gr_dpr_phase_o ?= wd_this->gr_common.
ASSERT wd_this->gr_dpr_phase_o IS BOUND. " bug.. must be fixed
lv_raw_guid = IS_CUST_INPUT_VALUES-root_guid .
* now get the root DPR projecty obecjt
TRY.
* Try to get object from application object mapper
lr_common =
wd_this->gr_object_manager->mr_mapper->get_application_object_by_guid(
lv_raw_guid ).
CATCH cx_dpr_object_mapping_error.
ENDTRY.
ASSERT lr_common IS BOUND. " bug.. must be fixed
* get the project
* cast this object as a project, it msut be a project or we fail
wd_this->gr_dpr_project_o ?= lr_common.
ASSERT wd_this->gr_dpr_project_o IS BOUND. " bug.. must be fixed
* project category/type specific start up options
l_ev_pro_type = wd_this->get_pro_type( ).
CASE l_ev_pro_type.
WHEN zcl_cp_proj_cat=>CO_OPWS_CM." OPWS Contract management .
wd_this->start_cm( ).
WHEN OTHERS.
ENDCASE.
* stick project on attr and in CTX, we need else where
* especially navigation to view
wd_this->gr_dpr_phase_o->get_data_ext(
IMPORTING
es_phase_chg = ls_phase_chg
"ES_PROJECT_EXT = ES_PROJECT_EXT
es_phase_int = wd_this->gs_phase_int ).
* locate our CTX node for holding extended PROJ fields
node_dpr_phase_ext = wd_context->get_child_node( name = if_componentcontroller=>wdctx_dpr_phase_ext ).
* get element via lead selection
elem_dpr_phase_ext = node_dpr_phase_ext->get_element( ).
* stru_dpr_phase
MOVE-CORRESPONDING ls_phase_chg-extended_attributes
TO stru_dpr_phase_ext.
* set the full phase record
elem_dpr_phase_ext->set_static_attributes(
static_attributes = stru_dpr_phase_ext ).
ENDMETHOD.
m
endmethod.
method UPDATE_DATA_FROM_BE .
DATA:
ls_phase_chg TYPE DPR_TS_phase_CHG ,
node_dpr_phase_EXT TYPE REF TO if_wd_context_node,
elem_dpr_phase_EXT TYPE REF TO if_wd_context_element,
stru_dpr_phase_ext TYPE if_componentcontroller=>element_dpr_phase_EXT.
* get proj from CTX
node_dpr_phase_ext = wd_context->get_child_node( name = if_componentcontroller=>wdctx_dpr_phase_ext ).
elem_dpr_phase_ext = node_dpr_phase_ext->get_element( ).
* we need to set the customer append structure here
elem_dpr_phase_ext->get_static_attributes( importing
static_attributes = stru_dpr_phase_ext ).
* first get the full set of PROJECT DATA,
* since we do not want to change the normal defintion
* area, just the Attributes part.
wd_this->gR_DPR_phase_O->get_data_ext(
IMPORTING
ES_phase_CHG = lS_phase_CHG
* ES_PROJECT_EXT = ES_PROJECT_EXT
* ES_PROJECT_INT = ES_PROJECT_INT
* move our data over the custome extension
MOVE-CORRESPONDING stru_dpr_phase_ext
to ls_phase_chg-extended_attributes.
TRY.
wd_this->gR_DPR_phase_O->set_data_ext(
EXPORTING
is_phase_chg = ls_phase_chg ).
CATCH CX_DPR_OBJECT_UPDATE_ERROR .
assert 1 = 0. "Set failed.
ENDTRY.
endmethod.
method WDDOINIT .
DATA: lr_context TYPE REF TO if_wd_context.
* turn the change log on for context
lr_context = wd_context->get_context( ).
lr_context->enable_context_change_log( ).
endmethod. -
Hi,
I need to compare initial and current value in the list box. I' am trying to do the comparison in onSelect event.
Here how can I get the initial value. I guess we will get the current value here. Or let me know if you have
some better suggestions.
Thanks,
AravindIn your approach of temp variable, you will have to keep refreshing your variable with the new value in the OnSelect Method.
For eg: l_temp is initially set in WDDOINIT, now you compare this with the new selected value in the OnSelect method and after displaying the appropriate message you will again have to reset l_temp with the newly selected value.
" note: I hope l_temp is declared in the attributes tab of the View
If you wish to implement Context Change log, follow these steps;
1. Place the following code in the WDDOINIT method of the Component Controller
* enable context change log
data: context type ref to if_wd_context.
context = wd_context->get_context( ).
context->enable_context_change_log( ).
2. Create a new method 'GET_CHANGE_LOG' in the Component Controller's Methods Tab
" Create a Returning Parameter 'CHANGES' type WDR_CONTEXT_CHANGE_LIST
method get_change_log .
data: context type ref to if_wd_context.
context = wd_context->get_context( ).
changes = context->get_context_change_log( ).
endmethod.
3. When you want to track the changes call his this method as follows,
DATA: l_ref_componentcontroller TYPE REF TO ig_componentcontroller .
DATA: l_changes TYPE wdr_context_change_list.
l_ref_componentcontroller = wd_this->get_componentcontroller_ctr( ).
l_changes = l_ref_componentcontroller->get_change_log( ).
" l_changes will contain all the details of the changes made.
For more details refer component DEMO_CONTEXT_CHANGES.
Regards,
Radhika. -
How to identify the changed fields on view
Dear Colleagues,
can you please let me know how can we identify what are all the fields are changed by user and what all the fields are not changed.
example: i have 10 fld on my screen i changed only 3 fld we need to know which is changed and which is not.
i tried with wd_context->is_changed_by_client( ) , buy this we can know whether any changed is done by client or not. But i need to know at UI element wise.
Thanks,
Mahesh.GattuHi Manas,
this is very lengthy process i found very easy way to get it done.
keep this code in wddoinit of component controller.
* enable context change log
data: context type ref to if_wd_context.
context = wd_context->get_context( ).
context->enable_context_change_log( ).
then write one method in component contoller like get_changes.
keep this code in get_changes.
CHANGES Returning 0 0 WDR_CONTEXT_CHANGE_LIST
method get_changes .
data: context type ref to if_wd_context.
context = wd_context->get_context( ).
changes = context->get_context_change_log( ).
endmethod.
in above code what ever the chagnes are done it will come into chagne table.
in debug mode you can find the table values.
if you want more details you can refer to the WDC: demo_context_changes as refered by Leka.
Thanks Leka.
Thanks,
Mahesh.Gattu -
Hello everyone,
I would need to process changes from Web Dynpro ALV in the same way as in SAP GUI ALV. There is a even DATA_CHANGED which has parameter
er_data_change
which has three tables
er_data_change->mt_good_cells is
er_data_change->mt_inserted_rows
er_data_change->mt_deleted_rows
Is there some way how to do this in WD ALV?
The reason why I need that is to get exactly the same values which has the user entered into the ALV. Currently, when user enter value "1" as key figure, the ALV returns the value converted in internal format as "1.00".
Thanks in advance for any input,
TomasHi Thomas,
I think there are not such methods to get inserted or deleted rows. But you can get the changes made by user in the context. To achieve this follow the process:
Enable the context change log in the init method of component controller:
DATA: z_context TYPE REF TO if_wd_context.
z_context = wd_context->get_context( ).
z_context->enable_context_change_log( ).
Then call following method in the component controller to get the context changes:
DATA: lt_changes TYPE wdr_context_change_list.
DATA: z_context TYPE REF TO if_wd_context.
z_context = wd_context->get_context( ).
lt_changes = z_context->get_context_change_log( ).
You will get all context changes in the table lt_changes.
Compare these values with the values before context change.
I hope this will help.
Regards,
Saket. -
hi all,
Anyone knows what are the possible values in CHANGE_KIND of WDR_CONTEXT_CHANGE_LIST..??
and how would i track and update the values to data base.
regards
JoseHi Jose,
I think some three kinds of changes are there.
1. Selection change
2. Lead selection change.
3. Attribute change.
Check the standard application DEMO_CONTEXT_CHANGES for contex change log.
Thanks.
Maybe you are looking for
-
Effective error handling in Adapter Module
eX(i)perts.. Can anybody share the effective error handling strategies inside adapter modules? Specifically looking for 1. Module parameters configuration related error handling 2. Business logic failure owing to incorrect data. -- Amol
-
How to connect my new iphone to ?
hi
-
How do I identify and remove malware?
I am running a Macbook Pro about 2 years old on OS X 10.9.5 and I keeping getting unwanted pop-ups or more often new tabs opening in Safari. Thanks.
-
Hi Friends, I am trying to copy standard network template in CN01 but all activities are coming by default, I want to remove the activities but when i try to delete them I am getting message CP654- You can only select created records. Kindly help. Th
-
Problems with Oracle.DataAccess assembly after installing Oracle 11gR2
Windows 7 x64 SP1 Visual Studio 2010 ODAC112012 Oracle 11gR2 11.2.0.1.0 for Windows x64 Oracle Patch 12429529 IIS 7.0 I had my development machine setup and working with all of the above items except for the Oracle 11gR2(and patch), I was using a sep