<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Problem generating ALV in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-generating-alv/m-p/2684322#M620700</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello, i'm trying to display a report with Alv Grid Display, but when generating the catalog i get this dump : Exception condition "NO_FIELDCATALOG_AVAILABLE" raised. I really don't know where is the problem on the source code, because the print table is not blank. This is the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: bsis , bsas , znom.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt;Estructura de la Tabla----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_nomina,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bukrs LIKE bsis-bukrs,&lt;/P&gt;&lt;P&gt;hkont LIKE bsis-hkont,             "Numero de cuenta de mayor&lt;/P&gt;&lt;P&gt;*TXT50 LIKE BSIS-TXT50,&lt;/P&gt;&lt;P&gt;gsber LIKE bsis-gsber,             "Division&lt;/P&gt;&lt;P&gt;budat LIKE bsis-budat,             "Fecha de Contabilizacion&lt;/P&gt;&lt;P&gt;*shkzg LIKE BSIS-SHKZG,             "Indicador Debe / Haber&lt;/P&gt;&lt;P&gt;wrbtr LIKE bsis-wrbtr,             "Importe en moneda de documento&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF t_nomina.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data: begin of t_upload occurs 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     budat1 like bsis-budat,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     budat2 like bsis-budat,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     bukrs  like bsis-bukrs,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     hwaer  like BKPF-hwaer,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clave(2),&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MTHS 06.08.2007&lt;/P&gt;&lt;P&gt;DATA: t_bsis LIKE bsis OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_upload OCCURS 0,&lt;/P&gt;&lt;P&gt;       fecha1(10),&lt;/P&gt;&lt;P&gt;       fecha2(10),&lt;/P&gt;&lt;P&gt;       socied(4),&lt;/P&gt;&lt;P&gt;       moneda(3),&lt;/P&gt;&lt;P&gt;       clave(2),&lt;/P&gt;&lt;P&gt;       cuent1(10),&lt;/P&gt;&lt;P&gt;       import(13),&lt;/P&gt;&lt;P&gt;       divisi(4),&lt;/P&gt;&lt;P&gt;       cuent2(10),&lt;/P&gt;&lt;P&gt;       descri(50),&lt;/P&gt;&lt;P&gt;      END OF t_upload.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF nom_archivo OCCURS 0,&lt;/P&gt;&lt;P&gt;       texto LIKE rlgrap-filename,&lt;/P&gt;&lt;P&gt;      END OF nom_archivo.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF nom_archivo2 OCCURS 0,&lt;/P&gt;&lt;P&gt;       texto LIKE rlgrap-filename,&lt;/P&gt;&lt;P&gt;      END OF nom_archivo2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_des OCCURS 0,&lt;/P&gt;&lt;P&gt;       cuenta(10),&lt;/P&gt;&lt;P&gt;       descri(50),&lt;/P&gt;&lt;P&gt;      END OF t_des.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_data OCCURS 0,&lt;/P&gt;&lt;P&gt;       budat  LIKE bsis-budat,&lt;/P&gt;&lt;P&gt;       bukrs  LIKE bsis-bukrs,&lt;/P&gt;&lt;P&gt;       gsber  LIKE bsis-gsber,&lt;/P&gt;&lt;P&gt;       hkont  LIKE bsis-hkont,&lt;/P&gt;&lt;P&gt;       descr  LIKE t087j-txt50,&lt;/P&gt;&lt;P&gt;       wrbtr  LIKE bsis-wrbtr,&lt;/P&gt;&lt;P&gt;      END OF t_data.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_data2 OCCURS 0,&lt;/P&gt;&lt;P&gt;       budat  LIKE bsis-budat,&lt;/P&gt;&lt;P&gt;       bukrs  LIKE bsis-bukrs,&lt;/P&gt;&lt;P&gt;       gsber  LIKE bsis-gsber,&lt;/P&gt;&lt;P&gt;       hkont  LIKE bsis-hkont,&lt;/P&gt;&lt;P&gt;       wrbtr  LIKE bsis-wrbtr,&lt;/P&gt;&lt;P&gt;      END OF t_data2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_col OCCURS 0,&lt;/P&gt;&lt;P&gt;       budat  LIKE bsis-budat,&lt;/P&gt;&lt;P&gt;       bukrs  LIKE bsis-bukrs,&lt;/P&gt;&lt;P&gt;       hkont  LIKE bsis-hkont,&lt;/P&gt;&lt;P&gt;       wrbtr  LIKE bsis-wrbtr,&lt;/P&gt;&lt;P&gt;      END OF t_col.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_print OCCURS 0,&lt;/P&gt;&lt;P&gt;      cuenta(10),&lt;/P&gt;&lt;P&gt;      descri(50),&lt;/P&gt;&lt;P&gt;      divisi(4),&lt;/P&gt;&lt;P&gt;      fecha(10),&lt;/P&gt;&lt;P&gt;      import TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;      import2 TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;      difer  TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;      END OF t_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;Definir la tabla interna que vamos a utilizar----&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: tab_nomina TYPE TABLE OF t_nomina.&lt;/P&gt;&lt;P&gt;DATA: wa_nomina  TYPE t_nomina.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: iline TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_znom TYPE znom.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: flag(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MTHS 06.08.2007&lt;/P&gt;&lt;P&gt;DATA: contador(2) TYPE n,&lt;/P&gt;&lt;P&gt;      debe LIKE bsis-dmbtr,&lt;/P&gt;&lt;P&gt;      haber LIKE bsis-dmbtr,&lt;/P&gt;&lt;P&gt;      f_date  LIKE bsis-budat,&lt;/P&gt;&lt;P&gt;      texto(150),&lt;/P&gt;&lt;P&gt;      campo(100),&lt;/P&gt;&lt;P&gt;      answer(1),&lt;/P&gt;&lt;P&gt;      documento LIKE bkpf-belnr,&lt;/P&gt;&lt;P&gt;      sw(10).                                                      "MG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_field  TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      w_field_wa  LIKE LINE OF w_field,&lt;/P&gt;&lt;P&gt;      w_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      i_events TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;      w_events LIKE LINE OF i_events,&lt;/P&gt;&lt;P&gt;      w_repid  LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      w_topheader TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;      w_top LIKE LINE OF w_topheader.&lt;/P&gt;&lt;P&gt;DATA: i_grid TYPE lvc_s_glay.&lt;/P&gt;&lt;P&gt;DATA: field      TYPE  slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      gs_layout  TYPE  slis_layout_alv,&lt;/P&gt;&lt;P&gt;      g_repid    LIKE  sy-repid,&lt;/P&gt;&lt;P&gt;      g_inclu    LIKE  sy-repid,&lt;/P&gt;&lt;P&gt;      field2      TYPE  slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      gs_layout2  TYPE  slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_status_set   TYPE slis_formname VALUE 'PF_STATUS_SET'.&lt;/P&gt;&lt;P&gt;DATA: selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;DATA: ucomm LIKE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;Definicion de lo que va a aparecer en pantalla para el usuario&lt;/STRONG&gt;*****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pantalla de Seleccion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN  BEGIN OF BLOCK b0 WITH FRAME TITLE text-007.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_cami  LIKE rlgrap-filename OBLIGATORY&lt;/P&gt;&lt;P&gt;. "Archivo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MatchCode para Archivo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_cami.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Función para simular la busqueda de archivo en windows&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            def_filename     = ' '&lt;/P&gt;&lt;P&gt;            def_path         = p_cami&lt;/P&gt;&lt;P&gt;            mask             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;            mode             = 'O'&lt;/P&gt;&lt;P&gt;            title            = 'Archivo a importar'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            filename         = p_cami&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            inv_winsys       = 01&lt;/P&gt;&lt;P&gt;            no_batch         = 02&lt;/P&gt;&lt;P&gt;            selection_cancel = 03&lt;/P&gt;&lt;P&gt;            selection_error  = 04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; report = sy-repid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  CLEAR flag.&lt;/P&gt;&lt;P&gt;  contador = 1.&lt;/P&gt;&lt;P&gt;  debe = 0.&lt;/P&gt;&lt;P&gt;  haber = 0.&lt;/P&gt;&lt;P&gt;  sw = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****&lt;STRONG&gt;Comienzo de la selección&lt;/STRONG&gt;***********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM cargar_datos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****&lt;STRONG&gt;Finalización de la selección&lt;/STRONG&gt;*********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;Función para la carga de datos&lt;/STRONG&gt;***************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM cargar_datos .&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Separar nombre del archivo de la ruta donde fue leido&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;  TRANSLATE p_cami TO UPPER CASE.&lt;/P&gt;&lt;P&gt;  SPLIT p_cami AT '' INTO TABLE nom_archivo.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE nom_archivo LINES contador.&lt;/P&gt;&lt;P&gt;  READ TABLE nom_archivo INDEX  contador.&lt;/P&gt;&lt;P&gt;  SPLIT nom_archivo-texto AT '.' INTO TABLE nom_archivo2.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE nom_archivo2 LINES contador.&lt;/P&gt;&lt;P&gt;  READ TABLE nom_archivo2 INDEX  contador.&lt;/P&gt;&lt;P&gt;  IF  nom_archivo2-texto  NE 'XLS'. " and nom_archivo2-texto  ne 'xls'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: registros TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: wa_nomina TYPE t_nomina.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; data : it_fichero type linea occurs 0 with header line.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    INSERT znom FROM wa_znom.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         filename                      = p_cami&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FILETYPE                      = 'ASC'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    HEADLEN                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    LINE_EXIT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TRUNCLEN                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USER_FORM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USER_PROG                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DAT_D_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          data_tab                     = t_upload&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;         conversion_error              = 1&lt;/P&gt;&lt;P&gt;         file_open_error               = 2&lt;/P&gt;&lt;P&gt;         file_read_error               = 3&lt;/P&gt;&lt;P&gt;         invalid_type                  = 4&lt;/P&gt;&lt;P&gt;         no_batch                      = 5&lt;/P&gt;&lt;P&gt;         unknown_error                 = 6&lt;/P&gt;&lt;P&gt;         invalid_table_width           = 7&lt;/P&gt;&lt;P&gt;         gui_refuse_filetransfer       = 8&lt;/P&gt;&lt;P&gt;         customer_error                = 9&lt;/P&gt;&lt;P&gt;         OTHERS                        = 10&lt;/P&gt;&lt;P&gt;                .&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT t_upload.&lt;/P&gt;&lt;P&gt;      SPLIT t_upload-descri AT space INTO t_des-cuenta t_des-descri.&lt;/P&gt;&lt;P&gt;      APPEND t_des.&lt;/P&gt;&lt;P&gt;      CONDENSE t_upload-cuent2.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                date_external            = t_upload-fecha1&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                date_internal            = t_upload-fecha1&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                date_external_is_invalid = 1&lt;/P&gt;&lt;P&gt;                OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MOVE t_upload-fecha1 TO t_data-budat.&lt;/P&gt;&lt;P&gt;      MOVE t_upload-socied TO t_data-bukrs.&lt;/P&gt;&lt;P&gt;      MOVE t_upload-import TO t_data-wrbtr.&lt;/P&gt;&lt;P&gt;      MOVE t_upload-cuent2 TO t_data-gsber.&lt;/P&gt;&lt;P&gt;      MOVE t_des-cuenta    TO t_data-hkont.&lt;/P&gt;&lt;P&gt;      MOVE t_des-descri    TO t_data-descr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND t_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    LOOP AT t_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Rellena con ceros a la izquierda para hacer la consulta&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     a la tabla&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                input  = t_data-hkont&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                output = t_data-hkont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Convierte el formato de fecha que viene en el .txt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     para poder hacer la consulta&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY t_data.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;           budat&lt;/P&gt;&lt;P&gt;           bukrs&lt;/P&gt;&lt;P&gt;           gsber&lt;/P&gt;&lt;P&gt;           hkont&lt;/P&gt;&lt;P&gt;           wrbtr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   INTO CORRESPONDING FIELDS OF TABLE t_data2&lt;/P&gt;&lt;P&gt;   FROM bsis&lt;/P&gt;&lt;P&gt;   FOR ALL ENTRIES IN  t_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   WHERE hkont EQ t_data-hkont&lt;/P&gt;&lt;P&gt;   AND   bukrs EQ t_data-bukrs&lt;/P&gt;&lt;P&gt;   AND   budat EQ t_data-budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0. "Si no hay resultados busco en la BSAS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT&lt;/P&gt;&lt;P&gt;             budat&lt;/P&gt;&lt;P&gt;             bukrs&lt;/P&gt;&lt;P&gt;             gsber&lt;/P&gt;&lt;P&gt;             hkont&lt;/P&gt;&lt;P&gt;             wrbtr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      INTO CORRESPONDING FIELDS OF TABLE t_data2&lt;/P&gt;&lt;P&gt;      FROM bsas&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN  t_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHERE hkont EQ t_data-hkont&lt;/P&gt;&lt;P&gt;      AND   bukrs EQ t_data-bukrs&lt;/P&gt;&lt;P&gt;      AND   budat EQ t_data-budat.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_data2.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING t_data2 TO t_col.&lt;/P&gt;&lt;P&gt;    COLLECT t_col.&lt;/P&gt;&lt;P&gt;    CLEAR t_col.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  SORT t_col BY hkont budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_data.&lt;/P&gt;&lt;P&gt;    MOVE t_data-gsber TO t_print-divisi.&lt;/P&gt;&lt;P&gt;    MOVE t_data-hkont TO t_print-cuenta.&lt;/P&gt;&lt;P&gt;    MOVE t_data-wrbtr TO t_print-import.&lt;/P&gt;&lt;P&gt;    MOVE t_data-descr TO t_print-descri.&lt;/P&gt;&lt;P&gt;    APPEND t_print.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE t_upload WITH KEY cuent1 = t_print-cuenta.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      t_print-fecha = t_upload-fecha1.&lt;/P&gt;&lt;P&gt;      MODIFY t_print INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE t_col WITH KEY hkont = t_print-cuenta.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      t_print-import2 = t_col-wrbtr.&lt;/P&gt;&lt;P&gt;      MODIFY t_print INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_print-difer = t_print-import - t_print-import2.&lt;/P&gt;&lt;P&gt;      MODIFY t_print.&lt;/P&gt;&lt;P&gt;      CLEAR: t_print, t_upload, t_col.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM do_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************MTHS 06.08.2007&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_alv&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM do_alv.&lt;/P&gt;&lt;P&gt;  BREAK-POINT.&lt;/P&gt;&lt;P&gt; PERFORM do_fieldcat.&lt;/P&gt;&lt;P&gt;  PERFORM do_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM do_events.&lt;/P&gt;&lt;P&gt;  PERFORM do_sort.&lt;/P&gt;&lt;P&gt;  PERFORM call_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_layout&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM do_layout .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_list_type = 0&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            et_events   = i_events.&lt;/P&gt;&lt;P&gt;  READ TABLE i_events&lt;/P&gt;&lt;P&gt;       WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;       INTO w_events.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'ENCABEZADO' TO w_events-form.&lt;/P&gt;&lt;P&gt;    MODIFY i_events FROM w_events INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout-detail_popup = 'X'.&lt;/P&gt;&lt;P&gt;  i_grid-edt_cll_cb = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT t_print BY cuenta fecha.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program       = g_repid    "Nombre del programa&lt;/P&gt;&lt;P&gt;      i_callback_pf_status_set = g_status_set&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_callback_user_command  = 'CONTABILIZAR'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      it_fieldcat              = field[]    "Catalogo de Salida&lt;/P&gt;&lt;P&gt;      is_layout                = gs_layout  "Layout de Salida&lt;/P&gt;&lt;P&gt;      it_events                = i_events&lt;/P&gt;&lt;P&gt;      i_grid_settings          = i_grid&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                 = t_print  "Tabla Interna con Datos&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error            = 1&lt;/P&gt;&lt;P&gt;      OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e162(00) WITH 'Problema al Imprimir el Reporte'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR w_layout.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_layout-zebra  = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_layout-f2code = '&amp;amp;ETA'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_layout-detail_popup = 'X'."striped pattern&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM call_alv                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM call_alv.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_program = report&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           is_layout          = w_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_fieldcat        = i_fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_save             = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_events          = i_events&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;           it_sort            = i_sort&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           t_outtab           = t_print&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           program_error      = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           OTHERS             = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    "call_alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_fieldcat&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM do_fieldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   i_program_name               = g_repid&lt;/P&gt;&lt;P&gt;   i_internal_tabname           = 'T_PRINT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INCLNAME                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat                = field.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT field INTO w_field_wa.&lt;/P&gt;&lt;P&gt;    CASE w_field_wa-fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'CUENTA'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Cuenta de Mayor'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'DESCRI'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Descripcion'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'DIVISI'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Division'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'FECHA'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Fecha'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'IMPORT'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Importe archivo'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'IMPORT2'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Importe SAP'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'DIFER'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Diferencia'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_sort&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM do_sort .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR w_sort.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH i_sort.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR w_sort.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_sort-fieldname = 'CUENTA'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_sort-tabname   = 't_print'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_sort-up        = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND w_sort TO i_sort.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_sort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_events&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM do_events .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH i_events.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_list_type     = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           et_events       = i_events&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           list_type_wrong = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           OTHERS          = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Leer los eventos que me interesan&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR w_events.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; READ TABLE i_events INTO w_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE 'MI_TOP_OF_PAGE' TO w_events-form.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY i_events FROM w_events INDEX sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM alv_top_of_page                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM alv_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: fecha1(10) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:  w_topheader[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_top-typ  = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  w_top-key  = ''.&lt;/P&gt;&lt;P&gt;  w_top-info = 'ALSTOM, Venezuela S.A'.&lt;/P&gt;&lt;P&gt;  APPEND w_top TO w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_top-typ  = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  w_top-key  = ''.&lt;/P&gt;&lt;P&gt;  w_top-info = 'REPORTE DE CONCILIACIÓN DE NÓMINA'.&lt;/P&gt;&lt;P&gt;  APPEND w_top TO w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_top-typ  = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  w_top-key  = 'Fecha'.&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO fecha1 .&lt;/P&gt;&lt;P&gt;  w_top-info = fecha1.&lt;/P&gt;&lt;P&gt;  APPEND w_top TO w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_top-typ  = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  w_top-key  = 'Usuario'.&lt;/P&gt;&lt;P&gt;  w_top-info = sy-uname.&lt;/P&gt;&lt;P&gt;  APPEND w_top TO w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_logo             = 'LOGO'&lt;/P&gt;&lt;P&gt;            it_list_commentary = w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "alv_top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 09 Aug 2007 14:05:00 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-09T14:05:00Z</dc:date>
    <item>
      <title>Problem generating ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-generating-alv/m-p/2684322#M620700</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello, i'm trying to display a report with Alv Grid Display, but when generating the catalog i get this dump : Exception condition "NO_FIELDCATALOG_AVAILABLE" raised. I really don't know where is the problem on the source code, because the print table is not blank. This is the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: bsis , bsas , znom.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt;Estructura de la Tabla----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_nomina,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bukrs LIKE bsis-bukrs,&lt;/P&gt;&lt;P&gt;hkont LIKE bsis-hkont,             "Numero de cuenta de mayor&lt;/P&gt;&lt;P&gt;*TXT50 LIKE BSIS-TXT50,&lt;/P&gt;&lt;P&gt;gsber LIKE bsis-gsber,             "Division&lt;/P&gt;&lt;P&gt;budat LIKE bsis-budat,             "Fecha de Contabilizacion&lt;/P&gt;&lt;P&gt;*shkzg LIKE BSIS-SHKZG,             "Indicador Debe / Haber&lt;/P&gt;&lt;P&gt;wrbtr LIKE bsis-wrbtr,             "Importe en moneda de documento&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF t_nomina.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data: begin of t_upload occurs 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     budat1 like bsis-budat,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     budat2 like bsis-budat,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     bukrs  like bsis-bukrs,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     hwaer  like BKPF-hwaer,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clave(2),&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MTHS 06.08.2007&lt;/P&gt;&lt;P&gt;DATA: t_bsis LIKE bsis OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_upload OCCURS 0,&lt;/P&gt;&lt;P&gt;       fecha1(10),&lt;/P&gt;&lt;P&gt;       fecha2(10),&lt;/P&gt;&lt;P&gt;       socied(4),&lt;/P&gt;&lt;P&gt;       moneda(3),&lt;/P&gt;&lt;P&gt;       clave(2),&lt;/P&gt;&lt;P&gt;       cuent1(10),&lt;/P&gt;&lt;P&gt;       import(13),&lt;/P&gt;&lt;P&gt;       divisi(4),&lt;/P&gt;&lt;P&gt;       cuent2(10),&lt;/P&gt;&lt;P&gt;       descri(50),&lt;/P&gt;&lt;P&gt;      END OF t_upload.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF nom_archivo OCCURS 0,&lt;/P&gt;&lt;P&gt;       texto LIKE rlgrap-filename,&lt;/P&gt;&lt;P&gt;      END OF nom_archivo.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF nom_archivo2 OCCURS 0,&lt;/P&gt;&lt;P&gt;       texto LIKE rlgrap-filename,&lt;/P&gt;&lt;P&gt;      END OF nom_archivo2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_des OCCURS 0,&lt;/P&gt;&lt;P&gt;       cuenta(10),&lt;/P&gt;&lt;P&gt;       descri(50),&lt;/P&gt;&lt;P&gt;      END OF t_des.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_data OCCURS 0,&lt;/P&gt;&lt;P&gt;       budat  LIKE bsis-budat,&lt;/P&gt;&lt;P&gt;       bukrs  LIKE bsis-bukrs,&lt;/P&gt;&lt;P&gt;       gsber  LIKE bsis-gsber,&lt;/P&gt;&lt;P&gt;       hkont  LIKE bsis-hkont,&lt;/P&gt;&lt;P&gt;       descr  LIKE t087j-txt50,&lt;/P&gt;&lt;P&gt;       wrbtr  LIKE bsis-wrbtr,&lt;/P&gt;&lt;P&gt;      END OF t_data.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_data2 OCCURS 0,&lt;/P&gt;&lt;P&gt;       budat  LIKE bsis-budat,&lt;/P&gt;&lt;P&gt;       bukrs  LIKE bsis-bukrs,&lt;/P&gt;&lt;P&gt;       gsber  LIKE bsis-gsber,&lt;/P&gt;&lt;P&gt;       hkont  LIKE bsis-hkont,&lt;/P&gt;&lt;P&gt;       wrbtr  LIKE bsis-wrbtr,&lt;/P&gt;&lt;P&gt;      END OF t_data2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_col OCCURS 0,&lt;/P&gt;&lt;P&gt;       budat  LIKE bsis-budat,&lt;/P&gt;&lt;P&gt;       bukrs  LIKE bsis-bukrs,&lt;/P&gt;&lt;P&gt;       hkont  LIKE bsis-hkont,&lt;/P&gt;&lt;P&gt;       wrbtr  LIKE bsis-wrbtr,&lt;/P&gt;&lt;P&gt;      END OF t_col.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_print OCCURS 0,&lt;/P&gt;&lt;P&gt;      cuenta(10),&lt;/P&gt;&lt;P&gt;      descri(50),&lt;/P&gt;&lt;P&gt;      divisi(4),&lt;/P&gt;&lt;P&gt;      fecha(10),&lt;/P&gt;&lt;P&gt;      import TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;      import2 TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;      difer  TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;      END OF t_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;Definir la tabla interna que vamos a utilizar----&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: tab_nomina TYPE TABLE OF t_nomina.&lt;/P&gt;&lt;P&gt;DATA: wa_nomina  TYPE t_nomina.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: iline TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_znom TYPE znom.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: flag(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MTHS 06.08.2007&lt;/P&gt;&lt;P&gt;DATA: contador(2) TYPE n,&lt;/P&gt;&lt;P&gt;      debe LIKE bsis-dmbtr,&lt;/P&gt;&lt;P&gt;      haber LIKE bsis-dmbtr,&lt;/P&gt;&lt;P&gt;      f_date  LIKE bsis-budat,&lt;/P&gt;&lt;P&gt;      texto(150),&lt;/P&gt;&lt;P&gt;      campo(100),&lt;/P&gt;&lt;P&gt;      answer(1),&lt;/P&gt;&lt;P&gt;      documento LIKE bkpf-belnr,&lt;/P&gt;&lt;P&gt;      sw(10).                                                      "MG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_field  TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      w_field_wa  LIKE LINE OF w_field,&lt;/P&gt;&lt;P&gt;      w_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      i_events TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;      w_events LIKE LINE OF i_events,&lt;/P&gt;&lt;P&gt;      w_repid  LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      w_topheader TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;      w_top LIKE LINE OF w_topheader.&lt;/P&gt;&lt;P&gt;DATA: i_grid TYPE lvc_s_glay.&lt;/P&gt;&lt;P&gt;DATA: field      TYPE  slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      gs_layout  TYPE  slis_layout_alv,&lt;/P&gt;&lt;P&gt;      g_repid    LIKE  sy-repid,&lt;/P&gt;&lt;P&gt;      g_inclu    LIKE  sy-repid,&lt;/P&gt;&lt;P&gt;      field2      TYPE  slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      gs_layout2  TYPE  slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_status_set   TYPE slis_formname VALUE 'PF_STATUS_SET'.&lt;/P&gt;&lt;P&gt;DATA: selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;DATA: ucomm LIKE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;Definicion de lo que va a aparecer en pantalla para el usuario&lt;/STRONG&gt;*****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pantalla de Seleccion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN  BEGIN OF BLOCK b0 WITH FRAME TITLE text-007.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_cami  LIKE rlgrap-filename OBLIGATORY&lt;/P&gt;&lt;P&gt;. "Archivo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MatchCode para Archivo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_cami.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Función para simular la busqueda de archivo en windows&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            def_filename     = ' '&lt;/P&gt;&lt;P&gt;            def_path         = p_cami&lt;/P&gt;&lt;P&gt;            mask             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;            mode             = 'O'&lt;/P&gt;&lt;P&gt;            title            = 'Archivo a importar'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            filename         = p_cami&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            inv_winsys       = 01&lt;/P&gt;&lt;P&gt;            no_batch         = 02&lt;/P&gt;&lt;P&gt;            selection_cancel = 03&lt;/P&gt;&lt;P&gt;            selection_error  = 04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; report = sy-repid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  CLEAR flag.&lt;/P&gt;&lt;P&gt;  contador = 1.&lt;/P&gt;&lt;P&gt;  debe = 0.&lt;/P&gt;&lt;P&gt;  haber = 0.&lt;/P&gt;&lt;P&gt;  sw = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****&lt;STRONG&gt;Comienzo de la selección&lt;/STRONG&gt;***********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM cargar_datos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****&lt;STRONG&gt;Finalización de la selección&lt;/STRONG&gt;*********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;Función para la carga de datos&lt;/STRONG&gt;***************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM cargar_datos .&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Separar nombre del archivo de la ruta donde fue leido&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;  TRANSLATE p_cami TO UPPER CASE.&lt;/P&gt;&lt;P&gt;  SPLIT p_cami AT '' INTO TABLE nom_archivo.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE nom_archivo LINES contador.&lt;/P&gt;&lt;P&gt;  READ TABLE nom_archivo INDEX  contador.&lt;/P&gt;&lt;P&gt;  SPLIT nom_archivo-texto AT '.' INTO TABLE nom_archivo2.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE nom_archivo2 LINES contador.&lt;/P&gt;&lt;P&gt;  READ TABLE nom_archivo2 INDEX  contador.&lt;/P&gt;&lt;P&gt;  IF  nom_archivo2-texto  NE 'XLS'. " and nom_archivo2-texto  ne 'xls'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: registros TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: wa_nomina TYPE t_nomina.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; data : it_fichero type linea occurs 0 with header line.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    INSERT znom FROM wa_znom.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         filename                      = p_cami&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FILETYPE                      = 'ASC'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    HEADLEN                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    LINE_EXIT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TRUNCLEN                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USER_FORM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USER_PROG                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DAT_D_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          data_tab                     = t_upload&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;         conversion_error              = 1&lt;/P&gt;&lt;P&gt;         file_open_error               = 2&lt;/P&gt;&lt;P&gt;         file_read_error               = 3&lt;/P&gt;&lt;P&gt;         invalid_type                  = 4&lt;/P&gt;&lt;P&gt;         no_batch                      = 5&lt;/P&gt;&lt;P&gt;         unknown_error                 = 6&lt;/P&gt;&lt;P&gt;         invalid_table_width           = 7&lt;/P&gt;&lt;P&gt;         gui_refuse_filetransfer       = 8&lt;/P&gt;&lt;P&gt;         customer_error                = 9&lt;/P&gt;&lt;P&gt;         OTHERS                        = 10&lt;/P&gt;&lt;P&gt;                .&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT t_upload.&lt;/P&gt;&lt;P&gt;      SPLIT t_upload-descri AT space INTO t_des-cuenta t_des-descri.&lt;/P&gt;&lt;P&gt;      APPEND t_des.&lt;/P&gt;&lt;P&gt;      CONDENSE t_upload-cuent2.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                date_external            = t_upload-fecha1&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                date_internal            = t_upload-fecha1&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                date_external_is_invalid = 1&lt;/P&gt;&lt;P&gt;                OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MOVE t_upload-fecha1 TO t_data-budat.&lt;/P&gt;&lt;P&gt;      MOVE t_upload-socied TO t_data-bukrs.&lt;/P&gt;&lt;P&gt;      MOVE t_upload-import TO t_data-wrbtr.&lt;/P&gt;&lt;P&gt;      MOVE t_upload-cuent2 TO t_data-gsber.&lt;/P&gt;&lt;P&gt;      MOVE t_des-cuenta    TO t_data-hkont.&lt;/P&gt;&lt;P&gt;      MOVE t_des-descri    TO t_data-descr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND t_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    LOOP AT t_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Rellena con ceros a la izquierda para hacer la consulta&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     a la tabla&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                input  = t_data-hkont&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                output = t_data-hkont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Convierte el formato de fecha que viene en el .txt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     para poder hacer la consulta&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY t_data.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;           budat&lt;/P&gt;&lt;P&gt;           bukrs&lt;/P&gt;&lt;P&gt;           gsber&lt;/P&gt;&lt;P&gt;           hkont&lt;/P&gt;&lt;P&gt;           wrbtr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   INTO CORRESPONDING FIELDS OF TABLE t_data2&lt;/P&gt;&lt;P&gt;   FROM bsis&lt;/P&gt;&lt;P&gt;   FOR ALL ENTRIES IN  t_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   WHERE hkont EQ t_data-hkont&lt;/P&gt;&lt;P&gt;   AND   bukrs EQ t_data-bukrs&lt;/P&gt;&lt;P&gt;   AND   budat EQ t_data-budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0. "Si no hay resultados busco en la BSAS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT&lt;/P&gt;&lt;P&gt;             budat&lt;/P&gt;&lt;P&gt;             bukrs&lt;/P&gt;&lt;P&gt;             gsber&lt;/P&gt;&lt;P&gt;             hkont&lt;/P&gt;&lt;P&gt;             wrbtr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      INTO CORRESPONDING FIELDS OF TABLE t_data2&lt;/P&gt;&lt;P&gt;      FROM bsas&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN  t_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHERE hkont EQ t_data-hkont&lt;/P&gt;&lt;P&gt;      AND   bukrs EQ t_data-bukrs&lt;/P&gt;&lt;P&gt;      AND   budat EQ t_data-budat.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_data2.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING t_data2 TO t_col.&lt;/P&gt;&lt;P&gt;    COLLECT t_col.&lt;/P&gt;&lt;P&gt;    CLEAR t_col.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  SORT t_col BY hkont budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_data.&lt;/P&gt;&lt;P&gt;    MOVE t_data-gsber TO t_print-divisi.&lt;/P&gt;&lt;P&gt;    MOVE t_data-hkont TO t_print-cuenta.&lt;/P&gt;&lt;P&gt;    MOVE t_data-wrbtr TO t_print-import.&lt;/P&gt;&lt;P&gt;    MOVE t_data-descr TO t_print-descri.&lt;/P&gt;&lt;P&gt;    APPEND t_print.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE t_upload WITH KEY cuent1 = t_print-cuenta.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      t_print-fecha = t_upload-fecha1.&lt;/P&gt;&lt;P&gt;      MODIFY t_print INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE t_col WITH KEY hkont = t_print-cuenta.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      t_print-import2 = t_col-wrbtr.&lt;/P&gt;&lt;P&gt;      MODIFY t_print INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_print-difer = t_print-import - t_print-import2.&lt;/P&gt;&lt;P&gt;      MODIFY t_print.&lt;/P&gt;&lt;P&gt;      CLEAR: t_print, t_upload, t_col.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM do_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************MTHS 06.08.2007&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_alv&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM do_alv.&lt;/P&gt;&lt;P&gt;  BREAK-POINT.&lt;/P&gt;&lt;P&gt; PERFORM do_fieldcat.&lt;/P&gt;&lt;P&gt;  PERFORM do_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM do_events.&lt;/P&gt;&lt;P&gt;  PERFORM do_sort.&lt;/P&gt;&lt;P&gt;  PERFORM call_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_layout&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM do_layout .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_list_type = 0&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            et_events   = i_events.&lt;/P&gt;&lt;P&gt;  READ TABLE i_events&lt;/P&gt;&lt;P&gt;       WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;       INTO w_events.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'ENCABEZADO' TO w_events-form.&lt;/P&gt;&lt;P&gt;    MODIFY i_events FROM w_events INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout-detail_popup = 'X'.&lt;/P&gt;&lt;P&gt;  i_grid-edt_cll_cb = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT t_print BY cuenta fecha.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program       = g_repid    "Nombre del programa&lt;/P&gt;&lt;P&gt;      i_callback_pf_status_set = g_status_set&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_callback_user_command  = 'CONTABILIZAR'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      it_fieldcat              = field[]    "Catalogo de Salida&lt;/P&gt;&lt;P&gt;      is_layout                = gs_layout  "Layout de Salida&lt;/P&gt;&lt;P&gt;      it_events                = i_events&lt;/P&gt;&lt;P&gt;      i_grid_settings          = i_grid&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                 = t_print  "Tabla Interna con Datos&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error            = 1&lt;/P&gt;&lt;P&gt;      OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e162(00) WITH 'Problema al Imprimir el Reporte'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR w_layout.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_layout-zebra  = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_layout-f2code = '&amp;amp;ETA'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_layout-detail_popup = 'X'."striped pattern&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM call_alv                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM call_alv.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_program = report&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           is_layout          = w_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_fieldcat        = i_fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_save             = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_events          = i_events&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;           it_sort            = i_sort&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           t_outtab           = t_print&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           program_error      = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           OTHERS             = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    "call_alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_fieldcat&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM do_fieldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   i_program_name               = g_repid&lt;/P&gt;&lt;P&gt;   i_internal_tabname           = 'T_PRINT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INCLNAME                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat                = field.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT field INTO w_field_wa.&lt;/P&gt;&lt;P&gt;    CASE w_field_wa-fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'CUENTA'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Cuenta de Mayor'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'DESCRI'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Descripcion'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'DIVISI'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Division'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'FECHA'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Fecha'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'IMPORT'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Importe archivo'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'IMPORT2'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Importe SAP'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'DIFER'.&lt;/P&gt;&lt;P&gt;        w_field_wa-tabname        = 't_print'.&lt;/P&gt;&lt;P&gt;        w_field_wa-seltext_m      = 'Diferencia'.&lt;/P&gt;&lt;P&gt;        MODIFY field FROM w_field_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_sort&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM do_sort .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR w_sort.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH i_sort.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR w_sort.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_sort-fieldname = 'CUENTA'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_sort-tabname   = 't_print'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_sort-up        = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND w_sort TO i_sort.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_sort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  do_events&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM do_events .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH i_events.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_list_type     = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           et_events       = i_events&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           list_type_wrong = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           OTHERS          = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Leer los eventos que me interesan&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR w_events.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; READ TABLE i_events INTO w_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE 'MI_TOP_OF_PAGE' TO w_events-form.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY i_events FROM w_events INDEX sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " do_events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM alv_top_of_page                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM alv_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: fecha1(10) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:  w_topheader[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_top-typ  = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  w_top-key  = ''.&lt;/P&gt;&lt;P&gt;  w_top-info = 'ALSTOM, Venezuela S.A'.&lt;/P&gt;&lt;P&gt;  APPEND w_top TO w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_top-typ  = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  w_top-key  = ''.&lt;/P&gt;&lt;P&gt;  w_top-info = 'REPORTE DE CONCILIACIÓN DE NÓMINA'.&lt;/P&gt;&lt;P&gt;  APPEND w_top TO w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_top-typ  = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  w_top-key  = 'Fecha'.&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO fecha1 .&lt;/P&gt;&lt;P&gt;  w_top-info = fecha1.&lt;/P&gt;&lt;P&gt;  APPEND w_top TO w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_top-typ  = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  w_top-key  = 'Usuario'.&lt;/P&gt;&lt;P&gt;  w_top-info = sy-uname.&lt;/P&gt;&lt;P&gt;  APPEND w_top TO w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_logo             = 'LOGO'&lt;/P&gt;&lt;P&gt;            it_list_commentary = w_topheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "alv_top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2007 14:05:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-generating-alv/m-p/2684322#M620700</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-09T14:05:00Z</dc:date>
    </item>
    <item>
      <title>Re: Problem generating ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-generating-alv/m-p/2684323#M620701</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The type (T_PRINT) of your internal table should be declare in the dictionnary,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please try it and let me know,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With release &amp;gt; 4.7, we can use local type to declare internal table using the new ALV OM,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward point, thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2007 14:15:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-generating-alv/m-p/2684323#M620701</guid>
      <dc:creator>AlexGiguere</dc:creator>
      <dc:date>2007-08-09T14:15:34Z</dc:date>
    </item>
  </channel>
</rss>

