for &e = 1 to &zline //&e y &zline son dos variables numericas
&materialDesc = GXGetMLi(&PMPedDetMaterialDescripcion, &e, 23)// &materialDesc es una variable de tipo varchar la cual toma la primera division de la cadena
if NOT &materialDesc.IsEmpty() AND &e = 1
PRINT A3 //en este print imprimimos la primera division de la cadena
else
if not &materialDesc.IsEmpty()
PRINT A4 // se crea otro printblock para imprimir las demas cadenas de la division
endif
endif
endFor
/*Yo traigo mi cadena en la variable &vTitulo por parámetros por que lo pasaba directo
pero ahora que tuve ese problema la dividí en 3 pero la reutilizo en el código debajo*/
&CadenaTitulo = &vTitulo
&nlin1 = GXMLines(&CadenaTitulo.Trim(), 64)
for &e = 1 to &nlin1
&MsjTitulo = GXGetMli(&CadenaTitulo.Trim(), &e, 64)
If not &MsjTitulo.IsEmpty() and &e = 1
&vTitulo = &MsjTitulo
Else
if not &MsjTitulo.IsEmpty() and &vTitulo2.IsEmpty()
&vTitulo2 = &MsjTitulo
Else
if not &MsjTitulo.IsEmpty() and &vTitulo3.IsEmpty()
&vTitulo3 = &MsjTitulo
EndIf
EndIf
EndIf
EndFor
Print Encabezado2
&zline = GXMLines(&PMPedDetMaterialDescripcion, 23) // devuelve un valor numeric de la division de la cadena ej SI la longitud de la cadena es 30 devolvera en &zline 2, esto es para el control del for
for &e = 1 to &zline //&e y &zline son dos variables numericas
&materialDesc = GXGetMLi(&PMPedDetMaterialDescripcion, &e, 23)// &materialDesc es una variable de tipo varchar la cual toma la primera division de la cadena
if NOT &materialDesc.IsEmpty() AND &e = 1
PRINT A3 //en este print imprimimos la primera division de la cadena
else
if not &materialDesc.IsEmpty()
PRINT A4 // se crea otro printblock para imprimir las demas cadenas de la division
endif
endif
endFor
&zline = GXMLines(&PMPedDetMaterialDescripcion, 23)
for &e = 1 to &zline
&materialDesc = GXGetMLi(&PMPedDetMaterialDescripcion, &e, 23)
if NOT &materialDesc.IsEmpty() AND &e = 1
PRINT A3
else
if not &materialDesc.IsEmpty()
PRINT A4
endif
endif
endFor