|
#1
|
|||
|
|||
Error que no puedo identificar en ABAP
Estoy intentando crear un archivo de texto plano a partir de un reporte ya creado, y al querer generar me sale el siguiente error, no se a que se debe en otro programa no ocaciona ningun error, que podria ser:
este es el error: A line of "PI_SALDOS" and "GTD_DATA_SALDOS" are not mutually convertible. In a Unicode program, "PI_SALDOS" must have the same structure layout as "GTD_DATA_SALDOS". Irrespective of the length of a Unicode character. Unicode character. |
#2
|
||||
|
||||
Error
Buen día,
Podrías pasar el código así vemos exactamente que es lo que esta fallando? Tal vez sea cambiar un type por un like line of.
__________________
Saludos!, Jess. "...Puedes llegar a cualquier parte, siempre y cuando andes lo suficiente..." |
#3
|
|||
|
|||
Este es el codigo
*{@Jhohan
*&---------------------------------------------------------------------* *& Form generar_archivos_control_sal *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->PI_SALDOS text *----------------------------------------------------------------------* FORM generar_archivos_control_sal USING pi_saldos LIKE gtd_faglflext[]. DATA: ls_lines TYPE i, ls_reg(15) TYPE c, ls_hora(8) TYPE c, ls_fecha LIKE sy-datum. * PERFORM calcular_fecha CHANGING ls_fecha = sy-datum. * Archivo de control de saldos CLEAR: ls_lines, ls_reg, ls_hora. DESCRIBE TABLE pi_saldos LINES ls_lines. ls_reg = ls_lines. CONDENSE ls_reg. UNPACK ls_reg TO ls_reg. CONCATENATE sy-uzeit+0(2) sy-uzeit+2(2) sy-uzeit+4(2) INTO ls_hora SEPARATED BY ':'. gtd_ctrl_sal-data+0(1) = space. gtd_ctrl_sal-data+1(30) = space. gtd_ctrl_sal-data+31(30) = space. gtd_ctrl_sal-data+61(30) = space. gtd_ctrl_sal-data+91(2) = '00'. gtd_ctrl_sal-data+93(30) = space. gtd_ctrl_sal-data+123(3) = '000'. gtd_ctrl_sal-data+126(3) = '000'. gtd_ctrl_sal-data+129(20) = ' 00000000000000.0000'. gtd_ctrl_sal-data+149(15) = ls_reg. gtd_ctrl_sal-data+164(8) = ls_fecha. gtd_ctrl_sal-data+172(8) = ls_hora. APPEND gtd_ctrl_sal. CLEAR gtd_ctrl_sal. ENDFORM. "generar_archivos_control_sal *&---------------------------------------------------------------------* *& Form descargar_archivos *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->PI_SALDOS text * -->PI_CTRL_SAL text *----------------------------------------------------------------------* FORM descargar_archivos USING pi_saldos LIKE gtd_faglflext[] pi_ctrl_sal LIKE gtd_ctrl_sal[]. DATA: ls_directorio LIKE rlgrap-filename. * Archivo de Saldos CLEAR ls_directorio. CONCATENATE gs_ruta gs_broad_sal '.TXT' INTO ls_directorio. * OPEN DATASET ls_directorio FOR OUTPUT IN TEXT MODE ENCODING DEFAULT. "-@0003 OPEN DATASET ls_directorio FOR OUTPUT IN TEXT MODE ENCODING UNICODE IGNORING CONVERSION ERRORS. "+@0003 LOOP AT pi_saldos INTO gtd_data_saldos. TRANSFER gtd_data_saldos TO ls_directorio. ENDLOOP. CLOSE DATASET ls_directorio. * Archivo de Contol de Saldos CLEAR ls_directorio. CONCATENATE gs_ruta gs_broad_sal '_CTRL.TXT' INTO ls_directorio. * OPEN DATASET ls_directorio FOR OUTPUT IN TEXT MODE ENCODING DEFAULT "-@0003 OPEN DATASET ls_directorio FOR OUTPUT IN TEXT MODE ENCODING NON-UNICODE IGNORING CONVERSION ERRORS. "+@0003 LOOP AT pi_ctrl_sal INTO gtd_data_ctrl_sal. TRANSFER gtd_data_ctrl_sal TO ls_directorio. ENDLOOP. CLOSE DATASET ls_directorio. ENDFORM. "descargar_archivos *}@Jhohan e intentado cambiarlo pero no se me sale el mismo error |
#4
|
||||
|
||||
Tipo de gtd_data_saldos
Como definiste gtd_data_saldos?
__________________
Saludos!, Jess. "...Puedes llegar a cualquier parte, siempre y cuando andes lo suficiente..." |
#5
|
|||
|
|||
Decalaracion
*&--------------------------------------------------------------------&*
*& T A B L A S I N T E R N A S G L O B A L E S &* *&--------------------------------------------------------------------&* gtd_data_saldos TYPE ty_data_saldos WITH HEADER LINE, *&--------------------------------------------------------------------&* *& T I P O S T A B L A S G L O B A L E S &* *&--------------------------------------------------------------------&* TYPES: ty_data_saldos LIKE TABLE OF l_data_sal, ty_ctrl_sal LIKE TABLE OF l_data_sal, ty_data_ctrl_sal LIKE TABLE OF l_data_sal. *&--------------------------------------------------------------------&* *& T I P O S G L O B A L E S &* *&--------------------------------------------------------------------&* DATA: BEGIN OF l_data_sal, data(990) TYPE c, END OF l_data_sal. Esa es la declaracion completa. |
#6
|
|||
|
|||
Buenos días,
No he revisado el código entero pero estas haçaciendo un loop de PI_Datos en gtd _data_saldos ("LOOP AT pi_saldos INTO gtd_data_saldos"). Te has asegurado que a estructura de datos de pi_datos de tipo gtd_data_saldos? Puedes pasar donde has declarado pi_saldos?. Un saludo. |
#7
|
||||
|
||||
Tipo gtd_faglflext
Para mi el problema es la declaración de esta línea (PI_SALDOS) el cual no estoy viendo en el código que mandaste.
Veo que PI_SALDOS tiene la siguiente declaración: pi_saldos LIKE gtd_faglflext[] No estoy viendo como esta armado gtd_faglflext. Pero puede ser que no este armado de la misma manera que gtd_data_saldos, ya que esta de la siguiente forma: DATA: BEGIN OF l_data_sal, data(990) TYPE c, END OF l_data_sal. Corrobora eso o seguimos investigando que puede ser.
__________________
Saludos!, Jess. "...Puedes llegar a cualquier parte, siempre y cuando andes lo suficiente..." |
Herramientas | Buscar en Tema |
Desplegado | |
|
|