Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:logmodels:transaccionallog

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ada:howto:sicoferp:factory:logmodels:transaccionallog [2021/09/20 13:12]
administraidor
ada:howto:sicoferp:factory:logmodels:transaccionallog [2021/09/20 13:38] (actual)
administraidor
Línea 181: Línea 181:
  
 == Limitaciones == == Limitaciones ==
-Se identifica que actualmente la versión de Appeon presenta ​problema ​con el procesamiento ​de la API Json para estructura ​complejas como Array por esta razon cada procesamiento del API debe ser realizado a un nivel de complejidad ​para cada registro que realice operaciones DML. A continuacion se muestra un ejemplo de uso funcional en Appeon/​Powerbuilder ​que puede ser tomado como referencia.+Se identifica que actualmente la versión de Appeon ​(2013/​2016) ​presenta ​problemas ​con el procesamiento ​del API Json para estructuras ​complejas como Arrays ​por esta razon cada procesamiento del API debe ser realizado a un solo nivel de complejidad ​por cada registro que realice operaciones DML. A continuacion se muestra un ejemplo de uso funcional en Appeon/​Powerbuilder que puede ser tomado como referencia.
  
 <code java> <code java>
 /*PASO 1: Definir un objeto de la clase sailjson en la zona de instancia del componente donde se va utilizar el API como una ventana, objeto no visual, etc*/ /*PASO 1: Definir un objeto de la clase sailjson en la zona de instancia del componente donde se va utilizar el API como una ventana, objeto no visual, etc*/
 sailjson iuo_json sailjson iuo_json
 +</​code>​
  
-/*PASO 2: Incializar el objeto ​ljson antes de utilizarlo*/​+<code java> 
 +/*PASO 2: Incializar el objeto ​iuo_json ​antes de utilizarlo*/​
 iuo_json= create sailjson iuo_json= create sailjson
 +</​code>​
  
 +<code java>
 /* /*
 PASO 3: No es obligatorio,​ pero se recomienda crear un método local de asignación para simplificar el proceso como ejemplo se define metodo of_add_log_transactional con los siguientes argumentos PASO 3: No es obligatorio,​ pero se recomienda crear un método local de asignación para simplificar el proceso como ejemplo se define metodo of_add_log_transactional con los siguientes argumentos
Línea 209: Línea 213:
 //Crear propiedad de la columna con el nuevo valor //Crear propiedad de la columna con el nuevo valor
 iuo_json.setattribute(as_dataobject + "​."​ + as_column + "​_NewValue",​ as_new_value) iuo_json.setattribute(as_dataobject + "​."​ + as_column + "​_NewValue",​ as_new_value)
 +</​code>​
  
 +<code java>
 //En el metodo de guardado del proceso consumir el API de Log de transacciones con el objeto json //En el metodo de guardado del proceso consumir el API de Log de transacciones con el objeto json
 guo_app.of_log_transactional( ).of_add_log(Date(ldt_fecha),​ "​w_conexion_cliente_fe::​guardar",​ "​update",​ '​TBL_FE_CONEXION_CLIENTE',​ iuo_json, true, ts_transaccion) guo_app.of_log_transactional( ).of_add_log(Date(ldt_fecha),​ "​w_conexion_cliente_fe::​guardar",​ "​update",​ '​TBL_FE_CONEXION_CLIENTE',​ iuo_json, true, ts_transaccion)
Línea 215: Línea 221:
 //Por último se debe reiniciar el componente para otro proceso //Por último se debe reiniciar el componente para otro proceso
 iuo_json = Create sailjson iuo_json = Create sailjson
 +</​code>​
 +
 +<code java>
 +//En el evento itemchanged del datawindow consumir el método local of_add_log_transactional
 +String ls_column, ls_old_data
 +ls_column = dwo.name
 +Choose Case ls_column
 +  Case '​codigo_cliente'​
 +    ls_old_data = getitemstring(row,​ ls_column)
 +    of_add_log_transactional(dataobject,​ ls_column, ls_old_data,​ data)
 +End Choose
 </​code>​ </​code>​
  
ada/howto/sicoferp/factory/logmodels/transaccionallog.1632143529.txt.gz · Última modificación: 2021/09/20 13:12 por administraidor