ALV Fieldcatalog to LVC Fieldcatalog

PERFORM build_fieldcat USING '1' CHANGING gt_fieldcat1     .

FORM    build_fieldcat USING mode
   CHANGING pt_fieldcat TYPE lvc_t_fcat.



  CLEAR : pt_fieldcat , pt_fieldcat[]  .

  PERFORM alv_fieldcat_merge USING    'ALV_FIELDCAT[]' 'GT_OUT' .
  PERFORM modify_alv_fieldcat.


  CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
    EXPORTING
      it_fieldcat_alv       =  alv_fieldcat[]
*   IT_SORT_ALV           =
*   IT_FILTER_ALV         =
*   IS_LAYOUT_ALV         =
  IMPORTING
    ET_FIELDCAT_LVC       = pt_fieldcat
*   ET_SORT_LVC           =
*   ET_FILTER_LVC         =
*   ES_LAYOUT_LVC         =
    TABLES
      it_data               = gt_out
   EXCEPTIONS
     it_data_missing       = 1
     OTHERS                = 2
            .


ENDFORM .                    "build_fieldcat


FORM ALV_FIELDCAT_MERGE USING    FCATNAME TABNAME .
  ALV_TABNAME = TABNAME .
  ASSIGN (FCATNAME) TO <FCAT> .
  REFRESH <FCAT> .
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      I_PROGRAM_NAME         = ALV_REPID
      I_INTERNAL_TABNAME     = ALV_TABNAME
      I_INCLNAME             = ALV_REPID
      I_CLIENT_NEVER_DISPLAY = 'X'
      I_BYPASSING_BUFFER     = 'X'
    CHANGING
      CT_FIELDCAT            = <FCAT>
    EXCEPTIONS
      OTHERS                 = 3.
ENDFORM.                    " alv_fieldcat_merge