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)