Descripción
Pasar DataWindows por referencia no es compatible.
Solución
Definir una variable de instancia y establecer su valor como los datos recuperados de la ventana de datos, a continuación, pasar esta variable por referencia a la función. La misma solución se debería utilizar para pasar DataWindows entre dos controles de ficha en cualquier ventana. La modificación realizada en el objeto ancestral no tiene ningún efecto sobre los objetos secundarios. Deben modificarse por separado.
Ejemplo 1
El código original:
(w_port_agent).dw_d_list.ue_retrieve
ldws_status = tab_1.tabpage_h_list.dw_h_list.GetItemStatus(ll_current,0,primary!)
IF ldws_status = datamodified! or ldws_status = NotModified! THEN
...
Cambiar el código con el siguiente formato:
(w_port_agent).dw_d_list.ue_retrieve
ldws_status = idws_Status
(w_port_agent).dw_h_list.rowfocuschanged
idws_status = this.GetItemStatus(currentrow,0,Primary!)
(w_port_agent).dw_h_list.rowfocuschanged
IF idws_status = DataModified! or idws_status = NotModIfied! THEN
...
Ejemplo 2
El código original:
w_port_agent.tab_2.tabpage_d_list.dw_d_list.ue_retrieve
ls_country = tab_1.tabpage_h_list.dw_h_list.getitemString(ll_current, "country_code")
ls_agent = tab_1.tabpage_h_list.dw_h_list.getitemString(ll_current, "stakeholder_code") this.retrieve(ls_country, ls_agent, gs_localdata)
Cambiar el código con el siguiente formato:
tab_1.tabpage_h_list.dw_h_list.rowfocuschanged
is_country = tab_1.tabpage_h_list.dw_h_list.getitemString(currentrow, "country_code")
is_agent = tab_1.tabpage_h_list.dw_h_list.getitemString(currentrow, "stakeholder_code")
tab_2.tabpage_d_list.dw_d_list.ue_retrieve
this.retrieve(is_country, is_agent, gs_localdata)