Buenas estimados, un gusto saludarles.
Les comento que estoy utilizando está función FTP_R3_TO_SERVER, para crear archivos a un FTP.
El proceso es el siguiente, tengo unta tabla interna con la información a enviar, y está información la envío en una tabla tipo CHAR definida de la siguiente forma.
Tengo aproximadamente 2161 registros en mi tabla origen y cuando se procesan en mi tabla de datos CHAR, hay tambien 2161 registros.
Al momento de crear el archivo aparecen de la siguiente forma.
CAMPO1;CAMPO2;CAMPO3;CAMPO4
CAMPO1;CAMPO2;CAMPO3;CAMPO4
CAMPO1;CAMPO2;CAMPO3;CAMPO4
CAMPO1;CAMPO2;CAMPO3;CAMPO4
CAMPO1;CAMPO2;CAMPO3;CAMPO4
Así deben aparecer pero en varias línea sucede lo siguiente
CAMPO1;CAMPO2;CAMPO3;CAMPO4
CAMPO1;CAMPO2;CAMPO3;CAMPO4CAMPO1;CAMPO2;CAMPO3;CAMPO4
CAMPO1;CAMPO2;CAMPO3;CAMPO4
CAMPO1;CAMPO2;CAMPO3;CAMPO4
CAMPO1;CAMPO2;CAMPO3;CAMPO4CAMPO1;CAMPO2;CAMPO3;CAMPO4
Concatena filas, he revisado el ancho de las lineas de la tabla y no debe inferir, al menos por el tamaño, ya que es suficiente grande para el ancho que abarcan la sumatoria de todos los campos que estoy procesando.
Adicional, me he asegurado que si se concatene como se debe, y que se limpie el work area.
**He revisado las lineas que les pasa eso y todas tienen acentos, letras ñ, en sí caracteres especiales. Quizás sea un tema de Encoding. **
En la función el código está así. Character_mode = 'X'.
Envío el código.
LOOP AT pt_alv INTO wa_alv.
CLEAR: wa_datos, lv_sldo_fin, lv_sldo_ini, lv_mvmnto_crdto, lv_mvmnto_dbto, wa_bg.
MOVE-CORRESPONDING wa_alv TO wa_bg.
wa_bg-fecha_inicio = so_budat-low.
WRITE wa_bg-sldo_ini TO lv_sldo_ini CURRENCY wa_alv-rtcur.
WRITE wa_bg-mvmnto_crdto TO lv_mvmnto_crdto CURRENCY wa_alv-rtcur.
WRITE wa_bg-mvmnto_dbto TO lv_mvmnto_dbto CURRENCY wa_alv-rtcur.
WRITE wa_bg-sldo_fin TO lv_sldo_fin CURRENCY wa_alv-rtcur.
CONDENSE: lv_sldo_ini,
lv_mvmnto_crdto,
lv_mvmnto_dbto,
lv_sldo_fin NO-GAPS.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
value = lv_sldo_ini.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
value = lv_mvmnto_crdto.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
value = lv_mvmnto_dbto.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
value = lv_sldo_fin.
CONCATENATE
wa_alv-bukrs
wa_alv-fecha_bg
wa_alv-fecha_gen
wa_alv-hora_gen
wa_alv-cnta_mayor
wa_alv-nombre
lv_sldo_ini
lv_mvmnto_dbto
lv_mvmnto_crdto
lv_sldo_fin
INTO wa_datos SEPARATED BY ';'.
APPEND wa_datos TO it_datos.
APPEND wa_bg TO it_bg.
ENDLOOP.
Estimados, agradezco de antemano la ayuda que me puedan facilitar.