Problem with freemarker script

333 views
Skip to first unread message

J.M.

unread,
Oct 21, 2016, 3:40:32 AM10/21/16
to Fujitsu RunMyProcess Developer Community
Hi team,




I'm trying to debug a script in freemarker, but I'm getting crazy...
My Script is:

<#list cont_file as linea>
<#assign datos = linea?split(":")>
<#assign registro>
{"numSeguimiento":"${datos[0]}","numTarjeta":"${datos[1]}","estado":"${datos[2]}","subestado":"${datos[3]}","entrega":"${datos[4]}", "fechaActualizacion" : "${datos[5]}", "nombreCliente" :"${datos[6]}", "tipoCliente" :"${datos[7]}", "direccionEntrega" :"${datos[8]}"}
</#assign>
<#assign my_pattern>{"numTarjeta" : "${datos[1]}"}</#assign>
<#assign my_object>{"estado" : "${datos[2]}", "subestado" : "${datos[3]}","entrega":"${datos[4]}", "fechaActualizacion" : "${datos[5]}"}</#assign>
${update_field( my_pattern, my_object, "tarjetas",true)}



<#assign my_pattern2>{"numTarjeta" : "${datos[1]}", "diasParado" : "-"}</#assign>
<#assign registro_seguimiento = load_object( my_pattern2, "tarjetas_seguimiento")>
<#assign fecha1 = registro_seguimiento.fechaActualizacion>
<#assign elemsFecha = fecha1?split("/")>
<#assign dia1 = elemsFecha[0]>
<#assign fecha2 = datos[5]>
<#assign elemsFecha2 = fecha2?split("/")>
<#assign dia2 = elemsFecha2[0]>
<#assign difDias = dia2?number - dia1?number>

<#assign my_pattern3>{"subestado" : "${datos[3]}" }</#assign>
<#assign sla = load_object( my_pattern3, "tarjetas_sla")>
<#assign diasSla = sla.diasEsperados>

<#assign umbral_25 = diasSla?number * 1.25>

<#if difDias?number lte diasSla?number>
<#assign url = "https://live.runmyprocess.com/pub/117241425975434943/upload/2a72e9b0-9474-11e6-b5c4-02b3a23437c9/RetrasoVerde.png">
<#assign descripcion = "No superado ANS">
</#if>

<#if difDias?number gt umbral_25>
<#assign url = "https://live.runmyprocess.com/pub/117241425975434943/upload/204d68c0-9474-11e6-b973-0619bd984419/RetrasoRojo.png">
<#assign descripcion = "Superado ANS 25%-100%">
</#if>

<#if (difDias?number lte umbral_25) && (difDias?number gt diasSla?number)>
<#assign url = "https://live.runmyprocess.com/pub/117241425975434943/upload/1cc02350-9474-11e6-b5c4-02b3a23437c9/RetrasoAmarillo.png">
<#assign descripcion = "Superado 25% ANS">
</#if>

<#assign my_pattern>{"numTarjeta":"${datos[1]}", "diasParado" : "-"}</#assign>
<#assign my_object>
{"diasParado" : "${difDias}", "icono" : "${url}", "descIcono" : "${descripcion}"}
</#assign>
${update_field( my_pattern, my_object, "tarjetas_seguimiento",true)}



<#assign registro_seguimiento1>
{"numSeguimiento":"${datos[0]}", "numTarjeta":"${datos[1]}","estado":"${datos[2]}", "subestado":"${datos[3]}","entrega":"${datos[4]}", "fechaActualizacion":"${datos[5]}", "nombreCliente" :"${datos[6]}", "tipoCliente" :"${datos[7]}", "direccionEntrega" :"${datos[8]}" "diasParado":"-", "icono":"https://live.runmyprocess.com/pub/117241425975434943/upload/16d80970-952e-11e6-a230-02b3a23437c9/RetrasoAzul.png", "descIcono":"Estado actual"}
</#assign>
${save_object(registro_seguimiento1,"tarjetas_seguimiento")}
</#list>





The input variable you need to execute it is like this:

["100:123456789:Demanda:Solicitado:sucursal:01/10/2016:Belén Camarero Terrón:Medio recorrido:Sucursal M41 - Paseo Pintor Rosales, 45, Madrid","101:987654321:Demanda:Transmitido:sucursal:02/10/2016:Marta Ochoa Benítez:Medio recorrido:Avenida de los Poblados, 41, Madrid","102:123654789:Producción:Procesable:sucursal:02/10/2016:Cristina Hernández Pino:Medio recorrido:Sucursal M41 - Paseo Pintor Rosales, 45, Madrid","103:879546213:Producción:Entregado a mensajería:domicilio:03/10/2016:Guadalupe Ropero Estébanez:Medio recorrido:Avenida de los Poblados, 41, Madrid","104:789456123:Distribución:Recibido Mensajería:domicilio:03/10/2016:Ana Jiménez Díaz:Medio recorrido – Alto Potencial:Calle Fuencarral, 141, Madrid","105:798465132:Bóveda:Recibido en Bóveda:sucursal:03/10/2016:Sara Morata Torres:Alto recorrido – Medio Potencial:Sucursal M41 - Paseo Pintor Rosales, 45, Madrid","106:312645978:Demanda:Solicitado:sucursal:04/10/2016:Rubén Pino Ochoa:Alto recorrido – Medio Potencial:Sucursal M41 - Paseo Pintor Rosales, 45, Madrid","107:321654987:Demanda:Solicitado:sucursal:04/10/2016:David Camarero Cano:Alto recorrido – Medio Potencial:Sucursal M41 - Paseo Pintor Rosales, 45, Madrid","108:312654987:Demanda:Solicitado:sucursal:05/10/2016:Miguel Gutiérrez García:Alto recorrido – Medio Potencial:Sucursal M41 - Paseo Pintor Rosales, 45, Madrid","109:321456789:Demanda:Solicitado:sucursal:05/10/2016:Luis Paredes Miño:Medio recorrido – Alto Potencial:Sucursal M63 - Calle Lucero, 89, Madrid","110:123546879:Demanda:Solicitado:sucursal:05/10/2016:Elisa Muñoz Martín:Medio recorrido – Alto Potencial:Sucursal M63 - Calle Lucero, 89, Madrid","111:231564897:Demanda:Solicitado:domicilio:05/10/2016:José Pérez Pérez:Alto recorrido:Camino Cerro de los Gamos, 1, Madrid","112:132465798:Demanda:Solicitado:domicilio:06/10/2016:Félix Sánchez García:Medio recorrido:Calle Gran Vía, 127, Madrid","113:213546879:Demanda:Solicitado:domicilio:06/10/2016:Pablo Fernández Cano:Alto recorrido – Medio Potencial:Paseo de la Castellana, 89, Madrid"]


And the error I'm getting is:

Error while processing <#list cont_file as linea>
<#assign datos = linea?split(":")>
<#assign registro>
{"numSeguimiento":"${datos[0]}","numTarjeta":"${datos[1]}","estado":"${datos[2]}","subestado":"${datos[3]}","entrega":"${datos[4]}", "fechaActualizacion" : "${datos[5]}", "nombreCliente" :"${datos[6]}", "tipoCliente" :"${datos[7]}", "direccionEntrega" :"${datos[8]}"}
</#assign>
<#assign my_pattern>{"numTarjeta" : "${datos[1]}"}</#assign>
<#assign my_object>{"estado" : "${datos[2]}", "subestado" : "${datos[3]}","entrega":"${datos[4]}", "fechaActualizacion" : "${datos[5]}"}</#assign>
${update_field( my_pattern, my_object, "tarjetas",true)}



<#assign my_pattern2>{"numTarjeta" : "${datos[1]}", "diasParado" : "-"}</#assign>
<#assign registro_seguimiento = load_object( my_pattern2, "tarjetas_seguimiento")>
<#assign fecha1 = registro_seguimiento.fechaActualizacion>
<#assign elemsFecha = fecha1?split("/")>
<#assign dia1 = elemsFecha[0]>
<#assign fecha2 = datos[5]>
<#assign elemsFecha2 = fecha2?split("/")>
<#assign dia2 = elemsFecha2[0]>
<#assign difDias = dia2?number - dia1?number>

<#assign my_pattern3>{"subestado" : "${datos[3]}" }</#assign>
<#assign sla = load_object( my_pattern3, "tarjetas_sla")>
<#assign diasSla = sla.diasEsperados>

<#assign umbral_25 = diasSla?number * 1.25>

<#if difDias?number lte diasSla?number>
<#assign url = "https://live.runmyprocess.com/pub/117241425975434943/upload/2a72e9b0-9474-11e6-b5c4-02b3a23437c9/RetrasoVerde.png">
<#assign descripcion = "No superado ANS">
</#if>

<#if difDias?number gt umbral_25>
<#assign url = "https://live.runmyprocess.com/pub/117241425975434943/upload/204d68c0-9474-11e6-b973-0619bd984419/RetrasoRojo.png">
<#assign descripcion = "Superado ANS 25%-100%">
</#if>

<#if (difDias?number lte umbral_25) && (difDias?number gt diasSla?number)>
<#assign url = "https://live.runmyprocess.com/pub/117241425975434943/upload/1cc02350-9474-11e6-b5c4-02b3a23437c9/RetrasoAmarillo.png">
<#assign descripcion = "Superado 25% ANS">
</#if>

<#assign my_pattern>{"numTarjeta":"${datos[1]}", "diasParado" : "-"}</#assign>
<#assign my_object>
{"diasParado" : "${difDias}", "icono" : "${url}", "descIcono" : "${descripcion}"}
</#assign>
${update_field( my_pattern, my_object, "tarjetas_seguimiento",true)}



<#assign registro_seguimiento1>
{"numSeguimiento":"${datos[0]}", "numTarjeta":"${datos[1]}","estado":"${datos[2]}", "subestado":"${datos[3]}","entrega":"${datos[4]}", "fechaActualizacion":"${datos[5]}", "nombreCliente" :"${datos[6]}", "tipoCliente" :"${datos[7]}", "direccionEntrega" :"${datos[8]}" "diasParado":"-", "icono":"https://live.runmyprocess.com/pub/117241425975434943/upload/16d80970-952e-11e6-a230-02b3a23437c9/RetrasoAzul.png", "descIcono":"Estado actual"}
</#assign>
${save_object(registro_seguimiento1,"tarjetas_seguimiento")}
</#list>
Error on line 14, column 9 in |techno=freemarker|
registro_seguimiento.fechaActualizacion is undefined.
It cannot be assigned to fecha1



However If delete the second half of the script aproximately and print registro_seguimiento doing ${registro_seguimiento} I can see the field fechaActualizacion correctly.
I've tried different methods for the assignation, but I've not got it...

What's happening? I would appreciate any help


Thanks in advance and regards

Pankaj Kumar

unread,
Oct 24, 2016, 6:23:39 AM10/24/16
to Fujitsu RunMyProcess Developer Community
Hi Javier,

From the error message, it seems you are getting empty object in below code.

 <#assign registro_seguimiento = load_object( my_pattern2, "tarjetas_seguimiento")> 
        <#assign fecha1 = registro_seguimiento.fechaActualizacion> 


Please validate the registro_seguimiento is not empty or null before accessing the "fechaActualizacion" propert of the object.

Thank you,
Pankaj Kumar
Fujitsu RunMyProcess Support


--
Fujitsu - RunMyProcess
---
You received this message because you are subscribed to the Google Groups "Fujitsu RunMyProcess Developer Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to supportforum+unsubscribe@runmyprocess.com.
To post to this group, send email to suppor...@runmyprocess.com.
Visit this group at https://groups.google.com/a/runmyprocess.com/group/supportforum/.
To view this discussion on the web visit https://groups.google.com/a/runmyprocess.com/d/msgid/supportforum/3e58c52e-e293-43a6-9b4c-0523820e5757%40runmyprocess.com.
For more options, visit https://groups.google.com/a/runmyprocess.com/d/optout.

Javier Martín

unread,
Oct 25, 2016, 3:35:32 AM10/25/16
to Fujitsu RunMyProcess Developer Community
Thank you Pankaj.

It seems all the retrieved objects were filled with value except the first one, which was empty and was causing the problem.

Regards.

You received this message because you are subscribed to a topic in the Google Groups "Fujitsu RunMyProcess Developer Community" group.
To unsubscribe from this topic, visit https://groups.google.com/a/runmyprocess.com/d/topic/supportforum/xtVm0qOOvKs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to supportforum+unsubscribe@runmyprocess.com.

To post to this group, send email to suppor...@runmyprocess.com.
Visit this group at https://groups.google.com/a/runmyprocess.com/group/supportforum/.
Reply all
Reply to author
Forward
0 new messages